{"version":3,"sources":["./src/app/layout/inputs/paari-input-dropdown-enum/paari-input-dropdown-enum.component.scss","./src/app/layout/paari-loader/paari-loader.component.scss","./src/app/core/components/top-nav/top-nav-account-button/top-nav-account-button.component.scss","./src/app/layout/inputs/paari-input-checkbox/paari-input-checkbox.component.ts","./src/app/layout/inputs/paari-input-dropdown/paari-input-dropdown.component.html","./src/app/layout/alert-single-error-message/alert-single-error-message.component.ts","./src/app/core/services/menu.service.ts","./src/app/core/components/footer/footer.component.html","./src/app/core/components/top-nav/top-nav-help-button/top-nav-help-button.component.ts","./src/app/layout/alert-box/alert.box.component.scss","./src/app/layout/paari-bool-check-display/paari-bool-check-display.component.ts","./src/app/layout/inputs/paari-input-radio-true-false/paari-input-radio-true-false.component.scss","./src/app/layout/alert-single-loading-error/alert-single-loading-error.component.html","jsdom (ignored)","./src/app/shared/generated/StatisticClient.ts","./src/app/layout/paari-loader/paari-loader.component.html","./src/app/layout/paari-multilanguage-name/paari-multilanguage-name.component.scss","./src/app/layout/paari-table/paari-table.component.ts","jsdom/lib/jsdom/living/generated/utils (ignored)","./src/app/layout/inputs/paari-input-checkbox/paari-input-checkbox.component.scss","./src/app/shared/services/language.service.ts","./src/app/core/components/change-tracker/change-tracker.component.scss","./src/app/layout/paari-bool-check-display/paari-bool-check-display.component.scss","./src/app/core/components/top-nav/top-nav-logo-button/top-nav-logo-button.component.ts","./src/app/core/services/firebase.service.ts","jsdom/lib/jsdom/utils (ignored)","./src/app/core/components/top-nav/top-nav-impersonation-button/top-nav-impersonation-button.component.html","./src/app/shared/services/toast.service.ts","./src/app/layout/inputs/paari-input-timepicker/paari-input-timepicker.component.ts","./src/app/core/components/top-nav/top-nav-notification-button/top-nav-notification-button.component.ts","./src/app/core/components/side-nav/side-nav-menu-item/side-nav-menu-item.component.ts","./src/app/layout/inputs/paari-input-search-dark/paari-input-search-dark.component.html","./src/app/layout/paari-empty-row/paari-empty-row.component.html","./src/app/core/components/side-nav/side-nav-sub-menu/side-nav-sub-menu.component.html","./src/app/shared/material.module.ts","./src/app/core/components/footer/footer-paari-links/footer-paari-links.component.html","./src/app/layout/modals/confirm-delete-modal/confirm-delete-modal.component.scss","./src/app/layout/inputs/paari-input-datepicker/paari-input-datepicker.component.scss","./src/app/layout/alert-single-success-message/alert-single-success-message.component.html","./src/app/layout/inputs/paari-input-text/paari-input-text.component.scss","./src/app/layout/simple-loader/simple-loader.component.scss","./src/app/layout/inputs/paari-input-datepicker/paari-input-datepicker.component.html","./src/app/core/components/top-nav/top-nav.component.ts","./src/app/core/components/top-nav/top-nav-notification-button/top-nav-notification-button.component.html","./src/app/core/components/top-nav/top-nav-logo-button/top-nav-logo-button.component.scss","./src/app/core/components/top-nav/top-nav-notification-button/top-nav-notification-button.component.scss","./src/app/layout/inputs/paari-input-files/paari-input-files.component.scss","./src/app/layout/alert-single-error-message/alert-single-error-message.component.scss","./src/app/core/components/top-nav/top-nav-help-button/top-nav-help-button.component.html","./src/app/core/components/side-nav/side-nav.component.html","./src/app/shared/font-awesome.module.ts","./src/app/layout/inputs/paari-input-search-dark/paari-input-search-dark.component.ts","./src/app/core/components/top-nav/top-nav-account-button/top-nav-account-button.component.html","./src/environments/environment.ts","./src/app/core/components/footer/footer-media-icons/footer-media-icons.component.scss","./src/app/layout/inputs/paari-input-search-dark/paari-input-search-dark.component.scss","./src/app/core/components/top-nav/top-nav-context-menu/top-nav-context-menu.component.html","./src/app/layout/paari-explorer/paari-explorer.component.ts","./src/app/layout/inputs/paari-input-timepicker/paari-input-timepicker.component.html","./src/app/layout/paari-empty-row/paari-empty-row.component.scss","./src/app/layout/simple-loader/simple-loader.component.html","./src/app/core/components/top-nav/top-nav-logo-button/top-nav-logo-button.component.html","./src/app/layout/inputs/paari-input-number/paari.input.number.component.html","./src/app/layout/paari-map-search/paari-map-search.component.scss","./src/app/core/components/top-nav/top-nav-preview-description/top-nav-preview-description.component.html","./src/app/layout/alert-single-success-message/alert-single-success-message.component.scss","./src/app/shared/services/shared-api.service.ts","./src/app/core/components/top-nav/top-nav-context-menu/top-nav-context-menu.component.ts","./src/app/layout/inputs/paari-input-radio-true-false/paari-input-radio-true-false.component.html","./src/app/layout/paari-image-drawer/paari-image-drawer.component.ts","./src/app/core/components/footer/footer-media-icons/footer-media-icons.component.html","./src/app/layout/inputs/paari-input-flag-enum/paari-input-flag-enum.component.html","./src/app/shared/generated/TimeSlotManagementClientV3.ts","./src/app/layout/modals/multilingual-name-modal/multilingual-name-modal.component.scss","./src/app/layout/alert-single-success-message/alert-single-success-message.component.ts","./src/app/layout/inputs/paari-input-textarea/paari-input-textarea.component.scss","./src/app/layout/inputs/paari-input-flag-enum/paari-input-flag-enum.component.ts","./src/app/shared/guards/auth.guard.ts","./src/app/layout/paari-headlines/paari-headlines.component.ts","./src/app/shared/state/shared.reducer.ts","./src/app/layout/modals/confirm-delete-modal/confirm-delete-modal.component.ts","./src/app/layout/paari-section-separator/paari-section-separator.component.scss","./src/app/layout/paari-image-drawer/paari-image-drawer.component.html","./src/app/layout/modals/search-role-modal/search-role-modal.component.html","./src/app/layout/modals/image-preview-modal/image-preview-modal.component.html","./src/app/core/components/top-nav/top-nav-menu-button/top-nav-menu-button.component.ts","./src/app/shared/material/custom-date-adapter.ts","./src/app/layout/inputs/paari-input-files/paari-input-files.component.html","./src/app/shared/generated/SafetyClient.ts","./src/app/shared/validators/string-validators.ts","./src/app/layout/paari-ace/paari-ace.component.html","./src/app/shared/shared.module.ts","./src/app/layout/alert-single-warning-message/alert-single-warning-message.component.scss","./src/app/layout/paari-cookie-consent/paari-cookie-consent.component.html","./src/app/layout/paari-table/paari-table.component.html","./src/app/core/components/footer/footer-site-info/footer-site-info.component.html","./src/app/core/components/top-nav/top-nav-preview-description/top-nav-preview-description.component.ts","./src/app/layout/paari-multilanguage-name/paari-multilanguage-name.component.ts","./src/app/layout/paari-ace/paari-ace.component.ts","./src/app/layout/paari-bool-check-display/paari-bool-check-display.component.html","./src/app/layout/paari-multilanguage-name/paari-multilanguage-name.component.html","./src/app/shared/state/index.ts","./src/app/layout/paari-empty-row/paari-empty-row.component.ts","./node_modules/moment/locale sync ^\\.\\/.*$","./src/app/layout/paari-table/paari-table.component.scss","./src/app/layout/paari-editor/paari-editor.component.ts","./src/app/layout/modals/confirm-delete-modal/confirm-delete-modal.component.html","./src/app/core/components/footer/footer.component.scss","./src/app/shared/guards/module-state.guard.ts","./src/app/app.component.ts","./src/app/layout/inputs/paari-input-files/paari-input-files.component.ts","./src/app/layout/inputs/paari-input-images/paari-input-images.component.ts","./src/app/layout/modals/multilingual-name-modal/multilingual-name-modal.component.html","./src/app/core/models/notification.model.ts","./src/app/layout/inputs/paari-input-textarea/paari-input-textarea.component.html","./src/app/core/components/footer/footer-media-icons/footer-media-icons.component.ts","./src/app/layout/layout.module.ts","./src/app/layout/modals/yes-no-cancel-modal/yes-no-cancel-modal.component.html","./src/app/app.component.html","./src/app/layout/inputs/paari-input-search/paari-input-search.component.html","./src/app/core/components/top-nav/top-nav-impersonation-button/top-nav-impersonation-button.component.scss","./src/app/layout/inputs/paari-input-dropdown-enum/paari-input-dropdown-enum.component.ts","./src/app/core/services/announcement.service.ts","./src/app/core/services/error-handler.service.ts","./src/app/shared/generated/CloudClient.ts","./src/app/layout/paari-section-separator/paari-section-separator.component.ts","./src/app/core/components/top-nav/top-nav-account-button/top-nav-account-button.component.ts","./src/app/shared/generated/TacClient.ts","./src/app/core/services/notification.service.ts","./src/app/layout/inputs/paari-input-flag-enum/paari-input-flag-enum.component.scss","./src/app/layout/inputs/paari-input-text/paari-input-text.component.ts","./src/app/layout/modals/search-user-modal/search-user-modal.component.scss","./src/app/layout/inputs/paari-input-image/paari-input-image.component.ts","./src/app/core/components/top-nav/top-nav-preview-description/top-nav-preview-description.component.scss","./src/app/app.module.ts","./src/app/layout/simple-loader/simple-loader.component.ts","./src/app/shared/generated/IdentityClient.ts","./src/app/layout/inputs/paari-input-dropdown-enum/paari-input-dropdown-enum.component.html","./src/app/shared/state/shared.actions.ts","./src/app/layout/inputs/paari-input-image/paari-input-image.component.html","./src/app/layout/inputs/paari-input-number-coordinates/paari-input-number-coordinates.component.html","./src/app/core/components/change-tracker/change-tracker.component.html","./src/app/layout/paari-map-search/paari-map-search.component.html","./src/app/layout/modals/image-preview-modal/image-preview-modal.component.scss","./src/app/layout/inputs/paari-input-radio-true-false/paari-input-radio-true-false.component.ts","./src/app/core/components/side-nav/side-nav.component.ts","./src/app/core/components/top-nav/top-nav-menu-button/top-nav-menu-button.component.html","./src/app/layout/alert-single-loading-error/alert-single-loading-error.component.ts","./src/app/core/components/side-nav/side-nav-menu-item/side-nav-menu-item.component.html","./src/app/core/components/side-nav/side-nav-menu-item/side-nav-menu-item.component.scss","./src/app/core/services/insight-monitoring.service.ts","./src/app/layout/paari-image-drawer/paari-image-drawer.component.scss","./src/app/shared/material/custom-date-formats.ts","./src/app/layout/paari-headlines/paari-headlines.component.html","./src/app/core/components/footer/footer-site-info/footer-site-info.component.ts","./src/app/shared/generated/AccountClient.ts","./src/app/layout/inputs/paari-input-number-coordinates/paari-input-number-coordinates.component.scss","./src/app/layout/alert-single-warning-message/alert-single-warning-message.component.html","./src/app/core/guards/can-deactivate-guard.guard.ts","./src/app/layout/paari-map-search/paari-map-search.component.ts","./src/app/layout/inputs/paari-input-number/paari.input.number.component.ts","./src/app/layout/inputs/paari-input-number/paari.input.number.component.scss","./src/app/shared/generated/TimeSlotManagementClient.ts","./src/app/layout/inputs/paari-input-search/paari-input-search.component.scss","./src/app/shared/material/custom-datepicker-intl.ts","./src/app/layout/paari-editor/paari-editor.component.scss","./src/app/layout/inputs/paari-input-images/paari-input-images.component.html","./src/app/layout/pipes/quantity.pipe.ts","./src/app/core/components/footer/footer-site-info/footer-site-info.component.scss","./src/app/layout/inputs/paari-input-colorpicker/paari-input-colorpicker.component.html","./src/app/layout/paari-editor/paari-editor.component.html","./src/app/layout/modals/search-role-modal/search-role-modal.component.scss","./src/app/layout/paari-cookie-consent/paari-cookie-consent.component.ts","./src/app/layout/alert-single-warning-message/alert-single-warning-message.component.ts","./src/app/modules/apps/apps-list/apps-list.component.scss","./src/app/modules/user-settings/services/account-api.service.ts","./src/app/layout/inputs/paari-input-text/paari-input-text.component.html","./src/app/layout/inputs/paari-input-number-coordinates/paari-input-number-coordinates.component.ts","./src/app/core/components/side-nav/side-nav-sub-menu/side-nav-sub-menu.component.ts","./src/app/layout/alert-box/alert.box.component.html","./src/app/shared/generated/NotificationClient.ts","./src/app/core/components/change-tracker/change-tracker.component.ts","./src/app/layout/modals/search-user-modal/search-user-modal.component.ts","./src/app/layout/inputs/paari-input-colorpicker/paari-input-colorpicker.component.ts","./src/app/layout/pipes/datex.pipe.ts","./src/app/layout/alert-single-error-message/alert-single-error-message.component.html","./src/app/layout/paari-headlines/paari-headlines.component.scss","./src/app/core/components/top-nav/top-nav-impersonation-button/top-nav-impersonation-button.component.ts","./src/app/layout/paari-explorer/paari-explorer.component.html","./src/app/layout/modals/search-role-modal/search-role-modal.component.ts","./src/app/core/core.module.ts","./src/app/layout/modals/image-preview-modal/image-preview-modal.component.ts","./src/app/layout/inputs/paari-input-colorpicker/paari-input-colorpicker.component.scss","./src/app/layout/inputs/paari-input-images/paari-input-images.component.scss","./src/app/layout/paari-section-separator/paari-section-separator.component.html","./src/app/layout/inputs/paari-input-datepicker/paari-input-datepicker.component.ts","./src/app/layout/inputs/paari-input-dropdown/paari-input-dropdown.component.scss","./src/app/core/pipes/truncate.pipe.ts","./src/app/core/components/side-nav/side-nav-menu-name/side-nav-menu-name.component.scss","./src/app/shared/generated/LogisticManagementClient.ts","./src/app/layout/inputs/paari-input-timepicker/paari-input-timepicker.component.scss","./src/app/layout/paari-loader/paari-loader.component.ts","./src/app/shared/generated/FrontClient.ts","./src/app/core/components/footer/footer-paari-links/footer-paari-links.component.scss","./src/app/layout/modals/yes-no-cancel-modal/yes-no-cancel-modal.component.ts","./src/app/layout/modals/search-user-modal/search-user-modal.component.html","./src/app/layout/modals/multilingual-name-modal/multilingual-name-modal.component.ts","./src/app/modules/apps/apps-list/apps-list.component.html","./src/app/layout/inputs/paari-input-search/paari-input-search.component.ts","./src/app/layout/inputs/paari-input-dropdown/paari-input-dropdown.component.ts","./src/app/layout/alert-single-loading-error/alert-single-loading-error.component.scss","./src/app/layout/inputs/paari-input-textarea/paari-input-textarea.component.ts","./src/app/app-routing.module.ts","./src/app/shared/services/config.service.ts","./src/app/core/components/footer/footer-paari-links/footer-paari-links.component.ts","./src/app/modules/apps/apps-list/apps-list.component.ts","./src/app/core/components/footer/footer.component.ts","./src/app/layout/pipes/string-array-includes.pipe.ts","./src/app/core/components/top-nav/top-nav.component.html","./src/app/core/components/side-nav/side-nav-sub-menu/side-nav-sub-menu.component.scss","./src/app/layout/paari-explorer/paari-explorer.component.scss","./src/app/core/components/top-nav/top-nav.component.scss","./src/app/layout/modals/yes-no-cancel-modal/yes-no-cancel-modal.component.scss","./src/app/layout/directives/click-stop-propagination.directive.ts","./src/app/core/components/side-nav/side-nav-menu-name/side-nav-menu-name.component.html","./src/app/shared/services/image.service.ts","./src/app/core/components/side-nav/side-nav.component.scss","./src/app/layout/paari-cookie-consent/paari-cookie-consent.component.scss","./src/app/layout/inputs/paari-input-image/paari-input-image.component.scss","./src/app/app.component.scss","./src/app/core/components/side-nav/side-nav-menu-name/side-nav-menu-name.component.ts","./src/main.ts","./src/app/layout/inputs/paari-input-checkbox/paari-input-checkbox.component.html","./src/app/layout/alert-box/alert.box.component.ts","./$_lazy_route_resource lazy namespace object","./src/app/shared/enums/module-types.enum.ts"],"names":[],"mappings":";;;;;;;;;;AAAA;AAAe,wEAAS,gBAAgB,sBAAsB,8BAA8B,iBAAiB,wBAAwB,iBAAiB,GAAG,WAAW,uBAAuB,uBAAuB,yBAAyB,GAAG,mBAAmB,wBAAwB,GAAG,8BAA8B,yCAAyC,6FAA6F,6FAA6F,oBAAoB,GAAG,6BAA6B,qBAAqB,wBAAwB,uBAAuB,GAAG,+BAA+B,WAAW,gBAAgB,iBAAiB,KAAK,oBAAoB,0BAA0B,KAAK,mBAAmB,wBAAwB,yBAAyB,KAAK,GAAG,6CAA6C,+4DAA+4D,E;;;;;;;;;;;;ACAnyF;AAAe,qFAAsB,gBAAgB,yBAAyB,yBAAyB,kBAAkB,8BAA8B,+BAA+B,gCAAgC,cAAc,eAAe,yBAAyB,GAAG,4BAA4B,uBAAuB,WAAW,YAAY,iBAAiB,+CAA+C,uBAAuB,GAAG,yBAAyB,oBAAoB,cAAc,aAAa,6CAA6C,6CAA6C,iBAAiB,+CAA+C,uBAAuB,GAAG,2BAA2B,uBAAuB,mBAAmB,mBAAmB,kBAAkB,iBAAiB,GAAG,mBAAmB,8BAA8B,kCAAkC,uBAAuB,uBAAuB,iBAAiB,GAAG,qBAAqB,iBAAiB,kBAAkB,aAAa,cAAc,+CAA+C,+CAA+C,8BAA8B,wBAAwB,GAAG,qBAAqB,iBAAiB,kBAAkB,cAAc,eAAe,gDAAgD,gDAAgD,GAAG,qBAAqB,gBAAgB,iBAAiB,cAAc,eAAe,gDAAgD,gDAAgD,GAAG,6BAA6B,QAAQ,sCAAsC,sCAAsC,KAAK,UAAU,wCAAwC,wCAAwC,KAAK,GAAG,qBAAqB,QAAQ,sCAAsC,sCAAsC,KAAK,UAAU,wCAAwC,wCAAwC,KAAK,GAAG,8BAA8B,QAAQ,sCAAsC,sCAAsC,KAAK,UAAU,wCAAwC,wCAAwC,KAAK,GAAG,sBAAsB,QAAQ,sCAAsC,sCAAsC,KAAK,UAAU,wCAAwC,wCAAwC,KAAK,GAAG,8BAA8B,QAAQ,sCAAsC,sCAAsC,KAAK,UAAU,yCAAyC,yCAAyC,KAAK,GAAG,sBAAsB,QAAQ,sCAAsC,sCAAsC,KAAK,UAAU,yCAAyC,yCAAyC,KAAK,GAAG,wBAAwB,uBAAuB,oBAAoB,sBAAsB,eAAe,cAAc,GAAG,yBAAyB,uBAAuB,eAAe,cAAc,GAAG,6CAA6C,m7IAAm7I,E;;;;;;;;;;;;ACAn8O;AAAe,sFAAuB,gBAAgB,yBAAyB,yBAAyB,kBAAkB,iCAAiC,kCAAkC,8BAA8B,8BAA8B,+BAA+B,+BAA+B,8BAA8B,+BAA+B,gCAAgC,iCAAiC,mHAAmH,iEAAiE,GAAG,6DAA6D,gBAAgB,iBAAiB,uBAAuB,4BAA4B,GAAG,uDAAuD,qBAAqB,uBAAuB,GAAG,wDAAwD,oBAAoB,uBAAuB,GAAG,qBAAqB,yBAAyB,yBAAyB,kBAAkB,GAAG,4BAA4B,qBAAqB,uBAAuB,GAAG,eAAe,sBAAsB,uBAAuB,2BAA2B,4BAA4B,+BAA+B,iCAAiC,GAAG,wBAAwB,2BAA2B,4BAA4B,+BAA+B,iCAAiC,GAAG,wCAAwC,iBAAiB,wBAAwB,KAAK,GAAG,6CAA6C,mvFAAmvF,E;;;;;;;;;;;;;;;;;;;;;;ACAxuI;AAQrD;IASV,2BAA2B,SAA3B,2BAA2B;;QAI7B,aAAQ,GAAY,KAAK,CAAC;QAIzB,gBAAW,GAAG,IAAI,0DAAY,EAAE,CAAC;IAiB7C,CAAC;IAhBC,IACI,KAAK,CAAC,KAAmB;QAC3B,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK;YAAE,OAAO;QACjC,IAAI,CAAC,MAAM,GAAG,mFAAqB,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEM,YAAY;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO;QACL,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACtE,CAAC;CACF;;iBAxBE,mDAAK;oBACL,mDAAK;0BACL,mDAAK;uBACL,mDAAK;yBACL,uDAAS,SAAC,YAAY,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;0BAGxC,oDAAM;oBACN,mDAAK,SAAC,OAAO;;AATH,2BAA2B;IANvC,+DAAS,CAAC;QACT,QAAQ,EAAE,sBAAsB;QAChC,iGAAoD;;KAErD,CAAC;IACF,oCAAoC;GACvB,2BAA2B,CAyBvC;AAzBuC;;;;;;;;;;;;;ACjBxC;AAAe,oKAAqG,wCAAwC,0BAA0B,IAAI,KAAK,mBAAmB,kFAAkF,IAAI,YAAY,IAAI,qVAAqV,wBAAwB,+PAA+P,oCAAoC,qDAAqD,E;;;;;;;;;;;;;;;;;;;;;ACA58B;IAOpC,gCAAgC,SAAhC,gCAAgC;CAG5C;;sBADE,mDAAK;;AAFK,gCAAgC;IAL5C,+DAAS,CAAC;QACT,QAAQ,EAAE,kCAAkC;QAC5C,uGAA0D;;KAE3D,CAAC;GACW,gCAAgC,CAG5C;AAH4C;;;;;;;;;;;;;;;;;;;ACPwD;AAC9D;IAM1B,WAAW,SAAX,WAAW;IAWtB,YAAoB,wBAAkD;QAAlD,6BAAwB,GAAxB,wBAAwB,CAA0B;QATtE,UAAK,GAAG,IAAI,oDAAe,CAAgB,IAAI,CAAC,CAAC;QACjD,aAAQ,GAAG,IAAI,oDAAe,CAAgB,IAAI,CAAC,CAAC;QACpD,WAAM,GAAG,IAAI,oDAAe,CAAkB,EAAE,CAAC,CAAC;QAClD,YAAO,GAAG,IAAI,oDAAe,CAAU,KAAK,CAAC,CAAC;QAC9C,0BAAqB,GAAG,IAAI,oDAAe,CAAM,IAAI,CAAC,CAAC;IAKmB,CAAC;IAE3E,SAAS,CAAC,YAAoB,EAAE,IAAY,EAAE,OAAe,EAAE,KAAsB;QACnF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,gBAAgB,CAAC,oBAAyB;QACxC,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACxD,CAAC;IAED,SAAS;QACP,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,gBAAgB;;QACd,UAAI,CAAC,YAAY,0CAAE,OAAO,GAAG;QAC7B,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,eAAe,CAAC,KAAsB;QACpC,IAAI,IAAI,GAAyB,IAAI,CAAC;QACtC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;;YAChB,IAAI,CAAC,CAAC,QAAQ,EAAE;gBACd,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAChD,IAAI,MAAM,EAAE;oBACV,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;oBAClB,IAAI,GAAG,MAAM,CAAC;iBACf;aACF;iBAAM,IAAI,WAAI,CAAC,YAAY,0CAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,OAAM,IAAI,EAAE;gBACnE,IAAI,GAAG,CAAC,CAAC;aACV;QACH,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAEK,0BAA0B,CAAC,oBAAsC;;YACrE,oBAAoB,CAAC,KAAK,EAAE,CAAC;YAC7B,MAAM,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAC1G,IAAI,CAAC,YAAY,GAAG,oBAAoB,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;QAC7E,CAAC;KAAA;CACF;;YAnEQ,sEAAwB;;AAOpB,WAAW;IAHvB,gEAAU,CAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;GACW,WAAW,CA4DvB;AA5DuB;;;;;;;;;;;;;ACPxB;AAAe,oVAAqR,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA1P;AACD;AACE;IAM9B,yBAAyB,SAAzB,yBAAyB;IAEpC,YACU,MAAc,EACd,QAAkB;QADlB,WAAM,GAAN,MAAM,CAAQ;QACd,aAAQ,GAAR,QAAQ,CAAU;IACxB,CAAC;IAEL,cAAc;QACZ,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3E,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC/E,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,2BAA2B,GAAG,MAAM,CAAC,MAAM,GAAG,YAAY,GAAG,MAAM,CAAC,KAAK,GAAG,oDAAoD,CAAC,CAAC;IACnK,CAAC;CACF;;YAnBQ,sDAAM;YACN,wDAAQ;;AAMJ,yBAAyB;IAJrC,+DAAS,CAAC;QACT,QAAQ,EAAE,yBAAyB;QACnC,gGAAmD;KACpD,CAAC;GACW,yBAAyB,CAYrC;AAZqC;;;;;;;;;;;;;ACRtC;AAAe,4FAA6B,iBAAiB,iBAAiB,GAAG,wBAAwB,qBAAqB,GAAG,6CAA6C,ufAAuf,E;;;;;;;;;;;;;;;;;;;;;;ACAvmB;AACb;IAOpC,8BAA8B,SAA9B,8BAA8B;IAEzC,IACI,KAAK,CAAC,KAAuB;QAC/B,IAAI,CAAC,OAAO,GAAG,mFAAqB,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;CAGF;;oBANE,mDAAK,SAAC,SAAS;;AAFL,8BAA8B;IAL1C,+DAAS,CAAC;QACT,QAAQ,EAAE,8BAA8B;QACxC,qGAAwD;;KAEzD,CAAC;GACW,8BAA8B,CAQ1C;AAR0C;;;;;;;;;;;;;ACR3C;AAAe,6GAA8C,2NAA2N,E;;;;;;;;;;;;ACAxR;AAAe,kKAAmG,4BAA4B,uBAAuB,E;;;;;;;;;;;ACArK,e;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAoB;AACpB,oBAAoB;AACpB,wBAAwB;AACxB,mBAAmB;AACnB,4HAA4H;AAC5H,oBAAoB;AACpB,wBAAwB;AACxB,uCAAuC;;AAEwD;AAClB;AACU;AACU;AAE1F,MAAM,sBAAsB,GAAG,IAAI,4DAAc,CAAS,wBAAwB,CAAC,CAAC;IAK9E,iBAAiB,SAAjB,iBAAiB;IAK5B,YAAgC,IAAgB,EAA8C,OAAgB;QAFpG,qBAAgB,GAAmD,SAAS,CAAC;QAGrF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,iCAAiC,CAAC;IACvE,CAAC;IAED,eAAe,CAAC,UAA8C;QAC5D,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,mCAAmC,CAAC;QAC9D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAE5C,IAAI,QAAQ,GAAQ;YAClB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACvB,cAAc,EAAE,kBAAkB;aACnC,CAAC;SACH,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC3F,OAAO,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC3C,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACzC,IAAI;oBACF,OAAO,IAAI,CAAC,sBAAsB,CAAM,SAAS,CAAC,CAAC;iBACpD;gBAAC,OAAO,CAAC,EAAE;oBACV,OAA8B,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACnD;aACF;;gBACC,OAA8B,uDAAgB,CAAC,SAAS,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAES,sBAAsB,CAAC,QAA0B;QACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GAChB,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC1C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAE;QACzI,IAAI,MAAM,KAAK,GAAG,EAAE;YAClB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,OAAO,+CAAa,CAAY,IAAI,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC,CAAC;SACL;aAAM,IAAI,MAAM,KAAK,GAAG,EAAE;YACzB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBACpE,OAAO,cAAc,CAAC,+BAA+B,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YACrG,CAAC,CAAC,CAAC,CAAC;SACL;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YAC3C,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YACjG,CAAC,CAAC,CAAC,CAAC;SACL;QACD,OAAO,+CAAa,CAAY,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,YAAY;QACV,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,gCAAgC,CAAC;QAC3D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAQ;YAClB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACvB,QAAQ,EAAE,kBAAkB;aAC7B,CAAC;SACH,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC3C,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACzC,IAAI;oBACF,OAAO,IAAI,CAAC,mBAAmB,CAAM,SAAS,CAAC,CAAC;iBACjD;gBAAC,OAAO,CAAC,EAAE;oBACV,OAAgD,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACrE;aACF;;gBACC,OAAgD,uDAAgB,CAAC,SAAS,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAES,mBAAmB,CAAC,QAA0B;QACtD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GAChB,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC1C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAE;QACzI,IAAI,MAAM,KAAK,GAAG,EAAE;YAClB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAChC,SAAS,GAAG,EAAS,CAAC;oBACtB,KAAK,IAAI,IAAI,IAAI,aAAa;wBAC5B,SAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;iBACtD;gBACD,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC,CAAC;SACL;aAAM,IAAI,MAAM,KAAK,GAAG,EAAE;YACzB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBACpE,OAAO,cAAc,CAAC,+BAA+B,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YACrG,CAAC,CAAC,CAAC,CAAC;SACL;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YAC3C,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YACjG,CAAC,CAAC,CAAC,CAAC;SACL;QACD,OAAO,+CAAa,CAA8B,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED,gBAAgB,CAAC,UAAsD;QACrE,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,oCAAoC,CAAC;QAC/D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAE5C,IAAI,QAAQ,GAAQ;YAClB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACvB,cAAc,EAAE,kBAAkB;aACnC,CAAC;SACH,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC7F,OAAO,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC3C,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACzC,IAAI;oBACF,OAAO,IAAI,CAAC,uBAAuB,CAAM,SAAS,CAAC,CAAC;iBACrD;gBAAC,OAAO,CAAC,EAAE;oBACV,OAA8B,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACnD;aACF;;gBACC,OAA8B,uDAAgB,CAAC,SAAS,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAES,uBAAuB,CAAC,QAA0B;QAC1D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GAChB,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC1C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAE;QACzI,IAAI,MAAM,KAAK,GAAG,EAAE;YAClB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,OAAO,+CAAa,CAAY,IAAI,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC,CAAC;SACL;aAAM,IAAI,MAAM,KAAK,GAAG,EAAE;YACzB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBACpE,OAAO,cAAc,CAAC,+BAA+B,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YACrG,CAAC,CAAC,CAAC,CAAC;SACL;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YAC3C,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YACjG,CAAC,CAAC,CAAC,CAAC;SACL;QACD,OAAO,+CAAa,CAAY,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,cAAc,CAAC,UAAoD;QACjE,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,kCAAkC,CAAC;QAC7D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAE5C,IAAI,QAAQ,GAAQ;YAClB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACvB,cAAc,EAAE,kBAAkB;aACnC,CAAC;SACH,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC3F,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC3C,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACzC,IAAI;oBACF,OAAO,IAAI,CAAC,qBAAqB,CAAM,SAAS,CAAC,CAAC;iBACnD;gBAAC,OAAO,CAAC,EAAE;oBACV,OAA8B,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACnD;aACF;;gBACC,OAA8B,uDAAgB,CAAC,SAAS,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAES,qBAAqB,CAAC,QAA0B;QACxD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GAChB,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC1C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAE;QACzI,IAAI,MAAM,KAAK,GAAG,EAAE;YAClB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,OAAO,+CAAa,CAAY,IAAI,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC,CAAC;SACL;aAAM,IAAI,MAAM,KAAK,GAAG,EAAE;YACzB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBACpE,OAAO,cAAc,CAAC,+BAA+B,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YACrG,CAAC,CAAC,CAAC,CAAC;SACL;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YAC3C,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YACjG,CAAC,CAAC,CAAC,CAAC;SACL;QACD,OAAO,+CAAa,CAAY,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,aAAa,CAAC,KAA0C;QACtD,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,iCAAiC,CAAC;QAC5D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAEvC,IAAI,QAAQ,GAAQ;YAClB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACvB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,kBAAkB;aAC7B,CAAC;SACH,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC3C,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACzC,IAAI;oBACF,OAAO,IAAI,CAAC,oBAAoB,CAAM,SAAS,CAAC,CAAC;iBAClD;gBAAC,OAAO,CAAC,EAAE;oBACV,OAAuC,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBAC5D;aACF;;gBACC,OAAuC,uDAAgB,CAAC,SAAS,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAES,oBAAoB,CAAC,QAA0B;QACvD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GAChB,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC1C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAE;QACzI,IAAI,MAAM,KAAK,GAAG,EAAE;YAClB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAChD,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC,CAAC;SACL;aAAM,IAAI,MAAM,KAAK,GAAG,EAAE;YACzB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBACpE,OAAO,cAAc,CAAC,+BAA+B,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YACrG,CAAC,CAAC,CAAC,CAAC;SACL;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YAC3C,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YACjG,CAAC,CAAC,CAAC,CAAC;SACL;QACD,OAAO,+CAAa,CAAqB,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,qBAAqB,CAAC,KAAiC;QACrD,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,yCAAyC,CAAC;QACpE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAEvC,IAAI,QAAQ,GAAQ;YAClB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACvB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,kBAAkB;aAC7B,CAAC;SACH,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,4BAA4B,CAAC,SAAS,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC3C,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACzC,IAAI;oBACF,OAAO,IAAI,CAAC,4BAA4B,CAAM,SAAS,CAAC,CAAC;iBAC1D;gBAAC,OAAO,CAAC,EAAE;oBACV,OAAsC,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBAC3D;aACF;;gBACC,OAAsC,uDAAgB,CAAC,SAAS,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAES,4BAA4B,CAAC,QAA0B;QAC/D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GAChB,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC1C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAE;QACzI,IAAI,MAAM,KAAK,GAAG,EAAE;YAClB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC/C,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC,CAAC;SACL;aAAM,IAAI,MAAM,KAAK,GAAG,EAAE;YACzB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBACpE,OAAO,cAAc,CAAC,+BAA+B,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YACrG,CAAC,CAAC,CAAC,CAAC;SACL;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YAC3C,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YACjG,CAAC,CAAC,CAAC,CAAC;SACL;QACD,OAAO,+CAAa,CAAoB,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,UAAU,CAAC,KAAuC;QAChD,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,8BAA8B,CAAC;QACzD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAEvC,IAAI,QAAQ,GAAQ;YAClB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACvB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,kBAAkB;aAC7B,CAAC;SACH,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC3C,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACzC,IAAI;oBACF,OAAO,IAAI,CAAC,iBAAiB,CAAM,SAAS,CAAC,CAAC;iBAC/C;gBAAC,OAAO,CAAC,EAAE;oBACV,OAAoC,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACzD;aACF;;gBACC,OAAoC,uDAAgB,CAAC,SAAS,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAES,iBAAiB,CAAC,QAA0B;QACpD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GAChB,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC1C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAE;QACzI,IAAI,MAAM,KAAK,GAAG,EAAE;YAClB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC7C,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC,CAAC;SACL;aAAM,IAAI,MAAM,KAAK,GAAG,EAAE;YACzB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBACpE,OAAO,cAAc,CAAC,+BAA+B,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YACrG,CAAC,CAAC,CAAC,CAAC;SACL;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YAC3C,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YACjG,CAAC,CAAC,CAAC,CAAC;SACL;QACD,OAAO,+CAAa,CAAkB,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,iBAAiB,CAAC,KAAyC;QACzD,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,qCAAqC,CAAC;QAChE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAEvC,IAAI,QAAQ,GAAQ;YAClB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACvB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,kBAAkB;aAC7B,CAAC;SACH,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC3F,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC3C,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACzC,IAAI;oBACF,OAAO,IAAI,CAAC,wBAAwB,CAAM,SAAS,CAAC,CAAC;iBACtD;gBAAC,OAAO,CAAC,EAAE;oBACV,OAA+C,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACpE;aACF;;gBACC,OAA+C,uDAAgB,CAAC,SAAS,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAES,wBAAwB,CAAC,QAA0B;QAC3D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GAChB,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC1C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAE;QACzI,IAAI,MAAM,KAAK,GAAG,EAAE;YAClB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,qBAAqB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACxD,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC,CAAC;SACL;aAAM,IAAI,MAAM,KAAK,GAAG,EAAE;YACzB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBACpE,OAAO,cAAc,CAAC,+BAA+B,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YACrG,CAAC,CAAC,CAAC,CAAC;SACL;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YAC3C,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YACjG,CAAC,CAAC,CAAC,CAAC;SACL;QACD,OAAO,+CAAa,CAA6B,IAAI,CAAC,CAAC;IACzD,CAAC;CACF;;YA/dQ,+DAAU,uBAeJ,oDAAM,SAAC,+DAAU;yCAAqB,sDAAQ,YAAI,oDAAM,SAAC,sBAAsB;;AALjF,iBAAiB;IAH7B,gEAAU,CAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;GACW,iBAAiB,CAqd7B;AArd6B;IA0djB,YAAY,SAAZ,YAAY;IAKvB,YAAgC,IAAgB,EAA8C,OAAgB;QAFpG,qBAAgB,GAAmD,SAAS,CAAC;QAGrF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,iCAAiC,CAAC;IACvE,CAAC;IAED,eAAe;QACb,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,gCAAgC,CAAC;QAC3D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAQ;YAClB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACvB,QAAQ,EAAE,kBAAkB;aAC7B,CAAC;SACH,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC3C,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACzC,IAAI;oBACF,OAAO,IAAI,CAAC,sBAAsB,CAAM,SAAS,CAAC,CAAC;iBACpD;gBAAC,OAAO,CAAC,EAAE;oBACV,OAAuC,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBAC5D;aACF;;gBACC,OAAuC,uDAAgB,CAAC,SAAS,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAES,sBAAsB,CAAC,QAA0B;QACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GAChB,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC1C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAE;QACzI,IAAI,MAAM,KAAK,GAAG,EAAE;YAClB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBACpE,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC,CAAC;SACL;aAAM,IAAI,MAAM,KAAK,GAAG,EAAE;YACzB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBACpE,OAAO,cAAc,CAAC,+BAA+B,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YACrG,CAAC,CAAC,CAAC,CAAC;SACL;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YAC3C,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YACjG,CAAC,CAAC,CAAC,CAAC;SACL;QACD,OAAO,+CAAa,CAAqB,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,cAAc,CAAC,QAAuB;QACpC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,gCAAgC,CAAC;QAC3D,IAAI,QAAQ,KAAK,SAAS;YACxB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;aAC1D,IAAI,QAAQ,KAAK,IAAI;YACxB,IAAI,IAAI,WAAW,GAAG,kBAAkB,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC;QAChE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAQ;YAClB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC,EACxB,CAAC;SACH,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC3F,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC3C,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACzC,IAAI;oBACF,OAAO,IAAI,CAAC,qBAAqB,CAAM,SAAS,CAAC,CAAC;iBACnD;gBAAC,OAAO,CAAC,EAAE;oBACV,OAA8B,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACnD;aACF;;gBACC,OAA8B,uDAAgB,CAAC,SAAS,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAES,qBAAqB,CAAC,QAA0B;QACxD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GAChB,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC1C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAE;QACzI,IAAI,MAAM,KAAK,GAAG,EAAE;YAClB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,OAAO,+CAAa,CAAY,IAAI,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC,CAAC;SACL;aAAM,IAAI,MAAM,KAAK,GAAG,EAAE;YACzB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBACpE,OAAO,cAAc,CAAC,+BAA+B,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YACrG,CAAC,CAAC,CAAC,CAAC;SACL;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YAC3C,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YACjG,CAAC,CAAC,CAAC,CAAC;SACL;QACD,OAAO,+CAAa,CAAY,IAAI,CAAC,CAAC;IACxC,CAAC;CACF;;YA3lBQ,+DAAU,uBAyeJ,oDAAM,SAAC,+DAAU;yCAAqB,sDAAQ,YAAI,oDAAM,SAAC,sBAAsB;;AALjF,YAAY;IAHxB,gEAAU,CAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;GACW,YAAY,CAuHxB;AAvHwB;AAyHlB,MAAM,wBAAwB;IAGnC,YAAY,IAAgC;QAC1C,IAAI,IAAI,EAAE;YACR,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACzB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACzB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,IAAI,CAAC,KAAW;QACd,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;SAC3C;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACrB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,wBAAwB,EAAE,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAMM,MAAM,2BAA4B,SAAQ,wBAAwB;IAIvE,YAAY,IAAmC;QAC7C,KAAK,CAAC,IAAI,CAAC,CAAC;IACd,CAAC;IAED,IAAI,CAAC,KAAW;QACd,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;YAC1C,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;SAC3B;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACrB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,2BAA2B,EAAE,CAAC;QAC/C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAOM,MAAM,oBAAoB;IAO/B,YAAY,IAA4B;QACtC,IAAI,IAAI,EAAE;YACR,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACzB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACzB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,IAAI,CAAC,KAAW;QACd,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC9C,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;SACvC;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACrB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAUM,MAAM,mCAAoC,SAAQ,wBAAwB;IAG/E,YAAY,IAA2C;QACrD,KAAK,CAAC,IAAI,CAAC,CAAC;IACd,CAAC;IAED,IAAI,CAAC,KAAW;QACd,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;SACvB;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACrB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,mCAAmC,EAAE,CAAC;QACvD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAMM,MAAM,iCAAiC;IAI5C,YAAY,IAAyC;QACnD,IAAI,IAAI,EAAE;YACR,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACzB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACzB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,IAAI,CAAC,KAAW;QACd,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;SAC3B;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACrB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,iCAAiC,EAAE,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAOM,MAAM,aAAa;IAGxB,YAAY,IAAqB;QAC/B,IAAI,IAAI,EAAE;YACR,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACzB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACzB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,IAAI,CAAC,KAAW;QACd,IAAI,KAAK,EAAE;YACT,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE;gBAC3C,IAAI,CAAC,eAAe,GAAG,EAAS,CAAC;gBACjC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,iBAAiB,CAAC;oBACvC,IAAI,CAAC,eAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAC7D;SACF;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACrB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE;YACvC,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC;YAC7B,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,eAAe;gBACnC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAC/C;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAMM,MAAM,gBAAgB;IAI3B,YAAY,IAAwB;QAClC,IAAI,IAAI,EAAE;YACR,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACzB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACzB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,IAAI,CAAC,KAAW;QACd,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE;gBACtC,IAAI,CAAC,UAAU,GAAG,EAAS,CAAC;gBAC5B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,YAAY,CAAC;oBAClC,IAAI,CAAC,UAAW,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACpD;SACF;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACrB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YAClC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;YACxB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU;gBAC9B,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAC1C;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAOM,MAAM,YAAY;IAKvB,YAAY,IAAoB;QAC9B,IAAI,IAAI,EAAE;YACR,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACzB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACzB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,IAAI,CAAC,KAAW;QACd,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;SAC/C;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACrB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAQM,MAAM,4BAA4B;IAIvC,YAAY,IAAoC;QAC9C,IAAI,IAAI,EAAE;YACR,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACzB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACzB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,IAAI,CAAC,KAAW;QACd,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;YAC1C,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;SAC3C;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACrB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,4BAA4B,EAAE,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAOM,MAAM,YAAY;IAGvB,YAAY,IAAoB;QAC9B,IAAI,IAAI,EAAE;YACR,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACzB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACzB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,IAAI,CAAC,KAAW;QACd,IAAI,KAAK,EAAE;YACT,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE;gBACrC,IAAI,CAAC,SAAS,GAAG,EAAS,CAAC;gBAC3B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,WAAW,CAAC;oBACjC,IAAI,CAAC,SAAU,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACrB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YACjC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;YACvB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS;gBAC7B,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACzC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAMM,MAAM,UAAU;IAIrB,YAAY,IAAkB;QAC5B,IAAI,IAAI,EAAE;YACR,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACzB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACzB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,IAAI,CAAC,KAAW;QACd,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;SAC3B;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACrB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAOM,MAAM,mBAAmB;IAK9B,YAAY,IAA2B;QACrC,IAAI,IAAI,EAAE;YACR,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACzB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACzB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,IAAI,CAAC,KAAW;QACd,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;YAC1C,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;SAC3C;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACrB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAQM,MAAM,UAAU;IAMrB,YAAY,IAAkB;QAC5B,IAAI,IAAI,EAAE;YACR,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACzB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACzB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,IAAI,CAAC,KAAW;QACd,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC3G,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACxG,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACxG,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;SACzG;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACrB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC7F,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC1F,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC1F,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC1F,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AASM,MAAM,SAAS;IAKpB,YAAY,IAAiB;QAC3B,IAAI,IAAI,EAAE;YACR,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACzB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACzB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,IAAI,CAAC,KAAW;QACd,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE;gBACjC,IAAI,CAAC,KAAK,GAAG,EAAS,CAAC;gBACvB,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC;oBAC7B,IAAI,CAAC,KAAM,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAChD;SACF;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACrB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC7B,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACnB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK;gBACzB,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACrC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAQM,MAAM,aAAa;IAIxB,YAAY,IAAqB;QAC/B,IAAI,IAAI,EAAE;YACR,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACzB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACzB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,IAAI,CAAC,KAAW;QACd,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;SAC3B;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACrB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAOM,MAAM,yBAAyB;IAQpC,YAAY,IAAiC;QAC3C,IAAI,IAAI,EAAE;YACR,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACzB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACzB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,IAAI,CAAC,KAAW;QACd,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;YAC1C,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;YAC1C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC5F,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC/F,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;SACvC;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACrB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,yBAAyB,EAAE,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAChF,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACnF,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAWM,MAAM,qBAAqB;IAKhC,YAAY,IAA6B;QACvC,IAAI,IAAI,EAAE;YACR,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACzB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACzB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,IAAI,CAAC,KAAW;QACd,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;YAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,EAAE;gBACxC,IAAI,CAAC,YAAY,GAAG,EAAS,CAAC;gBAC9B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,cAAc,CAAC;oBACpC,IAAI,CAAC,YAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACjC;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE;gBACrC,IAAI,CAAC,SAAS,GAAG,EAAS,CAAC;gBAC3B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,WAAW,CAAC;oBACjC,IAAI,CAAC,SAAU,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAClD;SACF;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACrB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;QAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;YACpC,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;YAC1B,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY;gBAChC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACnC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YACjC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;YACvB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS;gBAC7B,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACzC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAQM,MAAM,WAAW;IAGtB,YAAY,IAAmB;QAC7B,IAAI,IAAI,EAAE;YACR,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACzB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACzB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,IAAI,CAAC,KAAW;QACd,IAAI,KAAK,EAAE;YACT,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE;gBACnC,IAAI,CAAC,OAAO,GAAG,EAAS,CAAC;gBACzB,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,SAAS,CAAC;oBAC/B,IAAI,CAAC,OAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC5B;SACF;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACrB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC/B,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;YACrB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO;gBAC3B,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC9B;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAMM,MAAM,2BAA2B;IAkBtC,YAAY,IAAmC;QAC7C,IAAI,IAAI,EAAE;YACR,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACzB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACzB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,IAAI,CAAC,KAAW;QACd,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;YAC1C,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;YAC1C,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC5F,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC/F,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE;gBACtC,IAAI,CAAC,UAAU,GAAG,EAAS,CAAC;gBAC5B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,YAAY,CAAC;oBAClC,IAAI,CAAC,UAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC/B;YACD,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAClD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,EAAE;gBAC1C,IAAI,CAAC,cAAc,GAAG,EAAS,CAAC;gBAChC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,gBAAgB,CAAC;oBACtC,IAAI,CAAC,cAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACnC;YACD,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAClD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAChD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,EAAE;gBACzC,IAAI,CAAC,aAAa,GAAG,EAAS,CAAC;gBAC/B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,eAAe,CAAC;oBACrC,IAAI,CAAC,aAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClC;YACD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAChD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,EAAE;gBACzC,IAAI,CAAC,aAAa,GAAG,EAAS,CAAC;gBAC/B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,eAAe,CAAC;oBACrC,IAAI,CAAC,aAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClC;YACD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAChD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,EAAE;gBACzC,IAAI,CAAC,aAAa,GAAG,EAAS,CAAC;gBAC/B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,eAAe,CAAC;oBACrC,IAAI,CAAC,aAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClC;YACD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;SAC7C;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACrB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,2BAA2B,EAAE,CAAC;QAC/C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAChF,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACnF,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YAClC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;YACxB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU;gBAC9B,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACjC;QACD,IAAI,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACjD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;YACtC,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC;YAC5B,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,cAAc;gBAClC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACrC;QACD,IAAI,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACjD,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;YACrC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;YAC3B,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,aAAa;gBACjC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACpC;QACD,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;YACrC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;YAC3B,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,aAAa;gBACjC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACpC;QACD,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;YACrC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;YAC3B,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,aAAa;gBACjC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACpC;QACD,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAqBD,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,2CAAuB;IACvB,2DAAuC;IACvC,6DAAyC;IACzC,yCAAqB;AACvB,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,QAK3B;AAED,oEAAoE;AACpE,IAAY,aAOX;AAPD,WAAY,aAAa;IACvB,oCAAmB;IACnB,gCAAe;IACf,4CAA2B;IAC3B,oCAAmB;IACnB,gCAAe;IACf,gCAAe;AACjB,CAAC,EAPW,aAAa,KAAb,aAAa,QAOxB;AAEM,MAAM,gBAAiB,SAAQ,KAAK;IAOzC,YAAY,OAAe,EAAE,MAAc,EAAE,QAAgB,EAAE,OAAgC,EAAE,MAAW;QAC1G,KAAK,EAAE,CAAC;QASA,uBAAkB,GAAG,IAAI,CAAC;QAPlC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAID,MAAM,CAAC,kBAAkB,CAAC,GAAQ;QAChC,OAAO,GAAG,CAAC,kBAAkB,KAAK,IAAI,CAAC;IACzC,CAAC;CACF;AAED,SAAS,cAAc,CAAC,OAAe,EAAE,MAAc,EAAE,QAAgB,EAAE,OAAgC,EAAE,MAAY;IACvH,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS;QACzC,OAAO,uDAAgB,CAAC,MAAM,CAAC,CAAC;;QAEhC,OAAO,uDAAgB,CAAC,IAAI,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AAC5F,CAAC;AAED,SAAS,UAAU,CAAC,IAAS;IAC3B,OAAO,IAAI,+CAAU,CAAS,CAAC,QAAa,EAAE,EAAE;QAC9C,IAAI,CAAC,IAAI,EAAE;YACT,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClB,QAAQ,CAAC,QAAQ,EAAE,CAAC;SACrB;aAAM;YACL,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,EAAE;gBACtB,QAAQ,CAAC,IAAI,CAAO,KAAK,CAAC,MAAO,CAAC,MAAM,CAAC,CAAC;gBAC1C,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,CAAC,CAAC;YACF,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SACzB;IACH,CAAC,CAAC,CAAC;AACL,CAAC;;;;;;;;;;;;;AC9kDD;AAAe,wHAAyD,mDAAmD,sPAAsP,+3BAA+3B,E;;;;;;;;;;;;ACAhvC;AAAe,kFAAmB,oBAAoB,sBAAsB,oBAAoB,gDAAgD,wBAAwB,GAAG,4BAA4B,8BAA8B,iBAAiB,GAAG,oBAAoB,oBAAoB,oBAAoB,GAAG,6CAA6C,28BAA28B,E;;;;;;;;;;;;;;;;;;;;;;;ACAtqC;AAClF;AACzB;IAOlB,mBAAmB,SAAnB,mBAAmB;IAU9B,YAAoB,eAAgC;QAAhC,oBAAe,GAAf,eAAe,CAAiB;QATpD,cAAS,GAAiB,IAAI,4CAAO,EAAE,CAAC;QAExC,yBAAoB,GAAG,KAAK,CAAC;IAO2B,CAAC;IAEzD,WAAW;QACT,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;IAC/B,CAAC;IAED,eAAe;QACb,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;QAC7D,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,UAA0B,EAAE,EAAE;YAC5D,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,WAAW,CAAC,OAAsB;QAChC,IAAI,OAAO,CAAC,aAAa,CAAC,EAAE;YAC1B,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC,YAAY,EAAE;gBAChF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aACtC;YACD,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC,YAAY,EAAE;gBACxG,IAAI,CAAC,QAAQ,EAAE,CAAC;aACjB;SACF;IACH,CAAC;IAED,SAAS;QACP,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;gBAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC;aACjB;SACF;IACH,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAC9B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACjC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,UAA0B,EAAE,EAAE;gBAC5D,UAAU,CAAC,OAAO,EAAE,CAAC;gBACrB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACrC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC1B,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YACpC,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,aAAa,CAAC,KAAY;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;QAC9B,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9B,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;CACF;;YArEkD,6DAAe;;;iBAa/D,mDAAK;wBACL,mDAAK;0BACL,mDAAK;yBACL,mDAAK;wBACL,uDAAS,SAAC,qEAAkB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;AARpC,mBAAmB;IAL/B,+DAAS,CAAC;QACT,QAAQ,EAAE,aAAa;QACvB,wFAA2C;;KAE5C,CAAC;GACW,mBAAmB,CA4D/B;AA5D+B;;;;;;;;;;;;ACThC,e;;;;;;;;;;;;ACAA;AAAe,wGAAyC,kBAAkB,GAAG,sEAAsE,gBAAgB,GAAG,kFAAkF,kBAAkB,GAAG,iFAAiF,0BAA0B,GAAG,0FAA0F,0BAA0B,GAAG,yFAAyF,kBAAkB,GAAG,uBAAuB,uBAAuB,uBAAuB,yBAAyB,GAAG,yBAAyB,wBAAwB,GAAG,uBAAuB,mBAAmB,GAAG,kCAAkC,gBAAgB,GAAG,4BAA4B,gBAAgB,iBAAiB,mCAAmC,GAAG,sBAAsB,aAAa,GAAG,8DAA8D,mCAAmC,GAAG,+BAA+B,uBAAuB,sBAAsB,yBAAyB,KAAK,yBAAyB,wBAAwB,gCAAgC,mBAAmB,mCAAmC,mBAAmB,+BAA+B,KAAK,+BAA+B,sBAAsB,KAAK,qDAAqD,wCAAwC,KAAK,2DAA2D,qCAAqC,KAAK,8BAA8B,kBAAkB,mBAAmB,8CAA8C,KAAK,GAAG,6CAA6C,mlHAAmlH,E;;;;;;;;;;;;;;;;;;;;;;ACA3zK;AACO;AACsB;AACrC;AAGc;IAGpC,eAAe,SAAf,eAAe;IAG1B,YACU,gBAAkC,EAClC,aAA4B,EAC5B,YAAmB;QAFnB,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,kBAAa,GAAb,aAAa,CAAe;QAC5B,iBAAY,GAAZ,YAAY,CAAO;QALrB,sBAAiB,GAA0B,EAAE,CAAC;QAOpD,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,KAAsB,EAAE,EAAE;YACtE,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC;IAC3C,CAAC;IAED,cAAc,CAAC,QAAgB;QAC7B,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;YACxD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE;gBACjD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,gBAAgB;QACd,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QACpE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,kBAAkB,CAAC,kBAA4B,EAAE,eAAuB;QACtE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QACnD,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;IACxD,CAAC;IAED,OAAO;;QACL,IAAI,QAAQ,eAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,0CAAE,WAAW,qCAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC;QAEpG,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;YACxD,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;SACpE;QAED,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE;gBACjD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,4BAA4B,CAAC,UAA+B;QAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,UAAU,CAAC,GAAG,CAAC,CAAC;QACjF,MAAM,cAAc,GAAG,wDAAS,CAAC,UAAU,CAAC,CAAC;QAC7C,IAAI,QAAQ,IAAI,CAAC,EAAE;YACjB,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;SAC5C;QACD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC9C,CAAC;IAED,6BAA6B;QAC3B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IAClD,CAAC;IAEO,kBAAkB,CAAC,QAAgB;QACzC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,iBAAsC,EAAE,EAAE;YACxE,IAAI,CAAC,2BAA2B,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,eAAe,CAAC,KAAuB,EAAE,IAAY;QAC3D,OAAO,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;IACjE,CAAC;IAEO,2BAA2B,CAAC,UAA+B,EAAE,IAAY;QAC/E,IAAI,WAAW,GAAG,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAmB,EAAE,EAAE,CACrE,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,CAC9B,CAAC;QAEF,IAAI,WAAW,EAAE;YACf,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;gBACtB,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC;gBACzB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,IAAK,EAAE,IAAI,CAAC,CAAC;aACpE;SACF;aAAM;YACL,WAAW,GAAG,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YAC1D,IAAI,WAAW,EAAE;gBACf,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,IAAK,EAAE,IAAI,CAAC,CAAC;aACpE;SACF;IACH,CAAC;CACF;;YAhGyB,oEAAgB;YAIjC,6DAAa;YALb,+DAAK;;AAQD,eAAe;IAD3B,gEAAU,EAAE;GACA,eAAe,CAyF3B;AAzF2B;;;;;;;;;;;;;ACT5B;AAAe,6GAA8C,uLAAuL,E;;;;;;;;;;;;ACApP;AAAe,6GAA8C,uMAAuM,E;;;;;;;;;;;;;;;;;;;;;ACAnN;IAOpC,yBAAyB,SAAzB,yBAAyB;CAGrC;;sBADE,mDAAK;;AAFK,yBAAyB;IALrC,+DAAS,CAAC;QACT,QAAQ,EAAE,yBAAyB;QACnC,gGAAmD;;KAEpD,CAAC;GACW,yBAAyB,CAGrC;AAHqC;;;;;;;;;;;;;;;;;;;;;;;;;ACPgB;AACS;AACnB;AACK;AACwB;AACA;AACJ;AAClB;IAKtC,eAAe,SAAf,eAAe;IAsB1B,YACU,KAA8B,EAC9B,SAA+B,EAC/B,KAAmB,EACnB,MAAkB;QAHlB,UAAK,GAAL,KAAK,CAAyB;QAC9B,cAAS,GAAT,SAAS,CAAsB;QAC/B,UAAK,GAAL,KAAK,CAAc;QACnB,WAAM,GAAN,MAAM,CAAY;QAxB5B,cAAS,GAAG,KAAK,CAAC;QAED,eAAU,GAAG,IAAI,4CAAO,EAAQ,CAAC;QACjC,iBAAY,GAAG,sDAAS,CAAC,IAAI,gBAAgB,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC,CAAC;QACtE,iBAAY,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;QACvC,kBAAa,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAC9C,0DAAM,CAAC,wEAA8B,CAAC,EACtC,gEAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAC3B,CAAC;QAEe,cAAS,GAAG,kDAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CACrD,qEAAc,CAAC,IAAI,CAAC,aAAa,CAAC,EAClC,6DAAM,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,WAAW,KAAK,IAAI,CAAC,EACjD,gEAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAC3B,CAAC;QAEe,aAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CACjD,2DAAI,CAAC,CAAC,CAAC,EAAE,gEAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CACpC,CAAC;QAQA,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,OAAY,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QACxF,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,OAAY,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAClF,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE;YACpC,OAAO,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC9E,CAAC,CAAC,CAAC;IACL,CAAC;IAED,WAAW;QACT,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAEO,mBAAmB;QACzB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,SAAS,CAAC,YAAY;aACxB,IAAI,CAAC,gEAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAChC,SAAS,CACR,CAAC,KAAK,EAAE,EAAE;YACR,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACrB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,CAAC,CACF,CAAC;IACN,CAAC;IAEO,kBAAkB;QACxB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAC/B,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EACnC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAChC,CAAC;IACJ,CAAC;IAGO,kBAAkB;QACxB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAC/B,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EACnC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAChC,CAAC;IACJ,CAAC;IAEO,YAAY,CAAC,KAAoB;QACvC,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC;iBAC3B,IAAI,CAAC,gEAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBAChC,SAAS,EAAE,CAAC;SAChB;IACH,CAAC;IAEO,YAAY,CAAC,KAAoB;QACvC,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC;iBAC3B,IAAI,CAAC,gEAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBAChC,SAAS,EAAE,CAAC;SAChB;IACH,CAAC;IAEO,cAAc,CAAC,OAAY,EAAE,UAAmB;QACtD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACrF,CAAC;CACF;;YArGgB,iDAAK;YADb,4EAAoB;YAKpB,kFAAY;YADZ,sFAAU;;AAON,eAAe;IAH3B,gEAAU,CAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;GACW,eAAe,CA2F3B;AA3F2B;;;;;;;;;;;;ACZ5B,e;;;;;;;;;;;;ACAA;AAAe,uGAAwC,8CAA8C,2HAA2H,E;;;;;;;;;;;;;;;;;;;;;ACArL;AACY;AACZ;AAC+B;AACO;IAKpE,YAAY,SAAZ,YAAY;IAEvB,YACU,gBAAkC,EAClC,MAAqB,EACrB,mBAAwC;QAFxC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,WAAM,GAAN,MAAM,CAAe;QACrB,wBAAmB,GAAnB,mBAAmB,CAAqB;IAC9C,CAAC;IAEL,OAAO,CAAC,OAAe;QACrB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC7G,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,OAAO,EAAE,cAAc,EAAE,uFAAgB,CAAC,YAAY,CAAC,CAAC;IAC1H,CAAC;IAED,KAAK,CAAC,OAAe;QACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;QACzG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,uFAAgB,CAAC,UAAU,CAAC,CAAC;IAChH,CAAC;IAED,OAAO,CAAC,OAAe;QACrB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC7G,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,OAAO,EAAE,SAAS,EAAE,uFAAgB,CAAC,YAAY,CAAC,CAAC;IACrH,CAAC;IAED,IAAI,CAAC,OAAe;QAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACvG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,uFAAgB,CAAC,SAAS,CAAC,CAAC;IAC5G,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,KAAa,EAAE,UAAmB;QACtD,IAAI,UAAU,EAAE;YACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;SAC5D;QAED,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,uFAAgB,CAAC,SAAS,CAAC,CAAC;IACpG,CAAC;CACF;;YA3CQ,oEAAgB;YAChB,wDAAa;YAEb,8FAAmB;;AAKf,YAAY;IAHxB,gEAAU,CAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;GACW,YAAY,CAmCxB;AAnCwB;;;;;;;;;;;;;;;;;;;;;;ACFF;IAUV,6BAA6B,SAA7B,6BAA6B;;QAK/B,aAAQ,GAAY,KAAK,CAAC;QAG5B,mBAAc,GAAY,IAAI,CAAC;QAG5B,gBAAW,GAAG,IAAI,0DAAY,EAAE,CAAC;IAmC7C,CAAC;IAlCC,IACI,KAAK,CAAC,KAAa;QACrB,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK;YAAE,OAAO;QACjC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;YAClE,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;IACH,CAAC;IACD,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEM,YAAY;QACjB,IAAI,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC;QAC1D,IAAI,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;YACxC,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YACnC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC9B,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;QACD,IAAI,MAAM,GAAY,IAAI,CAAC;QAC3B,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE;YAC3B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAClC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;oBACnC,MAAM,GAAG,KAAK,CAAC;iBAChB;YACH,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC7B,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO;QACL,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACtE,CAAC;CACF;;iBA7CE,mDAAK;oBACL,mDAAK;0BACL,mDAAK;yBACL,mDAAK;uBACL,mDAAK;mBACL,mDAAK;yBACL,uDAAS,SAAC,YAAY,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;0BAIxC,oDAAM;oBACN,mDAAK,SAAC,OAAO;;AAZH,6BAA6B;IANzC,+DAAS,CAAC;QACT,QAAQ,EAAE,wBAAwB;QAClC,mGAAsD;;KAEvD,CAAC;IACF,sCAAsC;GACzB,6BAA6B,CA8CzC;AA9CyC;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjB6C;AAG3C;AAC8B;AACD;AACQ;AAC9B;AACkB;IAOxD,iCAAiC,SAAjC,iCAAiC;IAO5C,YACU,KAA8B,EAC/B,mBAAwC,EACxC,eAAgC;QAF/B,UAAK,GAAL,KAAK,CAAyB;QAC/B,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,oBAAe,GAAf,eAAe,CAAiB;QANzC,sBAAiB,GAA4B,uFAAgB,CAAC;QAC9D,sBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,0DAAM,CAAC,wEAA8B,CAAC,CAAC,CAAC;IAMxE,CAAC;IAEL,QAAQ;QACN,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,CAAC;QAChD,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;IAED,eAAe;QACb,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,GAAG,4BAA4B,CAAC;IACzE,CAAC;IAED,WAAW;QACT,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,CAAC;IAChD,CAAC;IAED,uBAAuB;QACrB,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,CAAC;IAC3C,CAAC;IAED,cAAc,CAAC,KAA2B;QACxC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,wFAAkC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7E,CAAC;CACF;;YA9CgB,iDAAK;YAGb,8FAAmB;YADnB,sFAAe;;;+BAYrB,uDAAS,SAAC,kBAAkB;;AAFlB,iCAAiC;IAL7C,+DAAS,CAAC;QACT,QAAQ,EAAE,iCAAiC;QAC3C,wGAA2D;;KAE5D,CAAC;GACW,iCAAiC,CAkC7C;AAlC6C;;;;;;;;;;;;;;;;;;;;;;ACfG;IAOpC,wBAAwB,SAAxB,wBAAwB;CAKpC;;mBAHE,mDAAK;wBACL,mDAAK;2BACL,mDAAK;;AAJK,wBAAwB;IALpC,+DAAS,CAAC;QACT,QAAQ,EAAE,wBAAwB;QAClC,+FAAkD;;KAEnD,CAAC;GACW,wBAAwB,CAKpC;AALoC;;;;;;;;;;;;;ACPrC;AAAe,qJAAsF,mBAAmB,ypBAAypB,+CAA+C,+CAA+C,E;;;;;;;;;;;;ACA/2B;AAAe,0GAA2C,E;;;;;;;;;;;;ACA1D;AAAe,6OAA8K,YAAY,qIAAqI,oBAAoB,uhBAAuhB,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA10B;AACU;AACD;AACH;AACF;AACM;AACD;AACJ;AACF;AACT;AAC8B;AACA;AACd;AACa;AACX;AACa;AACjB;AACQ;AACN;AACoD;AACvB;AACC;AAC1B;AACI;AACD;AACT;AACE;AACF;AACA;AACU;AACK;AACQ;AACrB;AACE;AACE;AACS;AACX;AACK;AACT;AACM;AACJ;AACF;AACM;AACA;AACN;AACA;AACY;AACE;AACI;IA2E5D,cAAc,SAAd,cAAc;CAAI;AAAlB,cAAc;IAzE1B,+DAAQ,CAAC;QACR,SAAS,EAAE;YACT;gBACE,OAAO,EAAE,oFAA0B;gBACnC,QAAQ,EAAE;oBACR,SAAS,EAAE,KAAK;oBAChB,WAAW,EAAE,IAAI;oBACjB,UAAU,EAAE,cAAc;iBAC3B;aACF;YACD;gBACE,OAAO,EAAE,wEAAgB;gBACzB,QAAQ,EAAE,kFAAmB;aAC9B;YACD;gBACE,OAAO,EAAE,mEAAW;gBACpB,IAAI,EAAE,CAAC,qEAAgB,CAAC;gBACxB,QAAQ,EAAE,gFAAiB;aAC5B;YACD;gBACE,OAAO,EAAE,+EAAiB;gBAC1B,IAAI,EAAE,CAAC,qEAAgB,CAAC;gBACxB,QAAQ,EAAE,sFAAoB;aAC/B;SACF;QACD,OAAO,EAAE;YACP,4DAAU;YACV,qEAAgB;YAChB,iEAAc;YACd,+DAAa;YACb,sEAAe;YACf,qEAAc;YACd,qFAAqB;YACrB,uEAAc;YACd,oFAAoB;YACpB,yEAAe;YACf,sFAAqB;YACrB,qEAAa;YACb,6EAAiB;YACjB,uEAAc;YACd,iFAAmB;YACnB,yEAAe;YACf,2EAAgB;YAChB,+EAAkB;YAClB,8EAAiB;YACjB,qEAAa;YACb,uEAAc;YACd,qEAAa;YACb,qEAAa;YACb,qFAAmB;YACnB,2EAAmB;YACnB,+EAAkB;YAClB,oFAAoB;YACpB,4FAAwB;YACxB,uEAAc;YACd,uEAAe;YACf,yEAAe;YACf,2EAAgB;YAChB,yEAAe;YACf,oFAAoB;YACpB,8EAAiB;YACjB,qEAAa;YACb,2EAAgB;YAChB,uEAAc;YACd,qEAAa;YACb,2EAAgB;YAChB,2EAAgB;YAChB,qEAAa;YACb,kEAAa;YACb,gEAAY;YACZ,sEAAe;SAChB;KACF,CAAC;GACW,cAAc,CAAI;AAAJ;;;;;;;;;;;;;AC3H3B;AAAe,wNAAyJ,kCAAkC,4FAA4F,oCAAoC,oFAAoF,uCAAuC,mBAAmB,E;;;;;;;;;;;;ACAxd;AAAe,6GAA8C,uMAAuM,E;;;;;;;;;;;;ACApQ;AAAe,uEAAQ,gBAAgB,sBAAsB,8BAA8B,iBAAiB,wBAAwB,iBAAiB,GAAG,WAAW,uBAAuB,uBAAuB,yBAAyB,GAAG,mBAAmB,wBAAwB,GAAG,8BAA8B,yCAAyC,6FAA6F,6FAA6F,oBAAoB,GAAG,6BAA6B,qBAAqB,wBAAwB,uBAAuB,GAAG,+BAA+B,WAAW,gBAAgB,iBAAiB,KAAK,aAAa,wBAAwB,KAAK,GAAG,+EAA+E,WAAW,yBAAyB,KAAK,GAAG,+BAA+B,iBAAiB,wBAAwB,yBAAyB,KAAK,GAAG,6CAA6C,ujEAAujE,E;;;;;;;;;;;;ACA5lG;AAAe,8JAA+F,uBAAuB,uBAAuB,E;;;;;;;;;;;;ACA5J;AAAe,uEAAQ,gBAAgB,sBAAsB,8BAA8B,iBAAiB,wBAAwB,iBAAiB,GAAG,WAAW,uBAAuB,uBAAuB,yBAAyB,GAAG,mBAAmB,wBAAwB,GAAG,8BAA8B,yCAAyC,6FAA6F,6FAA6F,oBAAoB,GAAG,6BAA6B,qBAAqB,wBAAwB,uBAAuB,GAAG,kBAAkB,sBAAsB,GAAG,4BAA4B,kCAAkC,+BAA+B,GAAG,+BAA+B,WAAW,gBAAgB,iBAAiB,KAAK,aAAa,0BAA0B,KAAK,mBAAmB,wBAAwB,yBAAyB,KAAK,GAAG,6CAA6C,+mEAA+mE,E;;;;;;;;;;;;ACAtoG;AAAe,wFAAyB,8BAA8B,kCAAkC,uBAAuB,gBAAgB,iBAAiB,+CAA+C,+CAA+C,iBAAiB,GAAG,6CAA6C,2rBAA2rB,E;;;;;;;;;;;;ACA1/B;AAAe,gLAAiH,IAAI,KAAK,mBAAmB,+EAA+E,IAAI,oHAAoH,IAAI,oRAAoR,oCAAoC,iDAAiD,E;;;;;;;;;;;;;;;;;;;;;;;;;ACAjoB;AACnC;AAED;AACsB;AACb;IAQvC,eAAe,SAAf,eAAe;IAY1B,YACU,KAA8B,EAC/B,WAAwB;QADvB,UAAK,GAAL,KAAK,CAAyB;QAC/B,gBAAW,GAAX,WAAW,CAAa;QAVvB,kBAAa,GAA0B,IAAI,0DAAY,EAAE,CAAC;QAC1D,8BAAyB,GAA0B,IAAI,0DAAY,EAAE,CAAC;IAU5E,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,2DAAI,CAAC,CAAC,CAAC,EAAE,0DAAM,CAAC,8DAA2B,CAAC,EAAE,0DAAG,CAAC,MAAM,CAAC,EAAE;;YAC/F,IAAI,CAAC,eAAe,SAAG,MAAO,CAAC,eAAe,mCAAI,KAAK,CAAC;YACxD,IAAI,CAAC,eAAe,GAAG,MAAO,CAAC,WAAW,KAAK,YAAY,CAAC;QAC9D,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAEM,eAAe;QACpB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;CACF;;YAvCQ,iDAAK;YAGL,8EAAW;;;0BAWjB,mDAAK;8BACL,mDAAK;4BACL,oDAAM;wCACN,oDAAM;;AALI,eAAe;IAL3B,+DAAS,CAAC;QACT,QAAQ,EAAE,aAAa;QACvB,oFAAuC;;KAExC,CAAC;GACW,eAAe,CA2B3B;AA3B2B;;;;;;;;;;;;;ACb5B;AAAe,uGAAwC,8CAA8C,wkBAAwkB,6CAA6C,4MAA4M,0HAA0H,iBAAiB,uEAAuE,qDAAqD,uKAAuK,kiBAAkiB,uBAAuB,qBAAqB,+UAA+U,6DAA6D,4GAA4G,qFAAqF,yeAAye,kCAAkC,wIAAwI,0DAA0D,2PAA2P,wBAAwB,2CAA2C,geAAge,sDAAsD,kQAAkQ,wDAAwD,6XAA6X,wDAAwD,yNAAyN,0DAA0D,4HAA4H,oDAAoD,iDAAiD,E;;;;;;;;;;;;ACAnvK;AAAe,8EAAe,4BAA4B,iBAAiB,iBAAiB,cAAc,eAAe,GAAG,0BAA0B,cAAc,eAAe,uBAAuB,sBAAsB,GAAG,wBAAwB,iBAAiB,cAAc,eAAe,GAAG,uBAAuB,mBAAmB,GAAG,0CAA0C,kBAAkB,yBAAyB,kBAAkB,mBAAmB,KAAK,4BAA4B,uBAAuB,uBAAuB,KAAK,0BAA0B,mBAAmB,KAAK,yBAAyB,oBAAoB,KAAK,GAAG,6CAA6C,msDAAmsD,E;;;;;;;;;;;;ACA93E;AAAe,sFAAuB,iDAAiD,uBAAuB,GAAG,iDAAiD,gBAAgB,sBAAsB,GAAG,kDAAkD,uBAAuB,iBAAiB,aAAa,cAAc,6CAA6C,6CAA6C,qBAAqB,oBAAoB,GAAG,sBAAsB,sBAAsB,qBAAqB,0BAA0B,GAAG,iDAAiD,oBAAoB,0CAA0C,GAAG,yCAAyC,kBAAkB,sBAAsB,qBAAqB,wBAAwB,GAAG,+DAA+D,gBAAgB,yBAAyB,yBAAyB,kBAAkB,6BAA6B,8BAA8B,oCAAoC,8BAA8B,+BAA+B,gCAAgC,GAAG,kFAAkF,uBAAuB,GAAG,yFAAyF,wBAAwB,oBAAoB,oBAAoB,GAAG,kHAAkH,qBAAqB,sBAAsB,oBAAoB,GAAG,iHAAiH,oBAAoB,GAAG,sHAAsH,yBAAyB,yBAAyB,kBAAkB,8BAA8B,+BAA+B,2CAA2C,qBAAqB,oBAAoB,gBAAgB,GAAG,yIAAyI,yBAAyB,yBAAyB,kBAAkB,8BAA8B,+BAA+B,gCAAgC,GAAG,uCAAuC,kBAAkB,uBAAuB,GAAG,6DAA6D,uBAAuB,aAAa,cAAc,6CAA6C,6CAA6C,oBAAoB,gBAAgB,GAAG,0BAA0B,8CAA8C,oBAAoB,sBAAsB,GAAG,4CAA4C,gBAAgB,GAAG,kDAAkD,8BAA8B,+BAA+B,2CAA2C,GAAG,kCAAkC,gBAAgB,iBAAiB,yBAAyB,yBAAyB,kBAAkB,8BAA8B,+BAA+B,gCAAgC,8BAA8B,+BAA+B,2CAA2C,qBAAqB,GAAG,wBAAwB,8CAA8C,yBAAyB,yBAAyB,kBAAkB,8BAA8B,+BAA+B,2CAA2C,GAAG,6CAA6C,oBAAoB,GAAG,uBAAuB,mBAAmB,GAAG,uBAAuB,mBAAmB,GAAG,qBAAqB,mBAAmB,GAAG,oBAAoB,mBAAmB,GAAG,oBAAoB,mBAAmB,GAAG,sBAAsB,mBAAmB,GAAG,6CAA6C,23LAA23L,E;;;;;;;;;;;;ACAtxT;AAAe,wEAAS,uBAAuB,qBAAqB,GAAG,2BAA2B,gBAAgB,uBAAuB,WAAW,aAAa,cAAc,YAAY,eAAe,kBAAkB,GAAG,0CAA0C,oBAAoB,GAAG,oCAAoC,wBAAwB,GAAG,qBAAqB,kBAAkB,GAAG,6CAA6C,mnCAAmnC,E;;;;;;;;;;;;ACAziD;AAAe,6GAA8C,2MAA2M,E;;;;;;;;;;;;ACAxQ;AAAe,oIAAqE,qCAAqC,+JAA+J,E;;;;;;;;;;;;ACAxR;AAAe,y1BAA0xB,E;;;;;;;;;;;;;;;;;;;ACAhwB;AAC2C;AACA;IAUvE,oBAAoB,SAApB,oBAAoB;IAE/B,YAAoB,OAAsB;QAAtB,YAAO,GAAP,OAAO,CAAe;QACxC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,mFAAgB,EAAE,+EAAY,CAAC;IACvD,CAAC;CAEF;;YAjBQ,8EAAa;;AAWT,oBAAoB;IARhC,8DAAQ,CAAC;QACR,OAAO,EAAE;YACP,kFAAiB;SAClB;QACD,OAAO,EAAE;YACP,kFAAiB;SAClB;KACF,CAAC;GACW,oBAAoB,CAMhC;AANgC;;;;;;;;;;;;;;;;;;;;;;ACZ6D;IAQjF,6BAA6B,SAA7B,6BAA6B;;QAMjC,mBAAc,GAAY,IAAI,CAAC;QAG5B,gBAAW,GAAG,IAAI,0DAAY,EAAU,CAAC;QACzC,gBAAW,GAAG,IAAI,0DAAY,EAAE,CAAC;IAwC7C,CAAC;IAvCC,IACI,KAAK,CAAC,KAAa;QACrB,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK;YAAE,OAAO;QACjC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;YAClE,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;IACH,CAAC;IACD,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEM,YAAY;QACjB,IAAI,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC;QAC1D,IAAI,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;YACxC,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YACnC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC9B,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;QACD,IAAI,MAAM,GAAY,IAAI,CAAC;QAC3B,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE;YAC3B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAClC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;oBACnC,MAAM,GAAG,KAAK,CAAC;iBAChB;YACH,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC7B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACtE,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;CACF;;oBAhDE,mDAAK;uBACL,mDAAK;yBACL,mDAAK;yBACL,uDAAS,SAAC,YAAY,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;0BAIxC,oDAAM;0BACN,oDAAM;oBACN,mDAAK,SAAC,OAAO;;AAXH,6BAA6B;IALzC,+DAAS,CAAC;QACT,QAAQ,EAAE,6BAA6B;QACvC,oGAAuD;;KAExD,CAAC;GACW,6BAA6B,CAkDzC;AAlDyC;;;;;;;;;;;;;ACR1C;AAAe,kKAAmG,wCAAwC,GAAG,0DAA0D,6UAA6U,0DAA0D,mFAAmF,gBAAgB,gNAAgN,8CAA8C,4KAA4K,2CAA2C,oKAAoK,yCAAyC,0OAA0O,cAAc,oCAAoC,+CAA+C,uLAAuL,sCAAsC,6JAA6J,uCAAuC,+NAA+N,0CAA0C,uKAAuK,0CAA0C,uKAAuK,0CAA0C,uKAAuK,0CAA0C,0CAA0C,E;;;;;;;;;;;;ACAr/F;AAAA;AAAA,gFAAgF;AAChF,0EAA0E;AAC1E,gEAAgE;AAEzD,MAAM,WAAW,GAAG;IACzB,UAAU,EAAE,KAAK;CAClB,CAAC;AAEF;;;;;;GAMG;AACH,mEAAmE;;;;;;;;;;;;;ACfnE;AAAe,4EAAa,gBAAgB,GAAG,sBAAsB,mBAAmB,qBAAqB,GAAG,4BAA4B,mBAAmB,GAAG,6CAA6C,0BAA0B,qBAAqB,KAAK,GAAG,6CAA6C,u1BAAu1B,E;;;;;;;;;;;;ACA1oC;AAAe,uEAAQ,gBAAgB,sBAAsB,8BAA8B,iBAAiB,iCAAiC,iBAAiB,GAAG,WAAW,uBAAuB,uBAAuB,yBAAyB,GAAG,mBAAmB,wBAAwB,GAAG,8BAA8B,yCAAyC,6FAA6F,6FAA6F,oBAAoB,GAAG,6BAA6B,qBAAqB,wBAAwB,uBAAuB,GAAG,kBAAkB,sBAAsB,GAAG,4BAA4B,kCAAkC,+BAA+B,GAAG,+BAA+B,WAAW,gBAAgB,iBAAiB,KAAK,aAAa,yBAAyB,KAAK,mBAAmB,wBAAwB,yBAAyB,KAAK,GAAG,4BAA4B,uBAAuB,GAAG,wCAAwC,iCAAiC,8BAA8B,gBAAgB,iBAAiB,GAAG,6BAA6B,yBAAyB,yBAAyB,kBAAkB,8BAA8B,+BAA+B,gCAAgC,gBAAgB,GAAG,6CAA6C,uwFAAuwF,E;;;;;;;;;;;;ACAxrI;AAAe,uGAAwC,0CAA0C,gTAAgT,E;;;;;;;;;;;;;;;;;;;;;ACAlU;IAQlE,sBAAsB,SAAtB,sBAAsB;;QAKvB,qBAAgB,GAAoC,IAAI,0DAAY,EAAE,CAAC;IAgBnF,CAAC;IAdC,QAAQ;QACN,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACxC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;SACvC;IACH,CAAC;IAED,WAAW,CAAC,IAAuB;QACjC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;SAChC;aAAM;YACL,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAClC;IACH,CAAC;CACF;;wBApBE,mDAAK;oBACL,mDAAK;uBACL,mDAAK;2BACL,mDAAK;+BACL,oDAAM;;AALI,sBAAsB;IALlC,+DAAS,CAAC;QACT,QAAQ,EAAE,gBAAgB;QAC1B,2FAA8C;;KAE/C,CAAC;GACW,sBAAsB,CAqBlC;AArBkC;;;;;;;;;;;;;ACRnC;AAAe,8KAA+G,IAAI,KAAK,iBAAiB,+EAA+E,IAAI,iKAAiK,IAAI,4SAA4S,oCAAoC,qDAAqD,E;;;;;;;;;;;;ACArxB;AAAe,qFAAsB,mBAAmB,GAAG,6CAA6C,2XAA2X,E;;;;;;;;;;;;ACAne;AAAe,8TAA+P,E;;;;;;;;;;;;ACA9Q;AAAe,uJAAwF,8BAA8B,2FAA2F,SAAS,kEAAkE,8BAA8B,iCAAiC,E;;;;;;;;;;;;ACA1W;AAAe,8KAA+G,IAAI,KAAK,iBAAiB,iFAAiF,IAAI,oHAAoH,IAAI,gQAAgQ,oCAAoC,iDAAiD,E;;;;;;;;;;;;ACA1rB;AAAe,+FAAgC,uBAAuB,GAAG,qDAAqD,iCAAiC,8BAA8B,GAAG,4DAA4D,iCAAiC,GAAG,6CAA6C,uxBAAuxB,E;;;;;;;;;;;;ACApmC;AAAe,oFAAqB,4CAA4C,+EAA+E,yCAAyC,kBAAkB,E;;;;;;;;;;;;ACA1N;AAAe,6GAA8C,mNAAmN,E;;;;;;;;;;;;;;;;;;ACArO;AAC2D;IAMzF,gBAAgB,SAAhB,gBAAgB;IAE3B,YACU,MAAoB;QAApB,WAAM,GAAN,MAAM,CAAc;IAC1B,CAAC;IAEL,UAAU,CAAC,IAAY;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IACD,UAAU,CAAC,KAAa;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;CACF;;YAlBQ,mFAAY;;AAMR,gBAAgB;IAH5B,gEAAU,CAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;GACW,gBAAgB,CAY5B;AAZ4B;;;;;;;;;;;;;;;;;;;;;ACPoE;AAChC;IAMpD,0BAA0B,SAA1B,0BAA0B;IAKrC,YAAmB,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;IAAI,CAAC;IAEhD,QAAQ;QACN,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,SAAS,CAAC,GAAG,EAAE;YACpD,IAAI,CAAC,WAAW,CAAC,0BAA0B,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,WAAW;QACT,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,WAAW,EAAE,CAAC;IACvD,CAAC;CACF;;YAtBQ,8EAAW;;;mCAQjB,mDAAK;mCACL,uDAAS,SAAC,sBAAsB,EAAE,EAAE,IAAI,EAAE,8DAAgB,EAAE,MAAM,EAAE,IAAI,EAAE;;AAHhE,0BAA0B;IAJtC,+DAAS,CAAC;QACT,QAAQ,EAAE,0BAA0B;QACpC,iGAAoD;KACrD,CAAC;GACW,0BAA0B,CAgBtC;AAhBsC;;;;;;;;;;;;;ACPvC;AAAe,2JAA4F,QAAQ,YAAY,MAAM,4GAA4G,QAAQ,iBAAiB,wBAAwB,0HAA0H,SAAS,YAAY,MAAM,4GAA4G,SAAS,iBAAiB,yBAAyB,+CAA+C,E;;;;;;;;;;;;;;;;;;;;;;;ACA9gB;AACvF;IAOnB,yBAAyB,SAAzB,yBAAyB;;QAG3B,gBAAW,GAAG,QAAQ,CAAC;QACvB,iBAAY,GAAG,OAAO,CAAC;QACf,SAAI,GAAyB,IAAI,0DAAY,EAAU,CAAC;QACxD,WAAM,GAAuB,IAAI,0DAAY,EAAQ,CAAC;QAIvE,cAAS,GAAa,EAAE,CAAC;QACzB,eAAU,GAAa,EAAE,CAAC;QAC1B,UAAK,GAAoB,EAAE,CAAC;QAE5B,iBAAY,GAA+B;YACzC,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,EAAE;YACV,KAAK,EAAE,EAAE;SACV,CAAC;QAEF,kBAAa,GAA+B;YAC1C,KAAK,EAAE,MAAM;YACb,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,SAAS;YACjB,GAAG,EAAE,SAAS;YACd,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,SAAS;SAClB,CAAC;IAyIJ,CAAC;IAtIC,QAAQ,CAAC,KAAU;QACjB,IAAI,SAAS,GAAG,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;QAC7D,IAAI,CAAC,SAAS,EAAE;YACd,OAAO;SACR;QAED,IAAI,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,GAAG,IAAI,6CAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;YACxC,WAAW,EAAE,SAAS;YACtB,aAAa,EAAE,IAAI;YACnB,mBAAmB,EAAE,IAAI;YACzB,mBAAmB,EAAE,IAAI;SAC1B,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC5B;QAED,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC;IAED,WAAW,CAAC,OAAsB;QAChC,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,YAAY,EAAE;YAChF,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC;SAC9C;QACD,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE;YACnF,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC;SACrD;QACD,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE;YACtF,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC;SACvD;IACH,CAAC;IAED,WAAW,CAAC,GAAW;QACrB,6CAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,KAAmB,EAAE,EAAE;YAChD,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;gBACjC,OAAO;aACR;YAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,GAAiB,EAAE,EAAE;gBAC5C,IAAI,SAAS,GAAG,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;gBAC7D,IAAI,CAAC,SAAS,EAAE;oBACd,OAAO;iBACR;gBAED,IAAI,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC;gBAClC,GAAG,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC/B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC;gBAC3C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC;gBAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBACpB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACrB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAClB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAAA,CAAC;IAEF,iBAAiB,CAAC,IAAY;QAC5B,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;SAC9D;IACH,CAAC;IAED,kBAAkB,CAAC,KAAa;QAC9B,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SAChE;IACH,CAAC;IAED,IAAI;QACF,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACvC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACtB,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAO,CAAC,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAO,CAAC,CAAC;SAC7B;IACH,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACzB,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAO,CAAC,CAAC;SAC1B;IACH,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IAED,SAAS;QACP,IAAI,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,MAAM,GAAG,IAAI,6CAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAAC,CAAC;QACxE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAM,CAAC,CAAC;QACnC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAO,CAAC,CAAC;QACrC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC1D,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QAC5D,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC7C,IAAI,CAAC,GAAG,CAAC,EAAE;gBACT,MAAM,CAAC,KAAK,CAAC,CAAC,GAAkB,EAAE,EAAE;oBAClC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,IAAK,GAAG,MAAM,CAAC,CAAC;oBACvC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,GAAI,GAAG,MAAM,CAAC,CAAC;oBACrC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,KAAM,GAAG,MAAM,CAAC,CAAC;oBACzC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,MAAO,GAAG,MAAM,CAAC,CAAC;oBAC3C,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;oBAC/B,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrB,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,WAAW;QACT,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;CAEF;;kBAnKE,mDAAK;0BACL,mDAAK;2BACL,mDAAK;mBACL,oDAAM;qBACN,oDAAM;uBAwBN,0DAAY,SAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;;AA9B9B,yBAAyB;IALrC,+DAAS,CAAC;QACT,QAAQ,EAAE,oBAAoB;QAC9B,+FAAkD;;KAEnD,CAAC;GACW,yBAAyB,CAqKrC;AArKqC;;;;;;;;;;;;;ACRtC;AAAe,uYAAwU,E;;;;;;;;;;;;ACAvV;AAAe,8NAA+J,qBAAqB,wJAAwJ,qBAAqB,gCAAgC,mBAAmB,qCAAqC,qBAAqB,KAAK,8BAA8B,qCAAqC,mBAAmB,0DAA0D,qBAAqB,uEAAuE,gEAAgE,yHAAyH,E;;;;;;;;;;;;ACAv4B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAwB;AACxB,mBAAmB;AACnB,4HAA4H;AAC5H,oBAAoB;AACpB,wBAAwB;;AAExB,oBAAoB;AACpB,oBAAoB;AACpB,uCAAuC;AAEwD;AAClB;AACU;AACU;AAE1F,MAAM,mBAAmB,GAAG,IAAI,4DAAc,CAAS,qBAAqB,CAAC,CAAC;IAKxE,YAAY,SAAZ,YAAY;IAKvB,YAAgC,IAAgB,EAA2C,OAAgB;QAFjG,qBAAgB,GAAmD,SAAS,CAAC;QAGrF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,2BAA2B,CAAC;IACnG,CAAC;IAED,eAAe;QACb,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,4BAA4B,CAAC;QACvD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAQ;YAClB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACvB,QAAQ,EAAE,kBAAkB;aAC7B,CAAC;SACH,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC3C,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACzC,IAAI;oBACF,OAAO,IAAI,CAAC,sBAAsB,CAAC,SAAgB,CAAC,CAAC;iBACtD;gBAAC,OAAO,CAAC,EAAE;oBACV,OAAO,uDAAgB,CAAC,CAAC,CAAqC,CAAC;iBAChE;aACF;;gBACC,OAAO,uDAAgB,CAAC,SAAS,CAAqC,CAAC;QAC3E,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAES,sBAAsB,CAAC,QAA0B;QACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GAChB,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/C,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAE;QACzI,IAAI,MAAM,KAAK,GAAG,EAAE;YAClB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBAEpE,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC,CAAC;SACL;aAAM,IAAI,MAAM,KAAK,GAAG,EAAE;YACzB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBAEpE,OAAO,cAAc,CAAC,+BAA+B,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YACrG,CAAC,CAAC,CAAC,CAAC;SACL;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YAC3C,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YACjG,CAAC,CAAC,CAAC,CAAC;SACL;QACD,OAAO,+CAAa,CAAgB,IAAW,CAAC,CAAC;IACnD,CAAC;IAED,cAAc,CAAC,QAAuB;QACpC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,4BAA4B,CAAC;QACvD,IAAI,QAAQ,KAAK,SAAS;YACxB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;aAC1D,IAAI,QAAQ,KAAK,IAAI;YACxB,IAAI,IAAI,WAAW,GAAG,kBAAkB,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC;QAChE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAQ;YAClB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC,EACxB,CAAC;SACH,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC3F,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC3C,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACzC,IAAI;oBACF,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAgB,CAAC,CAAC;iBACrD;gBAAC,OAAO,CAAC,EAAE;oBACV,OAAO,uDAAgB,CAAC,CAAC,CAA4B,CAAC;iBACvD;aACF;;gBACC,OAAO,uDAAgB,CAAC,SAAS,CAA4B,CAAC;QAClE,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAES,qBAAqB,CAAC,QAA0B;QACxD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GAChB,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/C,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAE;QACzI,IAAI,MAAM,KAAK,GAAG,EAAE;YAClB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,OAAO,+CAAa,CAAO,IAAW,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC,CAAC;SACL;aAAM,IAAI,MAAM,KAAK,GAAG,EAAE;YACzB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBAEpE,OAAO,cAAc,CAAC,+BAA+B,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YACrG,CAAC,CAAC,CAAC,CAAC;SACL;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YAC3C,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YACjG,CAAC,CAAC,CAAC,CAAC;SACL;QACD,OAAO,+CAAa,CAAO,IAAW,CAAC,CAAC;IAC1C,CAAC;CACF;;YApIQ,+DAAU,uBAeJ,oDAAM,SAAC,+DAAU;yCAAqB,sDAAQ,YAAI,oDAAM,SAAC,mBAAmB;;AAL9E,YAAY;IAHxB,gEAAU,CAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;GACW,YAAY,CA0HxB;AA1HwB;IA+HZ,cAAc,SAAd,cAAc;IAKzB,YAAgC,IAAgB,EAA2C,OAAgB;QAFjG,qBAAgB,GAAmD,SAAS,CAAC;QAGrF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,2BAA2B,CAAC;IACnG,CAAC;IAED,YAAY,CAAC,UAAyC;QACpD,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,sBAAsB,CAAC;QACjD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAE5C,IAAI,QAAQ,GAAQ;YAClB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACvB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,kBAAkB;aAC7B,CAAC;SACH,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC3F,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC3C,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACzC,IAAI;oBACF,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAgB,CAAC,CAAC;iBACnD;gBAAC,OAAO,CAAC,EAAE;oBACV,OAAO,uDAAgB,CAAC,CAAC,CAA0C,CAAC;iBACrE;aACF;;gBACC,OAAO,uDAAgB,CAAC,SAAS,CAA0C,CAAC;QAChF,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAES,mBAAmB,CAAC,QAA0B;QACtD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GAChB,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/C,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAE;QACzI,IAAI,MAAM,KAAK,GAAG,EAAE;YAClB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAChC,SAAS,GAAG,EAAS,CAAC;oBACtB,KAAK,IAAI,IAAI,IAAI,aAAa;wBAC5B,SAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;iBAClD;qBACI;oBACH,SAAS,GAAQ,IAAI,CAAC;iBACvB;gBACD,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC,CAAC;SACL;aAAM,IAAI,MAAM,KAAK,GAAG,EAAE;YACzB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBAEpE,OAAO,cAAc,CAAC,+BAA+B,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YACrG,CAAC,CAAC,CAAC,CAAC;SACL;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YAC3C,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YACjG,CAAC,CAAC,CAAC,CAAC;SACL;QACD,OAAO,+CAAa,CAAqB,IAAW,CAAC,CAAC;IACxD,CAAC;IAED,eAAe,CAAC,UAA8B,EAAE,YAAuC,EAAE,IAA+B,EAAE,QAAqC,EAAE,WAA+B,EAAE,WAAoC;QACpO,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,0BAA0B,CAAC;QACrD,IAAI,UAAU,KAAK,IAAI;YACrB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aAC3D,IAAI,UAAU,KAAK,SAAS;YAC/B,IAAI,IAAI,aAAa,GAAG,kBAAkB,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;QACpE,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,IAAI;YACrD,IAAI,IAAI,eAAe,GAAG,kBAAkB,CAAC,EAAE,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC;QACxE,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI;YACrC,IAAI,IAAI,OAAO,GAAG,kBAAkB,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;QACxD,IAAI,QAAQ,KAAK,IAAI;YACnB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;aACzD,IAAI,QAAQ,KAAK,SAAS;YAC7B,IAAI,IAAI,WAAW,GAAG,kBAAkB,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC;QAChE,IAAI,WAAW,KAAK,IAAI;YACtB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;aAC5D,IAAI,WAAW,KAAK,SAAS;YAChC,IAAI,IAAI,cAAc,GAAG,kBAAkB,CAAC,EAAE,GAAG,WAAW,CAAC,GAAG,GAAG,CAAC;QACtE,IAAI,WAAW,KAAK,IAAI;YACtB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;aAC5D,IAAI,WAAW,KAAK,SAAS;YAChC,IAAI,IAAI,cAAc,GAAG,kBAAkB,CAAC,EAAE,GAAG,WAAW,CAAC,GAAG,GAAG,CAAC;QACtE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAQ;YAClB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACvB,QAAQ,EAAE,kBAAkB;aAC7B,CAAC;SACH,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC3C,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACzC,IAAI;oBACF,OAAO,IAAI,CAAC,sBAAsB,CAAC,SAAgB,CAAC,CAAC;iBACtD;gBAAC,OAAO,CAAC,EAAE;oBACV,OAAO,uDAAgB,CAAC,CAAC,CAAgD,CAAC;iBAC3E;aACF;;gBACC,OAAO,uDAAgB,CAAC,SAAS,CAAgD,CAAC;QACtF,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAES,sBAAsB,CAAC,QAA0B;QACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GAChB,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/C,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAE;QACzI,IAAI,MAAM,KAAK,GAAG,EAAE;YAClB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,wBAAwB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC3D,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC,CAAC;SACL;aAAM,IAAI,MAAM,KAAK,GAAG,EAAE;YACzB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBAEpE,OAAO,cAAc,CAAC,+BAA+B,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YACrG,CAAC,CAAC,CAAC,CAAC;SACL;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YAC3C,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YACjG,CAAC,CAAC,CAAC,CAAC;SACL;QACD,OAAO,+CAAa,CAA2B,IAAW,CAAC,CAAC;IAC9D,CAAC;IAED,UAAU,CAAC,UAAkB;QAC3B,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,iCAAiC,CAAC;QAC5D,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI;YACjD,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,kBAAkB,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC;QACzE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAQ;YAClB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACvB,QAAQ,EAAE,kBAAkB;aAC7B,CAAC;SACH,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC3F,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC3C,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACzC,IAAI;oBACF,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAgB,CAAC,CAAC;iBACjD;gBAAC,OAAO,CAAC,EAAE;oBACV,OAAO,uDAAgB,CAAC,CAAC,CAAqC,CAAC;iBAChE;aACF;;gBACC,OAAO,uDAAgB,CAAC,SAAS,CAAqC,CAAC;QAC3E,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAES,iBAAiB,CAAC,QAA0B;QACpD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GAChB,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/C,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAE;QACzI,IAAI,MAAM,KAAK,GAAG,EAAE;YAClB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAChD,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC,CAAC;SACL;aAAM,IAAI,MAAM,KAAK,GAAG,EAAE;YACzB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBAEpE,OAAO,cAAc,CAAC,+BAA+B,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YACrG,CAAC,CAAC,CAAC,CAAC;SACL;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YAC3C,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YACjG,CAAC,CAAC,CAAC,CAAC;SACL;QACD,OAAO,+CAAa,CAAgB,IAAW,CAAC,CAAC;IACnD,CAAC;CACF;;YA5VQ,+DAAU,uBA8IJ,oDAAM,SAAC,+DAAU;yCAAqB,sDAAQ,YAAI,oDAAM,SAAC,mBAAmB;;AAL9E,cAAc;IAH1B,gEAAU,CAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;GACW,cAAc,CAmN1B;AAnN0B;AAqN3B,oEAAoE;AACpE,IAAY,aAOX;AAPD,WAAY,aAAa;IACvB,oCAAmB;IACnB,gCAAe;IACf,4CAA2B;IAC3B,oCAAmB;IACnB,gCAAe;IACf,gCAAe;AACjB,CAAC,EAPW,aAAa,KAAb,aAAa,QAOxB;AAEM,MAAM,gBAAgB;IA6B3B,YAAY,IAAwB;QAClC,IAAI,IAAI,EAAE;YACR,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACzB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACzB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,IAAI,CAAC,KAAW;QACd,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAChF,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACnF,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC7E,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1D,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE;gBAC3C,IAAI,CAAC,eAAe,GAAG,EAAS,CAAC;gBACjC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,iBAAiB,CAAC;oBACvC,IAAI,CAAC,eAAgB,CAAC,IAAI,CAAC,gCAAgC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAC7E;YACD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;YAC1C,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC9C,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACvH,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACxD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE;gBACvC,IAAI,CAAC,WAAW,GAAG,EAAS,CAAC;gBAC7B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,aAAa,CAAC;oBACnC,IAAI,CAAC,WAAY,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACtD;SACF;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACrB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACpE,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACvE,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACjE,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACzD,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE;YACvC,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC;YAC7B,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,eAAe;gBACnC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAC/C;QACD,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC3G,IAAI,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACvD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YACnC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;YACzB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW;gBAC/B,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAC3C;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAgCD,IAAY,cASX;AATD,WAAY,cAAc;IACxB,qCAAmB;IACnB,2CAAyB;IACzB,+BAAa;IACb,+BAAa;IACb,+BAAa;IACb,uCAAqB;IACrB,uCAAqB;IACrB,2DAAyC;AAC3C,CAAC,EATW,cAAc,KAAd,cAAc,QASzB;AAEM,MAAM,gCAAgC;IAS3C,YAAY,IAAwC;QAClD,IAAI,IAAI,EAAE;YACR,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACzB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACzB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,IAAI,CAAC,KAAW;QACd,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;SAC7C;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACrB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,gCAAgC,EAAE,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAYD,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,8BAAa;IACb,0CAAyB;IACzB,kCAAiB;IACjB,8BAAa;AACf,CAAC,EALW,aAAa,KAAb,aAAa,QAKxB;AAED,IAAY,cAMX;AAND,WAAY,cAAc;IACxB,yCAAuB;IACvB,yCAAuB;IACvB,uCAAqB;IACrB,+CAA6B;IAC7B,iCAAe;AACjB,CAAC,EANW,cAAc,KAAd,cAAc,QAMzB;AAEM,MAAM,aAAa;IAKxB,YAAY,IAAqB;QAC/B,IAAI,IAAI,EAAE;YACR,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACzB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACzB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,IAAI,CAAC,KAAW;QACd,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;SAC3B;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACrB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAQM,MAAM,sBAAsB;IAQjC,YAAY,IAA8B;QACxC,IAAI,IAAI,EAAE;YACR,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACzB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACzB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,IAAI,CAAC,KAAW;QACd,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;YAC5C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC/F,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;SAC1F;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACrB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,sBAAsB,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACnF,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC7E,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAWD,IAAY,cAWX;AAXD,WAAY,cAAc;IACxB,6CAA2B;IAC3B,mCAAiB;IACjB,yCAAuB;IACvB,+CAA6B;IAC7B,iEAA+C;IAC/C,2EAAyD;IACzD,2EAAyD;IACzD,mFAAiE;IACjE,mFAAiE;IACjE,mFAAiE;AACnE,CAAC,EAXW,cAAc,KAAd,cAAc,QAWzB;AAED,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC/B,sCAAa;IACb,oDAA2B;IAC3B,4DAAmC;AACrC,CAAC,EAJW,qBAAqB,KAArB,qBAAqB,QAIhC;AAEM,MAAM,wBAAwB;IAInC,YAAY,IAAgC;QAC1C,IAAI,IAAI,EAAE;YACR,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACzB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACzB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,IAAI,CAAC,KAAW;QACd,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE;gBACjC,IAAI,CAAC,KAAK,GAAG,EAAS,CAAC;gBACvB,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC;oBAC7B,IAAI,CAAC,KAAM,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAClD;SACF;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACrB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,wBAAwB,EAAE,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC7B,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACnB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK;gBACzB,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACrC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAOM,MAAM,eAAe;IAK1B,YAAY,IAAuB;QACjC,IAAI,IAAI,EAAE;YACR,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACzB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACzB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,IAAI,CAAC,KAAW;QACd,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;SACnC;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACrB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAQD,IAAY,eAiFX;AAjFD,WAAY,eAAe;IACzB,kCAAe;IACf,0CAAuB;IACvB,0CAAuB;IACvB,gDAA6B;IAC7B,0CAAuB;IACvB,wCAAqB;IACrB,sCAAmB;IACnB,oCAAiB;IACjB,gDAA6B;IAC7B,wCAAqB;IACrB,8CAA2B;IAC3B,sCAAmB;IACnB,8CAA2B;IAC3B,wCAAqB;IACrB,oDAAiC;IACjC,wDAAqC;IACrC,wDAAqC;IACrC,oDAAiC;IACjC,oCAAiB;IACjB,oCAAiB;IACjB,oCAAiB;IACjB,oCAAiB;IACjB,8CAA2B;IAC3B,0DAAuC;IACvC,wDAAqC;IACrC,4DAAyC;IACzC,0DAAuC;IACvC,sDAAmC;IACnC,sDAAmC;IACnC,wCAAqB;IACrB,oCAAiB;IACjB,8CAA2B;IAC3B,0CAAuB;IACvB,sDAAmC;IACnC,8CAA2B;IAC3B,oCAAiB;IACjB,oCAAiB;IACjB,oCAAiB;IACjB,oCAAiB;IACjB,oCAAiB;IACjB,sCAAmB;IACnB,0CAAuB;IACvB,kDAA+B;IAC/B,kDAA+B;IAC/B,oDAAiC;IACjC,8CAA2B;IAC3B,oCAAiB;IACjB,kDAA+B;IAC/B,8DAA2C;IAC3C,oDAAiC;IACjC,wDAAqC;IACrC,0EAAuD;IACvD,kFAA+D;IAC/D,0CAAuB;IACvB,gDAA6B;IAC7B,sEAAmD;IACnD,kEAA+C;IAC/C,4CAAyB;IACzB,4CAAyB;IACzB,kCAAe;IACf,oDAAiC;IACjC,sDAAmC;IACnC,oCAAiB;IACjB,sCAAmB;IACnB,kCAAe;IACf,0CAAuB;IACvB,gDAA6B;IAC7B,0CAAuB;IACvB,gDAA6B;IAC7B,wFAAqE;IACrE,sCAAmB;IACnB,oCAAiB;IACjB,0DAAuC;IACvC,0EAAuD;IACvD,0FAAuE;IACvE,kDAA+B;IAC/B,0EAAuD;IACvD,8DAA2C;IAC3C,8CAA2B;IAC3B,gCAAa;AACf,CAAC,EAjFW,eAAe,KAAf,eAAe,QAiF1B;AAED,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,8CAA+B;IAC/B,oCAAqB;AACvB,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB;AAEM,MAAM,gBAAiB,SAAQ,KAAK;IAOzC,YAAY,OAAe,EAAE,MAAc,EAAE,QAAgB,EAAE,OAAgC,EAAE,MAAW;QAC1G,KAAK,EAAE,CAAC;QASA,uBAAkB,GAAG,IAAI,CAAC;QAPlC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAID,MAAM,CAAC,kBAAkB,CAAC,GAAQ;QAChC,OAAO,GAAG,CAAC,kBAAkB,KAAK,IAAI,CAAC;IACzC,CAAC;CACF;AAED,SAAS,cAAc,CAAC,OAAe,EAAE,MAAc,EAAE,QAAgB,EAAE,OAAgC,EAAE,MAAY;IACvH,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS;QACzC,OAAO,uDAAgB,CAAC,MAAM,CAAC,CAAC;;QAEhC,OAAO,uDAAgB,CAAC,IAAI,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AAC5F,CAAC;AAED,SAAS,UAAU,CAAC,IAAS;IAC3B,OAAO,IAAI,+CAAU,CAAS,CAAC,QAAa,EAAE,EAAE;QAC9C,IAAI,CAAC,IAAI,EAAE;YACT,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClB,QAAQ,CAAC,QAAQ,EAAE,CAAC;SACrB;aAAM;YACL,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,EAAE;gBACtB,QAAQ,CAAC,IAAI,CAAE,KAAK,CAAC,MAAc,CAAC,MAAM,CAAC,CAAC;gBAC5C,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,CAAC,CAAC;YACF,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SACzB;IACH,CAAC,CAAC,CAAC;AACL,CAAC;;;;;;;;;;;;;AC57BD;AAAe,6GAA8C,+MAA+M,E;;;;;;;;;;;;;;;;;;;;;ACA3N;IAOpC,kCAAkC,SAAlC,kCAAkC;CAG9C;;sBADE,mDAAK;;AAFK,kCAAkC;IAL9C,+DAAS,CAAC;QACT,QAAQ,EAAE,kCAAkC;QAC5C,yGAA4D;;KAE7D,CAAC;GACW,kCAAkC,CAG9C;AAH8C;;;;;;;;;;;;;ACP/C;AAAe,0EAAW,0BAA0B,gBAAgB,gCAAgC,8BAA8B,iBAAiB,wBAAwB,iBAAiB,6BAA6B,GAAG,WAAW,uBAAuB,cAAc,eAAe,yBAAyB,GAAG,mBAAmB,wBAAwB,GAAG,8BAA8B,yCAAyC,6FAA6F,6FAA6F,oBAAoB,GAAG,6BAA6B,qBAAqB,wBAAwB,uBAAuB,GAAG,4BAA4B,kCAAkC,+BAA+B,GAAG,+BAA+B,iBAAiB,wBAAwB,yBAAyB,KAAK,GAAG,6CAA6C,u9DAAu9D,E;;;;;;;;;;;;;;;;;;;;;;;ACAj3F;AACY;IAc5D,2BAA2B,yCAA3B,2BAA2B;IAYtC;QANA,cAAS,GAAG,MAAM,CAAC;QAEV,aAAQ,GAAG,KAAK,CAAC;QAC1B,aAAQ,GAAG,CAAC,KAAU,EAAE,EAAE,GAAG,CAAC,CAAC;QAC/B,cAAS,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;IAEN,CAAC;IAEjB,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IACD,UAAU,CAAC,KAAU;QACnB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IACD,gBAAgB,CAAC,EAAwB;QACvC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACrB,CAAC;IACD,iBAAiB,CAAC,EAAc;QAC9B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACtB,CAAC;IACD,gBAAgB,CAAE,UAAmB;QACnC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;IAC7B,CAAC;IAED,WAAW,CAAC,KAAU;QACpB,IAAI,IAAI,CAAC,QAAQ,EAAE;YAAE,OAAO;SAAE;QAE9B,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YACzB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;SAChC;aAAM;YACL,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACnB;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YACtD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;SACzC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACtB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC5B;QACD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,WAAW,CAAC,KAAU,EAAE,KAAU;QAChC,IAAI,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,KAAK,IAAI,CAAC,EAAE;YACd,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SACxB;IACH,CAAC;CACF;;;mBApDE,mDAAK;iBACL,mDAAK;oBACL,mDAAK;uBAIL,mDAAK;;AARK,2BAA2B;IAZvC,+DAAS,CAAC;QACT,QAAQ,EAAE,2BAA2B;QACrC,kGAAqD;QAErD,SAAS,EAAE;YACT;gBACE,OAAO,EAAE,gEAAiB;gBAC1B,WAAW,EAAE,gEAAU,CAAC,GAAG,EAAE,CAAC,6BAA2B,CAAC;gBAC1D,KAAK,EAAE,IAAI;aACZ;SACF;;KACF,CAAC;GACW,2BAA2B,CAsDvC;AAtDuC;;;;;;;;;;;;;;;;;;;;;ACfG;AAEC;AACP;AACc;AAEnD,MAAM,qBAAqB,GAAkB;IACzC,IAAI,MAAM,CAAC,4BAA4B,CAAC;IACxC,IAAI,MAAM,CAAC,oCAAoC,CAAC;CACnD,CAAC;IAGW,SAAS,SAAT,SAAS;IAClB,YACY,KAA8B;QAA9B,UAAK,GAAL,KAAK,CAAyB;IACvC,CAAC;IAEJ,WAAW,CAAC,KAA6B,EAAE,KAA0B;QACjE,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACpD,OAAO,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,gBAAgB,CAAC,UAAkC,EAAE,KAA0B;QAC3E,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACpD,OAAO,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,wBAAwB,CAAC,KAA0B;QAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,0DAAM,CAAC,qEAA2B,CAAC,EAAE,0DAAG,CAAC,MAAM,CAAC,EAAE;YACrE,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ;gBAAE,OAAO,IAAI,CAAC;YAClC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,oBAAoB,CAAC;YAC5C,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,kBAAkB,CAAC,GAAW;QAC1B,0CAA0C;QAC1C,MAAM,aAAa,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;QACtE,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;QACxF,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;;YAvCgB,iDAAK;;AAUT,SAAS;IADrB,gEAAU,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;GACtB,SAAS,CA6BrB;AA7BqB;;;;;;;;;;;;;;;;;;;;;;ACZiD;IAQ1D,uBAAuB,SAAvB,uBAAuB;;QAUxB,cAAS,GAAG,IAAI,0DAAY,EAAE,CAAC;IAK3C,CAAC;IAHC,MAAM;QACJ,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;CACF;;oBAbE,mDAAK;qBACL,mDAAK;uBACL,mDAAK;wBACL,mDAAK;0BACL,mDAAK;yBACL,mDAAK;6BACL,mDAAK;2BACL,mDAAK;wBACL,oDAAM;;AAVI,uBAAuB;IANnC,+DAAS,CAAC;QACT,+CAA+C;QAC/C,QAAQ,EAAE,iBAAiB;QAC3B,4FAA+C;;KAEhD,CAAC;GACW,uBAAuB,CAenC;AAfmC;;;;;;;;;;;;;ACPpC;AAAA;AAAA;AAAA;AAAyD;AACW;AAUpE,MAAM,YAAY,GAAgB;IAChC,aAAa,EAAE,oEAAW,CAAC,IAAI;IAC/B,eAAe,EAAE,KAAK;IACtB,aAAa,EAAE,IAAI;IACnB,sBAAsB,EAAE,IAAI;IAC5B,iBAAiB,EAAE,KAAK;CACzB,CAAC;AAEK,SAAS,OAAO,CAAC,KAAK,GAAG,YAAY,EAAE,MAAqB;IACjE,QAAQ,MAAM,CAAC,IAAI,EAAE;QACnB,KAAK,iEAAiB,CAAC,UAAU,CAAC,CAAC;YACjC,OAAO,YAAY,CAAC;SACrB;QACD,KAAK,iEAAiB,CAAC,gBAAgB,CAAC,CAAC;YACvC,uCACK,KAAK,KACR,aAAa,EAAE,MAAM,CAAC,OAAO,IAC7B;SACH;QACD,KAAK,iEAAiB,CAAC,mBAAmB,CAAC,CAAC;YAC1C,uCACK,KAAK,KACR,eAAe,EAAE,IAAI,IACrB;SACH;QACD,KAAK,iEAAiB,CAAC,gBAAgB,CAAC,CAAC;YACvC,uCACK,KAAK,KACR,aAAa,EAAE,MAAM,CAAC,OAAO,IAC7B;SACH;QACD,KAAK,iEAAiB,CAAC,6BAA6B,CAAC,CAAC;YACpD,uCACK,KAAK,KACR,sBAAsB,EAAE,MAAM,CAAC,OAAO,IACtC;SACH;QACD,KAAK,iEAAiB,CAAC,oBAAoB,CAAC,CAAC;YAC3C,uCACK,KAAK,KACR,iBAAiB,EAAE,MAAM,CAAC,OAAO,IACjC;SACH;QACD,OAAO,CAAC,CAAC;YACP,OAAO,KAAK,CAAC;SACd;KACF;AACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;AC3DyC;AACc;AACzB;IAOlB,2BAA2B,SAA3B,2BAA2B;IAItC,YAAmB,SAAoD;QAApD,cAAS,GAAT,SAAS,CAA2C;QAFvE,WAAM,GAAG,IAAI,4CAAO,EAAQ,CAAC;IAE8C,CAAC;IAE5E,QAAQ;QACN,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IACD,SAAS;QACP,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACnB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;CACF;;YArBQ,qEAAY;;AAQR,2BAA2B;IALvC,+DAAS,CAAC;QACT,QAAQ,EAAE,0BAA0B;QACpC,iGAAoD;;KAErD,CAAC;GACW,2BAA2B,CAavC;AAbuC;;;;;;;;;;;;;ACTxC;AAAe,4EAAa,gBAAgB,wBAAwB,qCAAqC,qBAAqB,oBAAoB,wBAAwB,sBAAsB,8BAA8B,GAAG,iBAAiB,qBAAqB,GAAG,gBAAgB,kBAAkB,GAAG,6CAA6C,+8BAA+8B,E;;;;;;;;;;;;ACA3yC;AAAe,40CAA6wC,8BAA8B,+IAA+I,gCAAgC,4CAA4C,E;;;;;;;;;;;;ACArhD;AAAe,qKAAsG,gDAAgD,oJAAoJ,0sBAA0sB,6CAA6C,yBAAyB,6CAA6C,wKAAwK,6BAA6B,uBAAuB,WAAW,yBAAyB,WAAW,qOAAqO,+BAA+B,kKAAkK,+BAA+B,oBAAoB,E;;;;;;;;;;;;ACA11D;AAAe,oJAAqF,kDAAkD,0JAA0J,mMAAmM,E;;;;;;;;;;;;;;;;;;;ACA5a;IAM1D,yBAAyB,SAAzB,yBAAyB;;QAI1B,kBAAa,GAA0B,IAAI,0DAAY,EAAE,CAAC;IACtE,CAAC;CAAA;;0BAHE,mDAAK;8BACL,mDAAK;4BACL,oDAAM;;AAJI,yBAAyB;IAJrC,+DAAS,CAAC;QACT,QAAQ,EAAE,yBAAyB;QACnC,gGAAmD;KACpD,CAAC;GACW,yBAAyB,CAKrC;AALqC;;;;;;;;;;;;;;;;;;;;ACNgB;AACe;AACG;IAG3D,iBAAiB,SAAjB,iBAAkB,SAAQ,kFAAiB;IAMtD,YAAoB,SAA2B;QAC7C,KAAK,CAAC,SAAS,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QADtD,cAAS,GAAT,SAAS,CAAkB;QAJtC,mBAAc,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,KAAsB,EAAE,EAAE;YACzF,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IAIH,CAAC;IAED,WAAW;QACT,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;IACpC,CAAC;CACF;;YAhByB,oEAAgB;;AAG7B,iBAAiB;IAD7B,gEAAU,EAAE;GACA,iBAAiB,CAa7B;AAb6B;;;;;;;;;;;;;ACL9B;AAAe,gbAAiX,E;;;;;;;;;;;;ACAhY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAwB;AACxB,mBAAmB;AACnB,4HAA4H;AAC5H,oBAAoB;AACpB,wBAAwB;;AAExB,oBAAoB;AACpB,oBAAoB;AACpB,uCAAuC;AAEwD;AAClB;AACU;AACU;AAE1F,MAAM,mBAAmB,GAAG,IAAI,4DAAc,CAAS,qBAAqB,CAAC,CAAC;IAKxE,oBAAoB,SAApB,oBAAoB;IAK/B,YAAgC,IAAgB,EAA2C,OAAgB;QAFjG,qBAAgB,GAAmD,SAAS,CAAC;QAGrF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC;IACrF,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,oBAAoB,CAAC;QAC/C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAQ;YAClB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACvB,QAAQ,EAAE,YAAY;aACvB,CAAC;SACH,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC3C,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACzC,IAAI;oBACF,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAgB,CAAC,CAAC;iBACxD;gBAAC,OAAO,CAAC,EAAE;oBACV,OAAO,uDAAgB,CAAC,CAAC,CAAoD,CAAC;iBAC/E;aACF;;gBACC,OAAO,uDAAgB,CAAC,SAAS,CAAoD,CAAC;QAC1F,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAES,wBAAwB,CAAC,QAA0B;QAC3D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GAChB,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/C,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAE;QACzI,IAAI,MAAM,KAAK,GAAG,EAAE;YAClB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,4BAA4B,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC/D,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC,CAAC;SACL;aAAM,IAAI,MAAM,KAAK,GAAG,EAAE;YACzB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACjD,OAAO,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YACnF,CAAC,CAAC,CAAC,CAAC;SACL;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YAC3C,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YACjG,CAAC,CAAC,CAAC,CAAC;SACL;QACD,OAAO,+CAAa,CAA+B,IAAW,CAAC,CAAC;IAClE,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,IAAmD;QACnE,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,oBAAoB,CAAC;QAC/C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEtC,IAAI,QAAQ,GAAQ;YAClB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACvB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,YAAY;aACvB,CAAC;SACH,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC3C,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACzC,IAAI;oBACF,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAgB,CAAC,CAAC;iBACxD;gBAAC,OAAO,CAAC,EAAE;oBACV,OAAO,uDAAgB,CAAC,CAAC,CAAoD,CAAC;iBAC/E;aACF;;gBACC,OAAO,uDAAgB,CAAC,SAAS,CAAoD,CAAC;QAC1F,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAES,wBAAwB,CAAC,QAA0B;QAC3D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GAChB,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/C,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAE;QACzI,IAAI,MAAM,KAAK,GAAG,EAAE;YAClB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,4BAA4B,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC/D,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC,CAAC;SACL;aAAM,IAAI,MAAM,KAAK,GAAG,EAAE;YACzB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACjD,OAAO,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YACnF,CAAC,CAAC,CAAC,CAAC;SACL;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YAC3C,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YACjG,CAAC,CAAC,CAAC,CAAC;SACL;QACD,OAAO,+CAAa,CAA+B,IAAW,CAAC,CAAC;IAClE,CAAC;IAED;;;OAGG;IACH,eAAe,CAAC,IAAgD;QAC9D,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,oCAAoC,CAAC;QAC/D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEtC,IAAI,QAAQ,GAAQ;YAClB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACvB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,YAAY;aACvB,CAAC;SACH,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC3F,OAAO,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC3C,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACzC,IAAI;oBACF,OAAO,IAAI,CAAC,sBAAsB,CAAC,SAAgB,CAAC,CAAC;iBACtD;gBAAC,OAAO,CAAC,EAAE;oBACV,OAAO,uDAAgB,CAAC,CAAC,CAAoD,CAAC;iBAC/E;aACF;;gBACC,OAAO,uDAAgB,CAAC,SAAS,CAAoD,CAAC;QAC1F,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAES,sBAAsB,CAAC,QAA0B;QACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GAChB,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/C,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAE;QACzI,IAAI,MAAM,KAAK,GAAG,EAAE;YAClB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,4BAA4B,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC/D,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC,CAAC;SACL;aAAM,IAAI,MAAM,KAAK,GAAG,EAAE;YACzB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACjD,OAAO,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YACnF,CAAC,CAAC,CAAC,CAAC;SACL;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YAC3C,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YACjG,CAAC,CAAC,CAAC,CAAC;SACL;QACD,OAAO,+CAAa,CAA+B,IAAW,CAAC,CAAC;IAClE,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,IAAyD;QACzE,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,sCAAsC,CAAC;QACjE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEtC,IAAI,QAAQ,GAAQ;YAClB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACvB,cAAc,EAAE,kBAAkB;aACnC,CAAC;SACH,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC3F,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC3C,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACzC,IAAI;oBACF,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAgB,CAAC,CAAC;iBACxD;gBAAC,OAAO,CAAC,EAAE;oBACV,OAAO,uDAAgB,CAAC,CAAC,CAA4B,CAAC;iBACvD;aACF;;gBACC,OAAO,uDAAgB,CAAC,SAAS,CAA4B,CAAC;QAClE,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAES,wBAAwB,CAAC,QAA0B;QAC3D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GAChB,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/C,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAE;QACzI,IAAI,MAAM,KAAK,GAAG,EAAE;YAClB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,OAAO,+CAAa,CAAO,IAAW,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC,CAAC;SACL;aAAM,IAAI,MAAM,KAAK,GAAG,EAAE;YACzB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACjD,OAAO,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YACnF,CAAC,CAAC,CAAC,CAAC;SACL;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YAC3C,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YACjG,CAAC,CAAC,CAAC,CAAC;SACL;QACD,OAAO,+CAAa,CAAO,IAAW,CAAC,CAAC;IAC1C,CAAC;CACF;;YAtQQ,+DAAU,uBAeJ,oDAAM,SAAC,+DAAU;yCAAqB,sDAAQ,YAAI,oDAAM,SAAC,mBAAmB;;AAL9E,oBAAoB;IAHhC,gEAAU,CAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;GACW,oBAAoB,CA4PhC;AA5PgC;IAiQpB,iBAAiB,SAAjB,iBAAiB;IAK5B,YAAgC,IAAgB,EAA2C,OAAgB;QAFjG,qBAAgB,GAAmD,SAAS,CAAC;QAGrF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC;IACrF,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,YAAuC,EAAE,YAAuC;QAC1F,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,kBAAkB,CAAC;QAC7C,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,IAAI;YACrD,IAAI,IAAI,eAAe,GAAG,kBAAkB,CAAC,EAAE,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC;QACxE,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,IAAI;YACrD,IAAI,IAAI,eAAe,GAAG,kBAAkB,CAAC,EAAE,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC;QACxE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAQ;YAClB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACvB,QAAQ,EAAE,YAAY;aACvB,CAAC;SACH,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC3C,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACzC,IAAI;oBACF,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAgB,CAAC,CAAC;iBAClD;gBAAC,OAAO,CAAC,EAAE;oBACV,OAAO,uDAAgB,CAAC,CAAC,CAAoD,CAAC;iBAC/E;aACF;;gBACC,OAAO,uDAAgB,CAAC,SAAS,CAAoD,CAAC;QAC1F,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAES,kBAAkB,CAAC,QAA0B;QACrD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GAChB,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/C,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAE;QACzI,IAAI,MAAM,KAAK,GAAG,EAAE;YAClB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,4BAA4B,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC/D,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC,CAAC;SACL;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YAC3C,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YACjG,CAAC,CAAC,CAAC,CAAC;SACL;QACD,OAAO,+CAAa,CAA+B,IAAW,CAAC,CAAC;IAClE,CAAC;IAED;;;OAGG;IACH,sBAAsB,CAAC,YAAuC;QAC5D,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,yCAAyC,CAAC;QACpE,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,IAAI;YACrD,IAAI,IAAI,eAAe,GAAG,kBAAkB,CAAC,EAAE,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC;QACxE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAQ;YAClB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACvB,QAAQ,EAAE,YAAY;aACvB,CAAC;SACH,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,6BAA6B,CAAC,SAAS,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC3C,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACzC,IAAI;oBACF,OAAO,IAAI,CAAC,6BAA6B,CAAC,SAAgB,CAAC,CAAC;iBAC7D;gBAAC,OAAO,CAAC,EAAE;oBACV,OAAO,uDAAgB,CAAC,CAAC,CAAyD,CAAC;iBACpF;aACF;;gBACC,OAAO,uDAAgB,CAAC,SAAS,CAAyD,CAAC;QAC/F,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAES,6BAA6B,CAAC,QAA0B;QAChE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GAChB,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/C,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAE;QACzI,IAAI,MAAM,KAAK,GAAG,EAAE;YAClB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,iCAAiC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACpE,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC,CAAC;SACL;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YAC3C,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YACjG,CAAC,CAAC,CAAC,CAAC;SACL;QACD,OAAO,+CAAa,CAAoC,IAAW,CAAC,CAAC;IACvE,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,OAA2B;QACvC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,gCAAgC,CAAC;QAC3D,IAAI,OAAO,KAAK,IAAI;YAClB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;aACxD,IAAI,OAAO,KAAK,SAAS;YAC5B,IAAI,IAAI,UAAU,GAAG,kBAAkB,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC;QAC9D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAQ;YAClB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACvB,QAAQ,EAAE,YAAY;aACvB,CAAC;SACH,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC3C,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACzC,IAAI;oBACF,OAAO,IAAI,CAAC,oBAAoB,CAAC,SAAgB,CAAC,CAAC;iBACpD;gBAAC,OAAO,CAAC,EAAE;oBACV,OAAO,uDAAgB,CAAC,CAAC,CAAwD,CAAC;iBACnF;aACF;;gBACC,OAAO,uDAAgB,CAAC,SAAS,CAAwD,CAAC;QAC9F,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAES,oBAAoB,CAAC,QAA0B;QACvD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GAChB,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/C,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAE;QACzI,IAAI,MAAM,KAAK,GAAG,EAAE;YAClB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,gCAAgC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACnE,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC,CAAC;SACL;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YAC3C,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YACjG,CAAC,CAAC,CAAC,CAAC;SACL;QACD,OAAO,+CAAa,CAAmC,IAAW,CAAC,CAAC;IACtE,CAAC;IAED;;;OAGG;IACH,8BAA8B,CAAC,YAAuC;QACpE,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,iDAAiD,CAAC;QAC5E,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,IAAI;YACrD,IAAI,IAAI,eAAe,GAAG,kBAAkB,CAAC,EAAE,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC;QACxE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAQ;YAClB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC,EACxB,CAAC;SACH,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,qCAAqC,CAAC,SAAS,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YAC3C,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACzC,IAAI;oBACF,OAAO,IAAI,CAAC,qCAAqC,CAAC,SAAgB,CAAC,CAAC;iBACrE;gBAAC,OAAO,CAAC,EAAE;oBACV,OAAO,uDAAgB,CAAC,CAAC,CAA4B,CAAC;iBACvD;aACF;;gBACC,OAAO,uDAAgB,CAAC,SAAS,CAA4B,CAAC;QAClE,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAES,qCAAqC,CAAC,QAA0B;QACxE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GAChB,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/C,QAAgB,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAE;QACzI,IAAI,MAAM,KAAK,GAAG,EAAE;YAClB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,OAAO,+CAAa,CAAO,IAAW,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC,CAAC;SACL;aAAM,IAAI,MAAM,KAAK,GAAG,EAAE;YACzB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACjD,OAAO,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YACnF,CAAC,CAAC,CAAC,CAAC;SACL;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YAC3C,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACvE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YACjG,CAAC,CAAC,CAAC,CAAC;SACL;QACD,OAAO,+CAAa,CAAO,IAAW,CAAC,CAAC;IAC1C,CAAC;CACF;;YApfQ,+DAAU,uBAgRJ,oDAAM,SAAC,+DAAU;yCAAqB,sDAAQ,YAAI,oDAAM,SAAC,mBAAmB;;AAL9E,iBAAiB;IAH7B,gEAAU,CAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;GACW,iBAAiB,CAyO7B;AAzO6B;AA2OvB,MAAM,oBAAoB;IAI/B,YAAY,IAA4B;QACtC,IAAI,IAAI,EAAE;YACR,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACzB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACzB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,IAAI,CAAC,KAAW;QACd,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;SAC3B;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACrB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAOM,MAAM,4BAA4B;IAMvC,YAAY,IAAoC;QAC9C,IAAI,IAAI,EAAE;YACR,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACzB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACzB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,IAAI,CAAC,KAAW;QACd,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC9G,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,EAAE;gBAC9C,IAAI,CAAC,kBAAkB,GAAG,EAAS,CAAC;gBACpC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,oBAAoB,CAAC;oBAC1C,IAAI,CAAC,kBAAmB,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACpE;SACF;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACrB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,4BAA4B,EAAE,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAClG,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE;YAC1C,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,CAAC;YAChC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,kBAAkB;gBACtC,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAClD;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AASM,MAAM,cAAc;IAOzB,YAAY,IAAsB;QAChC,IAAI,IAAI,EAAE;YACR,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACzB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACzB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,IAAI,CAAC,KAAW;QACd,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;SACnC;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACrB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAUM,MAAM,iCAAiC;IAK5C,YAAY,IAAyC;QACnD,IAAI,IAAI,EAAE;YACR,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACzB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACzB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,IAAI,CAAC,KAAW;QACd,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC9G,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;SACnC;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACrB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,iCAAiC,EAAE,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAClG,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAQM,MAAM,8BAA8B;IAGzC,YAAY,IAAsC;QAChD,IAAI,IAAI,EAAE;YACR,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACzB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACzB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,IAAI,CAAC,KAAW;QACd,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;SAC3C;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACrB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,8BAA8B,EAAE,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAMM,MAAM,uCAAuC;IAMlD,YAAY,IAA+C;QACzD,IAAI,IAAI,EAAE;YACR,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACzB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACzB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,IAAI,CAAC,KAAW;QACd,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;YAC1C,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;YAC5C,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACzI,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC,uBAAuB,CAAC,CAAC;SAC7D;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACrB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,uCAAuC,EAAE,CAAC;QAC3D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC7H,IAAI,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AASM,MAAM,cAAc;IAIzB,YAAY,IAAsB;QAChC,IAAI,IAAI,EAAE;YACR,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACzB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACzB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,IAAI,CAAC,KAAW;QACd,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;YAC1C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;SAC7B;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACrB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAOM,MAAM,oBAAoB;IAK/B,YAAY,IAA4B;QACtC,IAAI,IAAI,EAAE;YACR,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACzB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACzB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,IAAI,CAAC,KAAW;QACd,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;YAC1C,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,mBAAmB,CAAC,CAAC;SACrD;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACrB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAQM,MAAM,aAAa;IAQxB,YAAY,IAAqB;QAC/B,IAAI,IAAI,EAAE;YACR,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACzB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACzB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,IAAI,CAAC,KAAW;QACd,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAChE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,EAAE;gBAC5C,IAAI,CAAC,gBAAgB,GAAG,EAAS,CAAC;gBAClC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,kBAAkB,CAAC;oBACxC,IAAI,CAAC,gBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAC5D;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,EAAE;gBACxC,IAAI,CAAC,YAAY,GAAG,EAAS,CAAC;gBAC9B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,cAAc,CAAC;oBACpC,IAAI,CAAC,YAAa,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAC9D;SACF;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACrB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC;QAC/D,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;YACxC,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC;YAC9B,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,gBAAgB;gBACpC,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAChD;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;YACpC,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;YAC1B,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY;gBAChC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAC5C;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAWM,MAAM,cAAc;IASzB,YAAY,IAAsB;QAChC,IAAI,IAAI,EAAE;YACR,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACzB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACzB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,IAAI,CAAC,KAAW;QACd,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAClE,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAClD,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAClD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,EAAE;gBAC5C,IAAI,CAAC,gBAAgB,GAAG,EAAS,CAAC;gBAClC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,kBAAkB,CAAC;oBACxC,IAAI,CAAC,gBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAC5D;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE;gBACjC,IAAI,CAAC,KAAK,GAAG,EAAS,CAAC;gBACvB,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC;oBAC7B,IAAI,CAAC,KAAM,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAChD;SACF;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACrB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,0BAA0B,CAAC,GAAG,IAAI,CAAC,wBAAwB,CAAC;QACjE,IAAI,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACjD,IAAI,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACjD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;YACxC,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC;YAC9B,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,gBAAgB;gBACpC,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAChD;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC7B,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACnB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK;gBACzB,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACrC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAYM,MAAM,4BAA4B;IAIvC,YAAY,IAAoC;QAC9C,IAAI,IAAI,EAAE;YACR,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACzB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACzB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,IAAI,CAAC,KAAW;QACd,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;YAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE;gBAClC,IAAI,CAAC,MAAM,GAAG,EAAS,CAAC;gBACxB,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC;oBAC9B,IAAI,CAAC,MAAO,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAClD;SACF;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACrB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,4BAA4B,EAAE,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YACpB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM;gBAC1B,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACtC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAOM,MAAM,iCAAiC;IAG5C,YAAY,IAAyC;QACnD,IAAI,IAAI,EAAE;YACR,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACzB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACzB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,IAAI,CAAC,KAAW;QACd,IAAI,KAAK,EAAE;YACT,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE;gBAClC,IAAI,CAAC,MAAM,GAAG,EAAS,CAAC;gBACxB,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC;oBAC9B,IAAI,CAAC,MAAO,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAClD;SACF;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACrB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,iCAAiC,EAAE,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YACpB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM;gBAC1B,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACtC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAMM,MAAM,eAAe;IAK1B,YAAY,IAAuB;QACjC,IAAI,IAAI,EAAE;YACR,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACzB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACzB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,IAAI,CAAC,KAAW;QACd,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,EAAE;gBAC5C,IAAI,CAAC,gBAAgB,GAAG,EAAS,CAAC;gBAClC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,kBAAkB,CAAC;oBACxC,IAAI,CAAC,gBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAC5D;SACF;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACrB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;YACxC,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC;YAC9B,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,gBAAgB;gBACpC,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAChD;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAQM,MAAM,iBAAiB;IAK5B,YAAY,IAAyB;QACnC,IAAI,IAAI,EAAE;YACR,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACzB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACzB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,IAAI,CAAC,KAAW;QACd,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE;gBACnC,IAAI,CAAC,OAAO,GAAG,EAAS,CAAC;gBACzB,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,SAAS,CAAC;oBAC/B,IAAI,CAAC,OAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACpD;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,EAAE;gBAC5C,IAAI,CAAC,gBAAgB,GAAG,EAAS,CAAC;gBAClC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,kBAAkB,CAAC;oBACxC,IAAI,CAAC,gBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAC5D;SACF;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACrB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC/B,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;YACrB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO;gBAC3B,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACvC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;YACxC,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC;YAC9B,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,gBAAgB;gBACpC,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAChD;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAQM,MAAM,sBAAsB;IAMjC,YAAY,IAA8B;QACxC,IAAI,IAAI,EAAE;YACR,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACzB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACzB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,IAAI,CAAC,KAAW;QACd,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,mCAAmC,GAAG,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACxF,IAAI,CAAC,6BAA6B,GAAG,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC5E,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE;gBACrC,IAAI,CAAC,SAAS,GAAG,EAAS,CAAC;gBAC3B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,WAAW,CAAC;oBACjC,IAAI,CAAC,SAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACxD;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,EAAE;gBAC5C,IAAI,CAAC,gBAAgB,GAAG,EAAS,CAAC;gBAClC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,kBAAkB,CAAC;oBACxC,IAAI,CAAC,gBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAC5D;SACF;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACrB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,sBAAsB,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,qCAAqC,CAAC,GAAG,IAAI,CAAC,mCAAmC,CAAC;QACvF,IAAI,CAAC,+BAA+B,CAAC,GAAG,IAAI,CAAC,6BAA6B,CAAC;QAC3E,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YACjC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;YACvB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS;gBAC7B,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACzC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;YACxC,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC;YAC9B,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,gBAAgB;gBACpC,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAChD;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AASM,MAAM,gCAAgC;IAG3C,YAAY,IAAwC;QAClD,IAAI,IAAI,EAAE;YACR,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACzB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACzB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,IAAI,CAAC,KAAW;QACd,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;SACtH;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACrB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,gCAAgC,EAAE,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC1F,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAMM,MAAM,gBAAiB,SAAQ,KAAK;IAOzC,YAAY,OAAe,EAAE,MAAc,EAAE,QAAgB,EAAE,OAAgC,EAAE,MAAW;QAC1G,KAAK,EAAE,CAAC;QASA,uBAAkB,GAAG,IAAI,CAAC;QAPlC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAID,MAAM,CAAC,kBAAkB,CAAC,GAAQ;QAChC,OAAO,GAAG,CAAC,kBAAkB,KAAK,IAAI,CAAC;IACzC,CAAC;CACF;AAED,SAAS,cAAc,CAAC,OAAe,EAAE,MAAc,EAAE,QAAgB,EAAE,OAAgC,EAAE,MAAY;IACvH,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS;QACzC,OAAO,uDAAgB,CAAC,MAAM,CAAC,CAAC;;QAEhC,OAAO,uDAAgB,CAAC,IAAI,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AAC5F,CAAC;AAED,SAAS,UAAU,CAAC,IAAS;IAC3B,OAAO,IAAI,+CAAU,CAAS,CAAC,QAAa,EAAE,EAAE;QAC9C,IAAI,CAAC,IAAI,EAAE;YACT,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClB,QAAQ,CAAC,QAAQ,EAAE,CAAC;SACrB;aAAM;YACL,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,EAAE;gBACtB,QAAQ,CAAC,IAAI,CAAE,KAAK,CAAC,MAAc,CAAC,MAAM,CAAC,CAAC;gBAC5C,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,CAAC,CAAC;YACF,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SACzB;IACH,CAAC,CAAC,CAAC;AACL,CAAC;;;;;;;;;;;;;ACv1CD;AAAA;AAAO,MAAM,gBAAgB,GAAG;IAC9B,sBAAsB;QACpB,OAAO;YACL,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;gBAC1B,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YAClE,CAAC;YACD,YAAY,EAAE,qBAAqB;SACpC,CAAC;IACJ,CAAC;IAED,yBAAyB;QACvB,OAAO;YACL,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;gBAC1B,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAC7E,CAAC;YACD,YAAY,EAAE,mCAAmC;SAClD,CAAC;IACJ,CAAC;IAED,6BAA6B;QAC3B,OAAO;YACL,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;gBAC1B,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAChF,CAAC;YACD,YAAY,EAAE,uCAAuC;SACtD,CAAC;IACJ,CAAC;IAED,6BAA6B;QAC3B,OAAO;YACL,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;gBAC1B,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAChF,CAAC;YACD,YAAY,EAAE,uCAAuC;SACtD,CAAC;IACJ,CAAC;IAED,mCAAmC;QACjC,OAAO;YACL,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;gBAC1B,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YACvF,CAAC;YACD,YAAY,EAAE,6CAA6C;SAC5D,CAAC;IACJ,CAAC;IAED,uBAAuB;QACrB,OAAO;YACL,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;gBAC1B,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;YACnE,CAAC;YACD,YAAY,EAAE,uCAAuC;SACtD,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,MAAc;QAC5B,OAAO;YACL,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;gBAC1B,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC;YACxE,CAAC;YACD,YAAY,EAAE,6BAA6B;SAC5C,CAAC;IACJ,CAAC;IAED,iBAAiB;QACf,MAAM,YAAY,GAAG,sEAAsE,CAAC;QAC5F,OAAO;YACL,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;gBAC1B,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC3E,CAAC;YACD,YAAY,EAAE,yBAAyB;SACxC,CAAC;IACJ,CAAC;IAED,wBAAwB;QACtB,OAAO;YACL,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;gBAC1B,OAAO,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;YACrD,CAAC;YACD,YAAY,EAAE,yCAAyC;SACxD,CAAC;IACJ,CAAC;CACF,CAAC;;;;;;;;;;;;;ACpFF;AAAe,kHAAmD,kBAAkB,2EAA2E,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAhH;AACgC;AACb;AACjB;AACK;AACA;AACZ;AAEmD;AAClC;AACE;AACI;AACJ;AACM;AACN;AACgB;AACF;AACZ;AACM;AACZ;AACe;AACK;AACd;AACZ;AACO;AACI;AACJ;AACT;AACD;AAEzC,SAAS,UAAU,CAAC,aAA4B,EAAE,KAA8B;IACrF,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;QACtE,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;QAC1D,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC;IAqFY,YAAY,SAAZ,YAAY;IACvB,YAAkD,UAAe;QAAf,eAAU,GAAV,UAAU,CAAK;IAAI,CAAC;CACvE;;4CADc,oDAAM,SAAC,yDAAW;;AADpB,YAAY;IAnFxB,8DAAQ,CAAC;QACR,YAAY,EAAE;YACZ,sEAAY;SACb;QACD,SAAS,EAAE;YACT;gBACE,OAAO,EAAE,6DAAe;gBACxB,UAAU,EAAE,UAAU;gBACtB,IAAI,EAAE,CAAC,uEAAa,EAAE,iDAAK,CAAC;gBAC5B,KAAK,EAAE,IAAI;aACZ;YACD;gBACE,OAAO,EAAE,8EAAoB;gBAC7B,QAAQ,EAAE,qBAAqB;aAChC;YACD;gBACE,OAAO,EAAE,0EAAkB;gBAC3B,QAAQ,EAAE,mBAAmB;aAC9B;YACD;gBACE,OAAO,EAAE,gFAAqB;gBAC9B,QAAQ,EAAE,sBAAsB;aACjC;YACD;gBACE,OAAO,EAAE,0EAAkB;gBAC3B,QAAQ,EAAE,EAAE;aACb;YACD;gBACE,OAAO,EAAE,0FAAqB;gBAC9B,QAAQ,EAAE,6BAA6B;aACxC;YACD;gBACE,OAAO,EAAE,wFAAyB;gBAClC,QAAQ,EAAE,0BAA0B;aACrC;YACD;gBACE,OAAO,EAAE,4EAAmB;gBAC5B,QAAQ,EAAE,oBAAoB;aAC/B;YACD;gBACE,OAAO,EAAE,kFAAsB;gBAC/B,QAAQ,EAAE,uBAAuB;aAClC;YACD;gBACE,OAAO,EAAE,sEAAgB;gBACzB,QAAQ,EAAE,iBAAiB;aAC5B;YACD;gBACE,OAAO,EAAE,qFAAgB;gBACzB,QAAQ,EAAE,gCAAgC;aAC3C;YACD;gBACE,OAAO,EAAE,0FAAmB;gBAC5B,QAAQ,EAAE,gCAAgC;aAC3C;YACD,2EAAe;YACf,uEAAa;YACb,4EAAgB;YAChB,6DAAS;YACT,wGAAgC;SACjC;QACD,OAAO,EAAE;YACP,4DAAY;YACZ,gEAAc;YACd,0EAAoB;YACpB,0DAAW;YACX,kEAAmB;YACnB,mEAAgB;YAChB,uDAAY,CAAC,OAAO,CAAC;gBACnB,OAAO,EAAE,IAAI;gBACb,aAAa,EAAE,iBAAiB;gBAChC,iBAAiB,EAAE,IAAI;gBACvB,WAAW,EAAE,IAAI;aAClB,CAAC;YACF,uDAAW,CAAC,UAAU,CAAC,QAAQ,EAAE,8DAAO,CAAC;SAC1C;QACD,OAAO,EAAE;YACP,gEAAc;YACd,0EAAoB;YACpB,mEAAe;YACf,sEAAY;SACb;KACF,CAAC;GACW,YAAY,CAExB;AAFwB;;;;;;;;;;;;;ACxHzB;AAAe,6GAA8C,mNAAmN,E;;;;;;;;;;;;ACAhR;AAAe,uLAAwH,oCAAoC,oNAAoN,8BAA8B,yEAAyE,E;;;;;;;;;;;;ACAte;AAAe,wQAAyM,E;;;;;;;;;;;;ACAxN;AAAe,0GAA2C,mCAAmC,qBAAqB,GAAG,iBAAiB,gCAAgC,qFAAqF,kCAAkC,4CAA4C,gCAAgC,IAAI,iDAAiD,sBAAsB,E;;;;;;;;;;;;;;;;;;;;;ACA1Y;IAO7B,iCAAiC,SAAjC,iCAAiC;CAAI;AAArC,iCAAiC;IAL7C,+DAAS,CAAC;QACT,QAAQ,EAAE,iCAAiC;QAC3C,wGAA2D;;KAE5D,CAAC;GACW,iCAAiC,CAAI;AAAJ;;;;;;;;;;;;;;;;;;;;;;;;;;ACPyB;AAClB;AAClB;AAEkF;IAOxG,+BAA+B,SAA/B,+BAA+B;IAS1C,YAAoB,MAAiB;QAAjB,WAAM,GAAN,MAAM,CAAW;QAJ5B,aAAQ,GAAY,KAAK,CAAC;QAEzB,sBAAiB,GAAsB,IAAI,0DAAY,EAAE,CAAC;IAE3B,CAAC;IAE1C,WAAW;QACT,IAAI,YAAY,GAAG,EAAE,YAAY,EAAE,wDAAS,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC/G,IAAI,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gIAA8B,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;QAC1F,UAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAA2B,EAAE,EAAE;YAC5E,iGAAiG;YACjG,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;gBACnC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;aACzB;YACD,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;CACF;;YAjCQ,kEAAS;;;2BAYf,mDAAK;oBACL,mDAAK;iBACL,mDAAK;uBACL,mDAAK;gCAEL,oDAAM;;AAPI,+BAA+B;IAL3C,+DAAS,CAAC;QACT,QAAQ,EAAE,8BAA8B;QACxC,qGAAwD;;KAEzD,CAAC;GACW,+BAA+B,CAuB3C;AAvB2C;;;;;;;;;;;;;;;;;;;;;;;;;;ACX2B;AACxD;AACU;AACI;IAOhB,iBAAiB,SAAjB,iBAAiB;;QAG5B,WAAM,GAAW,OAAO,CAAC;QAezB,gBAAW,GAAG,IAAI,0DAAY,EAAE,CAAC;QAG1B,WAAM,GAAuB;YAClC,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,SAAS;YAChB,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,CAAC;SACX,CAAC;IACJ,CAAC;IAtBC,IACI,KAAK,CAAC,KAAa;QACrB,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,EAAE;YACzB,OAAO;SACR;QACD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CAYF;;qBAzBE,mDAAK;oBAGL,mDAAK;0BAYL,oDAAM;;AAjBI,iBAAiB;IAJ7B,+DAAS,CAAC;QACT,QAAQ,EAAE,eAAe;QACzB,sFAAyC;KAC1C,CAAC;GACW,iBAAiB,CA2B7B;AA3B6B;;;;;;;;;;;;;ACV9B;AAAe,uGAAwC,2DAA2D,2FAA2F,SAAS,wBAAwB,E;;;;;;;;;;;;ACA9O;AAAe,8EAAe,IAAI,qGAAqG,oBAAoB,kIAAkI,E;;;;;;;;;;;;ACA7R;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoE;AAQ7D,MAAM,cAAc,GAAG,yEAAqB,CAAc,QAAQ,CAAC,CAAC;AAEpE,MAAM,gBAAgB,GAAG,kEAAc,CAC5C,cAAc,EACd,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAC7B,CAAC;AAEK,MAAM,gBAAgB,GAAG,kEAAc,CAC5C,cAAc,EACd,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,CAC/B,CAAC;AAEK,MAAM,gBAAgB,GAAG,kEAAc,CAC5C,cAAc,EACd,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAC7B,CAAC;AAEK,MAAM,yBAAyB,GAAG,kEAAc,CACrD,cAAc,EACd,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,sBAAsB,CACtC,CAAC;AAEK,MAAM,mBAAmB,GAAG,kEAAc,CAC/C,cAAc,EACd,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CACjC,CAAC;;;;;;;;;;;;;;;;;;;;;;ACjCgD;IAOrC,sBAAsB,SAAtB,sBAAsB;IAEjC,gBAAgB,CAAC;IAEjB,QAAQ;IACR,CAAC;CAEF;;AAPY,sBAAsB;IALlC,+DAAS,CAAC;QACT,QAAQ,EAAE,qBAAqB;QAC/B,4FAA+C;;KAEhD,CAAC;GACW,sBAAsB,CAOlC;AAPkC;;;;;;;;;;;;ACPnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2B;;;;;;;;;;;;ACnSA;AAAe,6GAA8C,mKAAmK,E;;;;;;;;;;;;;;;;;;;;;;;ACAzJ;AACC;IAO3D,oBAAoB,SAApB,oBAAoB;;QACxB,WAAM,GAAQ,8DAAkB,CAAC;QAK9B,gBAAW,GAAG,IAAI,0DAAY,EAAE,CAAC;IAY7C,CAAC;IAXC,IACI,KAAK,CAAC,KAAa;QACrB,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,EAAE;YACzB,OAAO;SACR;QACD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAA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","file":"main-es2015.js","sourcesContent":["export default \"select {\\n width: 100%;\\n padding: 8px 15px;\\n background-color: #dcdcdb;\\n border: none;\\n border-radius: 15px;\\n height: 39px;\\n}\\n\\nlabel {\\n position: relative;\\n margin-bottom: 0px;\\n margin-bottom: -40px;\\n}\\n\\n.bottom-space {\\n margin-bottom: 25px;\\n}\\n\\n.ng-touched.form-invalid {\\n border-color: rgba(238, 95, 91, 0.8);\\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(238, 95, 91, 0.6);\\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(238, 95, 91, 0.6);\\n outline: 0 none;\\n}\\n\\n.validation-error-alert {\\n margin-top: 10px;\\n border-radius: 15px;\\n line-height: 1.4em;\\n}\\n\\n@media (min-width: 768px) {\\n label {\\n top: 24px;\\n left: 15px;\\n }\\n\\n :host select {\\n padding-left: 250px;\\n }\\n\\n .form-group {\\n line-height: 10px;\\n margin-bottom: 0px;\\n }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbGF5b3V0L2lucHV0cy9wYWFyaS1pbnB1dC1kcm9wZG93bi1lbnVtL3BhYXJpLWlucHV0LWRyb3Bkb3duLWVudW0uY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxXQUFBO0VBQ0EsaUJBQUE7RUFDQSx5QkFBQTtFQUNBLFlBQUE7RUFDQSxtQkFBQTtFQUNBLFlBQUE7QUFDRjs7QUFFQTtFQUNFLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxvQkFBQTtBQUNGOztBQUVBO0VBQ0UsbUJBQUE7QUFDRjs7QUFFQTtFQUNFLG9DQUFBO0VBQ0Esd0ZBQUE7VUFBQSxnRkFBQTtFQUNBLGVBQUE7QUFDRjs7QUFFQTtFQUNFLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtBQUNGOztBQUVBO0VBRUU7SUFDRSxTQUFBO0lBQ0EsVUFBQTtFQUFGOztFQUdBO0lBQ0UsbUJBQUE7RUFBRjs7RUFHQTtJQUNFLGlCQUFBO0lBQ0Esa0JBQUE7RUFBRjtBQUNGIiwiZmlsZSI6InNyYy9hcHAvbGF5b3V0L2lucHV0cy9wYWFyaS1pbnB1dC1kcm9wZG93bi1lbnVtL3BhYXJpLWlucHV0LWRyb3Bkb3duLWVudW0uY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJzZWxlY3Qge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHBhZGRpbmc6IDhweCAxNXB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNkY2RjZGI7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIGJvcmRlci1yYWRpdXM6IDE1cHg7XHJcbiAgaGVpZ2h0OiAzOXB4O1xyXG59XHJcblxyXG5sYWJlbCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1hcmdpbi1ib3R0b206IDBweDtcclxuICBtYXJnaW4tYm90dG9tOiAtNDBweDtcclxufVxyXG5cclxuLmJvdHRvbS1zcGFjZSB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxufVxyXG5cclxuLm5nLXRvdWNoZWQuZm9ybS1pbnZhbGlkIHtcclxuICBib3JkZXItY29sb3I6IHJnYmEoMjM4LCA5NSwgOTEsIC44KTtcclxuICBib3gtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSkgaW5zZXQsIDAgMCA4cHggcmdiYSgyMzgsIDk1LCA5MSwgLjYpO1xyXG4gIG91dGxpbmU6IDAgbm9uZTtcclxufVxyXG5cclxuLnZhbGlkYXRpb24tZXJyb3ItYWxlcnQge1xyXG4gIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgYm9yZGVyLXJhZGl1czogMTVweDtcclxuICBsaW5lLWhlaWdodDogMS40ZW07XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG5cclxuICBsYWJlbCB7XHJcbiAgICB0b3A6IDI0cHg7XHJcbiAgICBsZWZ0OiAxNXB4O1xyXG4gIH1cclxuXHJcbiAgOmhvc3Qgc2VsZWN0IHtcclxuICAgIHBhZGRpbmctbGVmdDogMjUwcHg7XHJcbiAgfVxyXG5cclxuICAuZm9ybS1ncm91cCB7XHJcbiAgICBsaW5lLWhlaWdodDogMTBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDBweDtcclxuICB9XHJcbn1cclxuIl19 */\";","export default \":host .loader-space {\\n width: 100%;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n margin: 0;\\n z-index: 1;\\n margin-bottom: 100px;\\n}\\n\\n:host .loader-absolute {\\n position: absolute;\\n top: 0;\\n left: 0;\\n height: 100%;\\n background-color: rgba(200, 200, 200, 0.5);\\n margin-bottom: 0px;\\n}\\n\\n:host .loader-fixed {\\n position: fixed;\\n left: 50%;\\n top: 50%;\\n -webkit-transform: translate(-50%, -50%);\\n transform: translate(-50%, -50%);\\n height: 100%;\\n background-color: rgba(200, 200, 200, 0.5);\\n margin-bottom: 0px;\\n}\\n\\n:host .loader-wrapper {\\n position: relative;\\n margin: 0 auto;\\n display: table;\\n height: 120px;\\n width: 120px;\\n}\\n\\n:host .loader {\\n border: 8px solid #f3f3f3;\\n border-top: 8px solid #fdc628;\\n border-radius: 50%;\\n position: absolute;\\n margin: auto;\\n}\\n\\n:host .loader-1 {\\n width: 120px;\\n height: 120px;\\n top: 0px;\\n left: 0px;\\n -webkit-animation: spin 2s linear infinite;\\n animation: spin 2s linear infinite;\\n background-color: #3c434d;\\n border-radius: 100%;\\n}\\n\\n:host .loader-2 {\\n width: 100px;\\n height: 100px;\\n top: 10px;\\n left: 10px;\\n -webkit-animation: spin1 2s linear infinite;\\n animation: spin1 2s linear infinite;\\n}\\n\\n:host .loader-3 {\\n width: 80px;\\n height: 80px;\\n top: 20px;\\n left: 20px;\\n -webkit-animation: spin2 2s linear infinite;\\n animation: spin2 2s linear infinite;\\n}\\n\\n@-webkit-keyframes spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@-webkit-keyframes spin1 {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(720deg);\\n transform: rotate(720deg);\\n }\\n}\\n\\n@keyframes spin1 {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(720deg);\\n transform: rotate(720deg);\\n }\\n}\\n\\n@-webkit-keyframes spin2 {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(1080deg);\\n transform: rotate(1080deg);\\n }\\n}\\n\\n@keyframes spin2 {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(1080deg);\\n transform: rotate(1080deg);\\n }\\n}\\n\\n:host .loader-text {\\n position: absolute;\\n font-size: 48px;\\n font-weight: bold;\\n left: 50px;\\n top: 40px;\\n}\\n\\n:host #loader-image {\\n position: absolute;\\n left: 40px;\\n top: 48px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbGF5b3V0L3BhYXJpLWxvYWRlci9wYWFyaS1sb2FkZXIuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxXQUFBO0VBQ0Esb0JBQUE7RUFBQSxvQkFBQTtFQUFBLGFBQUE7RUFDQSx5QkFBQTtNQUFBLHNCQUFBO1VBQUEsbUJBQUE7RUFDQSxTQUFBO0VBQ0EsVUFBQTtFQUNBLG9CQUFBO0FBQ0Y7O0FBRUE7RUFDRSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0VBQ0EsWUFBQTtFQUNBLDBDQUFBO0VBQ0Esa0JBQUE7QUFDRjs7QUFFQTtFQUNFLGVBQUE7RUFDQSxTQUFBO0VBQ0EsUUFBQTtFQUNBLHdDQUFBO1VBQUEsZ0NBQUE7RUFDQSxZQUFBO0VBQ0EsMENBQUE7RUFDQSxrQkFBQTtBQUNGOztBQUVBO0VBQ0Usa0JBQUE7RUFDQSxjQUFBO0VBQ0EsY0FBQTtFQUNBLGFBQUE7RUFDQSxZQUFBO0FBQ0Y7O0FBRUE7RUFDRSx5QkFBQTtFQUNBLDZCQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtFQUNBLFlBQUE7QUFDRjs7QUFFQTtFQUNFLFlBQUE7RUFDQSxhQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFDQSwwQ0FBQTtVQUFBLGtDQUFBO0VBQ0EseUJBQUE7RUFDQSxtQkFBQTtBQUNGOztBQUVBO0VBQ0UsWUFBQTtFQUNBLGFBQUE7RUFDQSxTQUFBO0VBQ0EsVUFBQTtFQUNBLDJDQUFBO1VBQUEsbUNBQUE7QUFDRjs7QUFFQTtFQUNFLFdBQUE7RUFDQSxZQUFBO0VBQ0EsU0FBQTtFQUNBLFVBQUE7RUFDQSwyQ0FBQTtVQUFBLG1DQUFBO0FBQ0Y7O0FBRUE7RUFDRTtJQUNFLCtCQUFBO1lBQUEsdUJBQUE7RUFDRjtFQUVBO0lBQ0UsaUNBQUE7WUFBQSx5QkFBQTtFQUFGO0FBQ0Y7O0FBUEE7RUFDRTtJQUNFLCtCQUFBO1lBQUEsdUJBQUE7RUFDRjtFQUVBO0lBQ0UsaUNBQUE7WUFBQSx5QkFBQTtFQUFGO0FBQ0Y7O0FBR0E7RUFDRTtJQUNFLCtCQUFBO1lBQUEsdUJBQUE7RUFERjtFQUlBO0lBQ0UsaUNBQUE7WUFBQSx5QkFBQTtFQUZGO0FBQ0Y7O0FBTEE7RUFDRTtJQUNFLCtCQUFBO1lBQUEsdUJBQUE7RUFERjtFQUlBO0lBQ0UsaUNBQUE7WUFBQSx5QkFBQTtFQUZGO0FBQ0Y7O0FBS0E7RUFDRTtJQUNFLCtCQUFBO1lBQUEsdUJBQUE7RUFIRjtFQU1BO0lBQ0Usa0NBQUE7WUFBQSwwQkFBQTtFQUpGO0FBQ0Y7O0FBSEE7RUFDRTtJQUNFLCtCQUFBO1lBQUEsdUJBQUE7RUFIRjtFQU1BO0lBQ0Usa0NBQUE7WUFBQSwwQkFBQTtFQUpGO0FBQ0Y7O0FBT0E7RUFDRSxrQkFBQTtFQUNBLGVBQUE7RUFDQSxpQkFBQTtFQUNBLFVBQUE7RUFDQSxTQUFBO0FBTEY7O0FBUUE7RUFDRSxrQkFBQTtFQUNBLFVBQUE7RUFDQSxTQUFBO0FBTEYiLCJmaWxlIjoic3JjL2FwcC9sYXlvdXQvcGFhcmktbG9hZGVyL3BhYXJpLWxvYWRlci5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IC5sb2FkZXItc3BhY2Uge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBtYXJnaW46IDA7XHJcbiAgei1pbmRleDogMTtcclxuICBtYXJnaW4tYm90dG9tOiAxMDBweDtcclxufVxyXG5cclxuOmhvc3QgLmxvYWRlci1hYnNvbHV0ZSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNSk7XHJcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG59XHJcblxyXG46aG9zdCAubG9hZGVyLWZpeGVkIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgbGVmdDogNTAlO1xyXG4gIHRvcDogNTAlO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNSk7XHJcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG59XHJcblxyXG46aG9zdCAubG9hZGVyLXdyYXBwZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtYXJnaW46IDAgYXV0bztcclxuICBkaXNwbGF5OiB0YWJsZTtcclxuICBoZWlnaHQ6IDEyMHB4O1xyXG4gIHdpZHRoOiAxMjBweDtcclxufVxyXG5cclxuOmhvc3QgLmxvYWRlciB7XHJcbiAgYm9yZGVyOiA4cHggc29saWQgI2YzZjNmMztcclxuICBib3JkZXItdG9wOiA4cHggc29saWQgI2ZkYzYyODtcclxuICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIG1hcmdpbjogYXV0bztcclxufVxyXG5cclxuOmhvc3QgLmxvYWRlci0xIHtcclxuICB3aWR0aDogMTIwcHg7XHJcbiAgaGVpZ2h0OiAxMjBweDtcclxuICB0b3A6IDBweDtcclxuICBsZWZ0OiAwcHg7XHJcbiAgYW5pbWF0aW9uOiBzcGluIDJzIGxpbmVhciBpbmZpbml0ZTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2M0MzRkO1xyXG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbn1cclxuXHJcbjpob3N0IC5sb2FkZXItMiB7XHJcbiAgd2lkdGg6IDEwMHB4O1xyXG4gIGhlaWdodDogMTAwcHg7XHJcbiAgdG9wOiAxMHB4O1xyXG4gIGxlZnQ6IDEwcHg7XHJcbiAgYW5pbWF0aW9uOiBzcGluMSAycyBsaW5lYXIgaW5maW5pdGU7XHJcbn1cclxuXHJcbjpob3N0IC5sb2FkZXItMyB7XHJcbiAgd2lkdGg6IDgwcHg7XHJcbiAgaGVpZ2h0OiA4MHB4O1xyXG4gIHRvcDogMjBweDtcclxuICBsZWZ0OiAyMHB4O1xyXG4gIGFuaW1hdGlvbjogc3BpbjIgMnMgbGluZWFyIGluZmluaXRlO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNwaW4ge1xyXG4gIDAlIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzcGluMSB7XHJcbiAgMCUge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDcyMGRlZyk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNwaW4yIHtcclxuICAwJSB7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTA4MGRlZyk7XHJcbiAgfVxyXG59XHJcblxyXG46aG9zdCAubG9hZGVyLXRleHQge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBmb250LXNpemU6IDQ4cHg7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgbGVmdDogNTBweDtcclxuICB0b3A6IDQwcHg7XHJcbn1cclxuXHJcbjpob3N0ICNsb2FkZXItaW1hZ2Uge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBsZWZ0OiA0MHB4O1xyXG4gIHRvcDogNDhweDtcclxufVxyXG4iXX0= */\";","export default \".account-menu-header {\\n width: 100%;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n -ms-flex-flow: column;\\n flex-flow: column;\\n -ms-flex-direction: column;\\n flex-direction: column;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n padding: 10px 20px 20px 20px;\\n background: -webkit-gradient(linear, left top, left bottom, color-stop(36%, #fdc628), color-stop(0%, #e8e8ea));\\n background: linear-gradient(180deg, #fdc628 36%, #e8e8ea 0%);\\n}\\n.account-menu-header .account-menu-header-user-background {\\n width: 60px;\\n height: 60px;\\n border-radius: 50%;\\n background-color: white;\\n}\\n.account-menu-header .account-menu-header-user-name {\\n margin-top: 10px;\\n margin-bottom: 0px;\\n}\\n.account-menu-header .account-menu-header-user-email {\\n margin-top: 5px;\\n margin-bottom: 0px;\\n}\\n.languages-button {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n}\\n.flag-icon-margin-offset {\\n margin-left: 4px;\\n margin-right: 20px;\\n}\\n.large-icon {\\n margin-left: 10px;\\n margin-right: 20px;\\n width: 40px !important;\\n height: 40px !important;\\n font-size: 40px !important;\\n line-height: 40px !important;\\n}\\n.large-icon mat-icon {\\n width: 40px !important;\\n height: 40px !important;\\n font-size: 40px !important;\\n line-height: 40px !important;\\n}\\n@media screen and (max-width: 599px) {\\n .large-icon {\\n margin-right: 5px;\\n }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29yZS9jb21wb25lbnRzL3RvcC1uYXYvdG9wLW5hdi1hY2NvdW50LWJ1dHRvbi90b3AtbmF2LWFjY291bnQtYnV0dG9uLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsV0FBQTtFQUNBLG9CQUFBO0VBQUEsb0JBQUE7RUFBQSxhQUFBO0VBQ0EsNEJBQUE7RUFBQSw2QkFBQTtNQUFBLHFCQUFBO1VBQUEsaUJBQUE7RUFDQSwwQkFBQTtNQUFBLHNCQUFBO0VBQ0EseUJBQUE7TUFBQSxzQkFBQTtVQUFBLG1CQUFBO0VBQ0EsNEJBQUE7RUFDQSw4R0FBQTtFQUFBLDREQUFBO0FBQ0Y7QUFDRTtFQUNFLFdBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSx1QkFBQTtBQUNKO0FBRUU7RUFDRSxnQkFBQTtFQUNBLGtCQUFBO0FBQUo7QUFHRTtFQUNFLGVBQUE7RUFDQSxrQkFBQTtBQURKO0FBS0E7RUFDRSxvQkFBQTtFQUFBLG9CQUFBO0VBQUEsYUFBQTtBQUZGO0FBS0E7RUFDRSxnQkFBQTtFQUNBLGtCQUFBO0FBRkY7QUFLQTtFQUNFLGlCQUFBO0VBQ0Esa0JBQUE7RUFJQSxzQkFBQTtFQUNBLHVCQUFBO0VBQ0EsMEJBQUE7RUFDQSw0QkFBQTtBQUxGO0FBT0U7RUFDRSxzQkFBQTtFQUNBLHVCQUFBO0VBQ0EsMEJBQUE7RUFDQSw0QkFBQTtBQUxKO0FBU0E7RUFDRTtJQUNFLGlCQUFBO0VBTkY7QUFDRiIsImZpbGUiOiJzcmMvYXBwL2NvcmUvY29tcG9uZW50cy90b3AtbmF2L3RvcC1uYXYtYWNjb3VudC1idXR0b24vdG9wLW5hdi1hY2NvdW50LWJ1dHRvbi5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5hY2NvdW50LW1lbnUtaGVhZGVyIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZmxvdzogY29sdW1uO1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBwYWRkaW5nOiAxMHB4IDIwcHggMjBweCAyMHB4O1xyXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNmZGM2MjggMzYlLCAjZThlOGVhIDAlKTtcclxuXHJcbiAgLmFjY291bnQtbWVudS1oZWFkZXItdXNlci1iYWNrZ3JvdW5kIHtcclxuICAgIHdpZHRoOiA2MHB4O1xyXG4gICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgfVxyXG5cclxuICAuYWNjb3VudC1tZW51LWhlYWRlci11c2VyLW5hbWUge1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDBweDtcclxuICB9XHJcblxyXG4gIC5hY2NvdW50LW1lbnUtaGVhZGVyLXVzZXItZW1haWwge1xyXG4gICAgbWFyZ2luLXRvcDogNXB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG4gIH1cclxufVxyXG5cclxuLmxhbmd1YWdlcy1idXR0b24ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbi5mbGFnLWljb24tbWFyZ2luLW9mZnNldCB7XHJcbiAgbWFyZ2luLWxlZnQ6IDRweDtcclxuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbn1cclxuXHJcbi5sYXJnZS1pY29uIHtcclxuICBtYXJnaW4tbGVmdDogMTBweDtcclxuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcblxyXG4gICRpY29uLXNpemU6IDQwcHg7XHJcblxyXG4gIHdpZHRoOiAkaWNvbi1zaXplICFpbXBvcnRhbnQ7XHJcbiAgaGVpZ2h0OiAkaWNvbi1zaXplICFpbXBvcnRhbnQ7XHJcbiAgZm9udC1zaXplOiAkaWNvbi1zaXplICFpbXBvcnRhbnQ7XHJcbiAgbGluZS1oZWlnaHQ6ICRpY29uLXNpemUgIWltcG9ydGFudDtcclxuXHJcbiAgbWF0LWljb24ge1xyXG4gICAgd2lkdGg6ICRpY29uLXNpemUgIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogJGljb24tc2l6ZSAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1zaXplOiAkaWNvbi1zaXplICFpbXBvcnRhbnQ7XHJcbiAgICBsaW5lLWhlaWdodDogJGljb24tc2l6ZSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcclxuICAubGFyZ2UtaWNvbiB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICB9XHJcbn1cclxuIl19 */\";","import { BooleanInput, coerceBooleanProperty } from \"@angular/cdk/coercion\";\r\nimport {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n ViewChild\r\n} from \"@angular/core\";\r\nimport { BaseInputComponent } from \"../paari-base-input/base-input.component\";\r\n\r\n@Component({\r\n selector: \"paari-input-checkbox\",\r\n templateUrl: \"./paari-input-checkbox.component.html\",\r\n styleUrls: [\"./paari-input-checkbox.component.scss\"]\r\n})\r\n/** paari-input-checkbox component*/\r\nexport class PaariInputCheckboxComponent implements BaseInputComponent {\r\n @Input() id!: string;\r\n @Input() label!: string;\r\n @Input() bottomSpace!: string;\r\n @Input() disabled: boolean = false;\r\n @ViewChild(\"inputField\", { static: true }) inputField!: ElementRef;\r\n private _model!: boolean;\r\n\r\n @Output() modelChange = new EventEmitter();\r\n @Input(\"model\")\r\n set model(value: BooleanInput) {\r\n if (this._model == value) return;\r\n this._model = coerceBooleanProperty(value);\r\n this.modelChange.emit(this._model);\r\n }\r\n get model() {\r\n return this._model;\r\n }\r\n\r\n public validateForm() {\r\n return true;\r\n }\r\n isDirty(): boolean {\r\n return this.inputField.nativeElement.classList.contains(\"ng-dirty\");\r\n }\r\n}\r\n","export default \"
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
{{validator.errorMessage | translate}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\";","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'paari-alert-single-error-message',\r\n templateUrl: './alert-single-error-message.component.html',\r\n styleUrls: ['./alert-single-error-message.component.scss']\r\n})\r\nexport class AlertSingleErrorMessageComponent {\r\n\r\n @Input() message!: string;\r\n}\r\n","import { ComponentFactoryResolver, ComponentRef, Injectable, ViewContainerRef } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { MenuItemModel } from '../../shared/models/menu-item.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MenuService {\r\n\r\n name$ = new BehaviorSubject(null);\r\n rootUrl$ = new BehaviorSubject(null);\r\n items$ = new BehaviorSubject([]);\r\n opened$ = new BehaviorSubject(false);\r\n contextMenuComponent$ = new BehaviorSubject(null);\r\n contextMenuComponent: any;\r\n componentRef?: ComponentRef;\r\n currentRoute?: string;\r\n\r\n constructor(private componentFactoryResolver: ComponentFactoryResolver) { }\r\n\r\n setUpMenu(currentRoute: string, name: string, rootUrl: string, items: MenuItemModel[]): void {\r\n this.name$.next(name);\r\n this.rootUrl$.next(rootUrl);\r\n this.items$.next(items);\r\n this.opened$.next(true);\r\n this.currentRoute = currentRoute;\r\n this.getMatchingItem(items);\r\n }\r\n\r\n setUpContextMenu(contextMenuComponent: any): void {\r\n this.contextMenuComponent = contextMenuComponent;\r\n this.contextMenuComponent$.next(contextMenuComponent);\r\n }\r\n\r\n clearMenu() {\r\n this.name$.next(null);\r\n this.rootUrl$.next(null);\r\n this.items$.next([]);\r\n this.opened$.next(false);\r\n }\r\n\r\n clearContextMenu() {\r\n this.componentRef?.destroy();\r\n this.contextMenuComponent$.next(null);\r\n }\r\n\r\n getMatchingItem(items: MenuItemModel[]): MenuItemModel | null {\r\n let item: MenuItemModel | null = null;\r\n items.forEach(i => {\r\n if (i.subItems) {\r\n const result = this.getMatchingItem(i.subItems);\r\n if (result) {\r\n i.expanded = true;\r\n item = result;\r\n }\r\n } else if (this.currentRoute?.endsWith(i.id.toLowerCase()) === true) {\r\n item = i;\r\n }\r\n });\r\n return item;\r\n }\r\n\r\n async createContextMenuComponent(contextMenuContainer: ViewContainerRef) {\r\n contextMenuContainer.clear();\r\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(this.contextMenuComponent);\r\n this.componentRef = contextMenuContainer.createComponent(componentFactory);\r\n }\r\n}\r\n","export default \"\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\";","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Location } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-top-nav-help-button',\r\n templateUrl: './top-nav-help-button.component.html'\r\n})\r\nexport class TopNavHelpButtonComponent {\r\n\r\n constructor(\r\n private router: Router,\r\n private location: Location\r\n ) { }\r\n\r\n openHelpWindow() {\r\n const url = this.router.serializeUrl(this.router.createUrlTree(['/help']));\r\n const fullUrl = window.location.origin + this.location.prepareExternalUrl(url);\r\n window.open(fullUrl, '_blank', 'location = yes, height = ' + screen.height + ', width = ' + screen.width + ', scrollbars = yes, status = yes, fullscreen = yes');\r\n }\r\n}\r\n","export default \".glyphicon-info-sign:hover {\\n color: black;\\n cursor: help;\\n}\\n\\n.alert-box-wrapper {\\n margin-top: 20px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbGF5b3V0L2FsZXJ0LWJveC9hbGVydC5ib3guY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxZQUFBO0VBQ0EsWUFBQTtBQUNKOztBQUNBO0VBQ0ksZ0JBQUE7QUFFSiIsImZpbGUiOiJzcmMvYXBwL2xheW91dC9hbGVydC1ib3gvYWxlcnQuYm94LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmdseXBoaWNvbi1pbmZvLXNpZ246aG92ZXIge1xyXG4gICAgY29sb3I6IGJsYWNrO1xyXG4gICAgY3Vyc29yOiBoZWxwO1xyXG59XHJcbi5hbGVydC1ib3gtd3JhcHBlciB7XHJcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG59XHJcbiJdfQ== */\";","import { coerceBooleanProperty } from \"@angular/cdk/coercion\";\r\nimport { Component, Input } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'app-paari-bool-check-display',\r\n templateUrl: './paari-bool-check-display.component.html',\r\n styleUrls: ['./paari-bool-check-display.component.scss']\r\n})\r\nexport class PaariBoolCheckDisplayComponent {\r\n\r\n @Input(\"checked\")\r\n set model(value: boolean | string) {\r\n this.checked = coerceBooleanProperty(value);\r\n }\r\n\r\n checked!: boolean;\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2xheW91dC9pbnB1dHMvcGFhcmktaW5wdXQtcmFkaW8tdHJ1ZS1mYWxzZS9wYWFyaS1pbnB1dC1yYWRpby10cnVlLWZhbHNlLmNvbXBvbmVudC5zY3NzIn0= */\";","export default \"
\\r\\n
\\r\\n {{ errorMessage | translate }}\\r\\n
\\r\\n
\";","/* (ignored) */","/* tslint:disable */\r\n/* eslint-disable */\r\n//----------------------\r\n// \r\n// Generated using the NSwag toolchain v13.7.4.0 (NJsonSchema v10.1.26.0 (Newtonsoft.Json v12.0.0.0)) (http://NSwag.org)\r\n// \r\n//----------------------\r\n// ReSharper disable InconsistentNaming\r\n\r\nimport { HttpClient, HttpHeaders, HttpResponse, HttpResponseBase } from '@angular/common/http';\r\nimport { Inject, Injectable, InjectionToken, Optional } from '@angular/core';\r\nimport { Observable, of as _observableOf, throwError as _observableThrow } from 'rxjs';\r\nimport { catchError as _observableCatch, mergeMap as _observableMergeMap } from 'rxjs/operators';\r\n\r\nexport const API_BASE_URL_STATISTIC = new InjectionToken('API_BASE_URL_STATISTIC');\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StatisticV3Client {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_STATISTIC) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl ? baseUrl : \"https://localhost/Statistic.Api\";\r\n }\r\n\r\n connectLocation(inputModel: StatisticLocationInputModel | null): Observable {\r\n let url_ = this.baseUrl + \"/api/v3/Statistic/ConnectLocation\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processConnectLocation(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processConnectLocation(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processConnectLocation(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getLocations(): Observable {\r\n let url_ = this.baseUrl + \"/api/v3/Statistic/GetLocations\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetLocations(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetLocations(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetLocations(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(StatisticLocationDto.fromJS(item));\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n removeConnection(inputModel: RemoveStatisticConnectionInputModel | null): Observable {\r\n let url_ = this.baseUrl + \"/api/v3/Statistic/RemoveConnection\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processRemoveConnection(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processRemoveConnection(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processRemoveConnection(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n updateLocation(inputModel: UpdateStatisticLocationInputModel | null): Observable {\r\n let url_ = this.baseUrl + \"/api/v3/Statistic/UpdateLocation\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processUpdateLocation(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpdateLocation(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processUpdateLocation(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getStatistics(model: StatisticLocationInputModel2 | null): Observable {\r\n let url_ = this.baseUrl + \"/api/v3/Statistic/GetStatistics\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetStatistics(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetStatistics(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetStatistics(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = StatisticsDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getStatisticFactories(model: StatisticInputModel | null): Observable {\r\n let url_ = this.baseUrl + \"/api/v3/Statistic/GetStatisticFactories\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetStatisticFactories(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetStatisticFactories(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetStatisticFactories(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = FactoriesDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getFilters(model: StatisticFilterInputModel | null): Observable {\r\n let url_ = this.baseUrl + \"/api/v3/Statistic/GetFilters\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetFilters(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetFilters(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetFilters(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = FiltersDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n generateStatistic(model: GenerateStatisticInputModel | null): Observable {\r\n let url_ = this.baseUrl + \"/api/v3/Statistic/GenerateStatistic\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGenerateStatistic(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGenerateStatistic(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGenerateStatistic(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = GeneratedStatisticDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoggerClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_STATISTIC) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl ? baseUrl : \"https://localhost/Statistic.Api\";\r\n }\r\n\r\n currentLogLevel(): Observable {\r\n let url_ = this.baseUrl + \"/api/v1/logger/CurrentLogLevel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processCurrentLogLevel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCurrentLogLevel(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processCurrentLogLevel(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n changeLogLevel(newLevel: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/v1/logger/ChangeLogLevel?\";\r\n if (newLevel === undefined)\r\n throw new Error(\"The parameter 'newLevel' must be defined.\");\r\n else if (newLevel !== null)\r\n url_ += \"newLevel=\" + encodeURIComponent(\"\" + newLevel) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processChangeLogLevel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processChangeLogLevel(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processChangeLogLevel(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n}\r\n\r\nexport class PBaseStatisticInputModel implements IPBaseStatisticInputModel {\r\n languageCode?: string | undefined;\r\n\r\n constructor(data?: IPBaseStatisticInputModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.languageCode = _data[\"languageCode\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PBaseStatisticInputModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PBaseStatisticInputModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"languageCode\"] = this.languageCode;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPBaseStatisticInputModel {\r\n languageCode?: string | undefined;\r\n}\r\n\r\nexport class StatisticLocationInputModel extends PBaseStatisticInputModel implements IStatisticLocationInputModel {\r\n locationCode!: string;\r\n name?: string | undefined;\r\n\r\n constructor(data?: IStatisticLocationInputModel) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.locationCode = _data[\"locationCode\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): StatisticLocationInputModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new StatisticLocationInputModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"locationCode\"] = this.locationCode;\r\n data[\"name\"] = this.name;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IStatisticLocationInputModel extends IPBaseStatisticInputModel {\r\n locationCode: string;\r\n name?: string | undefined;\r\n}\r\n\r\nexport class StatisticLocationDto implements IStatisticLocationDto {\r\n id!: string;\r\n code?: string | undefined;\r\n name?: string | undefined;\r\n customUserName?: string | undefined;\r\n isFavorite!: boolean;\r\n\r\n constructor(data?: IStatisticLocationDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.code = _data[\"code\"];\r\n this.name = _data[\"name\"];\r\n this.customUserName = _data[\"customUserName\"];\r\n this.isFavorite = _data[\"isFavorite\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): StatisticLocationDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new StatisticLocationDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"code\"] = this.code;\r\n data[\"name\"] = this.name;\r\n data[\"customUserName\"] = this.customUserName;\r\n data[\"isFavorite\"] = this.isFavorite;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IStatisticLocationDto {\r\n id: string;\r\n code?: string | undefined;\r\n name?: string | undefined;\r\n customUserName?: string | undefined;\r\n isFavorite: boolean;\r\n}\r\n\r\nexport class RemoveStatisticConnectionInputModel extends PBaseStatisticInputModel implements IRemoveStatisticConnectionInputModel {\r\n id!: string;\r\n\r\n constructor(data?: IRemoveStatisticConnectionInputModel) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RemoveStatisticConnectionInputModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RemoveStatisticConnectionInputModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRemoveStatisticConnectionInputModel extends IPBaseStatisticInputModel {\r\n id: string;\r\n}\r\n\r\nexport class UpdateStatisticLocationInputModel implements IUpdateStatisticLocationInputModel {\r\n id!: string;\r\n name?: string | undefined;\r\n\r\n constructor(data?: IUpdateStatisticLocationInputModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpdateStatisticLocationInputModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpdateStatisticLocationInputModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpdateStatisticLocationInputModel {\r\n id: string;\r\n name?: string | undefined;\r\n}\r\n\r\nexport class StatisticsDto implements IStatisticsDto {\r\n statisticGroups?: StatistiGroupDto[] | undefined;\r\n\r\n constructor(data?: IStatisticsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"statisticGroups\"])) {\r\n this.statisticGroups = [] as any;\r\n for (let item of _data[\"statisticGroups\"])\r\n this.statisticGroups!.push(StatistiGroupDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): StatisticsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new StatisticsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.statisticGroups)) {\r\n data[\"statisticGroups\"] = [];\r\n for (let item of this.statisticGroups)\r\n data[\"statisticGroups\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IStatisticsDto {\r\n statisticGroups?: StatistiGroupDto[] | undefined;\r\n}\r\n\r\nexport class StatistiGroupDto implements IStatistiGroupDto {\r\n name?: string | undefined;\r\n statistics?: StatisticDto[] | undefined;\r\n\r\n constructor(data?: IStatistiGroupDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"statistics\"])) {\r\n this.statistics = [] as any;\r\n for (let item of _data[\"statistics\"])\r\n this.statistics!.push(StatisticDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): StatistiGroupDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new StatistiGroupDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.statistics)) {\r\n data[\"statistics\"] = [];\r\n for (let item of this.statistics)\r\n data[\"statistics\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IStatistiGroupDto {\r\n name?: string | undefined;\r\n statistics?: StatisticDto[] | undefined;\r\n}\r\n\r\nexport class StatisticDto implements IStatisticDto {\r\n id!: number;\r\n name?: string | undefined;\r\n statisticGroup?: string | undefined;\r\n\r\n constructor(data?: IStatisticDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.statisticGroup = _data[\"statisticGroup\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): StatisticDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new StatisticDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"statisticGroup\"] = this.statisticGroup;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IStatisticDto {\r\n id: number;\r\n name?: string | undefined;\r\n statisticGroup?: string | undefined;\r\n}\r\n\r\nexport class StatisticLocationInputModel2 implements IStatisticLocationInputModel2 {\r\n languageCode?: string | undefined;\r\n locationCode?: string | undefined;\r\n\r\n constructor(data?: IStatisticLocationInputModel2) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.languageCode = _data[\"languageCode\"];\r\n this.locationCode = _data[\"locationCode\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): StatisticLocationInputModel2 {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new StatisticLocationInputModel2();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"languageCode\"] = this.languageCode;\r\n data[\"locationCode\"] = this.locationCode;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IStatisticLocationInputModel2 {\r\n languageCode?: string | undefined;\r\n locationCode?: string | undefined;\r\n}\r\n\r\nexport class FactoriesDto implements IFactoriesDto {\r\n factories?: FactoryDto[] | undefined;\r\n\r\n constructor(data?: IFactoriesDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"factories\"])) {\r\n this.factories = [] as any;\r\n for (let item of _data[\"factories\"])\r\n this.factories!.push(FactoryDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): FactoriesDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FactoriesDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.factories)) {\r\n data[\"factories\"] = [];\r\n for (let item of this.factories)\r\n data[\"factories\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFactoriesDto {\r\n factories?: FactoryDto[] | undefined;\r\n}\r\n\r\nexport class FactoryDto implements IFactoryDto {\r\n id!: number;\r\n name?: string | undefined;\r\n\r\n constructor(data?: IFactoryDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FactoryDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FactoryDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFactoryDto {\r\n id: number;\r\n name?: string | undefined;\r\n}\r\n\r\nexport class StatisticInputModel implements IStatisticInputModel {\r\n statisticId!: number;\r\n locationCode?: string | undefined;\r\n languageCode?: string | undefined;\r\n\r\n constructor(data?: IStatisticInputModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.statisticId = _data[\"statisticId\"];\r\n this.locationCode = _data[\"locationCode\"];\r\n this.languageCode = _data[\"languageCode\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): StatisticInputModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new StatisticInputModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"statisticId\"] = this.statisticId;\r\n data[\"locationCode\"] = this.locationCode;\r\n data[\"languageCode\"] = this.languageCode;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IStatisticInputModel {\r\n statisticId: number;\r\n locationCode?: string | undefined;\r\n languageCode?: string | undefined;\r\n}\r\n\r\nexport class FiltersDto implements IFiltersDto {\r\n optionalFilter?: FilterDto | undefined;\r\n searchFilter1?: FilterDto | undefined;\r\n searchFilter2?: FilterDto | undefined;\r\n searchFilter3?: FilterDto | undefined;\r\n\r\n constructor(data?: IFiltersDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.optionalFilter = _data[\"optionalFilter\"] ? FilterDto.fromJS(_data[\"optionalFilter\"]) : undefined;\r\n this.searchFilter1 = _data[\"searchFilter1\"] ? FilterDto.fromJS(_data[\"searchFilter1\"]) : undefined;\r\n this.searchFilter2 = _data[\"searchFilter2\"] ? FilterDto.fromJS(_data[\"searchFilter2\"]) : undefined;\r\n this.searchFilter3 = _data[\"searchFilter3\"] ? FilterDto.fromJS(_data[\"searchFilter3\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): FiltersDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FiltersDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"optionalFilter\"] = this.optionalFilter ? this.optionalFilter.toJSON() : undefined;\r\n data[\"searchFilter1\"] = this.searchFilter1 ? this.searchFilter1.toJSON() : undefined;\r\n data[\"searchFilter2\"] = this.searchFilter2 ? this.searchFilter2.toJSON() : undefined;\r\n data[\"searchFilter3\"] = this.searchFilter3 ? this.searchFilter3.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFiltersDto {\r\n optionalFilter?: FilterDto | undefined;\r\n searchFilter1?: FilterDto | undefined;\r\n searchFilter2?: FilterDto | undefined;\r\n searchFilter3?: FilterDto | undefined;\r\n}\r\n\r\nexport class FilterDto implements IFilterDto {\r\n id!: number;\r\n name?: string | undefined;\r\n items?: FilterItemDto[] | undefined;\r\n\r\n constructor(data?: IFilterDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"items\"])) {\r\n this.items = [] as any;\r\n for (let item of _data[\"items\"])\r\n this.items!.push(FilterItemDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): FilterDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FilterDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.items)) {\r\n data[\"items\"] = [];\r\n for (let item of this.items)\r\n data[\"items\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFilterDto {\r\n id: number;\r\n name?: string | undefined;\r\n items?: FilterItemDto[] | undefined;\r\n}\r\n\r\nexport class FilterItemDto implements IFilterItemDto {\r\n id?: string | undefined;\r\n name?: string | undefined;\r\n\r\n constructor(data?: IFilterItemDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FilterItemDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FilterItemDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFilterItemDto {\r\n id?: string | undefined;\r\n name?: string | undefined;\r\n}\r\n\r\nexport class StatisticFilterInputModel implements IStatisticFilterInputModel {\r\n languageCode?: string | undefined;\r\n locationCode?: string | undefined;\r\n dateFrom!: Date;\r\n dateUntil!: Date;\r\n statisticId!: number;\r\n factoryIds?: string | undefined;\r\n\r\n constructor(data?: IStatisticFilterInputModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.languageCode = _data[\"languageCode\"];\r\n this.locationCode = _data[\"locationCode\"];\r\n this.dateFrom = _data[\"dateFrom\"] ? new Date(_data[\"dateFrom\"].toString()) : undefined;\r\n this.dateUntil = _data[\"dateUntil\"] ? new Date(_data[\"dateUntil\"].toString()) : undefined;\r\n this.statisticId = _data[\"statisticId\"];\r\n this.factoryIds = _data[\"factoryIds\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): StatisticFilterInputModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new StatisticFilterInputModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"languageCode\"] = this.languageCode;\r\n data[\"locationCode\"] = this.locationCode;\r\n data[\"dateFrom\"] = this.dateFrom ? this.dateFrom.toISOString() : undefined;\r\n data[\"dateUntil\"] = this.dateUntil ? this.dateUntil.toISOString() : undefined;\r\n data[\"statisticId\"] = this.statisticId;\r\n data[\"factoryIds\"] = this.factoryIds;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IStatisticFilterInputModel {\r\n languageCode?: string | undefined;\r\n locationCode?: string | undefined;\r\n dateFrom: Date;\r\n dateUntil: Date;\r\n statisticId: number;\r\n factoryIds?: string | undefined;\r\n}\r\n\r\nexport class GeneratedStatisticDto implements IGeneratedStatisticDto {\r\n statisticName?: string | undefined;\r\n tableHeaders?: string[] | undefined;\r\n tableRows?: TableRowDto[] | undefined;\r\n\r\n constructor(data?: IGeneratedStatisticDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.statisticName = _data[\"statisticName\"];\r\n if (Array.isArray(_data[\"tableHeaders\"])) {\r\n this.tableHeaders = [] as any;\r\n for (let item of _data[\"tableHeaders\"])\r\n this.tableHeaders!.push(item);\r\n }\r\n if (Array.isArray(_data[\"tableRows\"])) {\r\n this.tableRows = [] as any;\r\n for (let item of _data[\"tableRows\"])\r\n this.tableRows!.push(TableRowDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): GeneratedStatisticDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GeneratedStatisticDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"statisticName\"] = this.statisticName;\r\n if (Array.isArray(this.tableHeaders)) {\r\n data[\"tableHeaders\"] = [];\r\n for (let item of this.tableHeaders)\r\n data[\"tableHeaders\"].push(item);\r\n }\r\n if (Array.isArray(this.tableRows)) {\r\n data[\"tableRows\"] = [];\r\n for (let item of this.tableRows)\r\n data[\"tableRows\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IGeneratedStatisticDto {\r\n statisticName?: string | undefined;\r\n tableHeaders?: string[] | undefined;\r\n tableRows?: TableRowDto[] | undefined;\r\n}\r\n\r\nexport class TableRowDto implements ITableRowDto {\r\n columns?: string[] | undefined;\r\n\r\n constructor(data?: ITableRowDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"columns\"])) {\r\n this.columns = [] as any;\r\n for (let item of _data[\"columns\"])\r\n this.columns!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): TableRowDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TableRowDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.columns)) {\r\n data[\"columns\"] = [];\r\n for (let item of this.columns)\r\n data[\"columns\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITableRowDto {\r\n columns?: string[] | undefined;\r\n}\r\n\r\nexport class GenerateStatisticInputModel implements IGenerateStatisticInputModel {\r\n languageCode?: string | undefined;\r\n locationCode?: string | undefined;\r\n statisticId!: number;\r\n dateFrom!: Date;\r\n dateUntil!: Date;\r\n factoryIds?: number[] | undefined;\r\n optionalFilterId?: number | undefined;\r\n optionalFilter?: string[] | undefined;\r\n useSearchFilters!: boolean;\r\n searchFilter1Id?: number | undefined;\r\n searchFilter1?: string[] | undefined;\r\n searchFilter2Id?: number | undefined;\r\n searchFilter2?: string[] | undefined;\r\n searchFilter3Id?: number | undefined;\r\n searchFilter3?: string[] | undefined;\r\n statisticType!: StatisticTypeDto;\r\n\r\n constructor(data?: IGenerateStatisticInputModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.languageCode = _data[\"languageCode\"];\r\n this.locationCode = _data[\"locationCode\"];\r\n this.statisticId = _data[\"statisticId\"];\r\n this.dateFrom = _data[\"dateFrom\"] ? new Date(_data[\"dateFrom\"].toString()) : undefined;\r\n this.dateUntil = _data[\"dateUntil\"] ? new Date(_data[\"dateUntil\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"factoryIds\"])) {\r\n this.factoryIds = [] as any;\r\n for (let item of _data[\"factoryIds\"])\r\n this.factoryIds!.push(item);\r\n }\r\n this.optionalFilterId = _data[\"optionalFilterId\"];\r\n if (Array.isArray(_data[\"optionalFilter\"])) {\r\n this.optionalFilter = [] as any;\r\n for (let item of _data[\"optionalFilter\"])\r\n this.optionalFilter!.push(item);\r\n }\r\n this.useSearchFilters = _data[\"useSearchFilters\"];\r\n this.searchFilter1Id = _data[\"searchFilter1Id\"];\r\n if (Array.isArray(_data[\"searchFilter1\"])) {\r\n this.searchFilter1 = [] as any;\r\n for (let item of _data[\"searchFilter1\"])\r\n this.searchFilter1!.push(item);\r\n }\r\n this.searchFilter2Id = _data[\"searchFilter2Id\"];\r\n if (Array.isArray(_data[\"searchFilter2\"])) {\r\n this.searchFilter2 = [] as any;\r\n for (let item of _data[\"searchFilter2\"])\r\n this.searchFilter2!.push(item);\r\n }\r\n this.searchFilter3Id = _data[\"searchFilter3Id\"];\r\n if (Array.isArray(_data[\"searchFilter3\"])) {\r\n this.searchFilter3 = [] as any;\r\n for (let item of _data[\"searchFilter3\"])\r\n this.searchFilter3!.push(item);\r\n }\r\n this.statisticType = _data[\"statisticType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): GenerateStatisticInputModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GenerateStatisticInputModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"languageCode\"] = this.languageCode;\r\n data[\"locationCode\"] = this.locationCode;\r\n data[\"statisticId\"] = this.statisticId;\r\n data[\"dateFrom\"] = this.dateFrom ? this.dateFrom.toISOString() : undefined;\r\n data[\"dateUntil\"] = this.dateUntil ? this.dateUntil.toISOString() : undefined;\r\n if (Array.isArray(this.factoryIds)) {\r\n data[\"factoryIds\"] = [];\r\n for (let item of this.factoryIds)\r\n data[\"factoryIds\"].push(item);\r\n }\r\n data[\"optionalFilterId\"] = this.optionalFilterId;\r\n if (Array.isArray(this.optionalFilter)) {\r\n data[\"optionalFilter\"] = [];\r\n for (let item of this.optionalFilter)\r\n data[\"optionalFilter\"].push(item);\r\n }\r\n data[\"useSearchFilters\"] = this.useSearchFilters;\r\n data[\"searchFilter1Id\"] = this.searchFilter1Id;\r\n if (Array.isArray(this.searchFilter1)) {\r\n data[\"searchFilter1\"] = [];\r\n for (let item of this.searchFilter1)\r\n data[\"searchFilter1\"].push(item);\r\n }\r\n data[\"searchFilter2Id\"] = this.searchFilter2Id;\r\n if (Array.isArray(this.searchFilter2)) {\r\n data[\"searchFilter2\"] = [];\r\n for (let item of this.searchFilter2)\r\n data[\"searchFilter2\"].push(item);\r\n }\r\n data[\"searchFilter3Id\"] = this.searchFilter3Id;\r\n if (Array.isArray(this.searchFilter3)) {\r\n data[\"searchFilter3\"] = [];\r\n for (let item of this.searchFilter3)\r\n data[\"searchFilter3\"].push(item);\r\n }\r\n data[\"statisticType\"] = this.statisticType;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IGenerateStatisticInputModel {\r\n languageCode?: string | undefined;\r\n locationCode?: string | undefined;\r\n statisticId: number;\r\n dateFrom: Date;\r\n dateUntil: Date;\r\n factoryIds?: number[] | undefined;\r\n optionalFilterId?: number | undefined;\r\n optionalFilter?: string[] | undefined;\r\n useSearchFilters: boolean;\r\n searchFilter1Id?: number | undefined;\r\n searchFilter1?: string[] | undefined;\r\n searchFilter2Id?: number | undefined;\r\n searchFilter2?: string[] | undefined;\r\n searchFilter3Id?: number | undefined;\r\n searchFilter3?: string[] | undefined;\r\n statisticType: StatisticTypeDto;\r\n}\r\n\r\nexport enum StatisticTypeDto {\r\n Undefined = \"Undefined\",\r\n MitZwischensummen = \"MitZwischensummen\",\r\n OhneZwischensummen = \"OhneZwischensummen\",\r\n Saldiert = \"Saldiert\",\r\n}\r\n\r\n/** Specifies the meaning and relative importance of a log event. */\r\nexport enum LogEventLevel {\r\n Verbose = \"Verbose\",\r\n Debug = \"Debug\",\r\n Information = \"Information\",\r\n Warning = \"Warning\",\r\n Error = \"Error\",\r\n Fatal = \"Fatal\",\r\n}\r\n\r\nexport class SwaggerException extends Error {\r\n message: string;\r\n status: number;\r\n response: string;\r\n headers: { [key: string]: any; };\r\n result: any;\r\n\r\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\r\n super();\r\n\r\n this.message = message;\r\n this.status = status;\r\n this.response = response;\r\n this.headers = headers;\r\n this.result = result;\r\n }\r\n\r\n protected isSwaggerException = true;\r\n\r\n static isSwaggerException(obj: any): obj is SwaggerException {\r\n return obj.isSwaggerException === true;\r\n }\r\n}\r\n\r\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): Observable {\r\n if (result !== null && result !== undefined)\r\n return _observableThrow(result);\r\n else\r\n return _observableThrow(new SwaggerException(message, status, response, headers, null));\r\n}\r\n\r\nfunction blobToText(blob: any): Observable {\r\n return new Observable((observer: any) => {\r\n if (!blob) {\r\n observer.next(\"\");\r\n observer.complete();\r\n } else {\r\n let reader = new FileReader();\r\n reader.onload = event => {\r\n observer.next((event.target).result);\r\n observer.complete();\r\n };\r\n reader.readAsText(blob);\r\n }\r\n });\r\n}\r\n","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\";","export default \"div.name-wrapper {\\n font-size: 22px;\\n padding: 1px 25px;\\n cursor: pointer;\\n background-color: rgba(209, 209, 209, 0.55);\\n border-radius: 30px;\\n}\\n\\ndiv.name-wrapper:hover {\\n background-color: #3c434d;\\n color: white;\\n}\\n\\nspan.name-icon {\\n font-size: 18px;\\n margin-top: 6px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbGF5b3V0L3BhYXJpLW11bHRpbGFuZ3VhZ2UtbmFtZS9wYWFyaS1tdWx0aWxhbmd1YWdlLW5hbWUuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxlQUFBO0VBQ0EsMkNBQUE7RUFDQSxtQkFBQTtBQUNKOztBQUVBO0VBQ0kseUJBQUE7RUFDQSxZQUFBO0FBQ0o7O0FBRUE7RUFDSSxlQUFBO0VBQ0EsZUFBQTtBQUNKIiwiZmlsZSI6InNyYy9hcHAvbGF5b3V0L3BhYXJpLW11bHRpbGFuZ3VhZ2UtbmFtZS9wYWFyaS1tdWx0aWxhbmd1YWdlLW5hbWUuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJkaXYubmFtZS13cmFwcGVyIHtcclxuICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgIHBhZGRpbmc6IDFweCAyNXB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDksIDIwOSwgMjA5LCAwLjU1KTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XHJcbn1cclxuXHJcbmRpdi5uYW1lLXdyYXBwZXI6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNjNDM0ZDtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxufVxyXG5cclxuc3Bhbi5uYW1lLWljb24ge1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgbWFyZ2luLXRvcDogNnB4O1xyXG59XHJcbiJdfQ== */\";","import { AfterViewInit, Component, DoCheck, Input, IterableDiffers, OnChanges, OnDestroy, SimpleChanges, ViewChild } from '@angular/core';\r\nimport { DataTableDirective } from 'angular-datatables';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'paari-table',\r\n templateUrl: './paari-table.component.html',\r\n styleUrls: ['./paari-table.component.scss']\r\n})\r\nexport class PaariTableComponent implements OnDestroy, AfterViewInit, OnChanges, DoCheck {\r\n dtTrigger: Subject = new Subject();\r\n iterableDiffer: any;\r\n isBeingReinitialized = false;\r\n @Input() id!: string;\r\n @Input() dtOptions: any;\r\n @Input() sourceArray!: any[];\r\n @Input() localArray!: any[];\r\n @ViewChild(DataTableDirective, { static: true }) dtElement!: DataTableDirective;\r\n\r\n constructor(private iterableDiffers: IterableDiffers) { }\r\n\r\n ngOnDestroy(): void {\r\n this.dtTrigger.unsubscribe();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.dtTrigger.next(null);\r\n this.iterableDiffer = this.iterableDiffers.find([]).create();\r\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\r\n dtInstance.columns.adjust();\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['sourceArray']) {\r\n if (!changes['sourceArray'].previousValue && changes['sourceArray'].currentValue) {\r\n this.setTableModel(this.sourceArray);\r\n }\r\n if (!changes['sourceArray'].firstChange && changes['sourceArray'] && changes['sourceArray'].currentValue) {\r\n this.rerender();\r\n }\r\n }\r\n }\r\n\r\n ngDoCheck(): void {\r\n if (this.iterableDiffer) {\r\n if (this.iterableDiffer.diff(this.sourceArray)) {\r\n this.rerender();\r\n }\r\n }\r\n }\r\n\r\n rerender() {\r\n if (!this.isBeingReinitialized) {\r\n this.isBeingReinitialized = true;\r\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\r\n dtInstance.destroy();\r\n this.setTableModel(this.sourceArray);\r\n this.dtTrigger.next(null);\r\n this.isBeingReinitialized = false;\r\n });\r\n }\r\n }\r\n\r\n setTableModel(model: any[]) {\r\n const array = this.localArray;\r\n array.splice(0, array.length);\r\n model.forEach(m => array.push(m));\r\n }\r\n}\r\n","/* (ignored) */","export default \":host .form-group input[type=checkbox] {\\n display: none;\\n}\\n\\n:host .form-group input[type=checkbox] + .btn-group > label span {\\n width: 20px;\\n}\\n\\n:host .form-group input[type=checkbox] + .btn-group > label span:first-child {\\n display: none;\\n}\\n\\n:host .form-group input[type=checkbox] + .btn-group > label span:last-child {\\n display: inline-block;\\n}\\n\\n:host .form-group input[type=checkbox]:checked + .btn-group > label span:first-child {\\n display: inline-block;\\n}\\n\\n:host .form-group input[type=checkbox]:checked + .btn-group > label span:last-child {\\n display: none;\\n}\\n\\n:host .text-label {\\n position: relative;\\n margin-bottom: 0px;\\n margin-bottom: -40px;\\n}\\n\\n:host .bottom-space {\\n margin-bottom: 25px;\\n}\\n\\n:host .form-group {\\n display: block;\\n}\\n\\n:host .form-group .btn-group {\\n width: 100%;\\n}\\n\\n:host .checkbox-button {\\n width: 100%;\\n height: 39px;\\n border-radius: 15px !important;\\n}\\n\\n:host .glyphicon {\\n top: 3px;\\n}\\n\\n:host input:disabled + div > label.checkbox-button:hover {\\n cursor: not-allowed !important;\\n}\\n\\n@media (min-width: 768px) {\\n :host .form-group {\\n margin-top: 8px;\\n margin-bottom: 0px;\\n }\\n\\n :host .text-label {\\n padding: 8px 15px;\\n background-color: #dcdcdb;\\n border: none;\\n border-radius: 15px 0 0 15px;\\n height: 39px;\\n width: calc(100% - 50px);\\n }\\n\\n :host .text-label:hover {\\n cursor: pointer;\\n }\\n\\n :host input:disabled + div > label.text-label {\\n background-color: #eee !important;\\n }\\n\\n :host input:disabled + div > label.text-label:hover {\\n cursor: not-allowed !important;\\n }\\n\\n :host .checkbox-button {\\n width: 50px;\\n float: right;\\n border-radius: 0 15px 15px 0 !important;\\n }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbGF5b3V0L2lucHV0cy9wYWFyaS1pbnB1dC1jaGVja2JveC9wYWFyaS1pbnB1dC1jaGVja2JveC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGFBQUE7QUFDRjs7QUFFQTtFQUNFLFdBQUE7QUFDRjs7QUFFQTtFQUNFLGFBQUE7QUFDRjs7QUFFQTtFQUNFLHFCQUFBO0FBQ0Y7O0FBRUE7RUFDRSxxQkFBQTtBQUNGOztBQUVBO0VBQ0UsYUFBQTtBQUNGOztBQUVBO0VBQ0Usa0JBQUE7RUFDQSxrQkFBQTtFQUNBLG9CQUFBO0FBQ0Y7O0FBRUE7RUFDRSxtQkFBQTtBQUNGOztBQUVBO0VBQ0UsY0FBQTtBQUNGOztBQUVBO0VBQ0UsV0FBQTtBQUNGOztBQUVBO0VBQ0UsV0FBQTtFQUNBLFlBQUE7RUFDQSw4QkFBQTtBQUNGOztBQUVBO0VBQ0UsUUFBQTtBQUNGOztBQUVBO0VBQ0UsOEJBQUE7QUFDRjs7QUFHQTtFQUNFO0lBQ0UsZUFBQTtJQUNBLGtCQUFBO0VBQUY7O0VBR0E7SUFDRSxpQkFBQTtJQUNBLHlCQUFBO0lBQ0EsWUFBQTtJQUNBLDRCQUFBO0lBQ0EsWUFBQTtJQUNBLHdCQUFBO0VBQUY7O0VBR0E7SUFDRSxlQUFBO0VBQUY7O0VBR0E7SUFDRSxpQ0FBQTtFQUFGOztFQUdBO0lBQ0UsOEJBQUE7RUFBRjs7RUFHQTtJQUNFLFdBQUE7SUFDQSxZQUFBO0lBQ0EsdUNBQUE7RUFBRjtBQUNGIiwiZmlsZSI6InNyYy9hcHAvbGF5b3V0L2lucHV0cy9wYWFyaS1pbnB1dC1jaGVja2JveC9wYWFyaS1pbnB1dC1jaGVja2JveC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IC5mb3JtLWdyb3VwIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuOmhvc3QgLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgLmJ0bi1ncm91cCA+IGxhYmVsIHNwYW4ge1xyXG4gIHdpZHRoOiAyMHB4O1xyXG59XHJcblxyXG46aG9zdCAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyAuYnRuLWdyb3VwID4gbGFiZWwgc3BhbjpmaXJzdC1jaGlsZCB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuOmhvc3QgLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgLmJ0bi1ncm91cCA+IGxhYmVsIHNwYW46bGFzdC1jaGlsZCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcblxyXG46aG9zdCAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIC5idG4tZ3JvdXAgPiBsYWJlbCBzcGFuOmZpcnN0LWNoaWxkIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuXHJcbjpob3N0IC5mb3JtLWdyb3VwIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgLmJ0bi1ncm91cCA+IGxhYmVsIHNwYW46bGFzdC1jaGlsZCB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuOmhvc3QgLnRleHQtbGFiZWwge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogLTQwcHg7XHJcbn1cclxuXHJcbjpob3N0IC5ib3R0b20tc3BhY2Uge1xyXG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbn1cclxuXHJcbjpob3N0IC5mb3JtLWdyb3VwIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuOmhvc3QgLmZvcm0tZ3JvdXAgLmJ0bi1ncm91cCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbjpob3N0IC5jaGVja2JveC1idXR0b24ge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMzlweDtcclxuICBib3JkZXItcmFkaXVzOiAxNXB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbjpob3N0IC5nbHlwaGljb24ge1xyXG4gIHRvcDogM3B4O1xyXG59XHJcblxyXG46aG9zdCBpbnB1dDpkaXNhYmxlZCArIGRpdiA+IGxhYmVsLmNoZWNrYm94LWJ1dHRvbjpob3ZlciB7XHJcbiAgY3Vyc29yOiBub3QtYWxsb3dlZCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgOmhvc3QgLmZvcm0tZ3JvdXAge1xyXG4gICAgbWFyZ2luLXRvcDogOHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG4gIH1cclxuXHJcbiAgOmhvc3QgLnRleHQtbGFiZWwge1xyXG4gICAgcGFkZGluZzogOHB4IDE1cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGNkY2RiO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTVweCAwIDAgMTVweDtcclxuICAgIGhlaWdodDogMzlweDtcclxuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1MHB4KTtcclxuICB9XHJcblxyXG4gIDpob3N0IC50ZXh0LWxhYmVsOmhvdmVyIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcblxyXG4gIDpob3N0IGlucHV0OmRpc2FibGVkICsgZGl2ID4gbGFiZWwudGV4dC1sYWJlbCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICA6aG9zdCBpbnB1dDpkaXNhYmxlZCArIGRpdiA+IGxhYmVsLnRleHQtbGFiZWw6aG92ZXIge1xyXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgOmhvc3QgLmNoZWNrYm94LWJ1dHRvbiB7XHJcbiAgICB3aWR0aDogNTBweDtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAgMTVweCAxNXB4IDAgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuIl19 */\";","import { Injectable } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { LangChangeEvent, TranslateService } from '@ngx-translate/core';\r\nimport { cloneDeep } from 'lodash';\r\nimport { AddTranslationModel } from '../models/add-translation.model';\r\nimport { TranslationModel } from '../models/translation.model';\r\nimport { ConfigService } from './config.service';\r\n\r\n@Injectable()\r\nexport class LanguageService {\r\n private addedTranslations: AddTranslationModel[] = [];\r\n\r\n constructor(\r\n private translateService: TranslateService,\r\n private configService: ConfigService,\r\n private titleService: Title,\r\n ) {\r\n this.translateService.onLangChange.subscribe((event: LangChangeEvent) => {\r\n this.reloadTranslations(event.lang);\r\n });\r\n }\r\n\r\n currentLanguage(): string {\r\n return this.translateService.currentLang;\r\n }\r\n\r\n changeLanguage(language: string) {\r\n if (this.translateService.langs.indexOf(language) !== -1) {\r\n this.translateService.use(language).subscribe(() => {\r\n this.setDocumentTitle();\r\n });\r\n }\r\n }\r\n\r\n setDocumentTitle() {\r\n const title = this.translateService.instant('TopNav.DocumentTitle');\r\n this.titleService.setTitle(title);\r\n }\r\n\r\n configureLanguages(availableLanguages: string[], defaultLanguage: string): void {\r\n this.translateService.addLangs(availableLanguages);\r\n this.translateService.setDefaultLang(defaultLanguage);\r\n }\r\n\r\n startup(): void {\r\n let language = this.configService.language?.toLowerCase() ?? this.translateService.getBrowserLang();\r\n\r\n if (this.translateService.langs.indexOf(language) === -1) {\r\n language = this.translateService.langs.find((x: any) => x) || 'en';\r\n }\r\n\r\n if (language) {\r\n this.translateService.use(language).subscribe(() => {\r\n this.setDocumentTitle();\r\n });\r\n }\r\n }\r\n\r\n addOrUpdateCustomTranslation(inputModel: AddTranslationModel) {\r\n const existing = this.addedTranslations.findIndex(e => e.key === inputModel.key);\r\n const newTranslation = cloneDeep(inputModel);\r\n if (existing >= 0) {\r\n this.addedTranslations.splice(existing, 1);\r\n }\r\n this.addedTranslations.push(newTranslation);\r\n }\r\n\r\n afterAddingCustomTranslations() {\r\n this.reloadTranslations(this.currentLanguage());\r\n }\r\n\r\n private reloadTranslations(language: string) {\r\n this.addedTranslations.forEach((customTranslation: AddTranslationModel) => {\r\n this.setTranslationToCurrentLang(customTranslation, language);\r\n });\r\n }\r\n\r\n private findTranslation(model: TranslationModel, lang: string): boolean {\r\n return model.languageCode.toLowerCase() === lang.toLowerCase();\r\n }\r\n\r\n private setTranslationToCurrentLang(inputModel: AddTranslationModel, lang: string) {\r\n let translation = inputModel.translations.find((t: TranslationModel) =>\r\n this.findTranslation(t, lang)\r\n );\r\n\r\n if (translation) {\r\n if (!translation.added) {\r\n translation.added = true;\r\n this.translateService.set(inputModel.key, translation.name!, lang);\r\n }\r\n } else {\r\n translation = inputModel.translations.find((x: any) => x);\r\n if (translation) {\r\n this.translateService.set(inputModel.key, translation.name!, lang);\r\n }\r\n }\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvcmUvY29tcG9uZW50cy9jaGFuZ2UtdHJhY2tlci9jaGFuZ2UtdHJhY2tlci5jb21wb25lbnQuc2NzcyJ9 */\";","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2xheW91dC9wYWFyaS1ib29sLWNoZWNrLWRpc3BsYXkvcGFhcmktYm9vbC1jaGVjay1kaXNwbGF5LmNvbXBvbmVudC5zY3NzIn0= */\";","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-top-nav-logo-button',\r\n templateUrl: './top-nav-logo-button.component.html',\r\n styleUrls: ['./top-nav-logo-button.component.scss']\r\n})\r\nexport class TopNavLogoButtonComponent {\r\n\r\n @Input() logoUri!: string;\r\n}\r\n","import { Injectable, OnDestroy } from '@angular/core';\r\nimport { AngularFireMessaging } from '@angular/fire/messaging';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { fromEvent, Subject, timer } from 'rxjs';\r\nimport { filter, skip, takeUntil, withLatestFrom } from 'rxjs/operators';\r\nimport { PushClient } from 'src/app/shared/generated/NotificationClient';\r\nimport { ToastService } from 'src/app/shared/services/toast.service';\r\nimport * as fromShared from 'src/app/shared/state';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FirebaseService implements OnDestroy {\r\n\r\n isLoading = false;\r\n\r\n private readonly _destroyed = new Subject();\r\n private readonly _background$ = fromEvent(new BroadcastChannel('firebase'), 'message');\r\n private readonly _foreground$ = this.messaging.messages;\r\n private readonly _permissions$ = this.store.pipe(\r\n select(fromShared.getPushNotfications),\r\n takeUntil(this._destroyed)\r\n );\r\n\r\n private readonly _refresh$ = timer(5000, 43200000).pipe(\r\n withLatestFrom(this._permissions$),\r\n filter(([, permissions]) => permissions === true),\r\n takeUntil(this._destroyed)\r\n );\r\n\r\n private readonly _change$ = this._permissions$.pipe(\r\n skip(1), takeUntil(this._destroyed)\r\n );\r\n\r\n constructor(\r\n private store: Store,\r\n private messaging: AngularFireMessaging,\r\n private toast: ToastService,\r\n private client: PushClient,\r\n ) {\r\n this._background$.subscribe((payload: any) => this._handleMessage(payload.data, false));\r\n this._foreground$.subscribe((message: any) => this._handleMessage(message, true));\r\n this._refresh$.subscribe(() => this._updateDeviceToken());\r\n this._change$.subscribe(permissions => {\r\n return permissions ? this._requestDeviceToken() : this._deleteDeviceToken();\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._destroyed.next();\r\n this._destroyed.complete();\r\n }\r\n\r\n private _requestDeviceToken(): void {\r\n this.isLoading = true;\r\n this.messaging.requestToken\r\n .pipe(takeUntil(this._destroyed))\r\n .subscribe(\r\n (token) => {\r\n this._updateToken(token);\r\n this.isLoading = false;\r\n },\r\n (error) => {\r\n console.error(error);\r\n this.isLoading = false;\r\n }\r\n );\r\n }\r\n\r\n private _updateDeviceToken(): void {\r\n this.messaging.getToken.subscribe(\r\n (token) => this._updateToken(token),\r\n (error) => console.error(error)\r\n );\r\n }\r\n\r\n\r\n private _deleteDeviceToken(): void {\r\n this.messaging.getToken.subscribe(\r\n (token) => this._deleteToken(token),\r\n (error) => console.error(error)\r\n );\r\n }\r\n\r\n private _updateToken(token: string | null): void {\r\n if (token) {\r\n this.client.updateToken(token)\r\n .pipe(takeUntil(this._destroyed))\r\n .subscribe();\r\n }\r\n }\r\n\r\n private _deleteToken(token: string | null): void {\r\n if (token) {\r\n this.client.deleteToken(token)\r\n .pipe(takeUntil(this._destroyed))\r\n .subscribe();\r\n }\r\n }\r\n\r\n private _handleMessage(message: any, foreground: boolean): void {\r\n this.toast.push(message.notification.body, message.notification.title, foreground);\r\n }\r\n}\r\n","/* (ignored) */","export default \"\";","import { Injectable } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { NotificationType } from 'src/app/core/models/notification.model';\r\nimport { NotificationService } from 'src/app/core/services/notification.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ToastService {\r\n\r\n constructor(\r\n private translateService: TranslateService,\r\n private toastr: ToastrService,\r\n private notificationService: NotificationService\r\n ) { }\r\n\r\n success(message: string) {\r\n this.toastr.success(this.translateService.instant(message), this.translateService.instant('Alerts.Success'));\r\n this.notificationService.addToastNotification('Alerts.Success', message, 'check_circle', NotificationType.ToastSuccess);\r\n }\r\n\r\n error(message: string) {\r\n this.toastr.error(this.translateService.instant(message), this.translateService.instant('Alerts.Error'));\r\n this.notificationService.addToastNotification('Alerts.Error', message, 'cancel', NotificationType.ToastError);\r\n }\r\n\r\n warning(message: string) {\r\n this.toastr.warning(this.translateService.instant(message), this.translateService.instant('Alerts.Warning'));\r\n this.notificationService.addToastNotification('Alerts.Warning', message, 'warning', NotificationType.ToastWarning);\r\n }\r\n\r\n info(message: string) {\r\n this.toastr.info(this.translateService.instant(message), this.translateService.instant('Alerts.Info'));\r\n this.notificationService.addToastNotification('Alerts.Info', message, 'info', NotificationType.ToastInfo);\r\n }\r\n\r\n push(message: string, title: string, foreground: boolean) {\r\n if (foreground) {\r\n this.toastr.info(message, title, { disableTimeOut: true });\r\n }\r\n\r\n this.notificationService.addToastNotification(title, message, 'info', NotificationType.ToastInfo);\r\n }\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n ViewChild\r\n} from \"@angular/core\";\r\nimport { ValidatorModel } from \"../../shared/validator.model\";\r\nimport { BaseInputComponent } from \"../paari-base-input/base-input.component\";\r\n\r\n@Component({\r\n selector: \"paari-input-timepicker\",\r\n templateUrl: \"./paari-input-timepicker.component.html\",\r\n styleUrls: [\"./paari-input-timepicker.component.scss\"]\r\n})\r\n/** paari-input-timepicker component*/\r\nexport class PaariInputTimepickerComponent implements BaseInputComponent {\r\n @Input() id!: string;\r\n @Input() label!: string;\r\n @Input() bottomSpace!: string;\r\n @Input() validators!: ValidatorModel[];\r\n @Input() disabled: boolean = false;\r\n @Input() step!: number;\r\n @ViewChild(\"inputField\", { static: true }) inputField!: ElementRef;\r\n public formGroupValid: boolean = true;\r\n private _model!: string;\r\n\r\n @Output() modelChange = new EventEmitter();\r\n @Input(\"model\")\r\n set model(value: string) {\r\n if (this._model == value) return;\r\n this._model = value;\r\n this.modelChange.emit(this._model);\r\n if (this.inputField.nativeElement.classList.contains(\"ng-touched\")) {\r\n this.validateForm();\r\n }\r\n }\r\n get model() {\r\n return this._model;\r\n }\r\n\r\n public validateForm() {\r\n let classesList = this.inputField.nativeElement.classList;\r\n if (classesList.contains(\"ng-untouched\")) {\r\n classesList.remove(\"ng-untouched\");\r\n classesList.add(\"ng-touched\");\r\n this.validateForm();\r\n }\r\n let result: boolean = true;\r\n if (this.validators != null) {\r\n this.validators.forEach(validator => {\r\n if (!validator.validate(this.model)) {\r\n result = false;\r\n }\r\n });\r\n }\r\n this.formGroupValid = result;\r\n return result;\r\n }\r\n isDirty(): boolean {\r\n return this.inputField.nativeElement.classList.contains(\"ng-dirty\");\r\n }\r\n}\r\n","import { AfterViewInit, Component, OnDestroy, OnInit, ViewChild } from '@angular/core';\r\nimport { MatMenu } from '@angular/material/menu';\r\nimport { MatSlideToggleChange } from '@angular/material/slide-toggle';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { NotificationType } from 'src/app/core/models/notification.model';\r\nimport { FirebaseService } from 'src/app/core/services/firebase.service';\r\nimport { NotificationService } from 'src/app/core/services/notification.service';\r\nimport * as fromShared from 'src/app/shared/state';\r\nimport * as sharedActions from 'src/app/shared/state/shared.actions';\r\n\r\n@Component({\r\n selector: 'app-top-nav-notification-button',\r\n templateUrl: './top-nav-notification-button.component.html',\r\n styleUrls: ['./top-nav-notification-button.component.scss']\r\n})\r\nexport class TopNavNotificationButtonComponent implements OnInit, AfterViewInit, OnDestroy {\r\n\r\n @ViewChild('notificationMenu') notificationMenu!: MatMenu;\r\n\r\n notificationTypes: typeof NotificationType = NotificationType;\r\n pushNotifications = this.store.pipe(select(fromShared.getPushNotfications));\r\n\r\n constructor(\r\n private store: Store,\r\n public notificationService: NotificationService,\r\n public firebaseService: FirebaseService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n setTimeout(() => {\r\n this.notificationService.startNotifications();\r\n }, 5000);\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.notificationMenu.overlayPanelClass = 'notification-overlay-panel';\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.notificationService.clearNotifications();\r\n }\r\n\r\n markNotificationsAsRead(): void {\r\n this.notificationService.markAllAsRead();\r\n }\r\n\r\n onToggleChange(event: MatSlideToggleChange): void {\r\n this.store.dispatch(new sharedActions.SetPushNotifications(event.checked));\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-side-nav-menu-item',\r\n templateUrl: './side-nav-menu-item.component.html',\r\n styleUrls: ['./side-nav-menu-item.component.scss']\r\n})\r\nexport class SideNavMenuItemComponent {\r\n\r\n @Input() name!: string;\r\n @Input() isSubItem!: boolean;\r\n @Input() isActiveLink!: boolean;\r\n}\r\n","export default \"
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
{{validator.errorMessage\\r\\n | translate}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\";","export default \"
\";","export default \"\\r\\n \\r\\n {{ name | translate }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\";","import { A11yModule } from '@angular/cdk/a11y';\r\nimport { ClipboardModule } from '@angular/cdk/clipboard';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\nimport { PortalModule } from '@angular/cdk/portal';\r\nimport { ScrollingModule } from '@angular/cdk/scrolling';\r\nimport { CdkStepperModule } from '@angular/cdk/stepper';\r\nimport { CdkTableModule } from '@angular/cdk/table';\r\nimport { CdkTreeModule } from '@angular/cdk/tree';\r\nimport { NgModule } from '@angular/core';\r\nimport { MatMomentDateModule } from '@angular/material-moment-adapter';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatBadgeModule } from '@angular/material/badge';\r\nimport { MatBottomSheetModule } from '@angular/material/bottom-sheet';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { DateAdapter, MAT_DATE_FORMATS, MatNativeDateModule, MatRippleModule } from '@angular/material/core';\r\nimport { MatDatepickerIntl, MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MAT_DIALOG_DEFAULT_OPTIONS, MatDialogModule } from '@angular/material/dialog';\r\nimport { MatDividerModule } from '@angular/material/divider';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { MatSliderModule } from '@angular/material/slider';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { CustomDateAdapter } from './material/custom-date-adapter';\r\nimport { CUSTOM_DATE_FORMATS } from './material/custom-date-formats';\r\nimport { CustomDatepickerIntl } from './material/custom-datepicker-intl';\r\n\r\n@NgModule({\r\n providers: [\r\n {\r\n provide: MAT_DIALOG_DEFAULT_OPTIONS,\r\n useValue: {\r\n autoFocus: false,\r\n hasBackdrop: true,\r\n panelClass: 'paari-dialog'\r\n }\r\n },\r\n {\r\n provide: MAT_DATE_FORMATS,\r\n useValue: CUSTOM_DATE_FORMATS\r\n },\r\n {\r\n provide: DateAdapter,\r\n deps: [TranslateService],\r\n useClass: CustomDateAdapter\r\n },\r\n {\r\n provide: MatDatepickerIntl,\r\n deps: [TranslateService],\r\n useClass: CustomDatepickerIntl\r\n },\r\n ],\r\n exports: [\r\n A11yModule,\r\n CdkStepperModule,\r\n CdkTableModule,\r\n CdkTreeModule,\r\n ClipboardModule,\r\n DragDropModule,\r\n MatAutocompleteModule,\r\n MatBadgeModule,\r\n MatBottomSheetModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatDividerModule,\r\n MatExpansionModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatMomentDateModule,\r\n MatNativeDateModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatStepperModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatTreeModule,\r\n OverlayModule,\r\n PortalModule,\r\n ScrollingModule\r\n ]\r\n})\r\nexport class MaterialModule { }\r\n","export default \"\";","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2xheW91dC9tb2RhbHMvY29uZmlybS1kZWxldGUtbW9kYWwvY29uZmlybS1kZWxldGUtbW9kYWwuY29tcG9uZW50LnNjc3MifQ== */\";","export default \"input {\\n width: 100%;\\n padding: 8px 15px;\\n background-color: #dcdcdb;\\n border: none;\\n border-radius: 15px;\\n height: 39px;\\n}\\n\\nlabel {\\n position: relative;\\n margin-bottom: 0px;\\n margin-bottom: -40px;\\n}\\n\\n.bottom-space {\\n margin-bottom: 25px;\\n}\\n\\n.ng-touched.form-invalid {\\n border-color: rgba(238, 95, 91, 0.8);\\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(238, 95, 91, 0.6);\\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(238, 95, 91, 0.6);\\n outline: 0 none;\\n}\\n\\n.validation-error-alert {\\n margin-top: 10px;\\n border-radius: 15px;\\n line-height: 1.4em;\\n}\\n\\n@media (min-width: 768px) {\\n label {\\n top: 24px;\\n left: 15px;\\n }\\n\\n input {\\n text-indent: 50px;\\n }\\n}\\n\\n@media screen and (min-width: 768px) and (min--moz-device-pixel-ratio: 0) {\\n input {\\n text-indent: 100px;\\n }\\n}\\n\\n@media (min-width: 768px) {\\n .form-group {\\n line-height: 10px;\\n margin-bottom: 0px;\\n }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbGF5b3V0L2lucHV0cy9wYWFyaS1pbnB1dC1kYXRlcGlja2VyL3BhYXJpLWlucHV0LWRhdGVwaWNrZXIuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxXQUFBO0VBQ0EsaUJBQUE7RUFDQSx5QkFBQTtFQUNBLFlBQUE7RUFDQSxtQkFBQTtFQUNBLFlBQUE7QUFDRjs7QUFFQTtFQUNFLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxvQkFBQTtBQUNGOztBQUVBO0VBQ0UsbUJBQUE7QUFDRjs7QUFFQTtFQUNFLG9DQUFBO0VBQ0Esd0ZBQUE7VUFBQSxnRkFBQTtFQUNBLGVBQUE7QUFDRjs7QUFFQTtFQUNFLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtBQUNGOztBQUVBO0VBRUU7SUFDRSxTQUFBO0lBQ0EsVUFBQTtFQUFGOztFQUdBO0lBQ0UsaUJBQUE7RUFBRjtBQUNGOztBQUNJO0VBSEY7SUFJSSxrQkFBQTtFQUVKO0FBQ0Y7O0FBZEE7RUFlRTtJQUNFLGlCQUFBO0lBQ0Esa0JBQUE7RUFFRjtBQUNGIiwiZmlsZSI6InNyYy9hcHAvbGF5b3V0L2lucHV0cy9wYWFyaS1pbnB1dC1kYXRlcGlja2VyL3BhYXJpLWlucHV0LWRhdGVwaWNrZXIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJpbnB1dCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgcGFkZGluZzogOHB4IDE1cHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjZGNkYjtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgYm9yZGVyLXJhZGl1czogMTVweDtcclxuICBoZWlnaHQ6IDM5cHg7XHJcbn1cclxuXHJcbmxhYmVsIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IC00MHB4O1xyXG59XHJcblxyXG4uYm90dG9tLXNwYWNlIHtcclxuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG59XHJcblxyXG4ubmctdG91Y2hlZC5mb3JtLWludmFsaWQge1xyXG4gIGJvcmRlci1jb2xvcjogcmdiYSgyMzgsIDk1LCA5MSwgLjgpO1xyXG4gIGJveC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KSBpbnNldCwgMCAwIDhweCByZ2JhKDIzOCwgOTUsIDkxLCAuNik7XHJcbiAgb3V0bGluZTogMCBub25lO1xyXG59XHJcblxyXG4udmFsaWRhdGlvbi1lcnJvci1hbGVydCB7XHJcbiAgbWFyZ2luLXRvcDogMTBweDtcclxuICBib3JkZXItcmFkaXVzOiAxNXB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjRlbTtcclxufVxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcblxyXG4gIGxhYmVsIHtcclxuICAgIHRvcDogMjRweDtcclxuICAgIGxlZnQ6IDE1cHg7XHJcbiAgfVxyXG5cclxuICBpbnB1dCB7XHJcbiAgICB0ZXh0LWluZGVudDogNTBweDtcclxuXHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAwKSB7XHJcbiAgICAgIHRleHQtaW5kZW50OiAxMDBweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5mb3JtLWdyb3VwIHtcclxuICAgIGxpbmUtaGVpZ2h0OiAxMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG4gIH1cclxuXHJcbn1cclxuIl19 */\";","export default \"
\\r\\n
\\r\\n {{ message | translate }}\\r\\n
\\r\\n
\";","export default \"input {\\n width: 100%;\\n padding: 8px 15px;\\n background-color: #dcdcdb;\\n border: none;\\n border-radius: 15px;\\n height: 39px;\\n}\\n\\nlabel {\\n position: relative;\\n margin-bottom: 0px;\\n margin-bottom: -40px;\\n}\\n\\n.bottom-space {\\n margin-bottom: 25px;\\n}\\n\\n.ng-touched.form-invalid {\\n border-color: rgba(238, 95, 91, 0.8);\\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(238, 95, 91, 0.6);\\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(238, 95, 91, 0.6);\\n outline: 0 none;\\n}\\n\\n.validation-error-alert {\\n margin-top: 10px;\\n border-radius: 15px;\\n line-height: 1.4em;\\n}\\n\\ni.label-icon {\\n margin-right: 3px;\\n}\\n\\n.paari-no-radius-right {\\n border-bottom-right-radius: 0;\\n border-top-right-radius: 0;\\n}\\n\\n@media (min-width: 768px) {\\n label {\\n top: 24px;\\n left: 15px;\\n }\\n\\n input {\\n padding-left: 252px;\\n }\\n\\n .form-group {\\n line-height: 10px;\\n margin-bottom: 0px;\\n }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbGF5b3V0L2lucHV0cy9wYWFyaS1pbnB1dC10ZXh0L3BhYXJpLWlucHV0LXRleHQuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxXQUFBO0VBQ0EsaUJBQUE7RUFDQSx5QkFBQTtFQUNBLFlBQUE7RUFDQSxtQkFBQTtFQUNBLFlBQUE7QUFDRjs7QUFFQTtFQUNFLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxvQkFBQTtBQUNGOztBQUVBO0VBQ0UsbUJBQUE7QUFDRjs7QUFFQTtFQUNFLG9DQUFBO0VBQ0Esd0ZBQUE7VUFBQSxnRkFBQTtFQUNBLGVBQUE7QUFDRjs7QUFFQTtFQUNFLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtBQUNGOztBQUVBO0VBQ0UsaUJBQUE7QUFDRjs7QUFFQTtFQUNFLDZCQUFBO0VBQ0EsMEJBQUE7QUFDRjs7QUFFQTtFQUVFO0lBQ0UsU0FBQTtJQUNBLFVBQUE7RUFBRjs7RUFHQTtJQUNFLG1CQUFBO0VBQUY7O0VBR0E7SUFDRSxpQkFBQTtJQUNBLGtCQUFBO0VBQUY7QUFDRiIsImZpbGUiOiJzcmMvYXBwL2xheW91dC9pbnB1dHMvcGFhcmktaW5wdXQtdGV4dC9wYWFyaS1pbnB1dC10ZXh0LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiaW5wdXQge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHBhZGRpbmc6IDhweCAxNXB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNkY2RjZGI7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIGJvcmRlci1yYWRpdXM6IDE1cHg7XHJcbiAgaGVpZ2h0OiAzOXB4O1xyXG59XHJcblxyXG5sYWJlbCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1hcmdpbi1ib3R0b206IDBweDtcclxuICBtYXJnaW4tYm90dG9tOiAtNDBweDtcclxufVxyXG5cclxuLmJvdHRvbS1zcGFjZSB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxufVxyXG5cclxuLm5nLXRvdWNoZWQuZm9ybS1pbnZhbGlkIHtcclxuICBib3JkZXItY29sb3I6IHJnYmEoMjM4LCA5NSwgOTEsIC44KTtcclxuICBib3gtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSkgaW5zZXQsIDAgMCA4cHggcmdiYSgyMzgsIDk1LCA5MSwgLjYpO1xyXG4gIG91dGxpbmU6IDAgbm9uZTtcclxufVxyXG5cclxuLnZhbGlkYXRpb24tZXJyb3ItYWxlcnQge1xyXG4gIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgYm9yZGVyLXJhZGl1czogMTVweDtcclxuICBsaW5lLWhlaWdodDogMS40ZW07XHJcbn1cclxuXHJcbmkubGFiZWwtaWNvbiB7XHJcbiAgbWFyZ2luLXJpZ2h0OiAzcHg7XHJcbn1cclxuXHJcbi5wYWFyaS1uby1yYWRpdXMtcmlnaHQge1xyXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xyXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuXHJcbiAgbGFiZWwge1xyXG4gICAgdG9wOiAyNHB4O1xyXG4gICAgbGVmdDogMTVweDtcclxuICB9XHJcblxyXG4gIGlucHV0IHtcclxuICAgIHBhZGRpbmctbGVmdDogMjUycHg7XHJcbiAgfVxyXG5cclxuICAuZm9ybS1ncm91cCB7XHJcbiAgICBsaW5lLWhlaWdodDogMTBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDBweDtcclxuICB9XHJcbn1cclxuIl19 */\";","export default \":host div.paari-loader {\\n border: 8px solid #f3f3f3;\\n border-top: 8px solid #fdc628;\\n border-radius: 50%;\\n width: 60px;\\n height: 60px;\\n -webkit-animation: spin 2s linear infinite;\\n animation: spin 2s linear infinite;\\n margin: auto;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbGF5b3V0L3NpbXBsZS1sb2FkZXIvc2ltcGxlLWxvYWRlci5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLHlCQUFBO0VBQ0EsNkJBQUE7RUFDQSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsMENBQUE7VUFBQSxrQ0FBQTtFQUNBLFlBQUE7QUFDRiIsImZpbGUiOiJzcmMvYXBwL2xheW91dC9zaW1wbGUtbG9hZGVyL3NpbXBsZS1sb2FkZXIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCBkaXYucGFhcmktbG9hZGVyIHtcclxuICBib3JkZXI6IDhweCBzb2xpZCAjZjNmM2YzO1xyXG4gIGJvcmRlci10b3A6IDhweCBzb2xpZCAjZmRjNjI4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICB3aWR0aDogNjBweDtcclxuICBoZWlnaHQ6IDYwcHg7XHJcbiAgYW5pbWF0aW9uOiBzcGluIDJzIGxpbmVhciBpbmZpbml0ZTtcclxuICBtYXJnaW46IGF1dG87XHJcbn1cclxuIl19 */\";","export default \"
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{validator.errorMessage | translate}}
\\r\\n
\\r\\n
\\r\\n
\";","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { Store, select } from '@ngrx/store';\r\nimport { Observable } from 'rxjs';\r\nimport { take, tap } from 'rxjs/operators';\r\nimport { MenuService } from 'src/app/core/services/menu.service';\r\nimport * as fromShared from '../../../shared/state';\r\nimport { ConfigurationModel } from 'src/app/shared/generated/FrontClient';\r\n\r\n@Component({\r\n selector: 'app-top-nav',\r\n templateUrl: './top-nav.component.html',\r\n styleUrls: ['./top-nav.component.scss']\r\n})\r\nexport class TopNavComponent implements OnInit {\r\n\r\n @Input() screenWidth!: number;\r\n @Input() smallScreenSize!: number;\r\n @Output() toggleSideNav: EventEmitter = new EventEmitter();\r\n @Output() toggleNotificationSidebar: EventEmitter = new EventEmitter();\r\n\r\n logoUri!: string;\r\n isImpersonating!: boolean;\r\n showPreviewInfo!: boolean;\r\n configuration$!: Observable;\r\n\r\n constructor(\r\n private store: Store,\r\n public menuService: MenuService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.configuration$ = this.store.pipe(take(1), select(fromShared.getConfiguration), tap(config => {\r\n this.isImpersonating = config!.isImpersonating ?? false;\r\n this.showPreviewInfo = config!.environment !== 'Production';\r\n }));\r\n }\r\n\r\n public onToggleSideNav(): void {\r\n this.toggleSideNav.emit(true);\r\n }\r\n}\r\n","export default \"\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
{{ 'TopNav.Notifications.Header' | translate }}
\\r\\n
\\r\\n
\\r\\n 0; else noNotification\\\">\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{ notification.icon }}\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n {{ ('CustomNotificationTitle' + notification.id) | translate }}\\r\\n
\\r\\n
\\r\\n {{ (('CustomNotificationBody' + notification.id) | translate) | truncate : 97 : true }}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{ notification.title | translate }}\\r\\n
\\r\\n
\\r\\n {{ (notification.body | translate) | truncate : 97 : true }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n event_note  \\r\\n {{ notification.date | date: 'd.M.y, H:mm' }}\\r\\n
\\r\\n visibility_off\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{ 'TopNav.Notifications.NoNotifications' | translate }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n {{ 'TopNav.Notifications.PushNotifications' | translate }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{ 'TopNav.Notifications.PushNotifications' | translate }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\";","export default \".logo-button {\\n background-color: white;\\n width: 170px;\\n height: 60px;\\n margin: 0;\\n padding: 0;\\n}\\n\\n.logo-button-content {\\n margin: 0;\\n padding: 0;\\n margin-left: -20px;\\n margin-top: -10px;\\n}\\n\\n.logo-button-image {\\n height: 80px;\\n margin: 0;\\n padding: 0;\\n}\\n\\n.logo-button-text {\\n color: #3c434d;\\n}\\n\\n@media screen and (max-width: 599px) {\\n .logo-button {\\n margin-left: -18px;\\n width: 70px;\\n height: 56px;\\n }\\n\\n .logo-button-content {\\n margin-left: 0px;\\n margin-top: -7px;\\n }\\n\\n .logo-button-image {\\n height: 70px;\\n }\\n\\n .logo-button-text {\\n display: none;\\n }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29yZS9jb21wb25lbnRzL3RvcC1uYXYvdG9wLW5hdi1sb2dvLWJ1dHRvbi90b3AtbmF2LWxvZ28tYnV0dG9uLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsdUJBQUE7RUFDQSxZQUFBO0VBQ0EsWUFBQTtFQUNBLFNBQUE7RUFDQSxVQUFBO0FBQ0Y7O0FBRUE7RUFDRSxTQUFBO0VBQ0EsVUFBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7QUFDRjs7QUFFQTtFQUNFLFlBQUE7RUFDQSxTQUFBO0VBQ0EsVUFBQTtBQUNGOztBQUVBO0VBQ0UsY0FBQTtBQUNGOztBQUVBO0VBQ0U7SUFDRSxrQkFBQTtJQUNBLFdBQUE7SUFDQSxZQUFBO0VBQ0Y7O0VBRUE7SUFDRSxnQkFBQTtJQUNBLGdCQUFBO0VBQ0Y7O0VBRUE7SUFDRSxZQUFBO0VBQ0Y7O0VBRUE7SUFDRSxhQUFBO0VBQ0Y7QUFDRiIsImZpbGUiOiJzcmMvYXBwL2NvcmUvY29tcG9uZW50cy90b3AtbmF2L3RvcC1uYXYtbG9nby1idXR0b24vdG9wLW5hdi1sb2dvLWJ1dHRvbi5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5sb2dvLWJ1dHRvbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgd2lkdGg6IDE3MHB4O1xyXG4gIGhlaWdodDogNjBweDtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLmxvZ28tYnV0dG9uLWNvbnRlbnQge1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1hcmdpbi1sZWZ0OiAtMjBweDtcclxuICBtYXJnaW4tdG9wOiAtMTBweDtcclxufVxyXG5cclxuLmxvZ28tYnV0dG9uLWltYWdlIHtcclxuICBoZWlnaHQ6IDgwcHg7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi5sb2dvLWJ1dHRvbi10ZXh0IHtcclxuICBjb2xvcjogIzNjNDM0ZDtcclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcclxuICAubG9nby1idXR0b24ge1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0xOHB4O1xyXG4gICAgd2lkdGg6IDcwcHg7XHJcbiAgICBoZWlnaHQ6IDU2cHg7XHJcbiAgfVxyXG5cclxuICAubG9nby1idXR0b24tY29udGVudCB7XHJcbiAgICBtYXJnaW4tbGVmdDogMHB4O1xyXG4gICAgbWFyZ2luLXRvcDogLTdweDtcclxuICB9XHJcblxyXG4gIC5sb2dvLWJ1dHRvbi1pbWFnZSB7XHJcbiAgICBoZWlnaHQ6IDcwcHg7XHJcbiAgfVxyXG5cclxuICAubG9nby1idXR0b24tdGV4dCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxufVxyXG4iXX0= */\";","export default \".notification-header {\\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\\n position: relative;\\n}\\n.notification-header .notification-background {\\n width: 100%;\\n max-height: 100px;\\n}\\n.notification-header .notification-header-text {\\n position: absolute;\\n color: white;\\n top: 60%;\\n left: 50%;\\n -webkit-transform: translate(-50%, -50%);\\n transform: translate(-50%, -50%);\\n font-weight: 500;\\n font-size: 24px;\\n}\\n.notification-body {\\n max-height: 250px;\\n overflow-y: auto;\\n scrollbar-width: thin;\\n}\\n.notification-body .notification-action:hover {\\n cursor: pointer;\\n background-color: rgba(0, 0, 0, 0.08);\\n}\\n.notification-body .notification-item {\\n height: unset;\\n max-height: 200px;\\n padding-top: 5px;\\n padding-bottom: 5px;\\n}\\n.notification-body .notification-item .notification-wrapper {\\n width: 100%;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-pack: center;\\n -ms-flex-pack: center;\\n justify-content: center;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n}\\n.notification-body .notification-item .notification-wrapper .notification-icon {\\n margin-right: 20px;\\n}\\n.notification-body .notification-item .notification-wrapper .notification-description {\\n -webkit-box-flex: 1;\\n -ms-flex: 1;\\n flex: 1;\\n}\\n.notification-body .notification-item .notification-wrapper .notification-description .notification-title-text {\\n padding-top: 2px;\\n font-weight: bold;\\n font-size: 14px;\\n}\\n.notification-body .notification-item .notification-wrapper .notification-description .notification-body-text {\\n font-size: 10px;\\n}\\n.notification-body .notification-item .notification-wrapper .notification-description .notification-date-container {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-pack: justify;\\n -ms-flex-pack: justify;\\n justify-content: space-between;\\n padding-top: 3px;\\n font-size: 10px;\\n color: gray;\\n}\\n.notification-body .notification-item .notification-wrapper .notification-description .notification-date-container .notification-date {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n}\\n.notification-body .no-notification {\\n height: 100px;\\n position: relative;\\n}\\n.notification-body .no-notification .no-notification-text {\\n position: absolute;\\n top: 50%;\\n left: 40%;\\n -webkit-transform: translate(-30%, -50%);\\n transform: translate(-30%, -50%);\\n font-size: 14px;\\n color: gray;\\n}\\n.notification-settings {\\n border-top: 1px solid rgba(0, 0, 0, 0.12);\\n font-size: 10px;\\n padding: 5px 16px;\\n}\\n.notification-settings .mat-slide-toggle {\\n width: 100%;\\n}\\n.notification-settings .mat-slide-toggle-label {\\n -webkit-box-pack: justify;\\n -ms-flex-pack: justify;\\n justify-content: space-between;\\n}\\n.notification-settings-loading {\\n width: 100%;\\n height: 24px;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n -webkit-box-pack: justify;\\n -ms-flex-pack: justify;\\n justify-content: space-between;\\n font-weight: 500;\\n}\\n.notification-footer {\\n border-top: 1px solid rgba(0, 0, 0, 0.12);\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-pack: justify;\\n -ms-flex-pack: justify;\\n justify-content: space-between;\\n}\\n.notification-footer .notification-button {\\n font-size: 10px;\\n}\\n.success-toast-icon {\\n color: #5dc05d;\\n}\\n.warning-toast-icon {\\n color: #ffd500;\\n}\\n.error-toast-icon {\\n color: #d43f37;\\n}\\n.info-toast-icon {\\n color: #2f96b4;\\n}\\n.invitation-icon {\\n color: #00abff;\\n}\\n.announcement-icon {\\n color: #00abff;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29yZS9jb21wb25lbnRzL3RvcC1uYXYvdG9wLW5hdi1ub3RpZmljYXRpb24tYnV0dG9uL3RvcC1uYXYtbm90aWZpY2F0aW9uLWJ1dHRvbi5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLDRDQUFBO0VBQ0Esa0JBQUE7QUFDRjtBQUNFO0VBQ0UsV0FBQTtFQUNBLGlCQUFBO0FBQ0o7QUFFRTtFQUNFLGtCQUFBO0VBQ0EsWUFBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBQ0Esd0NBQUE7VUFBQSxnQ0FBQTtFQUNBLGdCQUFBO0VBQ0EsZUFBQTtBQUFKO0FBSUE7RUFDRSxpQkFBQTtFQUNBLGdCQUFBO0VBQ0EscUJBQUE7QUFERjtBQUdFO0VBQ0UsZUFBQTtFQUNBLHFDQUFBO0FBREo7QUFJRTtFQUNFLGFBQUE7RUFDQSxpQkFBQTtFQUNBLGdCQUFBO0VBQ0EsbUJBQUE7QUFGSjtBQUlJO0VBQ0UsV0FBQTtFQUNBLG9CQUFBO0VBQUEsb0JBQUE7RUFBQSxhQUFBO0VBQ0Esd0JBQUE7TUFBQSxxQkFBQTtVQUFBLHVCQUFBO0VBQ0EseUJBQUE7TUFBQSxzQkFBQTtVQUFBLG1CQUFBO0FBRk47QUFJTTtFQUNFLGtCQUFBO0FBRlI7QUFLTTtFQUNFLG1CQUFBO01BQUEsV0FBQTtVQUFBLE9BQUE7QUFIUjtBQUtRO0VBQ0UsZ0JBQUE7RUFDQSxpQkFBQTtFQUNBLGVBQUE7QUFIVjtBQU1RO0VBQ0UsZUFBQTtBQUpWO0FBT1E7RUFDRSxvQkFBQTtFQUFBLG9CQUFBO0VBQUEsYUFBQTtFQUNBLHlCQUFBO01BQUEsc0JBQUE7VUFBQSw4QkFBQTtFQUNBLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLFdBQUE7QUFMVjtBQU9VO0VBQ0Usb0JBQUE7RUFBQSxvQkFBQTtFQUFBLGFBQUE7RUFDQSx5QkFBQTtNQUFBLHNCQUFBO1VBQUEsbUJBQUE7QUFMWjtBQVlFO0VBQ0UsYUFBQTtFQUNBLGtCQUFBO0FBVko7QUFZSTtFQUNFLGtCQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFDQSx3Q0FBQTtVQUFBLGdDQUFBO0VBQ0EsZUFBQTtFQUNBLFdBQUE7QUFWTjtBQWVBO0VBQ0UseUNBQUE7RUFDQSxlQUFBO0VBQ0EsaUJBQUE7QUFaRjtBQWNFO0VBQ0UsV0FBQTtBQVpKO0FBZUU7RUFDRSx5QkFBQTtNQUFBLHNCQUFBO1VBQUEsOEJBQUE7QUFiSjtBQWlCQTtFQUNFLFdBQUE7RUFDQSxZQUFBO0VBQ0Esb0JBQUE7RUFBQSxvQkFBQTtFQUFBLGFBQUE7RUFDQSx5QkFBQTtNQUFBLHNCQUFBO1VBQUEsbUJBQUE7RUFDQSx5QkFBQTtNQUFBLHNCQUFBO1VBQUEsOEJBQUE7RUFDQSxnQkFBQTtBQWRGO0FBaUJBO0VBQ0UseUNBQUE7RUFDQSxvQkFBQTtFQUFBLG9CQUFBO0VBQUEsYUFBQTtFQUNBLHlCQUFBO01BQUEsc0JBQUE7VUFBQSw4QkFBQTtBQWRGO0FBZ0JFO0VBQ0UsZUFBQTtBQWRKO0FBa0JBO0VBQ0UsY0FBQTtBQWZGO0FBa0JBO0VBQ0UsY0FBQTtBQWZGO0FBa0JBO0VBQ0UsY0FBQTtBQWZGO0FBa0JBO0VBQ0UsY0FBQTtBQWZGO0FBa0JBO0VBQ0UsY0FBQTtBQWZGO0FBa0JBO0VBQ0UsY0FBQTtBQWZGIiwiZmlsZSI6InNyYy9hcHAvY29yZS9jb21wb25lbnRzL3RvcC1uYXYvdG9wLW5hdi1ub3RpZmljYXRpb24tYnV0dG9uL3RvcC1uYXYtbm90aWZpY2F0aW9uLWJ1dHRvbi5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5ub3RpZmljYXRpb24taGVhZGVyIHtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEyKTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gIC5ub3RpZmljYXRpb24tYmFja2dyb3VuZCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xyXG4gIH1cclxuXHJcbiAgLm5vdGlmaWNhdGlvbi1oZWFkZXItdGV4dCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICB0b3A6IDYwJTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICB9XHJcbn1cclxuXHJcbi5ub3RpZmljYXRpb24tYm9keSB7XHJcbiAgbWF4LWhlaWdodDogMjUwcHg7XHJcbiAgb3ZlcmZsb3cteTogYXV0bztcclxuICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XHJcblxyXG4gIC5ub3RpZmljYXRpb24tYWN0aW9uOmhvdmVyIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wOCk7XHJcbiAgfVxyXG5cclxuICAubm90aWZpY2F0aW9uLWl0ZW0ge1xyXG4gICAgaGVpZ2h0OiB1bnNldDtcclxuICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xyXG4gICAgcGFkZGluZy10b3A6IDVweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XHJcblxyXG4gICAgLm5vdGlmaWNhdGlvbi13cmFwcGVyIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgLm5vdGlmaWNhdGlvbi1pY29uIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5ub3RpZmljYXRpb24tZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIGZsZXg6IDE7XHJcblxyXG4gICAgICAgIC5ub3RpZmljYXRpb24tdGl0bGUtdGV4dCB7XHJcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMnB4O1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubm90aWZpY2F0aW9uLWJvZHktdGV4dCB7XHJcbiAgICAgICAgICBmb250LXNpemU6IDEwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubm90aWZpY2F0aW9uLWRhdGUtY29udGFpbmVyIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICBwYWRkaW5nLXRvcDogM3B4O1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xyXG4gICAgICAgICAgY29sb3I6IGdyYXk7XHJcblxyXG4gICAgICAgICAgLm5vdGlmaWNhdGlvbi1kYXRlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5uby1ub3RpZmljYXRpb24ge1xyXG4gICAgaGVpZ2h0OiAxMDBweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAubm8tbm90aWZpY2F0aW9uLXRleHQge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICBsZWZ0OiA0MCU7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0zMCUsIC01MCUpO1xyXG4gICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgIGNvbG9yOiBncmF5O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLm5vdGlmaWNhdGlvbi1zZXR0aW5ncyB7XHJcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xMik7XHJcbiAgZm9udC1zaXplOiAxMHB4O1xyXG4gIHBhZGRpbmc6IDVweCAxNnB4O1xyXG5cclxuICAubWF0LXNsaWRlLXRvZ2dsZSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gIC5tYXQtc2xpZGUtdG9nZ2xlLWxhYmVsIHtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICB9XHJcbn1cclxuXHJcbi5ub3RpZmljYXRpb24tc2V0dGluZ3MtbG9hZGluZyB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAyNHB4O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgZm9udC13ZWlnaHQ6IDUwMFxyXG59XHJcblxyXG4ubm90aWZpY2F0aW9uLWZvb3RlciB7XHJcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xMik7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG4gIC5ub3RpZmljYXRpb24tYnV0dG9uIHtcclxuICAgIGZvbnQtc2l6ZTogMTBweDtcclxuICB9XHJcbn1cclxuXHJcbi5zdWNjZXNzLXRvYXN0LWljb24ge1xyXG4gIGNvbG9yOiAjNWRjMDVkO1xyXG59XHJcblxyXG4ud2FybmluZy10b2FzdC1pY29uIHtcclxuICBjb2xvcjogI2ZmZDUwMDtcclxufVxyXG5cclxuLmVycm9yLXRvYXN0LWljb24ge1xyXG4gIGNvbG9yOiAjZDQzZjM3O1xyXG59XHJcblxyXG4uaW5mby10b2FzdC1pY29uIHtcclxuICBjb2xvcjogIzJmOTZiNDtcclxufVxyXG5cclxuLmludml0YXRpb24taWNvbiB7XHJcbiAgY29sb3I6ICMwMGFiZmY7XHJcbn1cclxuXHJcbi5hbm5vdW5jZW1lbnQtaWNvbiB7XHJcbiAgY29sb3I6ICMwMGFiZmY7XHJcbn1cclxuIl19 */\";","export default \"button {\\n position: relative;\\n overflow: hidden;\\n}\\nbutton input[type=file] {\\n width: 100%;\\n position: absolute;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n opacity: 0;\\n outline: none;\\n}\\nbutton input[type=file]:not(:disabled) {\\n cursor: pointer;\\n}\\nbutton input[type=file]:disabled {\\n cursor: not-allowed;\\n}\\n.btn-group-mobile {\\n margin: 4px 0;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbGF5b3V0L2lucHV0cy9wYWFyaS1pbnB1dC1maWxlcy9wYWFyaS1pbnB1dC1maWxlcy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGtCQUFBO0VBQ0EsZ0JBQUE7QUFDRjtBQUNFO0VBQ0UsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBQ0EsT0FBQTtFQUNBLFVBQUE7RUFDQSxhQUFBO0FBQ0o7QUFDSTtFQUNFLGVBQUE7QUFDTjtBQUVJO0VBQ0UsbUJBQUE7QUFBTjtBQUtBO0VBQ0UsYUFBQTtBQUZGIiwiZmlsZSI6InNyYy9hcHAvbGF5b3V0L2lucHV0cy9wYWFyaS1pbnB1dC1maWxlcy9wYWFyaS1pbnB1dC1maWxlcy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbImJ1dHRvbiB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gIGlucHV0W3R5cGU9ZmlsZV0ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuXHJcbiAgICAmOm5vdCg6ZGlzYWJsZWQpIHtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG5cclxuICAgICY6ZGlzYWJsZWQge1xyXG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmJ0bi1ncm91cC1tb2JpbGUge1xyXG4gIG1hcmdpbjogNHB4IDA7XHJcbn1cclxuIl19 */\";","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2xheW91dC9hbGVydC1zaW5nbGUtZXJyb3ItbWVzc2FnZS9hbGVydC1zaW5nbGUtZXJyb3ItbWVzc2FnZS5jb21wb25lbnQuc2NzcyJ9 */\";","export default \"\";","export default \"\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n 0\\\" [expanded]=\\\"menuItem.expanded\\\"\\r\\n [name]=\\\"menuItem.name\\\" [subItems]=\\\"menuItem.subItems\\\" [rootUrl]=\\\"(menuService.rootUrl$ | async)!\\\">\\r\\n \\r\\n \\r\\n\\r\\n\";","import { NgModule } from '@angular/core';\r\nimport { FaIconLibrary, FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { faFacebookSquare, faXingSquare } from '@fortawesome/free-brands-svg-icons';\r\n\r\n@NgModule({\r\n imports: [\r\n FontAwesomeModule\r\n ],\r\n exports: [\r\n FontAwesomeModule\r\n ]\r\n})\r\nexport class AppFontAwesomeModule {\r\n\r\n constructor(private library: FaIconLibrary) {\r\n this.library.addIcons(faFacebookSquare, faXingSquare)\r\n }\r\n\r\n}\r\n","import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\r\nimport { ValidatorModel } from '../../shared/validator.model';\r\n\r\n@Component({\r\n selector: 'app-paari-input-search-dark',\r\n templateUrl: './paari-input-search-dark.component.html',\r\n styleUrls: ['./paari-input-search-dark.component.scss']\r\n})\r\nexport class PaariInputSearchDarkComponent {\r\n\r\n @Input() label!: string;\r\n @Input() disabled!: boolean;\r\n @Input() validators!: ValidatorModel[];\r\n @ViewChild('inputField', { static: true }) inputField!: ElementRef;\r\n public formGroupValid: boolean = true;\r\n private _model!: string;\r\n\r\n @Output() searchClick = new EventEmitter();\r\n @Output() modelChange = new EventEmitter();\r\n @Input('model')\r\n set model(value: string) {\r\n if (this._model == value) return;\r\n this._model = value;\r\n this.modelChange.emit(this._model);\r\n if (this.inputField.nativeElement.classList.contains('ng-touched')) {\r\n this.validateForm();\r\n }\r\n }\r\n get model() {\r\n return this._model;\r\n }\r\n\r\n public validateForm() {\r\n let classesList = this.inputField.nativeElement.classList;\r\n if (classesList.contains('ng-untouched')) {\r\n classesList.remove('ng-untouched');\r\n classesList.add('ng-touched');\r\n this.validateForm();\r\n }\r\n let result: boolean = true;\r\n if (this.validators != null) {\r\n this.validators.forEach(validator => {\r\n if (!validator.validate(this.model)) {\r\n result = false;\r\n }\r\n });\r\n }\r\n this.formGroupValid = result;\r\n return result;\r\n }\r\n\r\n isDirty(): boolean {\r\n return this.inputField.nativeElement.classList.contains('ng-dirty');\r\n }\r\n\r\n search() {\r\n this.searchClick.emit(this.model);\r\n }\r\n}\r\n","export default \"\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n

{{ fullName() || \\\"TopNav.Account.Anonymous\\\" | translate }}

\\r\\n
{{ config.email }}
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\";","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","export default \".icon-link {\\n margin: 5px;\\n}\\n.icon-link fa-icon {\\n color: #fdc628;\\n font-size: 2.5em;\\n}\\n.icon-link fa-icon:hover {\\n color: #dcdcdb;\\n}\\n@media only screen and (max-width: 599px) {\\n .icon-link > fa-icon {\\n font-size: 2em;\\n }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29yZS9jb21wb25lbnRzL2Zvb3Rlci9mb290ZXItbWVkaWEtaWNvbnMvZm9vdGVyLW1lZGlhLWljb25zLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsV0FBQTtBQUNGO0FBQ0U7RUFDRSxjQUFBO0VBQ0EsZ0JBQUE7QUFDSjtBQUVFO0VBQ0UsY0FBQTtBQUFKO0FBSUE7RUFDRTtJQUNFLGNBQUE7RUFERjtBQUNGIiwiZmlsZSI6InNyYy9hcHAvY29yZS9jb21wb25lbnRzL2Zvb3Rlci9mb290ZXItbWVkaWEtaWNvbnMvZm9vdGVyLW1lZGlhLWljb25zLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmljb24tbGluayB7XHJcbiAgbWFyZ2luOiA1cHg7XHJcblxyXG4gIGZhLWljb24ge1xyXG4gICAgY29sb3I6ICNmZGM2Mjg7XHJcbiAgICBmb250LXNpemU6IDIuNWVtO1xyXG4gIH1cclxuXHJcbiAgZmEtaWNvbjpob3ZlciB7XHJcbiAgICBjb2xvcjogI2RjZGNkYjtcclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcclxuICAuaWNvbi1saW5rID4gZmEtaWNvbiB7XHJcbiAgICBmb250LXNpemU6IDJlbTtcclxuICB9XHJcbn1cclxuIl19 */\";","export default \"input {\\n width: 100%;\\n padding: 8px 15px;\\n background-color: #dcdcdb;\\n border: none;\\n border-radius: 15px 0 0 15px;\\n height: 39px;\\n}\\n\\nlabel {\\n position: relative;\\n margin-bottom: 0px;\\n margin-bottom: -40px;\\n}\\n\\n.bottom-space {\\n margin-bottom: 25px;\\n}\\n\\n.ng-touched.form-invalid {\\n border-color: rgba(238, 95, 91, 0.8);\\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(238, 95, 91, 0.6);\\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(238, 95, 91, 0.6);\\n outline: 0 none;\\n}\\n\\n.validation-error-alert {\\n margin-top: 10px;\\n border-radius: 15px;\\n line-height: 1.4em;\\n}\\n\\ni.label-icon {\\n margin-right: 3px;\\n}\\n\\n.paari-no-radius-right {\\n border-bottom-right-radius: 0;\\n border-top-right-radius: 0;\\n}\\n\\n@media (min-width: 768px) {\\n label {\\n top: 24px;\\n left: 15px;\\n }\\n\\n input {\\n text-indent: 250px;\\n }\\n\\n .form-group {\\n line-height: 10px;\\n margin-bottom: 0px;\\n }\\n}\\n\\n:host .input-container {\\n position: relative;\\n}\\n\\n:host .input-container .search-btn {\\n border-radius: 0 15px 15px 0;\\n background-color: #fdc628;\\n width: 50px;\\n height: 39px;\\n}\\n\\n:host .search-container {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n width: 100%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbGF5b3V0L2lucHV0cy9wYWFyaS1pbnB1dC1zZWFyY2gtZGFyay9wYWFyaS1pbnB1dC1zZWFyY2gtZGFyay5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLFdBQUE7RUFDQSxpQkFBQTtFQUNBLHlCQUFBO0VBQ0EsWUFBQTtFQUNBLDRCQUFBO0VBQ0EsWUFBQTtBQUNGOztBQUVBO0VBQ0Usa0JBQUE7RUFDQSxrQkFBQTtFQUNBLG9CQUFBO0FBQ0Y7O0FBRUE7RUFDRSxtQkFBQTtBQUNGOztBQUNBO0VBQ0Usb0NBQUE7RUFDQSx3RkFBQTtVQUFBLGdGQUFBO0VBQ0EsZUFBQTtBQUVGOztBQUFBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0FBR0Y7O0FBREE7RUFDRSxpQkFBQTtBQUlGOztBQUZBO0VBQ0UsNkJBQUE7RUFDQSwwQkFBQTtBQUtGOztBQUhBO0VBRUU7SUFDSSxTQUFBO0lBQ0EsVUFBQTtFQUtKOztFQUZBO0lBQ0ksa0JBQUE7RUFLSjs7RUFGQTtJQUNJLGlCQUFBO0lBQ0Esa0JBQUE7RUFLSjtBQUNGOztBQUZBO0VBQ0Usa0JBQUE7QUFJRjs7QUFEQTtFQUNFLDRCQUFBO0VBQ0EseUJBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtBQUlGOztBQURBO0VBQ0Usb0JBQUE7RUFBQSxvQkFBQTtFQUFBLGFBQUE7RUFDQSx5QkFBQTtNQUFBLHNCQUFBO1VBQUEsbUJBQUE7RUFDQSxXQUFBO0FBSUYiLCJmaWxlIjoic3JjL2FwcC9sYXlvdXQvaW5wdXRzL3BhYXJpLWlucHV0LXNlYXJjaC1kYXJrL3BhYXJpLWlucHV0LXNlYXJjaC1kYXJrLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiaW5wdXQge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHBhZGRpbmc6IDhweCAxNXB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNkY2RjZGI7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIGJvcmRlci1yYWRpdXM6IDE1cHggMCAwIDE1cHg7XHJcbiAgaGVpZ2h0OiAzOXB4O1xyXG59XHJcblxyXG5sYWJlbCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1hcmdpbi1ib3R0b206IDBweDtcclxuICBtYXJnaW4tYm90dG9tOiAtNDBweDtcclxufVxyXG5cclxuLmJvdHRvbS1zcGFjZSB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxufVxyXG4ubmctdG91Y2hlZC5mb3JtLWludmFsaWQge1xyXG4gIGJvcmRlci1jb2xvcjogcmdiYSgyMzgsOTUsOTEsLjgpO1xyXG4gIGJveC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KSBpbnNldCwgMCAwIDhweCByZ2JhKDIzOCw5NSw5MSwuNik7XHJcbiAgb3V0bGluZTogMCBub25lO1xyXG59XHJcbi52YWxpZGF0aW9uLWVycm9yLWFsZXJ0IHtcclxuICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDE1cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDEuNGVtO1xyXG59XHJcbmkubGFiZWwtaWNvbntcclxuICBtYXJnaW4tcmlnaHQ6IDNweDtcclxufVxyXG4ucGFhcmktbm8tcmFkaXVzLXJpZ2h0IHtcclxuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcclxuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcclxufVxyXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuXHJcbiAgbGFiZWwge1xyXG4gICAgICB0b3A6IDI0cHg7XHJcbiAgICAgIGxlZnQ6IDE1cHg7XHJcbiAgfVxyXG5cclxuICBpbnB1dCB7XHJcbiAgICAgIHRleHQtaW5kZW50OiAyNTBweDtcclxuICB9XHJcblxyXG4gIC5mb3JtLWdyb3VwIHtcclxuICAgICAgbGluZS1oZWlnaHQ6IDEwcHg7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcclxuICB9XHJcbn1cclxuXHJcbjpob3N0IC5pbnB1dC1jb250YWluZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuOmhvc3QgLmlucHV0LWNvbnRhaW5lciAuc2VhcmNoLWJ0bntcclxuICBib3JkZXItcmFkaXVzOiAwIDE1cHggMTVweCAwO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZGM2Mjg7XHJcbiAgd2lkdGg6IDUwcHg7XHJcbiAgaGVpZ2h0OiAzOXB4O1xyXG59XHJcblxyXG46aG9zdCAuc2VhcmNoLWNvbnRhaW5lciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcbiJdfQ== */\";","export default \"\\r\\n\\r\\n \\r\\n\";","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { PaariExplorerItem } from './models/paari-explorer-item';\r\n\r\n@Component({\r\n selector: \"paari-explorer\",\r\n templateUrl: './paari-explorer.component.html',\r\n styleUrls: ['./paari-explorer.component.scss']\r\n})\r\nexport class PaariExplorerComponent implements OnInit {\r\n @Input() menuItems!: PaariExplorerItem[];\r\n @Input() title!: string;\r\n @Input() backlink!: string;\r\n @Input() selectedItem!: PaariExplorerItem;\r\n @Output() menuItemSelected: EventEmitter = new EventEmitter();\r\n\r\n ngOnInit(): void {\r\n if (this.menuItems && !this.selectedItem) {\r\n this.selectedItem = this.menuItems[0];\r\n }\r\n }\r\n\r\n itemClicked(item: PaariExplorerItem) {\r\n if (item.subItems) {\r\n item.expanded = !item.expanded;\r\n } else {\r\n this.selectedItem = item;\r\n this.menuItemSelected.emit(item);\r\n }\r\n }\r\n}\r\n","export default \"
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
{{validator.errorMessage | translate}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\";","export default \":host div.empty-row {\\n margin: 25px 0;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbGF5b3V0L3BhYXJpLWVtcHR5LXJvdy9wYWFyaS1lbXB0eS1yb3cuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxjQUFBO0FBQ0oiLCJmaWxlIjoic3JjL2FwcC9sYXlvdXQvcGFhcmktZW1wdHktcm93L3BhYXJpLWVtcHR5LXJvdy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IGRpdi5lbXB0eS1yb3d7XHJcbiAgICBtYXJnaW46IDI1cHggMDtcclxufSJdfQ== */\";","export default \"
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\";","export default \"\";","export default \"
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
{{validator.errorMessage | translate}}
\\r\\n
\\r\\n
\\r\\n
\";","export default \":host .autocomplete-container {\\n position: relative;\\n}\\n\\n:host .autocomplete-container .find-current-loc {\\n border-radius: 15px 0 0 15px;\\n background-color: #fdc628;\\n}\\n\\n:host .autocomplete-container .maps-autocomplete-input {\\n border-radius: 0 15px 15px 0;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbGF5b3V0L3BhYXJpLW1hcC1zZWFyY2gvcGFhcmktbWFwLXNlYXJjaC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGtCQUFBO0FBQ0Y7O0FBRUE7RUFDRSw0QkFBQTtFQUNBLHlCQUFBO0FBQ0Y7O0FBRUE7RUFDRSw0QkFBQTtBQUNGIiwiZmlsZSI6InNyYy9hcHAvbGF5b3V0L3BhYXJpLW1hcC1zZWFyY2gvcGFhcmktbWFwLXNlYXJjaC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IC5hdXRvY29tcGxldGUtY29udGFpbmVyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbjpob3N0IC5hdXRvY29tcGxldGUtY29udGFpbmVyIC5maW5kLWN1cnJlbnQtbG9jIHtcclxuICBib3JkZXItcmFkaXVzOiAxNXB4IDAgMCAxNXB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZGM2Mjg7XHJcbn1cclxuXHJcbjpob3N0IC5hdXRvY29tcGxldGUtY29udGFpbmVyIC5tYXBzLWF1dG9jb21wbGV0ZS1pbnB1dCB7XHJcbiAgYm9yZGVyLXJhZGl1czogMCAxNXB4IDE1cHggMDtcclxufVxyXG4iXX0= */\";","export default \"
\\r\\n science\\r\\n {{'TopNav.PreviewHeader.Info' | translate}}\\r\\n
\";","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2xheW91dC9hbGVydC1zaW5nbGUtc3VjY2Vzcy1tZXNzYWdlL2FsZXJ0LXNpbmdsZS1zdWNjZXNzLW1lc3NhZ2UuY29tcG9uZW50LnNjc3MifQ== */\";","import { Injectable } from '@angular/core';\r\nimport { RoleV2Client, SearchRolesDto, SearchUsersDto } from 'src/app/shared/generated/AccountClient';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SharedApiService {\r\n\r\n constructor(\r\n private client: RoleV2Client,\r\n ) { }\r\n\r\n searchRole(code: string): Observable {\r\n return this.client.searchRoles(code);\r\n }\r\n searchUser(email: string): Observable {\r\n return this.client.searchUsers(email);\r\n }\r\n}\r\n","import { Component, Input, OnDestroy, OnInit, ViewChild, ViewContainerRef } from '@angular/core';\r\nimport { MenuService } from 'src/app/core/services/menu.service';\r\n\r\n@Component({\r\n selector: 'app-top-nav-context-menu',\r\n templateUrl: './top-nav-context-menu.component.html'\r\n})\r\nexport class TopNavContextMenuComponent implements OnInit, OnDestroy {\r\n\r\n @Input() contextMenuComponent: any;\r\n @ViewChild('contextMenuContainer', { read: ViewContainerRef, static: true }) contextMenuContainer!: ViewContainerRef;\r\n\r\n constructor(public menuService: MenuService) { }\r\n\r\n ngOnInit(): void {\r\n this.menuService.contextMenuComponent$.subscribe(() => {\r\n this.menuService.createContextMenuComponent(this.contextMenuContainer);\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.menuService.contextMenuComponent$.unsubscribe();\r\n }\r\n}\r\n","export default \"
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \";","import { Component, EventEmitter, HostListener, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { fabric } from \"fabric\";\r\n\r\n@Component({\r\n selector: 'paari-image-drawer',\r\n templateUrl: './paari-image-drawer.component.html',\r\n styleUrls: ['./paari-image-drawer.component.scss']\r\n})\r\nexport class PaariImageDrawerComponent implements OnInit, OnChanges {\r\n\r\n @Input() src?: string;\r\n @Input() currentSize = 'medium';\r\n @Input() currentColor = 'black';\r\n @Output() public save: EventEmitter = new EventEmitter();\r\n @Output() public cancel: EventEmitter = new EventEmitter();\r\n\r\n canvas!: fabric.Canvas;\r\n image!: fabric.Image;\r\n sizeNames: string[] = [];\r\n colorNames: string[] = [];\r\n stack: fabric.Object[] = [];\r\n\r\n drawingSizes: { [name: string]: number } = {\r\n small: 5,\r\n medium: 10,\r\n large: 25\r\n };\r\n\r\n drawingColors: { [name: string]: string } = {\r\n black: '#000',\r\n white: '#fff',\r\n yellow: '#ffeb3b',\r\n red: '#f44336',\r\n blue: '#2196f3',\r\n green: '#4caf50',\r\n purple: '#7a08af'\r\n };\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event: any) {\r\n let container = document.getElementById(\"drawing-container\");\r\n if (!container) {\r\n return;\r\n }\r\n\r\n let width = container.offsetWidth;\r\n this.image.scaleToWidth(width, false);\r\n this.canvas.setWidth(this.image.getScaledWidth());\r\n this.canvas.setHeight(this.image.getScaledHeight());\r\n this.canvas.clear();\r\n this.canvas.add(this.image);\r\n this.stack = [];\r\n }\r\n\r\n ngOnInit(): void {\r\n this.sizeNames = Object.keys(this.drawingSizes);\r\n this.colorNames = Object.keys(this.drawingColors);\r\n this.canvas = new fabric.Canvas('canvas', {\r\n hoverCursor: 'pointer',\r\n isDrawingMode: true,\r\n allowTouchScrolling: true,\r\n enableRetinaScaling: true\r\n });\r\n\r\n if (this.src) {\r\n this.createImage(this.src);\r\n }\r\n\r\n this.selectDrawingColor(this.currentColor);\r\n this.selectDrawingSize(this.currentSize);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['src'] && !changes['src'].firstChange && changes['src'].currentValue) {\r\n this.createImage(changes['src'].currentValue)\r\n }\r\n if (changes['size'] && !changes['size'].firstChange && changes['size'].currentValue) {\r\n this.selectDrawingSize(changes['size'].currentValue)\r\n }\r\n if (changes['color'] && !changes['color'].firstChange && changes['color'].currentValue) {\r\n this.selectDrawingColor(changes['color'].currentValue)\r\n }\r\n }\r\n\r\n createImage(src: string) {\r\n fabric.Image.fromURL(src, (image: fabric.Image) => {\r\n if (!image.width || !image.height) {\r\n return;\r\n }\r\n\r\n this.image = image;\r\n this.image.cloneAsImage((img: fabric.Image) => {\r\n let container = document.getElementById(\"drawing-container\");\r\n if (!container) {\r\n return;\r\n }\r\n\r\n let width = container.offsetWidth;\r\n img.scaleToWidth(width, false);\r\n this.canvas.setWidth(img.getScaledWidth());\r\n this.canvas.setHeight(img.getScaledHeight());\r\n this.canvas.clear();\r\n this.canvas.add(img);\r\n this.stack = [];\r\n });\r\n });\r\n };\r\n\r\n selectDrawingSize(size: string) {\r\n if (this.canvas) {\r\n this.currentSize = size;\r\n this.canvas.freeDrawingBrush.width = this.drawingSizes[size];\r\n }\r\n }\r\n\r\n selectDrawingColor(color: string) {\r\n if (this.canvas) {\r\n this.currentColor = color;\r\n this.canvas.freeDrawingBrush.color = this.drawingColors[color];\r\n }\r\n }\r\n\r\n undo() {\r\n let objects = this.canvas.getObjects();\r\n if (objects.length > 1) {\r\n let object = objects.pop();\r\n this.stack.push(object!);\r\n this.canvas.remove(object!);\r\n }\r\n }\r\n\r\n redo() {\r\n if (this.stack.length > 0) {\r\n let object = this.stack.pop();\r\n this.canvas.add(object!);\r\n }\r\n }\r\n\r\n clear() {\r\n if (this.src) {\r\n this.createImage(this.src);\r\n }\r\n }\r\n\r\n saveImage() {\r\n let element = document.createElement('canvas');\r\n let canvas = new fabric.Canvas(element, { enableRetinaScaling: false });\r\n canvas.setWidth(this.image.width!);\r\n canvas.setHeight(this.image.height!);\r\n canvas.add(this.image);\r\n const ratioX = canvas.getWidth() / this.canvas.getWidth();\r\n const ratioY = canvas.getHeight() / this.canvas.getHeight();\r\n this.canvas.getObjects().forEach((object, i) => {\r\n if (i > 0) {\r\n object.clone((obj: fabric.Object) => {\r\n obj.set('left', object.left! * ratioX);\r\n obj.set('top', object.top! * ratioY);\r\n obj.scaleToWidth(object.width! * ratioX);\r\n obj.scaleToHeight(object.height! * ratioY);\r\n canvas.insertAt(obj, i, false);\r\n canvas.renderAll();\r\n });\r\n }\r\n });\r\n\r\n let data = canvas.toDataURL({ format: 'jpeg', quality: 0.8 });\r\n this.save.emit(data);\r\n }\r\n\r\n cancelImage() {\r\n this.cancel.emit();\r\n }\r\n\r\n}\r\n","export default \"\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\";","export default \"\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\";","//----------------------\r\n// \r\n// Generated using the NSwag toolchain v13.16.1.0 (NJsonSchema v10.7.2.0 (Newtonsoft.Json v12.0.0.0)) (http://NSwag.org)\r\n// \r\n//----------------------\r\n\r\n/* tslint:disable */\r\n/* eslint-disable */\r\n// ReSharper disable InconsistentNaming\r\n\r\nimport { HttpClient, HttpHeaders, HttpResponse, HttpResponseBase } from '@angular/common/http';\r\nimport { Inject, Injectable, InjectionToken, Optional } from '@angular/core';\r\nimport { Observable, of as _observableOf, throwError as _observableThrow } from 'rxjs';\r\nimport { catchError as _observableCatch, mergeMap as _observableMergeMap } from 'rxjs/operators';\r\n\r\nexport const API_BASE_URL_TSM_V3 = new InjectionToken('API_BASE_URL_TSM_V3');\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoggerClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_TSM_V3) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost/TSM.Api\";\r\n }\r\n\r\n currentLogLevel(): Observable {\r\n let url_ = this.baseUrl + \"/v1/logger/CurrentLogLevel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processCurrentLogLevel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCurrentLogLevel(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processCurrentLogLevel(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n changeLogLevel(newLevel: string | null): Observable {\r\n let url_ = this.baseUrl + \"/v1/logger/ChangeLogLevel?\";\r\n if (newLevel === undefined)\r\n throw new Error(\"The parameter 'newLevel' must be defined.\");\r\n else if (newLevel !== null)\r\n url_ += \"newLevel=\" + encodeURIComponent(\"\" + newLevel) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processChangeLogLevel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processChangeLogLevel(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processChangeLogLevel(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TsmApiV3Client {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_TSM_V3) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost/TSM.Api\";\r\n }\r\n\r\n getTimeSlots(inputModel: GetTimeSlotsInputModel | null): Observable {\r\n let url_ = this.baseUrl + \"/v3/Tsm/GetTimeSlots\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetTimeSlots(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetTimeSlots(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetTimeSlots(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(TsmTimeSlotDtoV3.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getAutocomplete(locationId: number | undefined, languageCode: string | null | undefined, text: string | null | undefined, baseType: StammdatenTypen | undefined, parameterId: string | undefined, controlType: ControlType | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v3/Tsm/GetAutocomplete?\";\r\n if (locationId === null)\r\n throw new Error(\"The parameter 'locationId' cannot be null.\");\r\n else if (locationId !== undefined)\r\n url_ += \"locationId=\" + encodeURIComponent(\"\" + locationId) + \"&\";\r\n if (languageCode !== undefined && languageCode !== null)\r\n url_ += \"languageCode=\" + encodeURIComponent(\"\" + languageCode) + \"&\";\r\n if (text !== undefined && text !== null)\r\n url_ += \"text=\" + encodeURIComponent(\"\" + text) + \"&\";\r\n if (baseType === null)\r\n throw new Error(\"The parameter 'baseType' cannot be null.\");\r\n else if (baseType !== undefined)\r\n url_ += \"baseType=\" + encodeURIComponent(\"\" + baseType) + \"&\";\r\n if (parameterId === null)\r\n throw new Error(\"The parameter 'parameterId' cannot be null.\");\r\n else if (parameterId !== undefined)\r\n url_ += \"parameterId=\" + encodeURIComponent(\"\" + parameterId) + \"&\";\r\n if (controlType === null)\r\n throw new Error(\"The parameter 'controlType' cannot be null.\");\r\n else if (controlType !== undefined)\r\n url_ += \"controlType=\" + encodeURIComponent(\"\" + controlType) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetAutocomplete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetAutocomplete(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetAutocomplete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = AutocompleterResponseDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n uploadFile(locationId: number): Observable {\r\n let url_ = this.baseUrl + \"/v3/Tsm/UploadFile/{locationId}\";\r\n if (locationId === undefined || locationId === null)\r\n throw new Error(\"The parameter 'locationId' must be defined.\");\r\n url_ = url_.replace(\"{locationId}\", encodeURIComponent(\"\" + locationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processUploadFile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUploadFile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processUploadFile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = AttachmentDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n/** Specifies the meaning and relative importance of a log event. */\r\nexport enum LogEventLevel {\r\n Verbose = \"Verbose\",\r\n Debug = \"Debug\",\r\n Information = \"Information\",\r\n Warning = \"Warning\",\r\n Error = \"Error\",\r\n Fatal = \"Fatal\",\r\n}\r\n\r\nexport class TsmTimeSlotDtoV3 implements ITsmTimeSlotDtoV3 {\r\n id!: string;\r\n bookingNumber?: string | undefined;\r\n rampId!: string;\r\n processId!: string;\r\n userId!: string;\r\n editUserId?: string | undefined;\r\n roleId?: string | undefined;\r\n title?: string | undefined;\r\n from!: Date;\r\n until!: Date;\r\n eta?: Date | undefined;\r\n unitSymbol?: string | undefined;\r\n amount!: number;\r\n status!: TimeSlotStatus;\r\n isEditable!: boolean;\r\n isLate!: boolean;\r\n isVeryLate!: boolean;\r\n isUnderInvestigation!: boolean;\r\n deleted!: boolean;\r\n latitude?: number | undefined;\r\n longitude?: number | undefined;\r\n parameterValues?: TimeSlotProcessParameterValueDto[] | undefined;\r\n isRepetitive?: boolean | undefined;\r\n repetitionType?: RepetitionType | undefined;\r\n repetitionEndDate?: Date | undefined;\r\n contractLibraNumber?: string | undefined;\r\n attachments?: AttachmentDto[] | undefined;\r\n\r\n constructor(data?: ITsmTimeSlotDtoV3) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.bookingNumber = _data[\"bookingNumber\"];\r\n this.rampId = _data[\"rampId\"];\r\n this.processId = _data[\"processId\"];\r\n this.userId = _data[\"userId\"];\r\n this.editUserId = _data[\"editUserId\"];\r\n this.roleId = _data[\"roleId\"];\r\n this.title = _data[\"title\"];\r\n this.from = _data[\"from\"] ? new Date(_data[\"from\"].toString()) : undefined;\r\n this.until = _data[\"until\"] ? new Date(_data[\"until\"].toString()) : undefined;\r\n this.eta = _data[\"eta\"] ? new Date(_data[\"eta\"].toString()) : undefined;\r\n this.unitSymbol = _data[\"unitSymbol\"];\r\n this.amount = _data[\"amount\"];\r\n this.status = _data[\"status\"];\r\n this.isEditable = _data[\"isEditable\"];\r\n this.isLate = _data[\"isLate\"];\r\n this.isVeryLate = _data[\"isVeryLate\"];\r\n this.isUnderInvestigation = _data[\"isUnderInvestigation\"];\r\n this.deleted = _data[\"deleted\"];\r\n this.latitude = _data[\"latitude\"];\r\n this.longitude = _data[\"longitude\"];\r\n if (Array.isArray(_data[\"parameterValues\"])) {\r\n this.parameterValues = [] as any;\r\n for (let item of _data[\"parameterValues\"])\r\n this.parameterValues!.push(TimeSlotProcessParameterValueDto.fromJS(item));\r\n }\r\n this.isRepetitive = _data[\"isRepetitive\"];\r\n this.repetitionType = _data[\"repetitionType\"];\r\n this.repetitionEndDate = _data[\"repetitionEndDate\"] ? new Date(_data[\"repetitionEndDate\"].toString()) : undefined;\r\n this.contractLibraNumber = _data[\"contractLibraNumber\"];\r\n if (Array.isArray(_data[\"attachments\"])) {\r\n this.attachments = [] as any;\r\n for (let item of _data[\"attachments\"])\r\n this.attachments!.push(AttachmentDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): TsmTimeSlotDtoV3 {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TsmTimeSlotDtoV3();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"bookingNumber\"] = this.bookingNumber;\r\n data[\"rampId\"] = this.rampId;\r\n data[\"processId\"] = this.processId;\r\n data[\"userId\"] = this.userId;\r\n data[\"editUserId\"] = this.editUserId;\r\n data[\"roleId\"] = this.roleId;\r\n data[\"title\"] = this.title;\r\n data[\"from\"] = this.from ? this.from.toISOString() : undefined;\r\n data[\"until\"] = this.until ? this.until.toISOString() : undefined;\r\n data[\"eta\"] = this.eta ? this.eta.toISOString() : undefined;\r\n data[\"unitSymbol\"] = this.unitSymbol;\r\n data[\"amount\"] = this.amount;\r\n data[\"status\"] = this.status;\r\n data[\"isEditable\"] = this.isEditable;\r\n data[\"isLate\"] = this.isLate;\r\n data[\"isVeryLate\"] = this.isVeryLate;\r\n data[\"isUnderInvestigation\"] = this.isUnderInvestigation;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"latitude\"] = this.latitude;\r\n data[\"longitude\"] = this.longitude;\r\n if (Array.isArray(this.parameterValues)) {\r\n data[\"parameterValues\"] = [];\r\n for (let item of this.parameterValues)\r\n data[\"parameterValues\"].push(item.toJSON());\r\n }\r\n data[\"isRepetitive\"] = this.isRepetitive;\r\n data[\"repetitionType\"] = this.repetitionType;\r\n data[\"repetitionEndDate\"] = this.repetitionEndDate ? this.repetitionEndDate.toISOString() : undefined;\r\n data[\"contractLibraNumber\"] = this.contractLibraNumber;\r\n if (Array.isArray(this.attachments)) {\r\n data[\"attachments\"] = [];\r\n for (let item of this.attachments)\r\n data[\"attachments\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITsmTimeSlotDtoV3 {\r\n id: string;\r\n bookingNumber?: string | undefined;\r\n rampId: string;\r\n processId: string;\r\n userId: string;\r\n editUserId?: string | undefined;\r\n roleId?: string | undefined;\r\n title?: string | undefined;\r\n from: Date;\r\n until: Date;\r\n eta?: Date | undefined;\r\n unitSymbol?: string | undefined;\r\n amount: number;\r\n status: TimeSlotStatus;\r\n isEditable: boolean;\r\n isLate: boolean;\r\n isVeryLate: boolean;\r\n isUnderInvestigation: boolean;\r\n deleted: boolean;\r\n latitude?: number | undefined;\r\n longitude?: number | undefined;\r\n parameterValues?: TimeSlotProcessParameterValueDto[] | undefined;\r\n isRepetitive?: boolean | undefined;\r\n repetitionType?: RepetitionType | undefined;\r\n repetitionEndDate?: Date | undefined;\r\n contractLibraNumber?: string | undefined;\r\n attachments?: AttachmentDto[] | undefined;\r\n}\r\n\r\nexport enum TimeSlotStatus {\r\n Unknown = \"Unknown\",\r\n Processing = \"Processing\",\r\n Done = \"Done\",\r\n Late = \"Late\",\r\n Open = \"Open\",\r\n Replaced = \"Replaced\",\r\n Reserved = \"Reserved\",\r\n UnderInvestigation = \"UnderInvestigation\",\r\n}\r\n\r\nexport class TimeSlotProcessParameterValueDto implements ITimeSlotProcessParameterValueDto {\r\n id!: string;\r\n parameterId!: string;\r\n timeSlotId!: string;\r\n value?: string | undefined;\r\n valueId?: number | undefined;\r\n deleted!: boolean;\r\n parameterType!: ParameterType;\r\n\r\n constructor(data?: ITimeSlotProcessParameterValueDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.parameterId = _data[\"parameterId\"];\r\n this.timeSlotId = _data[\"timeSlotId\"];\r\n this.value = _data[\"value\"];\r\n this.valueId = _data[\"valueId\"];\r\n this.deleted = _data[\"deleted\"];\r\n this.parameterType = _data[\"parameterType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeSlotProcessParameterValueDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeSlotProcessParameterValueDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"parameterId\"] = this.parameterId;\r\n data[\"timeSlotId\"] = this.timeSlotId;\r\n data[\"value\"] = this.value;\r\n data[\"valueId\"] = this.valueId;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"parameterType\"] = this.parameterType;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeSlotProcessParameterValueDto {\r\n id: string;\r\n parameterId: string;\r\n timeSlotId: string;\r\n value?: string | undefined;\r\n valueId?: number | undefined;\r\n deleted: boolean;\r\n parameterType: ParameterType;\r\n}\r\n\r\nexport enum ParameterType {\r\n Text = \"Text\",\r\n SelectList = \"SelectList\",\r\n Number = \"Number\",\r\n Bool = \"Bool\",\r\n}\r\n\r\nexport enum RepetitionType {\r\n Undefined = \"Undefined\",\r\n EveryWeek = \"EveryWeek\",\r\n WorkDays = \"WorkDays\",\r\n BusinessDays = \"BusinessDays\",\r\n Daily = \"Daily\",\r\n}\r\n\r\nexport class AttachmentDto implements IAttachmentDto {\r\n id!: string;\r\n name?: string | undefined;\r\n size?: string | undefined;\r\n\r\n constructor(data?: IAttachmentDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.size = _data[\"size\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AttachmentDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AttachmentDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"size\"] = this.size;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAttachmentDto {\r\n id: string;\r\n name?: string | undefined;\r\n size?: string | undefined;\r\n}\r\n\r\nexport class GetTimeSlotsInputModel implements IGetTimeSlotsInputModel {\r\n locationId!: number;\r\n roleId!: string;\r\n permission!: CloudUserRoles;\r\n bookingMethod!: TimeSlotBookingMethod;\r\n startDate!: Date;\r\n endDate!: Date;\r\n\r\n constructor(data?: IGetTimeSlotsInputModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.locationId = _data[\"locationId\"];\r\n this.roleId = _data[\"roleId\"];\r\n this.permission = _data[\"permission\"];\r\n this.bookingMethod = _data[\"bookingMethod\"];\r\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\r\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): GetTimeSlotsInputModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GetTimeSlotsInputModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"locationId\"] = this.locationId;\r\n data[\"roleId\"] = this.roleId;\r\n data[\"permission\"] = this.permission;\r\n data[\"bookingMethod\"] = this.bookingMethod;\r\n data[\"startDate\"] = this.startDate ? this.startDate.toISOString() : undefined;\r\n data[\"endDate\"] = this.endDate ? this.endDate.toISOString() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IGetTimeSlotsInputModel {\r\n locationId: number;\r\n roleId: string;\r\n permission: CloudUserRoles;\r\n bookingMethod: TimeSlotBookingMethod;\r\n startDate: Date;\r\n endDate: Date;\r\n}\r\n\r\nexport enum CloudUserRoles {\r\n UNDEFINIERT = \"UNDEFINIERT\",\r\n WIEGEN = \"WIEGEN\",\r\n STATISTIK = \"STATISTIK\",\r\n DEFINITIONEN = \"DEFINITIONEN\",\r\n WAEGESCHEINAUSWERTUNG = \"WAEGESCHEINAUSWERTUNG\",\r\n ZeitfenstermanagementAdmin = \"ZeitfenstermanagementAdmin\",\r\n ZeitfenstermanagementKunde = \"ZeitfenstermanagementKunde\",\r\n ZeitfenstermanagementLieferant = \"ZeitfenstermanagementLieferant\",\r\n ZeitfenstermanagementSpediteur = \"ZeitfenstermanagementSpediteur\",\r\n ZeitfenstermanagementRoleAdmin = \"ZeitfenstermanagementRoleAdmin\",\r\n}\r\n\r\nexport enum TimeSlotBookingMethod {\r\n None = \"None\",\r\n FreeBooking = \"FreeBooking\",\r\n ContractBooking = \"ContractBooking\",\r\n}\r\n\r\nexport class AutocompleterResponseDto implements IAutocompleterResponseDto {\r\n parameterId!: string;\r\n items?: AutocompleteDto[] | undefined;\r\n\r\n constructor(data?: IAutocompleterResponseDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.parameterId = _data[\"parameterId\"];\r\n if (Array.isArray(_data[\"items\"])) {\r\n this.items = [] as any;\r\n for (let item of _data[\"items\"])\r\n this.items!.push(AutocompleteDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): AutocompleterResponseDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AutocompleterResponseDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"parameterId\"] = this.parameterId;\r\n if (Array.isArray(this.items)) {\r\n data[\"items\"] = [];\r\n for (let item of this.items)\r\n data[\"items\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAutocompleterResponseDto {\r\n parameterId: string;\r\n items?: AutocompleteDto[] | undefined;\r\n}\r\n\r\nexport class AutocompleteDto implements IAutocompleteDto {\r\n id!: number;\r\n name?: string | undefined;\r\n selected!: boolean;\r\n\r\n constructor(data?: IAutocompleteDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.selected = _data[\"selected\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AutocompleteDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AutocompleteDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"selected\"] = this.selected;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAutocompleteDto {\r\n id: number;\r\n name?: string | undefined;\r\n selected: boolean;\r\n}\r\n\r\nexport enum StammdatenTypen {\r\n KUNDE = \"KUNDE\",\r\n LIEFERANT = \"LIEFERANT\",\r\n BAUSTELLE = \"BAUSTELLE\",\r\n LAGEREINGANG = \"LAGEREINGANG\",\r\n SPEDITEUR = \"SPEDITEUR\",\r\n FAHRZEUG = \"FAHRZEUG\",\r\n PRODUKT = \"PRODUKT\",\r\n AUFBAU = \"AUFBAU\",\r\n LAGERAUSGANG = \"LAGERAUSGANG\",\r\n HOFLISTE = \"HOFLISTE\",\r\n WAEGESCHEIN = \"WAEGESCHEIN\",\r\n AUFTRAG = \"AUFTRAG\",\r\n ENTNACHWEIS = \"ENTNACHWEIS\",\r\n KONTRAKT = \"KONTRAKT\",\r\n AUFTRAGPRODUKT = \"AUFTRAGPRODUKT\",\r\n AUFTRAGSPEDITEUR = \"AUFTRAGSPEDITEUR\",\r\n AUFTRAGSPOSITION = \"AUFTRAGSPOSITION\",\r\n ZUSATZFUNKTION = \"ZUSATZFUNKTION\",\r\n NOTIZ1 = \"NOTIZ1\",\r\n NOTIZ2 = \"NOTIZ2\",\r\n NOTIZ3 = \"NOTIZ3\",\r\n NOTIZ4 = \"NOTIZ4\",\r\n ANALYSEWERT = \"ANALYSEWERT\",\r\n CONTAINERPOSITION = \"CONTAINERPOSITION\",\r\n CONTAINERPRODUKT = \"CONTAINERPRODUKT\",\r\n CONTAINERBAUSTELLE = \"CONTAINERBAUSTELLE\",\r\n CONTAINERFAHRZEUG = \"CONTAINERFAHRZEUG\",\r\n CONTAINERAUFBAU = \"CONTAINERAUFBAU\",\r\n ABFAHRTSBAHNHOF = \"ABFAHRTSBAHNHOF\",\r\n ZUGLISTE = \"ZUGLISTE\",\r\n WAGGON = \"WAGGON\",\r\n ZIELBAHNHOF = \"ZIELBAHNHOF\",\r\n ANHAENGER = \"ANHAENGER\",\r\n ANHAENGERAUFBAU = \"ANHAENGERAUFBAU\",\r\n FAHRZEUGTYP = \"FAHRZEUGTYP\",\r\n NOTIZ5 = \"NOTIZ5\",\r\n NOTIZ6 = \"NOTIZ6\",\r\n NOTIZ7 = \"NOTIZ7\",\r\n NOTIZ8 = \"NOTIZ8\",\r\n NOTIZ9 = \"NOTIZ9\",\r\n NOTIZ10 = \"NOTIZ10\",\r\n VORLADUNG = \"VORLADUNG\",\r\n VERLADUNGSORT = \"VERLADUNGSORT\",\r\n ENTLADUNGSORT = \"ENTLADUNGSORT\",\r\n VERLADUNGSINFO = \"VERLADUNGSINFO\",\r\n KARTENDATEN = \"KARTENDATEN\",\r\n KAMERA = \"KAMERA\",\r\n ANHAENGERZWEI = \"ANHAENGERZWEI\",\r\n ANHAENGERZWEIAUFBAU = \"ANHAENGERZWEIAUFBAU\",\r\n AUFTRAG_GESAMT = \"AUFTRAG_GESAMT\",\r\n AUFBAUGEWECHSELT = \"AUFBAUGEWECHSELT\",\r\n ANHAENGERAUFBAUGEWECHSELT = \"ANHAENGERAUFBAUGEWECHSELT\",\r\n ANHAENGERZWEIAUFBAUGEWECHSELT = \"ANHAENGERZWEIAUFBAUGEWECHSELT\",\r\n FUNKDATEN = \"FUNKDATEN\",\r\n SUBSPEDITEUR = \"SUBSPEDITEUR\",\r\n BGS_UNS_TRANSPORTNUMMER = \"BGS_UNS_TRANSPORTNUMMER\",\r\n ABWEICHENDE_BAUSTELLE = \"ABWEICHENDE_BAUSTELLE\",\r\n LADESTELLE = \"LADESTELLE\",\r\n POSITIONEN = \"POSITIONEN\",\r\n PAGER = \"PAGER\",\r\n REFERENZNUMMER = \"REFERENZNUMMER\",\r\n TRANSPORTNUMMER = \"TRANSPORTNUMMER\",\r\n FAHRER = \"FAHRER\",\r\n TELEFON = \"TELEFON\",\r\n NOTIZ = \"NOTIZ\",\r\n EINBAUTEN = \"EINBAUTEN\",\r\n LEERPALETTEN = \"LEERPALETTEN\",\r\n GEFAHRGUT = \"GEFAHRGUT\",\r\n KARTENNUMMER = \"KARTENNUMMER\",\r\n LadungssicherungsmittelVorhanden = \"LadungssicherungsmittelVorhanden\",\r\n Prozess = \"Prozess\",\r\n STATUS = \"STATUS\",\r\n RestloseEntladung = \"RestloseEntladung\",\r\n VerladezeitfensterAuftrag = \"VerladezeitfensterAuftrag\",\r\n VerladezeitfensterLogistikVorgang = \"VerladezeitfensterLogistikVorgang\",\r\n BARCODENUMMER = \"BARCODENUMMER\",\r\n ZULAESSIGES_GESAMTGEWICHT = \"ZULAESSIGES_GESAMTGEWICHT\",\r\n SOLLMENGE_VERLADUNG = \"SOLLMENGE_VERLADUNG\",\r\n ZEITFENSTER = \"ZEITFENSTER\",\r\n NONE = \"NONE\",\r\n}\r\n\r\nexport enum ControlType {\r\n Autocompleter = \"Autocompleter\",\r\n DropDown = \"DropDown\",\r\n}\r\n\r\nexport class SwaggerException extends Error {\r\n message: string;\r\n status: number;\r\n response: string;\r\n headers: { [key: string]: any; };\r\n result: any;\r\n\r\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\r\n super();\r\n\r\n this.message = message;\r\n this.status = status;\r\n this.response = response;\r\n this.headers = headers;\r\n this.result = result;\r\n }\r\n\r\n protected isSwaggerException = true;\r\n\r\n static isSwaggerException(obj: any): obj is SwaggerException {\r\n return obj.isSwaggerException === true;\r\n }\r\n}\r\n\r\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): Observable {\r\n if (result !== null && result !== undefined)\r\n return _observableThrow(result);\r\n else\r\n return _observableThrow(new SwaggerException(message, status, response, headers, null));\r\n}\r\n\r\nfunction blobToText(blob: any): Observable {\r\n return new Observable((observer: any) => {\r\n if (!blob) {\r\n observer.next(\"\");\r\n observer.complete();\r\n } else {\r\n let reader = new FileReader();\r\n reader.onload = event => {\r\n observer.next((event.target as any).result);\r\n observer.complete();\r\n };\r\n reader.readAsText(blob);\r\n }\r\n });\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2xheW91dC9tb2RhbHMvbXVsdGlsaW5ndWFsLW5hbWUtbW9kYWwvbXVsdGlsaW5ndWFsLW5hbWUtbW9kYWwuY29tcG9uZW50LnNjc3MifQ== */\";","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-alert-single-success-message',\r\n templateUrl: './alert-single-success-message.component.html',\r\n styleUrls: ['./alert-single-success-message.component.scss']\r\n})\r\nexport class AlertSingleSuccessMessageComponent {\r\n\r\n @Input() message!: string;\r\n}\r\n","export default \"textarea {\\n display: inline-block;\\n width: 100%;\\n padding: 30px 15px 8px 15px;\\n background-color: #dcdcdb;\\n border: none;\\n border-radius: 15px;\\n resize: none;\\n margin-top: 0 !important;\\n}\\n\\nlabel {\\n position: relative;\\n top: 23px;\\n left: 15px;\\n margin: 0 !important;\\n}\\n\\n.bottom-space {\\n margin-bottom: 25px;\\n}\\n\\n.ng-touched.form-invalid {\\n border-color: rgba(238, 95, 91, 0.8);\\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(238, 95, 91, 0.6);\\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(238, 95, 91, 0.6);\\n outline: 0 none;\\n}\\n\\n.validation-error-alert {\\n margin-top: 10px;\\n border-radius: 15px;\\n line-height: 1.4em;\\n}\\n\\n.paari-no-radius-right {\\n border-bottom-right-radius: 0;\\n border-top-right-radius: 0;\\n}\\n\\n@media (min-width: 768px) {\\n .form-group {\\n line-height: 10px;\\n margin-bottom: 0px;\\n }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbGF5b3V0L2lucHV0cy9wYWFyaS1pbnB1dC10ZXh0YXJlYS9wYWFyaS1pbnB1dC10ZXh0YXJlYS5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLHFCQUFBO0VBQ0EsV0FBQTtFQUNBLDJCQUFBO0VBQ0EseUJBQUE7RUFDQSxZQUFBO0VBQ0EsbUJBQUE7RUFDQSxZQUFBO0VBQ0Esd0JBQUE7QUFDRjs7QUFFQTtFQUNFLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLFVBQUE7RUFDQSxvQkFBQTtBQUNGOztBQUVBO0VBQ0UsbUJBQUE7QUFDRjs7QUFFQTtFQUNFLG9DQUFBO0VBQ0Esd0ZBQUE7VUFBQSxnRkFBQTtFQUNBLGVBQUE7QUFDRjs7QUFFQTtFQUNFLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtBQUNGOztBQUVBO0VBQ0UsNkJBQUE7RUFDQSwwQkFBQTtBQUNGOztBQUVBO0VBQ0U7SUFDRSxpQkFBQTtJQUNBLGtCQUFBO0VBQ0Y7QUFDRiIsImZpbGUiOiJzcmMvYXBwL2xheW91dC9pbnB1dHMvcGFhcmktaW5wdXQtdGV4dGFyZWEvcGFhcmktaW5wdXQtdGV4dGFyZWEuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJ0ZXh0YXJlYSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHBhZGRpbmc6IDMwcHggMTVweCA4cHggMTVweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGNkY2RiO1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBib3JkZXItcmFkaXVzOiAxNXB4O1xyXG4gIHJlc2l6ZTogbm9uZTtcclxuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbmxhYmVsIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgdG9wOiAyM3B4O1xyXG4gIGxlZnQ6IDE1cHg7XHJcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5ib3R0b20tc3BhY2Uge1xyXG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbn1cclxuXHJcbi5uZy10b3VjaGVkLmZvcm0taW52YWxpZCB7XHJcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDIzOCwgOTUsIDkxLCAwLjgpO1xyXG4gIGJveC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KSBpbnNldCwgMCAwIDhweCByZ2JhKDIzOCwgOTUsIDkxLCAwLjYpO1xyXG4gIG91dGxpbmU6IDAgbm9uZTtcclxufVxyXG5cclxuLnZhbGlkYXRpb24tZXJyb3ItYWxlcnQge1xyXG4gIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgYm9yZGVyLXJhZGl1czogMTVweDtcclxuICBsaW5lLWhlaWdodDogMS40ZW07XHJcbn1cclxuXHJcbi5wYWFyaS1uby1yYWRpdXMtcmlnaHQge1xyXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xyXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAuZm9ybS1ncm91cCB7XHJcbiAgICBsaW5lLWhlaWdodDogMTBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDBweDtcclxuICB9XHJcbn1cclxuIl19 */\";","import { Component, forwardRef, Input } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-paari-input-flag-enum',\r\n templateUrl: './paari-input-flag-enum.component.html',\r\n styleUrls: ['./paari-input-flag-enum.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => PaariInputFlagEnumComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class PaariInputFlagEnumComponent implements ControlValueAccessor {\r\n\r\n @Input() type: any;\r\n @Input() id!: string;\r\n @Input() label!: string;\r\n enum: any;\r\n noneField = 'None';\r\n\r\n @Input() disabled = false;\r\n onChange = (value: any) => { };\r\n onTouched = () => { };\r\n\r\n constructor() { }\r\n\r\n get value(): number {\r\n return this.enum;\r\n }\r\n writeValue(value: any): void {\r\n this.enum = value;\r\n this.onChange(this.enum);\r\n }\r\n registerOnChange(fn: (value: any) => void): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: () => void): void {\r\n this.onTouched = fn;\r\n }\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n toggleValue(value: any) {\r\n if (this.disabled) { return; }\r\n\r\n let array = this.enum.split(', ');\r\n if (array.includes(value)) {\r\n this.removeEntry(array, value);\r\n } else {\r\n array.push(value);\r\n }\r\n if (array.length > 1 && array.includes(this.noneField)) {\r\n this.removeEntry(array, this.noneField);\r\n }\r\n if (array.length === 0) {\r\n array.push(this.noneField);\r\n }\r\n this.writeValue(array.join(', '));\r\n }\r\n removeEntry(array: any, entry: any) {\r\n let index = array.indexOf(entry);\r\n if (index >= 0) {\r\n array.splice(index, 1);\r\n }\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { ActivatedRouteSnapshot, CanActivate, CanActivateChild, Router, RouterStateSnapshot } from \"@angular/router\";\r\nimport { select, Store } from \"@ngrx/store\";\r\nimport { map } from \"rxjs/operators\";\r\nimport * as fromShared from 'src/app/shared/state';\r\n\r\nconst unauthenticatedRoutes: Array = [\r\n new RegExp(\"^/delivery-notes/shared/?$\"),\r\n new RegExp(\"^/delivery-notes/shared/[\\\\w-]+/?$\"),\r\n];\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthGuard implements CanActivate, CanActivateChild {\r\n constructor(\r\n private store: Store,\r\n ) {}\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n if (this.skipAuthentication(state.url)) return true;\r\n return this.verifyLoggedInOrRedirect(state);\r\n }\r\n\r\n canActivateChild(childRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n if (this.skipAuthentication(state.url)) return true;\r\n return this.verifyLoggedInOrRedirect(state);\r\n }\r\n\r\n verifyLoggedInOrRedirect(state: RouterStateSnapshot) {\r\n return this.store.pipe(select(fromShared.getConfiguration), map(config => {\r\n if (config?.loggedIn) return true;\r\n window.location.href = \"/api/account/login\";\r\n return false;\r\n }));\r\n }\r\n\r\n skipAuthentication(url: string): boolean {\r\n // Remove query string, only test pathname\r\n const normalizedUrl = (new URL(url, window.location.origin)).pathname;\r\n const result = unauthenticatedRoutes.some(routeRegex => routeRegex.test(normalizedUrl));\r\n return result;\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n // tslint:disable-next-line: component-selector\r\n selector: 'paari-headlines',\r\n templateUrl: './paari-headlines.component.html',\r\n styleUrls: ['./paari-headlines.component.scss']\r\n})\r\nexport class PaariHeadlinesComponent {\r\n locationTitle!: string;\r\n @Input() title!: string;\r\n @Input() titles!: string[];\r\n @Input() bigtitle!: string;\r\n @Input() bigtitles!: string[];\r\n @Input() description!: string;\r\n @Input() backButton!: boolean;\r\n @Input() ignoreLocation!: boolean;\r\n @Input() companyImage!: string;\r\n @Output() backClick = new EventEmitter();\r\n\r\n goBack() {\r\n this.backClick.emit();\r\n }\r\n}\r\n","import { ConfigurationModel } from '../generated/FrontClient';\r\nimport { ModuleTypes } from '../enums/module-types.enum';\r\nimport { SharedActionTypes, SharedActions } from './shared.actions';\r\n\r\nexport interface SharedState {\r\n currentModule: ModuleTypes;\r\n consentAccepted: boolean;\r\n configuration: ConfigurationModel | null;\r\n announcementsLastVisit: Date | null;\r\n pushNotifications: boolean;\r\n}\r\n\r\nconst initialState: SharedState = {\r\n currentModule: ModuleTypes.APPS,\r\n consentAccepted: false,\r\n configuration: null,\r\n announcementsLastVisit: null,\r\n pushNotifications: false\r\n};\r\n\r\nexport function reducer(state = initialState, action: SharedActions): SharedState {\r\n switch (action.type) {\r\n case SharedActionTypes.ResetStore: {\r\n return initialState;\r\n }\r\n case SharedActionTypes.SetCurrentModule: {\r\n return {\r\n ...state,\r\n currentModule: action.payload\r\n };\r\n }\r\n case SharedActionTypes.AcceptCookieConsent: {\r\n return {\r\n ...state,\r\n consentAccepted: true\r\n };\r\n }\r\n case SharedActionTypes.SetConfiguration: {\r\n return {\r\n ...state,\r\n configuration: action.payload\r\n };\r\n }\r\n case SharedActionTypes.SetAnnouncementsLastVisitDate: {\r\n return {\r\n ...state,\r\n announcementsLastVisit: action.payload\r\n };\r\n }\r\n case SharedActionTypes.SetPushNotifications: {\r\n return {\r\n ...state,\r\n pushNotifications: action.payload\r\n };\r\n }\r\n default: {\r\n return state;\r\n }\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-confirm-delete-modal',\r\n templateUrl: './confirm-delete-modal.component.html',\r\n styleUrls: ['./confirm-delete-modal.component.scss']\r\n})\r\nexport class ConfirmDeleteModalComponent {\r\n\r\n onSave = new Subject();\r\n\r\n constructor(public dialogRef: MatDialogRef) { }\r\n\r\n onCancel() {\r\n this.dialogRef.close();\r\n }\r\n onConfirm() {\r\n this.onSave.next();\r\n this.dialogRef.close();\r\n }\r\n}\r\n","export default \"#separator {\\n width: 100%;\\n margin-bottom: 20px;\\n border-bottom: 2px solid #fdc628;\\n padding: 2em 0 0;\\n font-size: 12px;\\n letter-spacing: 2px;\\n line-height: 32px;\\n text-transform: uppercase;\\n}\\n\\n.top-margin {\\n margin-top: 20px;\\n}\\n\\n.no-margin {\\n margin-top: 0;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbGF5b3V0L3BhYXJpLXNlY3Rpb24tc2VwYXJhdG9yL3BhYXJpLXNlY3Rpb24tc2VwYXJhdG9yLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksV0FBQTtFQUNBLG1CQUFBO0VBQ0EsZ0NBQUE7RUFDQSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxtQkFBQTtFQUNBLGlCQUFBO0VBQ0EseUJBQUE7QUFDSjs7QUFFQTtFQUNJLGdCQUFBO0FBQ0o7O0FBRUE7RUFDSSxhQUFBO0FBQ0oiLCJmaWxlIjoic3JjL2FwcC9sYXlvdXQvcGFhcmktc2VjdGlvbi1zZXBhcmF0b3IvcGFhcmktc2VjdGlvbi1zZXBhcmF0b3IuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIjc2VwYXJhdG9yIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZmRjNjI4O1xyXG4gICAgcGFkZGluZzogMmVtIDAgMDtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGxldHRlci1zcGFjaW5nOiAycHg7XHJcbiAgICBsaW5lLWhlaWdodDogMzJweDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbn1cclxuXHJcbi50b3AtbWFyZ2luIHtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbn1cclxuXHJcbi5uby1tYXJnaW4ge1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxufVxyXG4iXX0= */\";","export default \"
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\";","export default \"
\\r\\n

{{ 'Shared.Modals.SearchRole.Header' | translate}}

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{'Shared.Modals.SearchRole.Code' | translate}}{{'Shared.Modals.SearchRole.Name' | translate}}
{{role.code}}{{role.name}}
\\r\\n
\\r\\n
\\r\\n\";","export default \"
\\r\\n

\\r\\n {{ 'Shared.Modals.ImagePreview.Header' | translate}}\\r\\n

\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\";","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-top-nav-menu-button',\r\n templateUrl: './top-nav-menu-button.component.html'\r\n})\r\nexport class TopNavMenuButtonComponent {\r\n\r\n @Input() screenWidth!: number;\r\n @Input() smallScreenSize!: number;\r\n @Output() toggleSideNav: EventEmitter = new EventEmitter();\r\n}\r\n","import { Injectable, OnDestroy } from \"@angular/core\";\r\nimport { MomentDateAdapter } from \"@angular/material-moment-adapter\";\r\nimport { LangChangeEvent, TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Injectable()\r\nexport class CustomDateAdapter extends MomentDateAdapter implements OnDestroy {\r\n\r\n readonly languageChange = this.translate.onLangChange.subscribe((event: LangChangeEvent) => {\r\n this.setLocale(event.lang === 'en' ? 'en-GB' : event.lang);\r\n });\r\n\r\n constructor(private translate: TranslateService) {\r\n super(translate.currentLang === 'en' ? 'en-GB' : translate.currentLang);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.languageChange.unsubscribe();\r\n }\r\n}\r\n","export default \"\\r\\n\";","//----------------------\r\n// \r\n// Generated using the NSwag toolchain v13.16.1.0 (NJsonSchema v10.7.2.0 (Newtonsoft.Json v12.0.0.0)) (http://NSwag.org)\r\n// \r\n//----------------------\r\n\r\n/* tslint:disable */\r\n/* eslint-disable */\r\n// ReSharper disable InconsistentNaming\r\n\r\nimport { HttpClient, HttpHeaders, HttpResponse, HttpResponseBase } from '@angular/common/http';\r\nimport { Inject, Injectable, InjectionToken, Optional } from '@angular/core';\r\nimport { Observable, of as _observableOf, throwError as _observableThrow } from 'rxjs';\r\nimport { catchError as _observableCatch, mergeMap as _observableMergeMap } from 'rxjs/operators';\r\n\r\nexport const API_BASE_URL_SAFETY = new InjectionToken('API_BASE_URL_SAFETY');\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConnectedUsersClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_SAFETY) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/Safety.Api\";\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n connectedUsersGet(): Observable {\r\n let url_ = this.baseUrl + \"/v1/ConnectedUsers\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processConnectedUsersGet(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processConnectedUsersGet(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processConnectedUsersGet(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ConnectedUserDetailsResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n connectedUsersPut(body: UpdateConnectedUserDetailsRequest | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v1/ConnectedUsers\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processConnectedUsersPut(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processConnectedUsersPut(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processConnectedUsersPut(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ConnectedUserDetailsResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n connectLocation(body: ConnectLocationWithUserRequest | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v1/ConnectedUsers/ConnectLocation\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processConnectLocation(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processConnectLocation(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processConnectLocation(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ConnectedUserDetailsResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n addSafetyTraining(body: AddSafetyTrainingToConnectedUserRequest | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v1/ConnectedUsers/AddSafetyTraining\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAddSafetyTraining(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAddSafetyTraining(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAddSafetyTraining(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RulesGroupsClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_SAFETY) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/Safety.Api\";\r\n }\r\n\r\n /**\r\n * @param locationCode (optional) \r\n * @param languageCode (optional) \r\n * @return Success\r\n */\r\n rulesGroups(locationCode: string | null | undefined, languageCode: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v1/RulesGroups?\";\r\n if (locationCode !== undefined && locationCode !== null)\r\n url_ += \"locationCode=\" + encodeURIComponent(\"\" + locationCode) + \"&\";\r\n if (languageCode !== undefined && languageCode !== null)\r\n url_ += \"languageCode=\" + encodeURIComponent(\"\" + languageCode) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processRulesGroups(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processRulesGroups(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processRulesGroups(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = LocationSafetyGroupsResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param locationCode (optional) \r\n * @return Success\r\n */\r\n getLocationInformation(locationCode: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v1/RulesGroups/GetLocationInformation?\";\r\n if (locationCode !== undefined && locationCode !== null)\r\n url_ += \"locationCode=\" + encodeURIComponent(\"\" + locationCode) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetLocationInformation(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetLocationInformation(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetLocationInformation(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = LocationSafetyInfromationResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param groupId (optional) \r\n * @return Success\r\n */\r\n questionnaire(groupId: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v1/RulesGroups/Questionnaire?\";\r\n if (groupId === null)\r\n throw new Error(\"The parameter 'groupId' cannot be null.\");\r\n else if (groupId !== undefined)\r\n url_ += \"groupId=\" + encodeURIComponent(\"\" + groupId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processQuestionnaire(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processQuestionnaire(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processQuestionnaire(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SafetyGroupQuestionnaireResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param locationCode (optional) \r\n * @return Success\r\n */\r\n triggerRemotePushConfiguration(locationCode: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v1/RulesGroups/TriggerRemotePushConfiguration?\";\r\n if (locationCode !== undefined && locationCode !== null)\r\n url_ += \"locationCode=\" + encodeURIComponent(\"\" + locationCode) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processTriggerRemotePushConfiguration(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processTriggerRemotePushConfiguration(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processTriggerRemotePushConfiguration(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport class ConnectedLocationDto implements IConnectedLocationDto {\r\n name?: string | undefined;\r\n code?: string | undefined;\r\n\r\n constructor(data?: IConnectedLocationDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.code = _data[\"code\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ConnectedLocationDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ConnectedLocationDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"code\"] = this.code;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IConnectedLocationDto {\r\n name?: string | undefined;\r\n code?: string | undefined;\r\n}\r\n\r\nexport class ConnectedUserDetailsResponse implements IConnectedUserDetailsResponse {\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n dateOfBirthUtc?: Date | undefined;\r\n connectedLocations?: ConnectedLocationDto[] | undefined;\r\n\r\n constructor(data?: IConnectedUserDetailsResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.dateOfBirthUtc = _data[\"dateOfBirthUtc\"] ? new Date(_data[\"dateOfBirthUtc\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"connectedLocations\"])) {\r\n this.connectedLocations = [] as any;\r\n for (let item of _data[\"connectedLocations\"])\r\n this.connectedLocations!.push(ConnectedLocationDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ConnectedUserDetailsResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ConnectedUserDetailsResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"dateOfBirthUtc\"] = this.dateOfBirthUtc ? this.dateOfBirthUtc.toISOString() : undefined;\r\n if (Array.isArray(this.connectedLocations)) {\r\n data[\"connectedLocations\"] = [];\r\n for (let item of this.connectedLocations)\r\n data[\"connectedLocations\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IConnectedUserDetailsResponse {\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n dateOfBirthUtc?: Date | undefined;\r\n connectedLocations?: ConnectedLocationDto[] | undefined;\r\n}\r\n\r\nexport class ProblemDetails implements IProblemDetails {\r\n type?: string | undefined;\r\n title?: string | undefined;\r\n status?: number | undefined;\r\n detail?: string | undefined;\r\n instance?: string | undefined;\r\n\r\n constructor(data?: IProblemDetails) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.type = _data[\"type\"];\r\n this.title = _data[\"title\"];\r\n this.status = _data[\"status\"];\r\n this.detail = _data[\"detail\"];\r\n this.instance = _data[\"instance\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProblemDetails {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProblemDetails();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"type\"] = this.type;\r\n data[\"title\"] = this.title;\r\n data[\"status\"] = this.status;\r\n data[\"detail\"] = this.detail;\r\n data[\"instance\"] = this.instance;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProblemDetails {\r\n type?: string | undefined;\r\n title?: string | undefined;\r\n status?: number | undefined;\r\n detail?: string | undefined;\r\n instance?: string | undefined;\r\n}\r\n\r\nexport class UpdateConnectedUserDetailsRequest implements IUpdateConnectedUserDetailsRequest {\r\n dateOfBirthUtc?: Date;\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n\r\n constructor(data?: IUpdateConnectedUserDetailsRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.dateOfBirthUtc = _data[\"dateOfBirthUtc\"] ? new Date(_data[\"dateOfBirthUtc\"].toString()) : undefined;\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpdateConnectedUserDetailsRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpdateConnectedUserDetailsRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"dateOfBirthUtc\"] = this.dateOfBirthUtc ? this.dateOfBirthUtc.toISOString() : undefined;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpdateConnectedUserDetailsRequest {\r\n dateOfBirthUtc?: Date;\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n}\r\n\r\nexport class ConnectLocationWithUserRequest implements IConnectLocationWithUserRequest {\r\n locationCode?: string | undefined;\r\n\r\n constructor(data?: IConnectLocationWithUserRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.locationCode = _data[\"locationCode\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ConnectLocationWithUserRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ConnectLocationWithUserRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"locationCode\"] = this.locationCode;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IConnectLocationWithUserRequest {\r\n locationCode?: string | undefined;\r\n}\r\n\r\nexport class AddSafetyTrainingToConnectedUserRequest implements IAddSafetyTrainingToConnectedUserRequest {\r\n locationCode?: string | undefined;\r\n safetyGroupId?: string;\r\n trainingFinishedDateUtc?: Date;\r\n signatureBaseString64?: string | undefined;\r\n\r\n constructor(data?: IAddSafetyTrainingToConnectedUserRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.locationCode = _data[\"locationCode\"];\r\n this.safetyGroupId = _data[\"safetyGroupId\"];\r\n this.trainingFinishedDateUtc = _data[\"trainingFinishedDateUtc\"] ? new Date(_data[\"trainingFinishedDateUtc\"].toString()) : undefined;\r\n this.signatureBaseString64 = _data[\"signatureBaseString64\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AddSafetyTrainingToConnectedUserRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AddSafetyTrainingToConnectedUserRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"locationCode\"] = this.locationCode;\r\n data[\"safetyGroupId\"] = this.safetyGroupId;\r\n data[\"trainingFinishedDateUtc\"] = this.trainingFinishedDateUtc ? this.trainingFinishedDateUtc.toISOString() : undefined;\r\n data[\"signatureBaseString64\"] = this.signatureBaseString64;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAddSafetyTrainingToConnectedUserRequest {\r\n locationCode?: string | undefined;\r\n safetyGroupId?: string;\r\n trainingFinishedDateUtc?: Date;\r\n signatureBaseString64?: string | undefined;\r\n}\r\n\r\nexport class TranslationDto implements ITranslationDto {\r\n languageCode?: string | undefined;\r\n value?: string | undefined;\r\n\r\n constructor(data?: ITranslationDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.languageCode = _data[\"languageCode\"];\r\n this.value = _data[\"value\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TranslationDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TranslationDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"languageCode\"] = this.languageCode;\r\n data[\"value\"] = this.value;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITranslationDto {\r\n languageCode?: string | undefined;\r\n value?: string | undefined;\r\n}\r\n\r\nexport class SafetyInstructionDto implements ISafetyInstructionDto {\r\n index?: string | undefined;\r\n languageCode?: string | undefined;\r\n imageStringBase64?: string | undefined;\r\n\r\n constructor(data?: ISafetyInstructionDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.index = _data[\"index\"];\r\n this.languageCode = _data[\"languageCode\"];\r\n this.imageStringBase64 = _data[\"imageStringBase64\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SafetyInstructionDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SafetyInstructionDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"index\"] = this.index;\r\n data[\"languageCode\"] = this.languageCode;\r\n data[\"imageStringBase64\"] = this.imageStringBase64;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISafetyInstructionDto {\r\n index?: string | undefined;\r\n languageCode?: string | undefined;\r\n imageStringBase64?: string | undefined;\r\n}\r\n\r\nexport class SafetyRuleDto implements ISafetyRuleDto {\r\n id?: string;\r\n index?: string | undefined;\r\n screenDurationInSeconds?: number;\r\n isActive?: boolean;\r\n nameTranslations?: TranslationDto[] | undefined;\r\n instructions?: SafetyInstructionDto[] | undefined;\r\n\r\n constructor(data?: ISafetyRuleDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.index = _data[\"index\"];\r\n this.screenDurationInSeconds = _data[\"screenDurationInSeconds\"];\r\n this.isActive = _data[\"isActive\"];\r\n if (Array.isArray(_data[\"nameTranslations\"])) {\r\n this.nameTranslations = [] as any;\r\n for (let item of _data[\"nameTranslations\"])\r\n this.nameTranslations!.push(TranslationDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"instructions\"])) {\r\n this.instructions = [] as any;\r\n for (let item of _data[\"instructions\"])\r\n this.instructions!.push(SafetyInstructionDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SafetyRuleDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SafetyRuleDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"index\"] = this.index;\r\n data[\"screenDurationInSeconds\"] = this.screenDurationInSeconds;\r\n data[\"isActive\"] = this.isActive;\r\n if (Array.isArray(this.nameTranslations)) {\r\n data[\"nameTranslations\"] = [];\r\n for (let item of this.nameTranslations)\r\n data[\"nameTranslations\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.instructions)) {\r\n data[\"instructions\"] = [];\r\n for (let item of this.instructions)\r\n data[\"instructions\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISafetyRuleDto {\r\n id?: string;\r\n index?: string | undefined;\r\n screenDurationInSeconds?: number;\r\n isActive?: boolean;\r\n nameTranslations?: TranslationDto[] | undefined;\r\n instructions?: SafetyInstructionDto[] | undefined;\r\n}\r\n\r\nexport class SafetyGroupDto implements ISafetyGroupDto {\r\n id?: string;\r\n index?: string | undefined;\r\n expirationDurationInDays?: number;\r\n requireSignature?: boolean;\r\n hasQuestionnaire?: boolean;\r\n nameTranslations?: TranslationDto[] | undefined;\r\n rules?: SafetyRuleDto[] | undefined;\r\n\r\n constructor(data?: ISafetyGroupDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.index = _data[\"index\"];\r\n this.expirationDurationInDays = _data[\"expirationDurationInDays\"];\r\n this.requireSignature = _data[\"requireSignature\"];\r\n this.hasQuestionnaire = _data[\"hasQuestionnaire\"];\r\n if (Array.isArray(_data[\"nameTranslations\"])) {\r\n this.nameTranslations = [] as any;\r\n for (let item of _data[\"nameTranslations\"])\r\n this.nameTranslations!.push(TranslationDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"rules\"])) {\r\n this.rules = [] as any;\r\n for (let item of _data[\"rules\"])\r\n this.rules!.push(SafetyRuleDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SafetyGroupDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SafetyGroupDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"index\"] = this.index;\r\n data[\"expirationDurationInDays\"] = this.expirationDurationInDays;\r\n data[\"requireSignature\"] = this.requireSignature;\r\n data[\"hasQuestionnaire\"] = this.hasQuestionnaire;\r\n if (Array.isArray(this.nameTranslations)) {\r\n data[\"nameTranslations\"] = [];\r\n for (let item of this.nameTranslations)\r\n data[\"nameTranslations\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.rules)) {\r\n data[\"rules\"] = [];\r\n for (let item of this.rules)\r\n data[\"rules\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISafetyGroupDto {\r\n id?: string;\r\n index?: string | undefined;\r\n expirationDurationInDays?: number;\r\n requireSignature?: boolean;\r\n hasQuestionnaire?: boolean;\r\n nameTranslations?: TranslationDto[] | undefined;\r\n rules?: SafetyRuleDto[] | undefined;\r\n}\r\n\r\nexport class LocationSafetyGroupsResponse implements ILocationSafetyGroupsResponse {\r\n locationCode?: string | undefined;\r\n groups?: SafetyGroupDto[] | undefined;\r\n\r\n constructor(data?: ILocationSafetyGroupsResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.locationCode = _data[\"locationCode\"];\r\n if (Array.isArray(_data[\"groups\"])) {\r\n this.groups = [] as any;\r\n for (let item of _data[\"groups\"])\r\n this.groups!.push(SafetyGroupDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): LocationSafetyGroupsResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LocationSafetyGroupsResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"locationCode\"] = this.locationCode;\r\n if (Array.isArray(this.groups)) {\r\n data[\"groups\"] = [];\r\n for (let item of this.groups)\r\n data[\"groups\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILocationSafetyGroupsResponse {\r\n locationCode?: string | undefined;\r\n groups?: SafetyGroupDto[] | undefined;\r\n}\r\n\r\nexport class LocationSafetyInfromationResponse implements ILocationSafetyInfromationResponse {\r\n groups?: SafetyGroupDto[] | undefined;\r\n\r\n constructor(data?: ILocationSafetyInfromationResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"groups\"])) {\r\n this.groups = [] as any;\r\n for (let item of _data[\"groups\"])\r\n this.groups!.push(SafetyGroupDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): LocationSafetyInfromationResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LocationSafetyInfromationResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.groups)) {\r\n data[\"groups\"] = [];\r\n for (let item of this.groups)\r\n data[\"groups\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILocationSafetyInfromationResponse {\r\n groups?: SafetyGroupDto[] | undefined;\r\n}\r\n\r\nexport class SafetyAnswerDto implements ISafetyAnswerDto {\r\n index?: number;\r\n isCorrect?: boolean;\r\n textTranslations?: TranslationDto[] | undefined;\r\n\r\n constructor(data?: ISafetyAnswerDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.index = _data[\"index\"];\r\n this.isCorrect = _data[\"isCorrect\"];\r\n if (Array.isArray(_data[\"textTranslations\"])) {\r\n this.textTranslations = [] as any;\r\n for (let item of _data[\"textTranslations\"])\r\n this.textTranslations!.push(TranslationDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SafetyAnswerDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SafetyAnswerDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"index\"] = this.index;\r\n data[\"isCorrect\"] = this.isCorrect;\r\n if (Array.isArray(this.textTranslations)) {\r\n data[\"textTranslations\"] = [];\r\n for (let item of this.textTranslations)\r\n data[\"textTranslations\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISafetyAnswerDto {\r\n index?: number;\r\n isCorrect?: boolean;\r\n textTranslations?: TranslationDto[] | undefined;\r\n}\r\n\r\nexport class SafetyQuestionDto implements ISafetyQuestionDto {\r\n index?: number;\r\n answers?: SafetyAnswerDto[] | undefined;\r\n textTranslations?: TranslationDto[] | undefined;\r\n\r\n constructor(data?: ISafetyQuestionDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.index = _data[\"index\"];\r\n if (Array.isArray(_data[\"answers\"])) {\r\n this.answers = [] as any;\r\n for (let item of _data[\"answers\"])\r\n this.answers!.push(SafetyAnswerDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"textTranslations\"])) {\r\n this.textTranslations = [] as any;\r\n for (let item of _data[\"textTranslations\"])\r\n this.textTranslations!.push(TranslationDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SafetyQuestionDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SafetyQuestionDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"index\"] = this.index;\r\n if (Array.isArray(this.answers)) {\r\n data[\"answers\"] = [];\r\n for (let item of this.answers)\r\n data[\"answers\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.textTranslations)) {\r\n data[\"textTranslations\"] = [];\r\n for (let item of this.textTranslations)\r\n data[\"textTranslations\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISafetyQuestionDto {\r\n index?: number;\r\n answers?: SafetyAnswerDto[] | undefined;\r\n textTranslations?: TranslationDto[] | undefined;\r\n}\r\n\r\nexport class SafetyQuestionnaireDto implements ISafetyQuestionnaireDto {\r\n maxWrongAnsweredQuestionsForSuccess?: number;\r\n amountOfQuestionsToUseForTest?: number;\r\n questions?: SafetyQuestionDto[] | undefined;\r\n nameTranslations?: TranslationDto[] | undefined;\r\n\r\n constructor(data?: ISafetyQuestionnaireDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.maxWrongAnsweredQuestionsForSuccess = _data[\"maxWrongAnsweredQuestionsForSuccess\"];\r\n this.amountOfQuestionsToUseForTest = _data[\"amountOfQuestionsToUseForTest\"];\r\n if (Array.isArray(_data[\"questions\"])) {\r\n this.questions = [] as any;\r\n for (let item of _data[\"questions\"])\r\n this.questions!.push(SafetyQuestionDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"nameTranslations\"])) {\r\n this.nameTranslations = [] as any;\r\n for (let item of _data[\"nameTranslations\"])\r\n this.nameTranslations!.push(TranslationDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SafetyQuestionnaireDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SafetyQuestionnaireDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"maxWrongAnsweredQuestionsForSuccess\"] = this.maxWrongAnsweredQuestionsForSuccess;\r\n data[\"amountOfQuestionsToUseForTest\"] = this.amountOfQuestionsToUseForTest;\r\n if (Array.isArray(this.questions)) {\r\n data[\"questions\"] = [];\r\n for (let item of this.questions)\r\n data[\"questions\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.nameTranslations)) {\r\n data[\"nameTranslations\"] = [];\r\n for (let item of this.nameTranslations)\r\n data[\"nameTranslations\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISafetyQuestionnaireDto {\r\n maxWrongAnsweredQuestionsForSuccess?: number;\r\n amountOfQuestionsToUseForTest?: number;\r\n questions?: SafetyQuestionDto[] | undefined;\r\n nameTranslations?: TranslationDto[] | undefined;\r\n}\r\n\r\nexport class SafetyGroupQuestionnaireResponse implements ISafetyGroupQuestionnaireResponse {\r\n questionnaire?: SafetyQuestionnaireDto;\r\n\r\n constructor(data?: ISafetyGroupQuestionnaireResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.questionnaire = _data[\"questionnaire\"] ? SafetyQuestionnaireDto.fromJS(_data[\"questionnaire\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): SafetyGroupQuestionnaireResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SafetyGroupQuestionnaireResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"questionnaire\"] = this.questionnaire ? this.questionnaire.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISafetyGroupQuestionnaireResponse {\r\n questionnaire?: SafetyQuestionnaireDto;\r\n}\r\n\r\nexport class SwaggerException extends Error {\r\n message: string;\r\n status: number;\r\n response: string;\r\n headers: { [key: string]: any; };\r\n result: any;\r\n\r\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\r\n super();\r\n\r\n this.message = message;\r\n this.status = status;\r\n this.response = response;\r\n this.headers = headers;\r\n this.result = result;\r\n }\r\n\r\n protected isSwaggerException = true;\r\n\r\n static isSwaggerException(obj: any): obj is SwaggerException {\r\n return obj.isSwaggerException === true;\r\n }\r\n}\r\n\r\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): Observable {\r\n if (result !== null && result !== undefined)\r\n return _observableThrow(result);\r\n else\r\n return _observableThrow(new SwaggerException(message, status, response, headers, null));\r\n}\r\n\r\nfunction blobToText(blob: any): Observable {\r\n return new Observable((observer: any) => {\r\n if (!blob) {\r\n observer.next(\"\");\r\n observer.complete();\r\n } else {\r\n let reader = new FileReader();\r\n reader.onload = event => {\r\n observer.next((event.target as any).result);\r\n observer.complete();\r\n };\r\n reader.readAsText(blob);\r\n }\r\n });\r\n}\r\n","import { ValidatorModel } from 'src/app/layout/shared/validator.model';\r\n\r\nexport const StringValidators = {\r\n getIsRequiredValidator(): ValidatorModel {\r\n return {\r\n validate: (model: string) => {\r\n return model !== undefined && model != null && model.length > 0;\r\n },\r\n errorMessage: 'Validation.Required'\r\n };\r\n },\r\n\r\n getDigitRequiredValidator(): ValidatorModel {\r\n return {\r\n validate: (model: string) => {\r\n return model !== undefined && model != null && model.match(/^(?=.*\\d).*$/);\r\n },\r\n errorMessage: 'Validation.Password.DigitRequired'\r\n };\r\n },\r\n\r\n getLowercaseRequiredValidator(): ValidatorModel {\r\n return {\r\n validate: (model: string) => {\r\n return model !== undefined && model != null && model.match(/^(?=.*[a-z]).*$/);\r\n },\r\n errorMessage: 'Validation.Password.LowercaseRequired'\r\n };\r\n },\r\n\r\n getUppercaseRequiredValidator(): ValidatorModel {\r\n return {\r\n validate: (model: string) => {\r\n return model !== undefined && model != null && model.match(/^(?=.*[A-Z]).*$/);\r\n },\r\n errorMessage: 'Validation.Password.UppercaseRequired'\r\n };\r\n },\r\n\r\n getNonAlphanumericRequiredValidator(): ValidatorModel {\r\n return {\r\n validate: (model: string) => {\r\n return model !== undefined && model != null && model.match(/^(?=.*[^A-Za-z0-9]).*$/);\r\n },\r\n errorMessage: 'Validation.Password.NonAlphanumericRequired'\r\n };\r\n },\r\n\r\n getMinRequiredValidator(): ValidatorModel {\r\n return {\r\n validate: (model: string) => {\r\n return model !== undefined && model != null && model.length >= 6;\r\n },\r\n errorMessage: 'Validation.Password.MinLenghtRequired'\r\n };\r\n },\r\n\r\n getMinValidator(length: number): ValidatorModel {\r\n return {\r\n validate: (model: string) => {\r\n return model !== undefined && model != null && model.length >= length;\r\n },\r\n errorMessage: 'Validation.String.MinLenght'\r\n };\r\n },\r\n\r\n getEmailValidator(): ValidatorModel {\r\n const emailPattern = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/;\r\n return {\r\n validate: (model: string) => {\r\n return model !== undefined && model != null && model.match(emailPattern);\r\n },\r\n errorMessage: 'Validation.String.Email'\r\n };\r\n },\r\n\r\n getLocationCodeValidator(): ValidatorModel {\r\n return {\r\n validate: (model: string) => {\r\n return model.startsWith('1') && model.length === 6;\r\n },\r\n errorMessage: 'Validation.String.IncorrectLocationCode'\r\n };\r\n },\r\n};\r\n","export default \"
\\r\\n \\r\\n
\\r\\n\";","import { CommonModule } from '@angular/common';\r\nimport { APP_INITIALIZER, Inject, NgModule, PLATFORM_ID } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { Store, StoreModule } from '@ngrx/store';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { DataTablesModule } from 'angular-datatables';\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport * as fromShared from 'src/app/shared/state';\r\nimport { ChangesTrackerCanDeactivateGuard } from '../core/guards/can-deactivate-guard.guard';\r\nimport { TruncatePipe } from '../core/pipes/truncate.pipe';\r\nimport { AppFontAwesomeModule } from './font-awesome.module';\r\nimport { API_BASE_URL_ACCOUNT } from './generated/AccountClient';\r\nimport { API_BASE_URL_CLOUD } from './generated/CloudClient';\r\nimport { API_BASE_URL_IDENTITY } from './generated/IdentityClient';\r\nimport { API_BASE_URL_FRONT } from './generated/FrontClient';\r\nimport { API_BASE_URL_LOGISTIC } from './generated/LogisticManagementClient';\r\nimport { API_BASE_URL_NOTIFICATION } from './generated/NotificationClient';\r\nimport { API_BASE_URL_SAFETY } from './generated/SafetyClient';\r\nimport { API_BASE_URL_STATISTIC } from './generated/StatisticClient';\r\nimport { API_BASE_URL_TAC } from './generated/TacClient';\r\nimport { API_BASE_URL_TSM } from './generated/TimeSlotManagementClient';\r\nimport { API_BASE_URL_TSM_V3 } from './generated/TimeSlotManagementClientV3';\r\nimport { ModuleStateGuard } from './guards/module-state.guard';\r\nimport { MaterialModule } from './material.module';\r\nimport { ConfigService } from './services/config.service';\r\nimport { LanguageService } from './services/language.service';\r\nimport { SetConfiguration } from './state/shared.actions';\r\nimport { reducer } from './state/shared.reducer';\r\nimport { AuthGuard } from './guards/auth.guard';\r\n\r\nexport function loadConfig(configService: ConfigService, store: Store) {\r\n return () => configService.getConfiguration().toPromise().then(result => {\r\n console.log('APP_INITIALIZER: Getting Configuration End');\r\n store.dispatch(new SetConfiguration(result));\r\n });\r\n}\r\n\r\n@NgModule({\r\n declarations: [\r\n TruncatePipe\r\n ],\r\n providers: [\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: loadConfig,\r\n deps: [ConfigService, Store],\r\n multi: true\r\n },\r\n {\r\n provide: API_BASE_URL_ACCOUNT,\r\n useValue: '/backend/accountapi'\r\n },\r\n {\r\n provide: API_BASE_URL_CLOUD,\r\n useValue: '/backend/cloudapi'\r\n },\r\n {\r\n provide: API_BASE_URL_IDENTITY,\r\n useValue: '/backend/identityapi'\r\n },\r\n {\r\n provide: API_BASE_URL_FRONT,\r\n useValue: ''\r\n },\r\n {\r\n provide: API_BASE_URL_LOGISTIC,\r\n useValue: '/backend/logisticmanagement'\r\n },\r\n {\r\n provide: API_BASE_URL_NOTIFICATION,\r\n useValue: '/backend/notificationapi'\r\n },\r\n {\r\n provide: API_BASE_URL_SAFETY,\r\n useValue: '/backend/safetyapi'\r\n },\r\n {\r\n provide: API_BASE_URL_STATISTIC,\r\n useValue: '/backend/statisticapi'\r\n },\r\n {\r\n provide: API_BASE_URL_TAC,\r\n useValue: '/backend/tacapi'\r\n },\r\n {\r\n provide: API_BASE_URL_TSM,\r\n useValue: '/backend/timeslotmanagementapi'\r\n },\r\n {\r\n provide: API_BASE_URL_TSM_V3,\r\n useValue: '/backend/timeslotmanagementapi'\r\n },\r\n LanguageService,\r\n ConfigService,\r\n ModuleStateGuard,\r\n AuthGuard,\r\n ChangesTrackerCanDeactivateGuard,\r\n ],\r\n imports: [\r\n CommonModule,\r\n MaterialModule,\r\n AppFontAwesomeModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n DataTablesModule,\r\n ToastrModule.forRoot({\r\n timeOut: 3000,\r\n positionClass: 'toast-top-right',\r\n preventDuplicates: true,\r\n closeButton: true\r\n }),\r\n StoreModule.forFeature('shared', reducer),\r\n ],\r\n exports: [\r\n MaterialModule,\r\n AppFontAwesomeModule,\r\n TranslateModule,\r\n TruncatePipe\r\n ]\r\n})\r\nexport class SharedModule {\r\n constructor(@Inject(PLATFORM_ID) private readonly platformId: any) { }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2xheW91dC9hbGVydC1zaW5nbGUtd2FybmluZy1tZXNzYWdlL2FsZXJ0LXNpbmdsZS13YXJuaW5nLW1lc3NhZ2UuY29tcG9uZW50LnNjc3MifQ== */\";","export default \"\\r\\n
\\r\\n
\\r\\n

{{'Shared.CookieConsent' | translate}}

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\";","export default \"\\r\\n \\r\\n
\";","export default \"
\\r\\n
{{ 'Footer.Copyright' | translate : { year : currentYear } }}
\\r\\n

{{ 'Footer.Support' | translate }}\\r\\n
\\r\\n support-cloud@paari.de {{ 'Footer.ContactUs' | translate }} +49 (0) 36204 569-0\\r\\n

\\r\\n {{ 'Footer.Version' | translate }}: {{ version === undefined ? \\\"1.0.0.0\\\" : version }}\\r\\n
\";","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-top-nav-preview-description',\r\n templateUrl: './top-nav-preview-description.component.html',\r\n styleUrls: ['./top-nav-preview-description.component.scss']\r\n})\r\nexport class TopNavPreviewDescriptionComponent { }\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { cloneDeep } from 'lodash';\r\nimport { NameTranslationDto } from 'src/app/shared/generated/TimeSlotManagementClient';\r\nimport { MultilingualNameModalComponent } from '../modals/multilingual-name-modal/multilingual-name-modal.component';\r\n\r\n@Component({\r\n selector: 'app-paari-multilanguage-name',\r\n templateUrl: './paari-multilanguage-name.component.html',\r\n styleUrls: ['./paari-multilanguage-name.component.scss']\r\n})\r\nexport class PaariMultilanguageNameComponent {\r\n\r\n @Input() translations!: NameTranslationDto[];\r\n @Input() label!: string;\r\n @Input() id!: string;\r\n @Input() disabled: boolean = false;\r\n\r\n @Output() translationChange: EventEmitter = new EventEmitter();\r\n\r\n constructor(private dialog: MatDialog) { }\r\n\r\n toggleModal() {\r\n let initialState = { translations: cloneDeep(this.translations), header: this.label, disabled: this.disabled };\r\n let bsModalRef = this.dialog.open(MultilingualNameModalComponent, { data: initialState });\r\n bsModalRef.componentInstance.onSave.subscribe((value: NameTranslationDto[]) => {\r\n // [WORKAROUND] this.translations=value; can't be used, because @Input() reference will be broken\r\n while (this.translations.length > 0) {\r\n this.translations.pop();\r\n }\r\n value.forEach(t => this.translations.push(t));\r\n this.translationChange.emit(null);\r\n });\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport 'brace';\r\nimport 'brace/mode/text';\r\nimport 'brace/theme/monokai';\r\nimport { AceConfigInterface } from 'ngx-ace-wrapper';\r\n\r\n@Component({\r\n selector: 'app-paari-ace',\r\n templateUrl: './paari-ace.component.html'\r\n})\r\nexport class PaariAceComponent {\r\n\r\n @Input()\r\n height: string = '300px';\r\n\r\n @Input()\r\n set model(value: string) {\r\n if (this._model === value) {\r\n return;\r\n }\r\n this._model = value;\r\n this.modelChange.emit(this._model);\r\n }\r\n get model() {\r\n return this._model;\r\n }\r\n\r\n @Output()\r\n modelChange = new EventEmitter();\r\n\r\n private _model!: string;\r\n public config: AceConfigInterface = {\r\n mode: 'text',\r\n theme: 'monokai',\r\n readOnly: false,\r\n tabSize: 2\r\n };\r\n}\r\n","export default \"\\r\\n
\\r\\n {{checked}}\\r\\n
\\r\\n
\";","export default \"
\\r\\n {{ label | translate}}\\r\\n \\r\\n
\\r\\n \";","import { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport * as fromRoot from '../../app.state';\r\nimport { SharedState } from './shared.reducer';\r\n\r\nexport interface State extends fromRoot.State {\r\n sharedState: SharedState;\r\n}\r\n\r\nexport const getSharedState = createFeatureSelector('shared');\r\n\r\nexport const getCurrentModule = createSelector(\r\n getSharedState,\r\n state => state.currentModule\r\n);\r\n\r\nexport const getCookieConsent = createSelector(\r\n getSharedState,\r\n state => state.consentAccepted\r\n);\r\n\r\nexport const getConfiguration = createSelector(\r\n getSharedState,\r\n state => state.configuration\r\n);\r\n\r\nexport const getAnnouncementsLastVisit = createSelector(\r\n getSharedState,\r\n state => state.announcementsLastVisit\r\n);\r\n\r\nexport const getPushNotfications = createSelector(\r\n getSharedState,\r\n state => state.pushNotifications\r\n);\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-paari-empty-row',\r\n templateUrl: './paari-empty-row.component.html',\r\n styleUrls: ['./paari-empty-row.component.scss']\r\n})\r\nexport class PaariEmptyRowComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","var map = {\n\t\"./af\": \"K/tc\",\n\t\"./af.js\": \"K/tc\",\n\t\"./ar\": \"jnO4\",\n\t\"./ar-dz\": \"o1bE\",\n\t\"./ar-dz.js\": \"o1bE\",\n\t\"./ar-kw\": \"Qj4J\",\n\t\"./ar-kw.js\": \"Qj4J\",\n\t\"./ar-ly\": \"HP3h\",\n\t\"./ar-ly.js\": \"HP3h\",\n\t\"./ar-ma\": \"CoRJ\",\n\t\"./ar-ma.js\": \"CoRJ\",\n\t\"./ar-sa\": \"gjCT\",\n\t\"./ar-sa.js\": \"gjCT\",\n\t\"./ar-tn\": \"bYM6\",\n\t\"./ar-tn.js\": \"bYM6\",\n\t\"./ar.js\": \"jnO4\",\n\t\"./az\": \"SFxW\",\n\t\"./az.js\": \"SFxW\",\n\t\"./be\": \"H8ED\",\n\t\"./be.js\": \"H8ED\",\n\t\"./bg\": \"hKrs\",\n\t\"./bg.js\": \"hKrs\",\n\t\"./bm\": \"p/rL\",\n\t\"./bm.js\": \"p/rL\",\n\t\"./bn\": \"kEOa\",\n\t\"./bn-bd\": \"loYQ\",\n\t\"./bn-bd.js\": \"loYQ\",\n\t\"./bn.js\": \"kEOa\",\n\t\"./bo\": \"0mo+\",\n\t\"./bo.js\": \"0mo+\",\n\t\"./br\": \"aIdf\",\n\t\"./br.js\": \"aIdf\",\n\t\"./bs\": \"JVSJ\",\n\t\"./bs.js\": \"JVSJ\",\n\t\"./ca\": \"1xZ4\",\n\t\"./ca.js\": \"1xZ4\",\n\t\"./cs\": \"PA2r\",\n\t\"./cs.js\": \"PA2r\",\n\t\"./cv\": \"A+xa\",\n\t\"./cv.js\": \"A+xa\",\n\t\"./cy\": \"l5ep\",\n\t\"./cy.js\": \"l5ep\",\n\t\"./da\": \"DxQv\",\n\t\"./da.js\": \"DxQv\",\n\t\"./de\": \"tGlX\",\n\t\"./de-at\": \"s+uk\",\n\t\"./de-at.js\": \"s+uk\",\n\t\"./de-ch\": \"u3GI\",\n\t\"./de-ch.js\": \"u3GI\",\n\t\"./de.js\": \"tGlX\",\n\t\"./dv\": \"WYrj\",\n\t\"./dv.js\": \"WYrj\",\n\t\"./el\": \"jUeY\",\n\t\"./el.js\": \"jUeY\",\n\t\"./en-au\": \"Dmvi\",\n\t\"./en-au.js\": \"Dmvi\",\n\t\"./en-ca\": \"OIYi\",\n\t\"./en-ca.js\": \"OIYi\",\n\t\"./en-gb\": \"Oaa7\",\n\t\"./en-gb.js\": \"Oaa7\",\n\t\"./en-ie\": \"4dOw\",\n\t\"./en-ie.js\": \"4dOw\",\n\t\"./en-il\": \"czMo\",\n\t\"./en-il.js\": \"czMo\",\n\t\"./en-in\": \"7C5Q\",\n\t\"./en-in.js\": \"7C5Q\",\n\t\"./en-nz\": \"b1Dy\",\n\t\"./en-nz.js\": \"b1Dy\",\n\t\"./en-sg\": \"t+mt\",\n\t\"./en-sg.js\": \"t+mt\",\n\t\"./eo\": \"Zduo\",\n\t\"./eo.js\": \"Zduo\",\n\t\"./es\": \"iYuL\",\n\t\"./es-do\": \"CjzT\",\n\t\"./es-do.js\": \"CjzT\",\n\t\"./es-mx\": \"tbfe\",\n\t\"./es-mx.js\": \"tbfe\",\n\t\"./es-us\": \"Vclq\",\n\t\"./es-us.js\": \"Vclq\",\n\t\"./es.js\": \"iYuL\",\n\t\"./et\": \"7BjC\",\n\t\"./et.js\": \"7BjC\",\n\t\"./eu\": \"D/JM\",\n\t\"./eu.js\": \"D/JM\",\n\t\"./fa\": \"jfSC\",\n\t\"./fa.js\": \"jfSC\",\n\t\"./fi\": \"gekB\",\n\t\"./fi.js\": \"gekB\",\n\t\"./fil\": \"1ppg\",\n\t\"./fil.js\": \"1ppg\",\n\t\"./fo\": \"ByF4\",\n\t\"./fo.js\": \"ByF4\",\n\t\"./fr\": \"nyYc\",\n\t\"./fr-ca\": \"2fjn\",\n\t\"./fr-ca.js\": \"2fjn\",\n\t\"./fr-ch\": \"Dkky\",\n\t\"./fr-ch.js\": \"Dkky\",\n\t\"./fr.js\": \"nyYc\",\n\t\"./fy\": \"cRix\",\n\t\"./fy.js\": \"cRix\",\n\t\"./ga\": \"USCx\",\n\t\"./ga.js\": \"USCx\",\n\t\"./gd\": \"9rRi\",\n\t\"./gd.js\": \"9rRi\",\n\t\"./gl\": \"iEDd\",\n\t\"./gl.js\": \"iEDd\",\n\t\"./gom-deva\": \"qvJo\",\n\t\"./gom-deva.js\": \"qvJo\",\n\t\"./gom-latn\": \"DKr+\",\n\t\"./gom-latn.js\": \"DKr+\",\n\t\"./gu\": \"4MV3\",\n\t\"./gu.js\": \"4MV3\",\n\t\"./he\": \"x6pH\",\n\t\"./he.js\": \"x6pH\",\n\t\"./hi\": \"3E1r\",\n\t\"./hi.js\": \"3E1r\",\n\t\"./hr\": \"S6ln\",\n\t\"./hr.js\": \"S6ln\",\n\t\"./hu\": \"WxRl\",\n\t\"./hu.js\": \"WxRl\",\n\t\"./hy-am\": \"1rYy\",\n\t\"./hy-am.js\": \"1rYy\",\n\t\"./id\": \"UDhR\",\n\t\"./id.js\": \"UDhR\",\n\t\"./is\": \"BVg3\",\n\t\"./is.js\": \"BVg3\",\n\t\"./it\": \"bpih\",\n\t\"./it-ch\": \"bxKX\",\n\t\"./it-ch.js\": \"bxKX\",\n\t\"./it.js\": \"bpih\",\n\t\"./ja\": \"B55N\",\n\t\"./ja.js\": \"B55N\",\n\t\"./jv\": \"tUCv\",\n\t\"./jv.js\": \"tUCv\",\n\t\"./ka\": \"IBtZ\",\n\t\"./ka.js\": \"IBtZ\",\n\t\"./kk\": \"bXm7\",\n\t\"./kk.js\": \"bXm7\",\n\t\"./km\": \"6B0Y\",\n\t\"./km.js\": \"6B0Y\",\n\t\"./kn\": \"PpIw\",\n\t\"./kn.js\": \"PpIw\",\n\t\"./ko\": \"Ivi+\",\n\t\"./ko.js\": \"Ivi+\",\n\t\"./ku\": \"JCF/\",\n\t\"./ku.js\": \"JCF/\",\n\t\"./ky\": \"lgnt\",\n\t\"./ky.js\": \"lgnt\",\n\t\"./lb\": \"RAwQ\",\n\t\"./lb.js\": \"RAwQ\",\n\t\"./lo\": \"sp3z\",\n\t\"./lo.js\": \"sp3z\",\n\t\"./lt\": \"JvlW\",\n\t\"./lt.js\": \"JvlW\",\n\t\"./lv\": \"uXwI\",\n\t\"./lv.js\": \"uXwI\",\n\t\"./me\": \"KTz0\",\n\t\"./me.js\": \"KTz0\",\n\t\"./mi\": \"aIsn\",\n\t\"./mi.js\": \"aIsn\",\n\t\"./mk\": \"aQkU\",\n\t\"./mk.js\": \"aQkU\",\n\t\"./ml\": \"AvvY\",\n\t\"./ml.js\": \"AvvY\",\n\t\"./mn\": \"lYtQ\",\n\t\"./mn.js\": \"lYtQ\",\n\t\"./mr\": \"Ob0Z\",\n\t\"./mr.js\": \"Ob0Z\",\n\t\"./ms\": \"6+QB\",\n\t\"./ms-my\": \"ZAMP\",\n\t\"./ms-my.js\": \"ZAMP\",\n\t\"./ms.js\": \"6+QB\",\n\t\"./mt\": \"G0Uy\",\n\t\"./mt.js\": \"G0Uy\",\n\t\"./my\": \"honF\",\n\t\"./my.js\": \"honF\",\n\t\"./nb\": \"bOMt\",\n\t\"./nb.js\": \"bOMt\",\n\t\"./ne\": \"OjkT\",\n\t\"./ne.js\": \"OjkT\",\n\t\"./nl\": \"+s0g\",\n\t\"./nl-be\": \"2ykv\",\n\t\"./nl-be.js\": \"2ykv\",\n\t\"./nl.js\": \"+s0g\",\n\t\"./nn\": \"uEye\",\n\t\"./nn.js\": \"uEye\",\n\t\"./oc-lnc\": \"Fnuy\",\n\t\"./oc-lnc.js\": \"Fnuy\",\n\t\"./pa-in\": \"8/+R\",\n\t\"./pa-in.js\": \"8/+R\",\n\t\"./pl\": \"jVdC\",\n\t\"./pl.js\": \"jVdC\",\n\t\"./pt\": \"8mBD\",\n\t\"./pt-br\": \"0tRk\",\n\t\"./pt-br.js\": \"0tRk\",\n\t\"./pt.js\": \"8mBD\",\n\t\"./ro\": \"lyxo\",\n\t\"./ro.js\": \"lyxo\",\n\t\"./ru\": \"lXzo\",\n\t\"./ru.js\": \"lXzo\",\n\t\"./sd\": \"Z4QM\",\n\t\"./sd.js\": \"Z4QM\",\n\t\"./se\": \"//9w\",\n\t\"./se.js\": \"//9w\",\n\t\"./si\": \"7aV9\",\n\t\"./si.js\": \"7aV9\",\n\t\"./sk\": \"e+ae\",\n\t\"./sk.js\": \"e+ae\",\n\t\"./sl\": \"gVVK\",\n\t\"./sl.js\": \"gVVK\",\n\t\"./sq\": \"yPMs\",\n\t\"./sq.js\": \"yPMs\",\n\t\"./sr\": \"zx6S\",\n\t\"./sr-cyrl\": \"E+lV\",\n\t\"./sr-cyrl.js\": \"E+lV\",\n\t\"./sr.js\": \"zx6S\",\n\t\"./ss\": \"Ur1D\",\n\t\"./ss.js\": \"Ur1D\",\n\t\"./sv\": \"X709\",\n\t\"./sv.js\": \"X709\",\n\t\"./sw\": \"dNwA\",\n\t\"./sw.js\": \"dNwA\",\n\t\"./ta\": \"PeUW\",\n\t\"./ta.js\": \"PeUW\",\n\t\"./te\": \"XLvN\",\n\t\"./te.js\": \"XLvN\",\n\t\"./tet\": \"V2x9\",\n\t\"./tet.js\": \"V2x9\",\n\t\"./tg\": \"Oxv6\",\n\t\"./tg.js\": \"Oxv6\",\n\t\"./th\": \"EOgW\",\n\t\"./th.js\": \"EOgW\",\n\t\"./tk\": \"Wv91\",\n\t\"./tk.js\": \"Wv91\",\n\t\"./tl-ph\": \"Dzi0\",\n\t\"./tl-ph.js\": \"Dzi0\",\n\t\"./tlh\": \"z3Vd\",\n\t\"./tlh.js\": \"z3Vd\",\n\t\"./tr\": \"DoHr\",\n\t\"./tr.js\": \"DoHr\",\n\t\"./tzl\": \"z1FC\",\n\t\"./tzl.js\": \"z1FC\",\n\t\"./tzm\": \"wQk9\",\n\t\"./tzm-latn\": \"tT3J\",\n\t\"./tzm-latn.js\": \"tT3J\",\n\t\"./tzm.js\": \"wQk9\",\n\t\"./ug-cn\": \"YRex\",\n\t\"./ug-cn.js\": \"YRex\",\n\t\"./uk\": \"raLr\",\n\t\"./uk.js\": \"raLr\",\n\t\"./ur\": \"UpQW\",\n\t\"./ur.js\": \"UpQW\",\n\t\"./uz\": \"Loxo\",\n\t\"./uz-latn\": \"AQ68\",\n\t\"./uz-latn.js\": \"AQ68\",\n\t\"./uz.js\": \"Loxo\",\n\t\"./vi\": \"KSF8\",\n\t\"./vi.js\": \"KSF8\",\n\t\"./x-pseudo\": \"/X5v\",\n\t\"./x-pseudo.js\": \"/X5v\",\n\t\"./yo\": \"fzPg\",\n\t\"./yo.js\": \"fzPg\",\n\t\"./zh-cn\": \"XDpg\",\n\t\"./zh-cn.js\": \"XDpg\",\n\t\"./zh-hk\": \"SatO\",\n\t\"./zh-hk.js\": \"SatO\",\n\t\"./zh-mo\": \"OmwH\",\n\t\"./zh-mo.js\": \"OmwH\",\n\t\"./zh-tw\": \"kOpN\",\n\t\"./zh-tw.js\": \"kOpN\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"RnhZ\";","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2xheW91dC9wYWFyaS10YWJsZS9wYWFyaS10YWJsZS5jb21wb25lbnQuc2NzcyJ9 */\";","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport * as ClassicEditorBuild from '@ckeditor/ckeditor5-build-classic';\r\n\r\n@Component({\r\n selector: 'paari-editor',\r\n templateUrl: './paari-editor.component.html',\r\n styleUrls: ['./paari-editor.component.scss']\r\n})\r\nexport class PaariEditorComponent {\r\n public Editor: any = ClassicEditorBuild;\r\n private _model!: string;\r\n @Input() id!: string;\r\n @Input() bottomSpace!: string;\r\n @Input() disabled!: boolean;\r\n @Output() modelChange = new EventEmitter();\r\n @Input()\r\n set model(value: string) {\r\n if (this._model === value) {\r\n return;\r\n }\r\n this._model = value;\r\n this.modelChange.emit(this._model);\r\n }\r\n get model() {\r\n return this._model;\r\n }\r\n}\r\n","export default \"
\\r\\n

{{ 'Shared.Modals.ConfirmDelete.Header' | translate}}

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{ 'Shared.Modals.ConfirmDelete.Body' | translate}}

\\r\\n
\\r\\n
\\r\\n\";","export default \".footer-container {\\n height: 100%;\\n padding-top: 20px;\\n padding-bottom: 20px;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-pack: justify;\\n -ms-flex-pack: justify;\\n justify-content: space-between;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n -ms-flex-flow: wrap;\\n flex-flow: wrap;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29yZS9jb21wb25lbnRzL2Zvb3Rlci9mb290ZXIuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxvQkFBQTtFQUNBLG9CQUFBO0VBQUEsb0JBQUE7RUFBQSxhQUFBO0VBQ0EseUJBQUE7TUFBQSxzQkFBQTtVQUFBLDhCQUFBO0VBQ0EseUJBQUE7TUFBQSxzQkFBQTtVQUFBLG1CQUFBO0VBQ0EsbUJBQUE7TUFBQSxlQUFBO0FBQ0YiLCJmaWxlIjoic3JjL2FwcC9jb3JlL2NvbXBvbmVudHMvZm9vdGVyL2Zvb3Rlci5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5mb290ZXItY29udGFpbmVyIHtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgcGFkZGluZy10b3A6IDIwcHg7XHJcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBmbGV4LWZsb3c6IHdyYXA7XHJcbn1cclxuIl19 */\";","import { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { Store } from '@ngrx/store';\r\nimport { ModuleTypes } from '../enums/module-types.enum';\r\nimport * as fromShared from '../state';\r\nimport * as sharedActions from 'src/app/shared/state/shared.actions';\r\n\r\n\r\n@Injectable()\r\nexport class ModuleStateGuard implements CanActivate {\r\n\r\n constructor(\r\n private store: Store,\r\n private router: Router\r\n ) { }\r\n\r\n canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | boolean {\r\n let currentModule = next.data['moduleStateGuardCurrentModule'] as ModuleTypes;\r\n this.store.dispatch(new sharedActions.SetCurrentModule(currentModule));\r\n return true;\r\n }\r\n\r\n}\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, NavigationCancel, NavigationEnd, NavigationError, NavigationStart, Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { filter } from 'rxjs/internal/operators/filter';\r\nimport { map } from 'rxjs/internal/operators/map';\r\nimport { mergeMap } from 'rxjs/operators';\r\nimport { MenuService } from './core/services/menu.service';\r\nimport { LanguageService } from './shared/services/language.service';\r\n\r\n@Component({\r\n // tslint:disable-next-line: component-selector\r\n selector: 'app',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss']\r\n})\r\nexport class AppComponent implements OnInit, OnDestroy {\r\n\r\n isHelp = false;\r\n screenWidth: number;\r\n smallScreenSize = 840;\r\n showSideNav = true;\r\n showLoader = true;\r\n subsSink: Subscription;\r\n\r\n constructor(\r\n private languageService: LanguageService,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n public menuService: MenuService\r\n ) {\r\n this.screenWidth = window.innerWidth;\r\n window.onresize = () => {\r\n this.screenWidth = window.innerWidth;\r\n };\r\n this.subsSink = router.events.subscribe((event) => {\r\n this.navigationInterceptor(event);\r\n });\r\n\r\n languageService.configureLanguages(['en', 'de', 'pl', 'sk'], 'en');\r\n }\r\n\r\n async ngOnInit() {\r\n this.languageService.startup();\r\n this.router.events\r\n .pipe(\r\n filter(event => event instanceof NavigationEnd),\r\n map(() => this.activatedRoute),\r\n map(route => {\r\n while (route.firstChild) {\r\n route = route.firstChild;\r\n }\r\n return route;\r\n }))\r\n .pipe(\r\n filter(route => route.outlet === 'primary'),\r\n mergeMap(route => route.data))\r\n .subscribe(event => this.isHelp = event['isHelp']);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subsSink.unsubscribe();\r\n }\r\n\r\n navigationInterceptor(event: any): void {\r\n if (event instanceof NavigationStart) {\r\n this.showLoader = true;\r\n }\r\n\r\n if (event instanceof NavigationEnd) {\r\n this.showLoader = false;\r\n }\r\n\r\n if (event instanceof NavigationCancel) {\r\n this.showLoader = false;\r\n }\r\n\r\n if (event instanceof NavigationError) {\r\n this.showLoader = false;\r\n }\r\n }\r\n}\r\n","import { HttpClient, HttpResponse } from '@angular/common/http';\r\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { AttachmentDto } from 'src/app/shared/generated/TimeSlotManagementClientV3';\r\n\r\n@Component({\r\n selector: 'paari-input-files',\r\n templateUrl: './paari-input-files.component.html',\r\n styleUrls: ['./paari-input-files.component.scss']\r\n})\r\nexport class PaariInputFilesComponent {\r\n\r\n @Input() accept!: string[];\r\n @Input() class = '';\r\n @Input() disabled = false;\r\n @Input() url = '';\r\n @Output() uploadError = new EventEmitter();\r\n @Output() uploadLoading = new EventEmitter();\r\n @Output() uploadFinished = new EventEmitter();\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n onFileChange(event: Event) {\r\n if (this.disabled) {\r\n return;\r\n }\r\n\r\n let target = event.target as HTMLInputElement;\r\n let files = target.files as FileList;\r\n\r\n if (this.url && files[0]) {\r\n const formData = new FormData();\r\n formData.append('file', files[0]);\r\n\r\n this.uploadLoading.emit(true);\r\n this.http.post(this.url, formData, {\r\n observe: \"response\"\r\n }).subscribe(\r\n response => this.onResponse(response),\r\n error => this.onError(error)\r\n );\r\n }\r\n }\r\n\r\n private onResponse(response: HttpResponse) {\r\n this.uploadFinished.emit(response.body!);\r\n this.uploadLoading.emit(false);\r\n }\r\n\r\n private onError(error: any) {\r\n this.uploadError.emit(error?.error?.message);\r\n this.uploadLoading.emit(false);\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ImagePreviewModalComponent } from '../../modals/image-preview-modal/image-preview-modal.component';\r\n\r\n@Component({\r\n selector: 'paari-input-images',\r\n templateUrl: './paari-input-images.component.html',\r\n styleUrls: ['./paari-input-images.component.scss']\r\n})\r\nexport class PaariInputImagesComponent {\r\n\r\n @Input() images: string[] = [];\r\n @Output() uploadImage = new EventEmitter<{ content: string, type: string }>();\r\n @Output() previewClicked = new EventEmitter();\r\n @Output() imageDeleted = new EventEmitter();\r\n\r\n constructor(private dialog: MatDialog) { }\r\n\r\n onFileChange(event: Event): void {\r\n let target = event.target as HTMLInputElement;\r\n let files = target.files as FileList;\r\n\r\n if (files[0]) {\r\n const file: File = files[0];\r\n const reader = new FileReader();\r\n reader.onload = (e: any) => {\r\n const initialState = { content: e.target.result };\r\n const modalRef = this.dialog.open(ImagePreviewModalComponent, { data: initialState });\r\n modalRef.componentInstance.onSave.subscribe((content: string) => {\r\n if (content) {\r\n this.uploadImage.emit({\r\n content: content.split(',')[1],\r\n type: file.type\r\n });\r\n }\r\n });\r\n };\r\n\r\n reader.readAsDataURL(file);\r\n }\r\n }\r\n\r\n onPreviewClicked(src: string): void {\r\n this.previewClicked.emit(src);\r\n }\r\n\r\n onDeleteImage(src: string): void {\r\n this.imageDeleted.emit(src);\r\n }\r\n}\r\n","export default \"
\\r\\n

{{ data.header | translate}}

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\";","\r\nexport interface NotificationModel {\r\n id: string;\r\n date: Date;\r\n title?: string;\r\n body?: string;\r\n type: NotificationType;\r\n icon: string;\r\n isMarkAsRead: boolean;\r\n action: () => void;\r\n}\r\n\r\nexport enum NotificationType {\r\n Announcement = 'Announcement',\r\n Invitation = 'Invitation',\r\n ToastSuccess = 'ToastSuccess',\r\n ToastWarning = 'ToastWarning',\r\n ToastError = 'ToastError',\r\n ToastInfo = 'ToastInfo'\r\n}\r\n","export default \"
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
{{validator.errorMessage\\r\\n | translate}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\";","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-footer-media-icons',\r\n templateUrl: './footer-media-icons.component.html',\r\n styleUrls: ['./footer-media-icons.component.scss']\r\n})\r\nexport class FooterMediaIconsComponent { }\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { GoogleMapsModule } from '@angular/google-maps';\r\nimport { RouterModule } from '@angular/router';\r\nimport { CKEditorModule } from '@ckeditor/ckeditor5-angular';\r\nimport { DataTablesModule } from 'angular-datatables';\r\nimport { AceModule } from 'ngx-ace-wrapper';\r\nimport { ColorPickerModule } from 'ngx-color-picker';\r\nimport { ChangeTrackerComponent } from '../core/components/change-tracker/change-tracker.component';\r\nimport { LanguageService } from '../shared/services/language.service';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { AlertBoxComponent } from './alert-box/alert.box.component';\r\nimport { AlertSingleErrorMessageComponent } from './alert-single-error-message/alert-single-error-message.component';\r\nimport { AlertSingleLoadingErrorComponent } from './alert-single-loading-error/alert-single-loading-error.component';\r\nimport { AlertSingleSuccessMessageComponent } from './alert-single-success-message/alert-single-success-message.component';\r\nimport { AlertSingleWarningMessageComponent } from './alert-single-warning-message/alert-single-warning-message.component';\r\nimport { ClickStopPropagation } from './directives/click-stop-propagination.directive';\r\nimport { PaariInputCheckboxComponent } from './inputs/paari-input-checkbox/paari-input-checkbox.component';\r\nimport { PaariInputColorpickerComponent } from './inputs/paari-input-colorpicker/paari-input-colorpicker.component';\r\nimport { PaariInputDatepickerComponent } from './inputs/paari-input-datepicker/paari-input-datepicker.component';\r\nimport { PaariInputDropdownEnumComponent } from './inputs/paari-input-dropdown-enum/paari-input-dropdown-enum.component';\r\nimport { PaariInputDropdownComponent } from './inputs/paari-input-dropdown/paari-input-dropdown.component';\r\nimport { PaariInputFilesComponent } from './inputs/paari-input-files/paari-input-files.component';\r\nimport { PaariInputFlagEnumComponent } from './inputs/paari-input-flag-enum/paari-input-flag-enum.component';\r\nimport { PaariInputImageComponent } from './inputs/paari-input-image/paari-input-image.component';\r\nimport { PaariInputImagesComponent } from './inputs/paari-input-images/paari-input-images.component';\r\nimport { PaariInputNumberCoordinatesComponent } from './inputs/paari-input-number-coordinates/paari-input-number-coordinates.component';\r\nimport { PaariInputNumberComponent } from './inputs/paari-input-number/paari.input.number.component';\r\nimport { PaariInputRadioTrueFalseComponent } from './inputs/paari-input-radio-true-false/paari-input-radio-true-false.component';\r\nimport { PaariInputSearchDarkComponent } from './inputs/paari-input-search-dark/paari-input-search-dark.component';\r\nimport { PaariInputSearchComponent } from './inputs/paari-input-search/paari-input-search.component';\r\nimport { PaariInputTextComponent } from './inputs/paari-input-text/paari-input-text.component';\r\nimport { PaariInputTextareaComponent } from './inputs/paari-input-textarea/paari-input-textarea.component';\r\nimport { PaariInputTimepickerComponent } from './inputs/paari-input-timepicker/paari-input-timepicker.component';\r\nimport { ConfirmDeleteModalComponent } from './modals/confirm-delete-modal/confirm-delete-modal.component';\r\nimport { ImagePreviewModalComponent } from './modals/image-preview-modal/image-preview-modal.component';\r\nimport { MultilingualNameModalComponent } from './modals/multilingual-name-modal/multilingual-name-modal.component';\r\nimport { SearchRoleModalComponent } from './modals/search-role-modal/search-role-modal.component';\r\nimport { SearchUserModalComponent } from './modals/search-user-modal/search-user-modal.component';\r\nimport { YesNoCancelModalComponent } from './modals/yes-no-cancel-modal/yes-no-cancel-modal.component';\r\nimport { PaariAceComponent } from './paari-ace/paari-ace.component';\r\nimport { PaariBoolCheckDisplayComponent } from './paari-bool-check-display/paari-bool-check-display.component';\r\nimport { PaariCookieConsentComponent } from './paari-cookie-consent/paari-cookie-consent.component';\r\nimport { PaariEditorComponent } from './paari-editor/paari-editor.component';\r\nimport { PaariEmptyRowComponent } from './paari-empty-row/paari-empty-row.component';\r\nimport { PaariExplorerComponent } from './paari-explorer/paari-explorer.component';\r\nimport { PaariHeadlinesComponent } from './paari-headlines/paari-headlines.component';\r\nimport { PaariImageDrawerComponent } from './paari-image-drawer/paari-image-drawer.component';\r\nimport { PaariLoaderComponent } from './paari-loader/paari-loader.component';\r\nimport { PaariMapSearchComponent } from './paari-map-search/paari-map-search.component';\r\nimport { PaariMultilanguageNameComponent } from './paari-multilanguage-name/paari-multilanguage-name.component';\r\nimport { PaariSectionSeparatorComponent } from './paari-section-separator/paari-section-separator.component';\r\nimport { PaariTableComponent } from './paari-table/paari-table.component';\r\nimport { DatexPipe } from './pipes/datex.pipe';\r\nimport { StringArrayIncludesPipe } from './pipes/string-array-includes.pipe';\r\nimport { SimpleLoaderComponent } from './simple-loader/simple-loader.component';\r\nimport { QuantityPipe } from './pipes/quantity.pipe';\r\n\r\n@NgModule({\r\n imports: [\r\n SharedModule,\r\n CommonModule,\r\n FormsModule,\r\n RouterModule,\r\n ColorPickerModule,\r\n DataTablesModule,\r\n CKEditorModule,\r\n GoogleMapsModule,\r\n AceModule\r\n ],\r\n declarations: [\r\n PaariLoaderComponent,\r\n PaariHeadlinesComponent,\r\n PaariSectionSeparatorComponent,\r\n PaariInputTextComponent,\r\n PaariInputImageComponent,\r\n PaariInputCheckboxComponent,\r\n PaariInputDatepickerComponent,\r\n PaariInputTimepickerComponent,\r\n PaariInputNumberComponent,\r\n PaariInputNumberCoordinatesComponent,\r\n PaariInputDropdownComponent,\r\n PaariInputRadioTrueFalseComponent,\r\n AlertBoxComponent,\r\n ClickStopPropagation,\r\n DatexPipe,\r\n QuantityPipe,\r\n PaariExplorerComponent,\r\n SimpleLoaderComponent,\r\n PaariEmptyRowComponent,\r\n AlertSingleLoadingErrorComponent,\r\n PaariInputDropdownEnumComponent,\r\n PaariMultilanguageNameComponent,\r\n MultilingualNameModalComponent,\r\n PaariBoolCheckDisplayComponent,\r\n AlertSingleSuccessMessageComponent,\r\n AlertSingleWarningMessageComponent,\r\n PaariMapSearchComponent,\r\n PaariInputSearchComponent,\r\n PaariInputColorpickerComponent,\r\n PaariInputFlagEnumComponent,\r\n StringArrayIncludesPipe,\r\n SearchRoleModalComponent,\r\n SearchUserModalComponent,\r\n PaariCookieConsentComponent,\r\n AlertSingleErrorMessageComponent,\r\n ConfirmDeleteModalComponent,\r\n PaariTableComponent,\r\n PaariEditorComponent,\r\n PaariInputTextareaComponent,\r\n PaariInputSearchDarkComponent,\r\n ChangeTrackerComponent,\r\n YesNoCancelModalComponent,\r\n PaariInputFilesComponent,\r\n PaariImageDrawerComponent,\r\n PaariInputImagesComponent,\r\n ImagePreviewModalComponent,\r\n PaariAceComponent\r\n ],\r\n exports: [\r\n PaariLoaderComponent,\r\n PaariHeadlinesComponent,\r\n PaariSectionSeparatorComponent,\r\n PaariInputTextComponent,\r\n PaariInputImageComponent,\r\n PaariInputCheckboxComponent,\r\n PaariInputDatepickerComponent,\r\n PaariInputTimepickerComponent,\r\n PaariInputNumberComponent,\r\n PaariInputNumberCoordinatesComponent,\r\n PaariInputRadioTrueFalseComponent,\r\n PaariInputDropdownComponent,\r\n AlertBoxComponent,\r\n ClickStopPropagation,\r\n DatexPipe,\r\n QuantityPipe,\r\n PaariExplorerComponent,\r\n SimpleLoaderComponent,\r\n PaariEmptyRowComponent,\r\n AlertSingleLoadingErrorComponent,\r\n PaariInputDropdownEnumComponent,\r\n PaariMultilanguageNameComponent,\r\n PaariBoolCheckDisplayComponent,\r\n AlertSingleSuccessMessageComponent,\r\n AlertSingleWarningMessageComponent,\r\n PaariMapSearchComponent,\r\n PaariInputSearchComponent,\r\n PaariInputColorpickerComponent,\r\n PaariInputFlagEnumComponent,\r\n StringArrayIncludesPipe,\r\n SearchRoleModalComponent,\r\n SearchUserModalComponent,\r\n PaariCookieConsentComponent,\r\n AlertSingleErrorMessageComponent,\r\n ConfirmDeleteModalComponent,\r\n PaariTableComponent,\r\n PaariEditorComponent,\r\n PaariInputTextareaComponent,\r\n PaariInputSearchDarkComponent,\r\n ChangeTrackerComponent,\r\n PaariInputFilesComponent,\r\n PaariImageDrawerComponent,\r\n PaariInputImagesComponent,\r\n PaariAceComponent\r\n ],\r\n entryComponents: [\r\n MultilingualNameModalComponent,\r\n SearchRoleModalComponent,\r\n SearchUserModalComponent,\r\n ConfirmDeleteModalComponent,\r\n ImagePreviewModalComponent\r\n ],\r\n providers: [\r\n LanguageService\r\n ]\r\n})\r\nexport class LayoutModule { }\r\n","export default \"
\\r\\n

{{ 'Shared.Modals.YesNoCancel.Header' | translate}}

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{ 'Shared.Modals.YesNoCancel.Body' | translate}}

\\r\\n
\\r\\n
\\r\\n\\r\\n\";","export default \"\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n smallScreenSize) && (menuService.opened$ | async)\\\"\\r\\n [mode]=\\\"screenWidth > smallScreenSize ? 'side' : 'over'\\\">\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\";","export default \"
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\";","export default \".impersonation-icon {\\n color: #fdc628;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29yZS9jb21wb25lbnRzL3RvcC1uYXYvdG9wLW5hdi1pbXBlcnNvbmF0aW9uLWJ1dHRvbi90b3AtbmF2LWltcGVyc29uYXRpb24tYnV0dG9uLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsY0FBQTtBQUNGIiwiZmlsZSI6InNyYy9hcHAvY29yZS9jb21wb25lbnRzL3RvcC1uYXYvdG9wLW5hdi1pbXBlcnNvbmF0aW9uLWJ1dHRvbi90b3AtbmF2LWltcGVyc29uYXRpb24tYnV0dG9uLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmltcGVyc29uYXRpb24taWNvbiB7XHJcbiAgY29sb3I6ICNmZGM2Mjg7XHJcbn1cclxuIl19 */\";","import {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { ListItemModel } from '../../shared/list-item.model';\r\nimport { ValidatorModel } from '../../shared/validator.model';\r\nimport { BaseInputComponent } from '../paari-base-input/base-input.component';\r\n\r\n@Component({\r\n selector: \"paari-input-dropdown-enum\",\r\n templateUrl: './paari-input-dropdown-enum.component.html',\r\n styleUrls: ['./paari-input-dropdown-enum.component.scss']\r\n})\r\n/** paari-input-dropdown component*/\r\nexport class PaariInputDropdownEnumComponent implements BaseInputComponent, OnInit {\r\n @Input() id!: string;\r\n @Input() label!: string;\r\n @Input() bottomSpace!: string;\r\n @Input() validators!: ValidatorModel[];\r\n @Input() disabled = false;\r\n // [EXAMPLE] enumType: myInjectedVariable: typeof ControlCategoryType = ControlCategoryType;\r\n @Input() enumType: any;\r\n @Input() enumTranslationPrefix!: string;\r\n @ViewChild('inputField', { static: true }) inputField!: ElementRef;\r\n\r\n public formGroupValid = true;\r\n private _model: any;\r\n listItems!: ListItemModel[];\r\n\r\n @Output() modelChange = new EventEmitter();\r\n @Input('model')\r\n set model(value: any) {\r\n if (this._model == value) return;\r\n this._model = value;\r\n this.modelChange.emit(this._model);\r\n if (this.inputField.nativeElement.classList.contains('ng-touched')) {\r\n this.validateForm();\r\n }\r\n }\r\n get model() {\r\n return this._model;\r\n }\r\n ngOnInit(): void {\r\n this.listItems = this.getEnumSelectList(this.enumType, this.enumTranslationPrefix);\r\n }\r\n private getEnumSelectList(enumModel: any, translationPrefix: string): ListItemModel[] {\r\n let typesSelectList: ListItemModel[] = [];\r\n\r\n for (let key in enumModel) {\r\n if (enumModel.hasOwnProperty(key)) {\r\n if (key === 'Undefined') {\r\n continue;\r\n }\r\n const currentType = enumModel[key];\r\n typesSelectList.push({\r\n id: currentType,\r\n name: translationPrefix + currentType\r\n });\r\n }\r\n }\r\n\r\n return typesSelectList;\r\n }\r\n public validateForm() {\r\n let classesList = this.inputField.nativeElement.classList;\r\n if (classesList.contains('ng-untouched')) {\r\n classesList.remove('ng-untouched');\r\n classesList.add('ng-touched');\r\n this.validateForm();\r\n }\r\n let result = true;\r\n if (this.validators != null) {\r\n this.validators.forEach(validator => {\r\n if (!validator.validate(this.model)) {\r\n result = false;\r\n }\r\n });\r\n }\r\n this.formGroupValid = result;\r\n return result;\r\n }\r\n isDirty(): boolean {\r\n return this.inputField.nativeElement.classList.contains('ng-dirty');\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { AnnouncementClient, AnnouncementDto } from 'src/app/shared/generated/AccountClient';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AnnouncementService {\r\n\r\n constructor(private announcementClient: AnnouncementClient) { }\r\n\r\n getAnnouncementList(fromDate?: Date, untilDate?: Date): Observable {\r\n return this.announcementClient.getListBetweenDates(fromDate, untilDate);\r\n }\r\n}\r\n","import { Injectable, ErrorHandler } from '@angular/core';\r\nimport { InsightMonitoringService } from './insight-monitoring.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ErrorHandlerService extends ErrorHandler {\r\n\r\n constructor(private insightMonitoringService: InsightMonitoringService) {\r\n super();\r\n }\r\n\r\n handleError(error: Error) {\r\n this.insightMonitoringService.logException(error);\r\n }\r\n}\r\n","/* tslint:disable */\r\n/* eslint-disable */\r\n//----------------------\r\n// \r\n// Generated using the NSwag toolchain v13.7.4.0 (NJsonSchema v10.1.26.0 (Newtonsoft.Json v12.0.0.0)) (http://NSwag.org)\r\n// \r\n//----------------------\r\n// ReSharper disable InconsistentNaming\r\n\r\nimport { HttpClient, HttpHeaders, HttpResponse, HttpResponseBase } from '@angular/common/http';\r\nimport { Inject, Injectable, InjectionToken, Optional } from '@angular/core';\r\nimport { Observable, of as _observableOf, throwError as _observableThrow } from 'rxjs';\r\nimport { catchError as _observableCatch, mergeMap as _observableMergeMap } from 'rxjs/operators';\r\n\r\nexport const API_BASE_URL_CLOUD = new InjectionToken('API_BASE_URL_CLOUD');\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class HelpApiV2Client {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_CLOUD) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl ? baseUrl : \"https://localhost/cloud\";\r\n }\r\n\r\n getHelpItems(languageCode: string | null, parentId: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v2/HelpApi/GetHelpItems?\";\r\n if (languageCode === undefined)\r\n throw new Error(\"The parameter 'languageCode' must be defined.\");\r\n else if (languageCode !== null)\r\n url_ += \"languageCode=\" + encodeURIComponent(\"\" + languageCode) + \"&\";\r\n if (parentId !== undefined && parentId !== null)\r\n url_ += \"parentId=\" + encodeURIComponent(\"\" + parentId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetHelpItems(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetHelpItems(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetHelpItems(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = HelpItemListDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getHelpItem(id: string, languageCode: string | null): Observable {\r\n let url_ = this.baseUrl + \"/v2/HelpApi/GetHelpItem?\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined and cannot be null.\");\r\n else\r\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n if (languageCode === undefined)\r\n throw new Error(\"The parameter 'languageCode' must be defined.\");\r\n else if (languageCode !== null)\r\n url_ += \"languageCode=\" + encodeURIComponent(\"\" + languageCode) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetHelpItem(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetHelpItem(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetHelpItem(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = HelpDetailsDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoggerV2Client {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_CLOUD) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl ? baseUrl : \"https://localhost/cloud\";\r\n }\r\n\r\n currentLogLevel(): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/logger/CurrentLogLevel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processCurrentLogLevel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCurrentLogLevel(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processCurrentLogLevel(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n changeLogLevel(newLevel: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/logger/ChangeLogLevel?\";\r\n if (newLevel === undefined)\r\n throw new Error(\"The parameter 'newLevel' must be defined.\");\r\n else if (newLevel !== null)\r\n url_ += \"newLevel=\" + encodeURIComponent(\"\" + newLevel) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processChangeLogLevel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processChangeLogLevel(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processChangeLogLevel(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class HelpAdminApiV2Client {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_CLOUD) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl ? baseUrl : \"https://localhost/cloud\";\r\n }\r\n\r\n getHelpItemsList(parentId: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v2/HelpAdminApi/GetHelpItemsList?\";\r\n if (parentId !== undefined && parentId !== null)\r\n url_ += \"parentId=\" + encodeURIComponent(\"\" + parentId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetHelpItemsList(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetHelpItemsList(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetHelpItemsList(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(HelpAdminDto.fromJS(item));\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getHelpItem(itemId: string): Observable {\r\n let url_ = this.baseUrl + \"/v2/HelpAdminApi/GetHelpItem?\";\r\n if (itemId === undefined || itemId === null)\r\n throw new Error(\"The parameter 'itemId' must be defined and cannot be null.\");\r\n else\r\n url_ += \"itemId=\" + encodeURIComponent(\"\" + itemId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetHelpItem(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetHelpItem(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetHelpItem(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = HelpAdminDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n addHelpItem(model: AddHelpAdminInputModel | null): Observable {\r\n let url_ = this.baseUrl + \"/v2/HelpAdminApi/AddHelpItem\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAddHelpItem(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAddHelpItem(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processAddHelpItem(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = HelpAdminDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n updateHelpItem(model: UpdateHelpAdminItemInputModel | null): Observable {\r\n let url_ = this.baseUrl + \"/v2/HelpAdminApi/UpdateHelpItem\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processUpdateHelpItem(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpdateHelpItem(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processUpdateHelpItem(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n deleteHelpItem(id: string): Observable {\r\n let url_ = this.baseUrl + \"/v2/HelpAdminApi/DeleteHelpItem?\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined and cannot be null.\");\r\n else\r\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processDeleteHelpItem(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDeleteHelpItem(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processDeleteHelpItem(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n deleteLanguageItem(id: string, languageCode: string | null): Observable {\r\n let url_ = this.baseUrl + \"/v2/HelpAdminApi/DeleteLanguageItem?\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined and cannot be null.\");\r\n else\r\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n if (languageCode === undefined)\r\n throw new Error(\"The parameter 'languageCode' must be defined.\");\r\n else if (languageCode !== null)\r\n url_ += \"languageCode=\" + encodeURIComponent(\"\" + languageCode) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processDeleteLanguageItem(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDeleteLanguageItem(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processDeleteLanguageItem(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getLanguages(): Observable {\r\n let url_ = this.baseUrl + \"/v2/HelpAdminApi/GetLanguages\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetLanguages(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetLanguages(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetLanguages(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = LanguageDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n uploadFileToBlob(model: UploadFileDomainInputModel | null): Observable {\r\n let url_ = this.baseUrl + \"/v2/HelpAdminApi/UploadFileToBlob\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processUploadFileToBlob(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUploadFileToBlob(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processUploadFileToBlob(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n getDefaultView(): Observable {\r\n let url_ = this.baseUrl + \"/v2/HelpAdminApi/GetHelpDefaultView\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetDefaultView(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetDefaultView(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetDefaultView(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = HelpDefaultViewDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n updateHelpDefaultView(model: HelpDefaultViewInputModel | null): Observable {\r\n let url_ = this.baseUrl + \"/v2/HelpAdminApi/UpdateHelpDefaultView\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processUpdateHelpDefaultView(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpdateHelpDefaultView(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processUpdateHelpDefaultView(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AdminV2Client {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_CLOUD) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl ? baseUrl : \"https://localhost/cloud\";\r\n }\r\n\r\n generateMqConfigFile(locationId: number): Observable {\r\n let url_ = this.baseUrl + \"/v2/Admin/GenerateMqConfigFile?\";\r\n if (locationId === undefined || locationId === null)\r\n throw new Error(\"The parameter 'locationId' must be defined and cannot be null.\");\r\n else\r\n url_ += \"locationId=\" + encodeURIComponent(\"\" + locationId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGenerateMqConfigFile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGenerateMqConfigFile(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGenerateMqConfigFile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = GeneratedConfigFileDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n}\r\n\r\nexport class HelpItemListDto implements IHelpItemListDto {\r\n helpItems?: HelpDto[] | undefined;\r\n defaultView?: HelpDetailsDto | undefined;\r\n\r\n constructor(data?: IHelpItemListDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"helpItems\"])) {\r\n this.helpItems = [] as any;\r\n for (let item of _data[\"helpItems\"])\r\n this.helpItems!.push(HelpDto.fromJS(item));\r\n }\r\n this.defaultView = _data[\"defaultView\"] ? HelpDetailsDto.fromJS(_data[\"defaultView\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): HelpItemListDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HelpItemListDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.helpItems)) {\r\n data[\"helpItems\"] = [];\r\n for (let item of this.helpItems)\r\n data[\"helpItems\"].push(item.toJSON());\r\n }\r\n data[\"defaultView\"] = this.defaultView ? this.defaultView.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHelpItemListDto {\r\n helpItems?: HelpDto[] | undefined;\r\n defaultView?: HelpDetailsDto | undefined;\r\n}\r\n\r\nexport class HelpDto implements IHelpDto {\r\n id!: string;\r\n key?: string | undefined;\r\n level!: number;\r\n order!: number;\r\n isDeleted!: boolean;\r\n image?: string | undefined;\r\n imageName?: string | undefined;\r\n parentId?: string | undefined;\r\n childrenNumber!: number;\r\n children?: HelpDto[] | undefined;\r\n itemName?: string | undefined;\r\n\r\n constructor(data?: IHelpDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.key = _data[\"key\"];\r\n this.level = _data[\"level\"];\r\n this.order = _data[\"order\"];\r\n this.isDeleted = _data[\"isDeleted\"];\r\n this.image = _data[\"image\"];\r\n this.imageName = _data[\"imageName\"];\r\n this.parentId = _data[\"parentId\"];\r\n this.childrenNumber = _data[\"childrenNumber\"];\r\n if (Array.isArray(_data[\"children\"])) {\r\n this.children = [] as any;\r\n for (let item of _data[\"children\"])\r\n this.children!.push(HelpDto.fromJS(item));\r\n }\r\n this.itemName = _data[\"itemName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): HelpDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HelpDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"key\"] = this.key;\r\n data[\"level\"] = this.level;\r\n data[\"order\"] = this.order;\r\n data[\"isDeleted\"] = this.isDeleted;\r\n data[\"image\"] = this.image;\r\n data[\"imageName\"] = this.imageName;\r\n data[\"parentId\"] = this.parentId;\r\n data[\"childrenNumber\"] = this.childrenNumber;\r\n if (Array.isArray(this.children)) {\r\n data[\"children\"] = [];\r\n for (let item of this.children)\r\n data[\"children\"].push(item.toJSON());\r\n }\r\n data[\"itemName\"] = this.itemName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHelpDto {\r\n id: string;\r\n key?: string | undefined;\r\n level: number;\r\n order: number;\r\n isDeleted: boolean;\r\n image?: string | undefined;\r\n imageName?: string | undefined;\r\n parentId?: string | undefined;\r\n childrenNumber: number;\r\n children?: HelpDto[] | undefined;\r\n itemName?: string | undefined;\r\n}\r\n\r\nexport class HelpDetailsDto implements IHelpDetailsDto {\r\n id!: string;\r\n languageCode?: string | undefined;\r\n name?: string | undefined;\r\n content?: string | undefined;\r\n\r\n constructor(data?: IHelpDetailsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.languageCode = _data[\"languageCode\"];\r\n this.name = _data[\"name\"];\r\n this.content = _data[\"content\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): HelpDetailsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HelpDetailsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"languageCode\"] = this.languageCode;\r\n data[\"name\"] = this.name;\r\n data[\"content\"] = this.content;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHelpDetailsDto {\r\n id: string;\r\n languageCode?: string | undefined;\r\n name?: string | undefined;\r\n content?: string | undefined;\r\n}\r\n\r\n/** Specifies the meaning and relative importance of a log event. */\r\nexport enum LogEventLevel {\r\n Verbose = \"Verbose\",\r\n Debug = \"Debug\",\r\n Information = \"Information\",\r\n Warning = \"Warning\",\r\n Error = \"Error\",\r\n Fatal = \"Fatal\",\r\n}\r\n\r\nexport class HelpAdminDto implements IHelpAdminDto {\r\n id!: string;\r\n key?: string | undefined;\r\n level!: number;\r\n order!: number;\r\n image?: string | undefined;\r\n imageName?: string | undefined;\r\n isDeleted!: boolean;\r\n languageCode?: string | undefined;\r\n parentId?: string | undefined;\r\n children?: HelpAdminDto[] | undefined;\r\n itemLanguages?: ItemLanguageDto[] | undefined;\r\n childrenNumber!: number;\r\n openCount!: number;\r\n\r\n constructor(data?: IHelpAdminDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.key = _data[\"key\"];\r\n this.level = _data[\"level\"];\r\n this.order = _data[\"order\"];\r\n this.image = _data[\"image\"];\r\n this.imageName = _data[\"imageName\"];\r\n this.isDeleted = _data[\"isDeleted\"];\r\n this.languageCode = _data[\"languageCode\"];\r\n this.parentId = _data[\"parentId\"];\r\n if (Array.isArray(_data[\"children\"])) {\r\n this.children = [] as any;\r\n for (let item of _data[\"children\"])\r\n this.children!.push(HelpAdminDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"itemLanguages\"])) {\r\n this.itemLanguages = [] as any;\r\n for (let item of _data[\"itemLanguages\"])\r\n this.itemLanguages!.push(ItemLanguageDto.fromJS(item));\r\n }\r\n this.childrenNumber = _data[\"childrenNumber\"];\r\n this.openCount = _data[\"openCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): HelpAdminDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HelpAdminDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"key\"] = this.key;\r\n data[\"level\"] = this.level;\r\n data[\"order\"] = this.order;\r\n data[\"image\"] = this.image;\r\n data[\"imageName\"] = this.imageName;\r\n data[\"isDeleted\"] = this.isDeleted;\r\n data[\"languageCode\"] = this.languageCode;\r\n data[\"parentId\"] = this.parentId;\r\n if (Array.isArray(this.children)) {\r\n data[\"children\"] = [];\r\n for (let item of this.children)\r\n data[\"children\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.itemLanguages)) {\r\n data[\"itemLanguages\"] = [];\r\n for (let item of this.itemLanguages)\r\n data[\"itemLanguages\"].push(item.toJSON());\r\n }\r\n data[\"childrenNumber\"] = this.childrenNumber;\r\n data[\"openCount\"] = this.openCount;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHelpAdminDto {\r\n id: string;\r\n key?: string | undefined;\r\n level: number;\r\n order: number;\r\n image?: string | undefined;\r\n imageName?: string | undefined;\r\n isDeleted: boolean;\r\n languageCode?: string | undefined;\r\n parentId?: string | undefined;\r\n children?: HelpAdminDto[] | undefined;\r\n itemLanguages?: ItemLanguageDto[] | undefined;\r\n childrenNumber: number;\r\n openCount: number;\r\n}\r\n\r\nexport class ItemLanguageDto implements IItemLanguageDto {\r\n id!: string;\r\n languageCode?: string | undefined;\r\n name?: string | undefined;\r\n content?: string | undefined;\r\n\r\n constructor(data?: IItemLanguageDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.languageCode = _data[\"languageCode\"];\r\n this.name = _data[\"name\"];\r\n this.content = _data[\"content\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItemLanguageDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItemLanguageDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"languageCode\"] = this.languageCode;\r\n data[\"name\"] = this.name;\r\n data[\"content\"] = this.content;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IItemLanguageDto {\r\n id: string;\r\n languageCode?: string | undefined;\r\n name?: string | undefined;\r\n content?: string | undefined;\r\n}\r\n\r\nexport class AddHelpAdminInputModel implements IAddHelpAdminInputModel {\r\n id!: string;\r\n languageCode?: string | undefined;\r\n key?: string | undefined;\r\n level!: number;\r\n order!: number;\r\n isDeleted!: boolean;\r\n image?: string | undefined;\r\n imageName?: string | undefined;\r\n parentId?: string | undefined;\r\n children?: AddHelpAdminInputModel[] | undefined;\r\n itemLanguages?: HelpAdminItemLanguageInputModel[] | undefined;\r\n\r\n constructor(data?: IAddHelpAdminInputModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.languageCode = _data[\"languageCode\"];\r\n this.key = _data[\"key\"];\r\n this.level = _data[\"level\"];\r\n this.order = _data[\"order\"];\r\n this.isDeleted = _data[\"isDeleted\"];\r\n this.image = _data[\"image\"];\r\n this.imageName = _data[\"imageName\"];\r\n this.parentId = _data[\"parentId\"];\r\n if (Array.isArray(_data[\"children\"])) {\r\n this.children = [] as any;\r\n for (let item of _data[\"children\"])\r\n this.children!.push(AddHelpAdminInputModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"itemLanguages\"])) {\r\n this.itemLanguages = [] as any;\r\n for (let item of _data[\"itemLanguages\"])\r\n this.itemLanguages!.push(HelpAdminItemLanguageInputModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): AddHelpAdminInputModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AddHelpAdminInputModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"languageCode\"] = this.languageCode;\r\n data[\"key\"] = this.key;\r\n data[\"level\"] = this.level;\r\n data[\"order\"] = this.order;\r\n data[\"isDeleted\"] = this.isDeleted;\r\n data[\"image\"] = this.image;\r\n data[\"imageName\"] = this.imageName;\r\n data[\"parentId\"] = this.parentId;\r\n if (Array.isArray(this.children)) {\r\n data[\"children\"] = [];\r\n for (let item of this.children)\r\n data[\"children\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.itemLanguages)) {\r\n data[\"itemLanguages\"] = [];\r\n for (let item of this.itemLanguages)\r\n data[\"itemLanguages\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAddHelpAdminInputModel {\r\n id: string;\r\n languageCode?: string | undefined;\r\n key?: string | undefined;\r\n level: number;\r\n order: number;\r\n isDeleted: boolean;\r\n image?: string | undefined;\r\n imageName?: string | undefined;\r\n parentId?: string | undefined;\r\n children?: AddHelpAdminInputModel[] | undefined;\r\n itemLanguages?: HelpAdminItemLanguageInputModel[] | undefined;\r\n}\r\n\r\nexport class HelpAdminItemLanguageInputModel implements IHelpAdminItemLanguageInputModel {\r\n id!: string;\r\n languageCode?: string | undefined;\r\n name?: string | undefined;\r\n content?: string | undefined;\r\n\r\n constructor(data?: IHelpAdminItemLanguageInputModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.languageCode = _data[\"languageCode\"];\r\n this.name = _data[\"name\"];\r\n this.content = _data[\"content\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): HelpAdminItemLanguageInputModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HelpAdminItemLanguageInputModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"languageCode\"] = this.languageCode;\r\n data[\"name\"] = this.name;\r\n data[\"content\"] = this.content;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHelpAdminItemLanguageInputModel {\r\n id: string;\r\n languageCode?: string | undefined;\r\n name?: string | undefined;\r\n content?: string | undefined;\r\n}\r\n\r\nexport class UpdateHelpAdminItemInputModel implements IUpdateHelpAdminItemInputModel {\r\n id!: string;\r\n languageCode?: string | undefined;\r\n key?: string | undefined;\r\n level!: number;\r\n order!: number;\r\n isDeleted!: boolean;\r\n image?: string | undefined;\r\n imageName?: string | undefined;\r\n parentId?: string | undefined;\r\n children?: UpdateHelpAdminItemInputModel[] | undefined;\r\n itemLanguages?: HelpAdminItemLanguageInputModel[] | undefined;\r\n\r\n constructor(data?: IUpdateHelpAdminItemInputModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.languageCode = _data[\"languageCode\"];\r\n this.key = _data[\"key\"];\r\n this.level = _data[\"level\"];\r\n this.order = _data[\"order\"];\r\n this.isDeleted = _data[\"isDeleted\"];\r\n this.image = _data[\"image\"];\r\n this.imageName = _data[\"imageName\"];\r\n this.parentId = _data[\"parentId\"];\r\n if (Array.isArray(_data[\"children\"])) {\r\n this.children = [] as any;\r\n for (let item of _data[\"children\"])\r\n this.children!.push(UpdateHelpAdminItemInputModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"itemLanguages\"])) {\r\n this.itemLanguages = [] as any;\r\n for (let item of _data[\"itemLanguages\"])\r\n this.itemLanguages!.push(HelpAdminItemLanguageInputModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpdateHelpAdminItemInputModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpdateHelpAdminItemInputModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"languageCode\"] = this.languageCode;\r\n data[\"key\"] = this.key;\r\n data[\"level\"] = this.level;\r\n data[\"order\"] = this.order;\r\n data[\"isDeleted\"] = this.isDeleted;\r\n data[\"image\"] = this.image;\r\n data[\"imageName\"] = this.imageName;\r\n data[\"parentId\"] = this.parentId;\r\n if (Array.isArray(this.children)) {\r\n data[\"children\"] = [];\r\n for (let item of this.children)\r\n data[\"children\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.itemLanguages)) {\r\n data[\"itemLanguages\"] = [];\r\n for (let item of this.itemLanguages)\r\n data[\"itemLanguages\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpdateHelpAdminItemInputModel {\r\n id: string;\r\n languageCode?: string | undefined;\r\n key?: string | undefined;\r\n level: number;\r\n order: number;\r\n isDeleted: boolean;\r\n image?: string | undefined;\r\n imageName?: string | undefined;\r\n parentId?: string | undefined;\r\n children?: UpdateHelpAdminItemInputModel[] | undefined;\r\n itemLanguages?: HelpAdminItemLanguageInputModel[] | undefined;\r\n}\r\n\r\nexport class LanguageDto implements ILanguageDto {\r\n languageCode?: string | undefined;\r\n languageName?: string | undefined;\r\n icon?: string | undefined;\r\n required!: boolean;\r\n\r\n constructor(data?: ILanguageDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.languageCode = _data[\"languageCode\"];\r\n this.languageName = _data[\"languageName\"];\r\n this.icon = _data[\"icon\"];\r\n this.required = _data[\"required\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LanguageDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LanguageDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"languageCode\"] = this.languageCode;\r\n data[\"languageName\"] = this.languageName;\r\n data[\"icon\"] = this.icon;\r\n data[\"required\"] = this.required;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILanguageDto {\r\n languageCode?: string | undefined;\r\n languageName?: string | undefined;\r\n icon?: string | undefined;\r\n required: boolean;\r\n}\r\n\r\nexport class UploadFileDomainInputModel implements IUploadFileDomainInputModel {\r\n fileName?: string | undefined;\r\n file?: string | undefined;\r\n blobContainer?: string | undefined;\r\n\r\n constructor(data?: IUploadFileDomainInputModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.fileName = _data[\"fileName\"];\r\n this.file = _data[\"file\"];\r\n this.blobContainer = _data[\"blobContainer\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UploadFileDomainInputModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UploadFileDomainInputModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"fileName\"] = this.fileName;\r\n data[\"file\"] = this.file;\r\n data[\"blobContainer\"] = this.blobContainer;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUploadFileDomainInputModel {\r\n fileName?: string | undefined;\r\n file?: string | undefined;\r\n blobContainer?: string | undefined;\r\n}\r\n\r\nexport class HelpDefaultViewDto implements IHelpDefaultViewDto {\r\n key?: string | undefined;\r\n itemLanguages?: HelpDefaultViewLanguageDto[] | undefined;\r\n\r\n constructor(data?: IHelpDefaultViewDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.key = _data[\"key\"];\r\n if (Array.isArray(_data[\"itemLanguages\"])) {\r\n this.itemLanguages = [] as any;\r\n for (let item of _data[\"itemLanguages\"])\r\n this.itemLanguages!.push(HelpDefaultViewLanguageDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): HelpDefaultViewDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HelpDefaultViewDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"key\"] = this.key;\r\n if (Array.isArray(this.itemLanguages)) {\r\n data[\"itemLanguages\"] = [];\r\n for (let item of this.itemLanguages)\r\n data[\"itemLanguages\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHelpDefaultViewDto {\r\n key?: string | undefined;\r\n itemLanguages?: HelpDefaultViewLanguageDto[] | undefined;\r\n}\r\n\r\nexport class HelpDefaultViewLanguageDto implements IHelpDefaultViewLanguageDto {\r\n languageCode?: string | undefined;\r\n name?: string | undefined;\r\n content?: string | undefined;\r\n\r\n constructor(data?: IHelpDefaultViewLanguageDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.languageCode = _data[\"languageCode\"];\r\n this.name = _data[\"name\"];\r\n this.content = _data[\"content\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): HelpDefaultViewLanguageDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HelpDefaultViewLanguageDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"languageCode\"] = this.languageCode;\r\n data[\"name\"] = this.name;\r\n data[\"content\"] = this.content;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHelpDefaultViewLanguageDto {\r\n languageCode?: string | undefined;\r\n name?: string | undefined;\r\n content?: string | undefined;\r\n}\r\n\r\nexport class HelpDefaultViewInputModel implements IHelpDefaultViewInputModel {\r\n itemLanguages?: HelpDefaultViewLanguageInputModel[] | undefined;\r\n\r\n constructor(data?: IHelpDefaultViewInputModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"itemLanguages\"])) {\r\n this.itemLanguages = [] as any;\r\n for (let item of _data[\"itemLanguages\"])\r\n this.itemLanguages!.push(HelpDefaultViewLanguageInputModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): HelpDefaultViewInputModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HelpDefaultViewInputModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.itemLanguages)) {\r\n data[\"itemLanguages\"] = [];\r\n for (let item of this.itemLanguages)\r\n data[\"itemLanguages\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHelpDefaultViewInputModel {\r\n itemLanguages?: HelpDefaultViewLanguageInputModel[] | undefined;\r\n}\r\n\r\nexport class HelpDefaultViewLanguageInputModel implements IHelpDefaultViewLanguageInputModel {\r\n languageCode?: string | undefined;\r\n content?: string | undefined;\r\n\r\n constructor(data?: IHelpDefaultViewLanguageInputModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.languageCode = _data[\"languageCode\"];\r\n this.content = _data[\"content\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): HelpDefaultViewLanguageInputModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HelpDefaultViewLanguageInputModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"languageCode\"] = this.languageCode;\r\n data[\"content\"] = this.content;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHelpDefaultViewLanguageInputModel {\r\n languageCode?: string | undefined;\r\n content?: string | undefined;\r\n}\r\n\r\nexport class GeneratedConfigFileDto implements IGeneratedConfigFileDto {\r\n generatedFileContent?: string | undefined;\r\n\r\n constructor(data?: IGeneratedConfigFileDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.generatedFileContent = _data[\"generatedFileContent\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): GeneratedConfigFileDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GeneratedConfigFileDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"generatedFileContent\"] = this.generatedFileContent;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IGeneratedConfigFileDto {\r\n generatedFileContent?: string | undefined;\r\n}\r\n\r\nexport class SwaggerException extends Error {\r\n message: string;\r\n status: number;\r\n response: string;\r\n headers: { [key: string]: any; };\r\n result: any;\r\n\r\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\r\n super();\r\n\r\n this.message = message;\r\n this.status = status;\r\n this.response = response;\r\n this.headers = headers;\r\n this.result = result;\r\n }\r\n\r\n protected isSwaggerException = true;\r\n\r\n static isSwaggerException(obj: any): obj is SwaggerException {\r\n return obj.isSwaggerException === true;\r\n }\r\n}\r\n\r\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): Observable {\r\n if (result !== null && result !== undefined)\r\n return _observableThrow(result);\r\n else\r\n return _observableThrow(new SwaggerException(message, status, response, headers, null));\r\n}\r\n\r\nfunction blobToText(blob: any): Observable {\r\n return new Observable((observer: any) => {\r\n if (!blob) {\r\n observer.next(\"\");\r\n observer.complete();\r\n } else {\r\n let reader = new FileReader();\r\n reader.onload = event => {\r\n observer.next((event.target).result);\r\n observer.complete();\r\n };\r\n reader.readAsText(blob);\r\n }\r\n });\r\n}\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'paari-section-separator',\r\n templateUrl: './paari-section-separator.component.html',\r\n styleUrls: ['./paari-section-separator.component.scss']\r\n})\r\nexport class PaariSectionSeparatorComponent {\r\n @Input() text!: string;\r\n @Input() postfix?: string;\r\n @Input() noTopMargin!: boolean;\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { ConfigurationModel } from 'src/app/shared/generated/FrontClient';\r\nimport { LanguageService } from 'src/app/shared/services/language.service';\r\n\r\n@Component({\r\n selector: 'app-top-nav-account-button',\r\n templateUrl: './top-nav-account-button.component.html',\r\n styleUrls: ['./top-nav-account-button.component.scss']\r\n})\r\nexport class TopNavAccountButtonComponent implements OnInit {\r\n\r\n @Input() config!: ConfigurationModel;\r\n\r\n languageCode!: string;\r\n\r\n constructor(private languageService: LanguageService) { }\r\n\r\n ngOnInit() {\r\n const currentLanguage = this.languageService.currentLanguage()?.toLowerCase() || 'en';\r\n this.languageCode = currentLanguage === 'en' ? 'gb' : currentLanguage;\r\n }\r\n\r\n logOut() {\r\n const url = '/Api/Account/Logout?sessionId=' + this.config.sessionId;\r\n localStorage.clear();\r\n window.location.assign(url);\r\n }\r\n\r\n login() {\r\n window.location.href = '/Api/Account/Login';\r\n }\r\n\r\n selectLanguage(language: string) {\r\n this.languageCode = language === 'en' ? 'gb' : language;\r\n this.languageService.changeLanguage(language);\r\n }\r\n\r\n fullName() {\r\n return [this.config.givenName, this.config.familyName].filter(Boolean).join(' ').trim();\r\n }\r\n}\r\n","/* tslint:disable */\r\n/* eslint-disable */\r\n//----------------------\r\n// \r\n// Generated using the NSwag toolchain v13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0)) (http://NSwag.org)\r\n// \r\n//----------------------\r\n// ReSharper disable InconsistentNaming\r\n// @ts-nocheck\r\n\r\nimport { HttpClient, HttpHeaders, HttpResponse, HttpResponseBase } from '@angular/common/http';\r\nimport { Inject, Injectable, InjectionToken, Optional } from '@angular/core';\r\nimport { Observable, of as _observableOf, throwError as _observableThrow } from 'rxjs';\r\nimport { catchError as _observableCatch, mergeMap as _observableMergeMap } from 'rxjs/operators';\r\n\r\nexport const API_BASE_URL_TAC = new InjectionToken('API_BASE_URL_TAC');\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ContractsClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_TAC) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost/Tac.Api\";\r\n }\r\n\r\n getList(roleId: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/v1/Contracts/GetList?\";\r\n if (roleId === null)\r\n throw new Error(\"The parameter 'roleId' cannot be null.\");\r\n else if (roleId !== undefined)\r\n url_ += \"roleId=\" + encodeURIComponent(\"\" + roleId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetList(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetList(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetList(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ContractListItemDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getFilteredList(roleId: string | undefined, showExpiredContracts: boolean | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/v1/Contracts/GetFilteredList?\";\r\n if (roleId === null)\r\n throw new Error(\"The parameter 'roleId' cannot be null.\");\r\n else if (roleId !== undefined)\r\n url_ += \"roleId=\" + encodeURIComponent(\"\" + roleId) + \"&\";\r\n if (showExpiredContracts === null)\r\n throw new Error(\"The parameter 'showExpiredContracts' cannot be null.\");\r\n else if (showExpiredContracts !== undefined)\r\n url_ += \"showExpiredContracts=\" + encodeURIComponent(\"\" + showExpiredContracts) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetFilteredList(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetFilteredList(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetFilteredList(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ContractListItemDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n get(roleId: string | undefined, contractId: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/v1/Contracts/Get?\";\r\n if (roleId === null)\r\n throw new Error(\"The parameter 'roleId' cannot be null.\");\r\n else if (roleId !== undefined)\r\n url_ += \"roleId=\" + encodeURIComponent(\"\" + roleId) + \"&\";\r\n if (contractId === null)\r\n throw new Error(\"The parameter 'contractId' cannot be null.\");\r\n else if (contractId !== undefined)\r\n url_ += \"contractId=\" + encodeURIComponent(\"\" + contractId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGet(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGet(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGet(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ContractDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoggerClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_TAC) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost/Tac.Api\";\r\n }\r\n\r\n currentLogLevel(): Observable {\r\n let url_ = this.baseUrl + \"/api/v1/Logger/CurrentLogLevel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processCurrentLogLevel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCurrentLogLevel(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processCurrentLogLevel(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n changeLogLevel(newLevel: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/v1/Logger/ChangeLogLevel?\";\r\n if (newLevel !== undefined && newLevel !== null)\r\n url_ += \"newLevel=\" + encodeURIComponent(\"\" + newLevel) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processChangeLogLevel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processChangeLogLevel(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processChangeLogLevel(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TransportsClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_TAC) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost/Tac.Api\";\r\n }\r\n\r\n create(dto: TransportDto): Observable {\r\n let url_ = this.baseUrl + \"/api/v1/Transports/Create\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(dto);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processCreate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCreate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processCreate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = TransportDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n update(dto: TransportDto): Observable {\r\n let url_ = this.baseUrl + \"/api/v1/Transports/Update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(dto);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpdate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = TransportDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n delete(transportId: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/v1/Transports/Delete?\";\r\n if (transportId === null)\r\n throw new Error(\"The parameter 'transportId' cannot be null.\");\r\n else if (transportId !== undefined)\r\n url_ += \"transportId=\" + encodeURIComponent(\"\" + transportId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDelete(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getTransportPdfTemplate(locationCode: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/v1/Transports/GetTransportPdfTemplate?\";\r\n if (locationCode !== undefined && locationCode !== null)\r\n url_ += \"locationCode=\" + encodeURIComponent(\"\" + locationCode) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetTransportPdfTemplate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetTransportPdfTemplate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetTransportPdfTemplate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = TransportPdfTemplateDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n setTransportPdfTemplate(transportPdfTemplateInputModel: TransportPdfTemplateInputModel): Observable {\r\n let url_ = this.baseUrl + \"/api/v1/Transports/SetTransportPdfTemplate\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(transportPdfTemplateInputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processSetTransportPdfTemplate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSetTransportPdfTemplate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processSetTransportPdfTemplate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getTransportForTsmBooking(transportBookingNumber: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/v1/Transports/GetTransportForTsmBooking?\";\r\n if (transportBookingNumber !== undefined && transportBookingNumber !== null)\r\n url_ += \"transportBookingNumber=\" + encodeURIComponent(\"\" + transportBookingNumber) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetTransportForTsmBooking(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetTransportForTsmBooking(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetTransportForTsmBooking(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = TacTsmDetailsDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getTransportRampId(transportBookingNumber: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/v1/Transports/GetTransportRampId?\";\r\n if (transportBookingNumber !== undefined && transportBookingNumber !== null)\r\n url_ += \"transportBookingNumber=\" + encodeURIComponent(\"\" + transportBookingNumber) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetTransportRampId(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetTransportRampId(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetTransportRampId(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport class ContractListItemDto implements IContractListItemDto {\r\n id!: string;\r\n locationCode?: string | undefined;\r\n locationName?: string | undefined;\r\n libraNumber?: string | undefined;\r\n name?: string | undefined;\r\n from!: Date;\r\n until?: Date | undefined;\r\n\r\n constructor(data?: IContractListItemDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.locationCode = _data[\"locationCode\"];\r\n this.locationName = _data[\"locationName\"];\r\n this.libraNumber = _data[\"libraNumber\"];\r\n this.name = _data[\"name\"];\r\n this.from = _data[\"from\"] ? new Date(_data[\"from\"].toString()) : undefined;\r\n this.until = _data[\"until\"] ? new Date(_data[\"until\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ContractListItemDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ContractListItemDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"locationCode\"] = this.locationCode;\r\n data[\"locationName\"] = this.locationName;\r\n data[\"libraNumber\"] = this.libraNumber;\r\n data[\"name\"] = this.name;\r\n data[\"from\"] = this.from ? this.from.toISOString() : undefined;\r\n data[\"until\"] = this.until ? this.until.toISOString() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IContractListItemDto {\r\n id: string;\r\n locationCode?: string | undefined;\r\n locationName?: string | undefined;\r\n libraNumber?: string | undefined;\r\n name?: string | undefined;\r\n from: Date;\r\n until?: Date | undefined;\r\n}\r\n\r\nexport class ContractDto implements IContractDto {\r\n id!: string;\r\n name?: string | undefined;\r\n libraNumber?: string | undefined;\r\n from!: Date;\r\n until?: Date | undefined;\r\n constructionSiteData?: AddressDataDto | undefined;\r\n clientData?: AddressDataDto | undefined;\r\n contractMaterials?: ContractMaterialDto[] | undefined;\r\n transports?: TransportDto[] | undefined;\r\n\r\n constructor(data?: IContractDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.libraNumber = _data[\"libraNumber\"];\r\n this.from = _data[\"from\"] ? new Date(_data[\"from\"].toString()) : undefined;\r\n this.until = _data[\"until\"] ? new Date(_data[\"until\"].toString()) : undefined;\r\n this.constructionSiteData = _data[\"constructionSiteData\"] ? AddressDataDto.fromJS(_data[\"constructionSiteData\"]) : undefined;\r\n this.clientData = _data[\"clientData\"] ? AddressDataDto.fromJS(_data[\"clientData\"]) : undefined;\r\n if (Array.isArray(_data[\"contractMaterials\"])) {\r\n this.contractMaterials = [] as any;\r\n for (let item of _data[\"contractMaterials\"])\r\n this.contractMaterials!.push(ContractMaterialDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"transports\"])) {\r\n this.transports = [] as any;\r\n for (let item of _data[\"transports\"])\r\n this.transports!.push(TransportDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ContractDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ContractDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"libraNumber\"] = this.libraNumber;\r\n data[\"from\"] = this.from ? this.from.toISOString() : undefined;\r\n data[\"until\"] = this.until ? this.until.toISOString() : undefined;\r\n data[\"constructionSiteData\"] = this.constructionSiteData ? this.constructionSiteData.toJSON() : undefined;\r\n data[\"clientData\"] = this.clientData ? this.clientData.toJSON() : undefined;\r\n if (Array.isArray(this.contractMaterials)) {\r\n data[\"contractMaterials\"] = [];\r\n for (let item of this.contractMaterials)\r\n data[\"contractMaterials\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.transports)) {\r\n data[\"transports\"] = [];\r\n for (let item of this.transports)\r\n data[\"transports\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IContractDto {\r\n id: string;\r\n name?: string | undefined;\r\n libraNumber?: string | undefined;\r\n from: Date;\r\n until?: Date | undefined;\r\n constructionSiteData?: AddressDataDto | undefined;\r\n clientData?: AddressDataDto | undefined;\r\n contractMaterials?: ContractMaterialDto[] | undefined;\r\n transports?: TransportDto[] | undefined;\r\n}\r\n\r\nexport class AddressDataDto implements IAddressDataDto {\r\n id!: string;\r\n name1?: string | undefined;\r\n name2?: string | undefined;\r\n street?: string | undefined;\r\n streetNumber?: string | undefined;\r\n city?: string | undefined;\r\n postalCode?: string | undefined;\r\n country?: string | undefined;\r\n\r\n constructor(data?: IAddressDataDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name1 = _data[\"name1\"];\r\n this.name2 = _data[\"name2\"];\r\n this.street = _data[\"street\"];\r\n this.streetNumber = _data[\"streetNumber\"];\r\n this.city = _data[\"city\"];\r\n this.postalCode = _data[\"postalCode\"];\r\n this.country = _data[\"country\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AddressDataDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AddressDataDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name1\"] = this.name1;\r\n data[\"name2\"] = this.name2;\r\n data[\"street\"] = this.street;\r\n data[\"streetNumber\"] = this.streetNumber;\r\n data[\"city\"] = this.city;\r\n data[\"postalCode\"] = this.postalCode;\r\n data[\"country\"] = this.country;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAddressDataDto {\r\n id: string;\r\n name1?: string | undefined;\r\n name2?: string | undefined;\r\n street?: string | undefined;\r\n streetNumber?: string | undefined;\r\n city?: string | undefined;\r\n postalCode?: string | undefined;\r\n country?: string | undefined;\r\n}\r\n\r\nexport class ContractMaterialDto implements IContractMaterialDto {\r\n id!: string;\r\n libraNumber?: string | undefined;\r\n name?: string | undefined;\r\n amount!: number;\r\n bookedAmount!: number;\r\n unit?: string | undefined;\r\n\r\n constructor(data?: IContractMaterialDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.libraNumber = _data[\"libraNumber\"];\r\n this.name = _data[\"name\"];\r\n this.amount = _data[\"amount\"];\r\n this.bookedAmount = _data[\"bookedAmount\"];\r\n this.unit = _data[\"unit\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ContractMaterialDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ContractMaterialDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"libraNumber\"] = this.libraNumber;\r\n data[\"name\"] = this.name;\r\n data[\"amount\"] = this.amount;\r\n data[\"bookedAmount\"] = this.bookedAmount;\r\n data[\"unit\"] = this.unit;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IContractMaterialDto {\r\n id: string;\r\n libraNumber?: string | undefined;\r\n name?: string | undefined;\r\n amount: number;\r\n bookedAmount: number;\r\n unit?: string | undefined;\r\n}\r\n\r\nexport class TransportDto implements ITransportDto {\r\n id!: string;\r\n contractId!: string;\r\n libraId?: number | undefined;\r\n libraNumber?: string | undefined;\r\n libraError?: string | undefined;\r\n state!: TransportState;\r\n materialId!: string;\r\n material?: ContractMaterialDto | undefined;\r\n amount!: number;\r\n from!: Date;\r\n until!: Date;\r\n transportWeighting?: TransportWeightingDto | undefined;\r\n note?: string | undefined;\r\n rampId?: string | undefined;\r\n\r\n constructor(data?: ITransportDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.contractId = _data[\"contractId\"];\r\n this.libraId = _data[\"libraId\"];\r\n this.libraNumber = _data[\"libraNumber\"];\r\n this.libraError = _data[\"libraError\"];\r\n this.state = _data[\"state\"];\r\n this.materialId = _data[\"materialId\"];\r\n this.material = _data[\"material\"] ? ContractMaterialDto.fromJS(_data[\"material\"]) : undefined;\r\n this.amount = _data[\"amount\"];\r\n this.from = _data[\"from\"] ? new Date(_data[\"from\"].toString()) : undefined;\r\n this.until = _data[\"until\"] ? new Date(_data[\"until\"].toString()) : undefined;\r\n this.transportWeighting = _data[\"transportWeighting\"] ? TransportWeightingDto.fromJS(_data[\"transportWeighting\"]) : undefined;\r\n this.note = _data[\"note\"];\r\n this.rampId = _data[\"rampId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TransportDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TransportDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"contractId\"] = this.contractId;\r\n data[\"libraId\"] = this.libraId;\r\n data[\"libraNumber\"] = this.libraNumber;\r\n data[\"libraError\"] = this.libraError;\r\n data[\"state\"] = this.state;\r\n data[\"materialId\"] = this.materialId;\r\n data[\"material\"] = this.material ? this.material.toJSON() : undefined;\r\n data[\"amount\"] = this.amount;\r\n data[\"from\"] = this.from ? this.from.toISOString() : undefined;\r\n data[\"until\"] = this.until ? this.until.toISOString() : undefined;\r\n data[\"transportWeighting\"] = this.transportWeighting ? this.transportWeighting.toJSON() : undefined;\r\n data[\"note\"] = this.note;\r\n data[\"rampId\"] = this.rampId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITransportDto {\r\n id: string;\r\n contractId: string;\r\n libraId?: number | undefined;\r\n libraNumber?: string | undefined;\r\n libraError?: string | undefined;\r\n state: TransportState;\r\n materialId: string;\r\n material?: ContractMaterialDto | undefined;\r\n amount: number;\r\n from: Date;\r\n until: Date;\r\n transportWeighting?: TransportWeightingDto | undefined;\r\n note?: string | undefined;\r\n rampId?: string | undefined;\r\n}\r\n\r\nexport enum TransportState {\r\n Proposed = \"Proposed\",\r\n Approved = \"Approved\",\r\n InProgress = \"InProgress\",\r\n Completed = \"Completed\",\r\n Rejected = \"Rejected\",\r\n}\r\n\r\nexport class TransportWeightingDto implements ITransportWeightingDto {\r\n forwarderData?: AddressDataDto | undefined;\r\n licensePlate?: string | undefined;\r\n weightNetto?: string | undefined;\r\n pdf?: string | undefined;\r\n\r\n constructor(data?: ITransportWeightingDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.forwarderData = _data[\"forwarderData\"] ? AddressDataDto.fromJS(_data[\"forwarderData\"]) : undefined;\r\n this.licensePlate = _data[\"licensePlate\"];\r\n this.weightNetto = _data[\"weightNetto\"];\r\n this.pdf = _data[\"pdf\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TransportWeightingDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TransportWeightingDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"forwarderData\"] = this.forwarderData ? this.forwarderData.toJSON() : undefined;\r\n data[\"licensePlate\"] = this.licensePlate;\r\n data[\"weightNetto\"] = this.weightNetto;\r\n data[\"pdf\"] = this.pdf;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITransportWeightingDto {\r\n forwarderData?: AddressDataDto | undefined;\r\n licensePlate?: string | undefined;\r\n weightNetto?: string | undefined;\r\n pdf?: string | undefined;\r\n}\r\n\r\nexport enum LogEventLevel {\r\n Verbose = \"Verbose\",\r\n Debug = \"Debug\",\r\n Information = \"Information\",\r\n Warning = \"Warning\",\r\n Error = \"Error\",\r\n Fatal = \"Fatal\",\r\n}\r\n\r\nexport class TransportPdfTemplateDto implements ITransportPdfTemplateDto {\r\n template?: string | undefined;\r\n\r\n constructor(data?: ITransportPdfTemplateDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.template = _data[\"template\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TransportPdfTemplateDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TransportPdfTemplateDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"template\"] = this.template;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITransportPdfTemplateDto {\r\n template?: string | undefined;\r\n}\r\n\r\nexport class TransportPdfTemplateInputModel implements ITransportPdfTemplateInputModel {\r\n locationCode?: string | undefined;\r\n template?: string | undefined;\r\n\r\n constructor(data?: ITransportPdfTemplateInputModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.locationCode = _data[\"locationCode\"];\r\n this.template = _data[\"template\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TransportPdfTemplateInputModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TransportPdfTemplateInputModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"locationCode\"] = this.locationCode;\r\n data[\"template\"] = this.template;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITransportPdfTemplateInputModel {\r\n locationCode?: string | undefined;\r\n template?: string | undefined;\r\n}\r\n\r\nexport class TacTsmDetailsDto implements ITacTsmDetailsDto {\r\n transportBookingNumber?: string | undefined;\r\n constructionSiteName?: string | undefined;\r\n clientSiteName?: string | undefined;\r\n materialName?: string | undefined;\r\n materialUnit?: string | undefined;\r\n amount!: number;\r\n from!: Date;\r\n until!: Date;\r\n rampId?: string | undefined;\r\n\r\n constructor(data?: ITacTsmDetailsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.transportBookingNumber = _data[\"transportBookingNumber\"];\r\n this.constructionSiteName = _data[\"constructionSiteName\"];\r\n this.clientSiteName = _data[\"clientSiteName\"];\r\n this.materialName = _data[\"materialName\"];\r\n this.materialUnit = _data[\"materialUnit\"];\r\n this.amount = _data[\"amount\"];\r\n this.from = _data[\"from\"] ? new Date(_data[\"from\"].toString()) : undefined;\r\n this.until = _data[\"until\"] ? new Date(_data[\"until\"].toString()) : undefined;\r\n this.rampId = _data[\"rampId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TacTsmDetailsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TacTsmDetailsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"transportBookingNumber\"] = this.transportBookingNumber;\r\n data[\"constructionSiteName\"] = this.constructionSiteName;\r\n data[\"clientSiteName\"] = this.clientSiteName;\r\n data[\"materialName\"] = this.materialName;\r\n data[\"materialUnit\"] = this.materialUnit;\r\n data[\"amount\"] = this.amount;\r\n data[\"from\"] = this.from ? this.from.toISOString() : undefined;\r\n data[\"until\"] = this.until ? this.until.toISOString() : undefined;\r\n data[\"rampId\"] = this.rampId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITacTsmDetailsDto {\r\n transportBookingNumber?: string | undefined;\r\n constructionSiteName?: string | undefined;\r\n clientSiteName?: string | undefined;\r\n materialName?: string | undefined;\r\n materialUnit?: string | undefined;\r\n amount: number;\r\n from: Date;\r\n until: Date;\r\n rampId?: string | undefined;\r\n}\r\n\r\nexport class SwaggerException extends Error {\r\n message: string;\r\n status: number;\r\n response: string;\r\n headers: { [key: string]: any; };\r\n result: any;\r\n\r\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\r\n super();\r\n\r\n this.message = message;\r\n this.status = status;\r\n this.response = response;\r\n this.headers = headers;\r\n this.result = result;\r\n }\r\n\r\n protected isSwaggerException = true;\r\n\r\n static isSwaggerException(obj: any): obj is SwaggerException {\r\n return obj.isSwaggerException === true;\r\n }\r\n}\r\n\r\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): Observable {\r\n if (result !== null && result !== undefined)\r\n return _observableThrow(result);\r\n else\r\n return _observableThrow(new SwaggerException(message, status, response, headers, null));\r\n}\r\n\r\nfunction blobToText(blob: any): Observable {\r\n return new Observable((observer: any) => {\r\n if (!blob) {\r\n observer.next(\"\");\r\n observer.complete();\r\n } else {\r\n let reader = new FileReader();\r\n reader.onload = event => {\r\n observer.next((event.target as any).result);\r\n observer.complete();\r\n };\r\n reader.readAsText(blob);\r\n }\r\n });\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Store, select } from '@ngrx/store';\r\nimport * as moment from 'moment';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { take } from 'rxjs/operators';\r\nimport { AnnouncementService } from 'src/app/core/services/announcement.service';\r\nimport { AccountApiService } from 'src/app/modules/user-settings/services/account-api.service';\r\nimport { AnnouncementDto } from 'src/app/shared/generated/AccountClient';\r\nimport { NameTranslationDto } from 'src/app/shared/generated/LogisticManagementClient';\r\nimport { TranslationModel } from 'src/app/shared/models/translation.model';\r\nimport { LanguageService } from 'src/app/shared/services/language.service';\r\nimport * as fromShared from 'src/app/shared/state';\r\nimport * as sharedActions from 'src/app/shared/state/shared.actions';\r\nimport { NotificationModel, NotificationType } from '../models/notification.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NotificationService {\r\n\r\n announcementIntervals!: any;\r\n announcementsLastVisitDate!: Date;\r\n unreadNotifications!: number;\r\n unreadNotifications$ = new BehaviorSubject(0);\r\n notificationList: NotificationModel[] = [];\r\n notificationList$ = new BehaviorSubject([]);\r\n\r\n constructor(\r\n private announcementService: AnnouncementService,\r\n private languageService: LanguageService,\r\n private store: Store,\r\n private accountApiService: AccountApiService,\r\n private router: Router\r\n ) {\r\n this.store.pipe(select(fromShared.getAnnouncementsLastVisit))\r\n .subscribe(date => {\r\n if (date) {\r\n this.announcementsLastVisitDate = new Date(date)\r\n }\r\n });\r\n }\r\n\r\n startNotifications(): void {\r\n this.store.pipe(select(fromShared.getConfiguration)).subscribe(config => {\r\n if (!config?.loggedIn) return;\r\n\r\n const startDate = moment().utc();\r\n let untilDate = new Date(startDate.toISOString(false));\r\n let fromDate = new Date(startDate.subtract(1, 'years').toISOString(false));\r\n this.getAnnouncementNotifications(fromDate, untilDate);\r\n this.getUserLocationRoleInvitations();\r\n\r\n this.announcementIntervals = setInterval(() => {\r\n const currentDate = moment().utc();\r\n untilDate = new Date(currentDate.toISOString(false));\r\n fromDate = new Date(currentDate.subtract(10, 'minutes').toISOString(false));\r\n this.getAnnouncementNotifications(fromDate, untilDate);\r\n }, 1000 * 60 * 5);\r\n })\r\n }\r\n\r\n clearNotifications(): void {\r\n if (this.announcementIntervals) {\r\n clearInterval(this.announcementIntervals);\r\n }\r\n }\r\n\r\n getAnnouncementNotifications(fromDate?: Date, untilDate?: Date): void {\r\n this.announcementService.getAnnouncementList(fromDate, untilDate).pipe(take(1)).subscribe(\r\n (announcementList) => {\r\n const missingAnnouncements = announcementList.filter(item => !this.notificationList.some(other => item.id === other.id));\r\n if (missingAnnouncements) {\r\n let notifications: NotificationModel[] = [];\r\n missingAnnouncements.forEach(announcement => {\r\n let notification: NotificationModel = {\r\n id: announcement.id,\r\n date: announcement.createDate,\r\n type: NotificationType.Announcement,\r\n icon: 'info',\r\n isMarkAsRead: false,\r\n action: null!\r\n }\r\n\r\n if (this.announcementsLastVisitDate && this.announcementsLastVisitDate > announcement.createDate) {\r\n notification.isMarkAsRead = true;\r\n }\r\n\r\n this.registerTranslation(announcement);\r\n notifications.push(notification);\r\n });\r\n this.notificationList.unshift(...notifications);\r\n this.notificationList$.next(this.notificationList);\r\n this.updateUnreadNotificationsNumber();\r\n this.languageService.afterAddingCustomTranslations();\r\n }\r\n }\r\n );\r\n }\r\n\r\n getUserLocationRoleInvitations() {\r\n this.accountApiService.getUserLocationRoleInvitations().pipe(take(1)).subscribe(\r\n result => {\r\n const invitations: NotificationModel[] = result.roleInvitations!.map(roleInvitation => ({\r\n id: roleInvitation.id,\r\n date: roleInvitation.createDate,\r\n type: NotificationType.Invitation,\r\n icon: 'info',\r\n isMarkAsRead: false,\r\n action: () => this.router.navigate(['settings/roles/invitations'], { queryParams: { id: roleInvitation.id } })\r\n }))\r\n\r\n const announcements = result.roleInvitations!.map(roleInvitation => new AnnouncementDto({\r\n id: roleInvitation.id,\r\n createDate: roleInvitation.createDate,\r\n titleTranslations: [\r\n new NameTranslationDto({ languageCode: 'EN', name: 'Location Invitation' }),\r\n new NameTranslationDto({ languageCode: 'DE', name: 'Standort Einladung' }),\r\n new NameTranslationDto({ languageCode: 'PL', name: 'Zaproszenie do lokalizacji' }),\r\n new NameTranslationDto({ languageCode: 'SK', name: 'Pozvánka na miesto' })\r\n ],\r\n bodyTranslations: [\r\n new NameTranslationDto({ languageCode: 'EN', name: `You have received an invitation to: ${roleInvitation.locationName}` }),\r\n new NameTranslationDto({ languageCode: 'DE', name: `Sie haben eine Einladung erhalten zu: ${roleInvitation.locationName}` }),\r\n new NameTranslationDto({ languageCode: 'PL', name: `Otrzymałeś zaproszenie do: ${roleInvitation.locationName}` }),\r\n new NameTranslationDto({ languageCode: 'SK', name: `Dostali ste pozvánku na: ${roleInvitation.locationName}` })\r\n ]\r\n }))\r\n\r\n announcements.forEach(announcement => this.registerTranslation(announcement));\r\n this.notificationList.unshift(...invitations);\r\n this.notificationList$.next(this.notificationList);\r\n this.updateUnreadNotificationsNumber();\r\n this.languageService.afterAddingCustomTranslations();\r\n }\r\n );\r\n }\r\n\r\n addToastNotification(title: string, message: string, icon: string, type: NotificationType) {\r\n const notification: NotificationModel = {\r\n id: null!,\r\n title: title,\r\n body: message,\r\n date: new Date(),\r\n type: type,\r\n icon: icon,\r\n isMarkAsRead: false,\r\n action: null!\r\n }\r\n\r\n this.notificationList.unshift(notification);\r\n this.notificationList$.next(this.notificationList);\r\n this.updateUnreadNotificationsNumber();\r\n }\r\n\r\n registerTranslation(entity: AnnouncementDto): void {\r\n this.languageService.addOrUpdateCustomTranslation({\r\n key: 'CustomNotificationTitle' + entity.id,\r\n translations: (entity.titleTranslations as TranslationModel[])\r\n });\r\n this.languageService.addOrUpdateCustomTranslation({\r\n key: 'CustomNotificationBody' + entity.id,\r\n translations: (entity.bodyTranslations as TranslationModel[])\r\n });\r\n }\r\n\r\n markAllAsRead(): void {\r\n this.store.dispatch(new sharedActions.SetAnnouncementsLastVisitDate(moment().toDate()));\r\n this.notificationList.forEach(notification => {\r\n notification.isMarkAsRead = true;\r\n });\r\n this.updateUnreadNotificationsNumber();\r\n }\r\n\r\n updateUnreadNotificationsNumber(): void {\r\n this.unreadNotifications = this.notificationList.filter(x => x.isMarkAsRead === false).length;\r\n this.unreadNotifications$.next(this.unreadNotifications);\r\n }\r\n}\r\n","export default \":host {\\n min-width: 100%;\\n}\\n\\n:host .text-label {\\n position: relative;\\n margin-bottom: 0px;\\n margin-bottom: -40px;\\n}\\n\\n:host .bottom-space {\\n margin-bottom: 25px;\\n}\\n\\n:host .form-group {\\n margin: 0 !important;\\n margin-top: 8px !important;\\n}\\n\\n:host .form-group .btn-group {\\n width: 100%;\\n}\\n\\n:host .checkbox-button {\\n width: 100%;\\n height: 39px;\\n border-radius: 15px !important;\\n}\\n\\n:host .glyphicon {\\n top: 3px;\\n}\\n\\n.grayed-out {\\n color: #dcdcdb;\\n}\\n\\ndiv.disabled {\\n opacity: 0.7;\\n}\\n\\ndiv.btn-group:hover, .text-label:hover {\\n cursor: pointer;\\n}\\n\\n.disabled:hover {\\n cursor: not-allowed !important;\\n}\\n\\n@media (min-width: 768px) {\\n :host .text-label {\\n padding: 8px 15px;\\n background-color: #dcdcdb;\\n border: none;\\n border-radius: 15px 0 0 15px;\\n height: 39px;\\n width: calc(100% - 50px);\\n }\\n\\n :host .checkbox-button {\\n width: 50px;\\n float: right;\\n border-radius: 0 15px 15px 0 !important;\\n }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbGF5b3V0L2lucHV0cy9wYWFyaS1pbnB1dC1mbGFnLWVudW0vcGFhcmktaW5wdXQtZmxhZy1lbnVtLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsZUFBQTtBQUNGOztBQUNBO0VBQ0Usa0JBQUE7RUFDQSxrQkFBQTtFQUNBLG9CQUFBO0FBRUY7O0FBQ0E7RUFDRSxtQkFBQTtBQUVGOztBQUNBO0VBQ0Usb0JBQUE7RUFDQSwwQkFBQTtBQUVGOztBQUNBO0VBQ0UsV0FBQTtBQUVGOztBQUNBO0VBQ0UsV0FBQTtFQUNBLFlBQUE7RUFDQSw4QkFBQTtBQUVGOztBQUNBO0VBQ0UsUUFBQTtBQUVGOztBQUNBO0VBQ0UsY0FBQTtBQUVGOztBQUNBO0VBQ0UsWUFBQTtBQUVGOztBQUNBO0VBQ0UsZUFBQTtBQUVGOztBQUNBO0VBQ0UsOEJBQUE7QUFFRjs7QUFFQTtFQUNFO0lBQ0UsaUJBQUE7SUFDQSx5QkFBQTtJQUNBLFlBQUE7SUFDQSw0QkFBQTtJQUNBLFlBQUE7SUFDQSx3QkFBQTtFQUNGOztFQUNBO0lBQ0UsV0FBQTtJQUNBLFlBQUE7SUFDQSx1Q0FBQTtFQUVGO0FBQ0YiLCJmaWxlIjoic3JjL2FwcC9sYXlvdXQvaW5wdXRzL3BhYXJpLWlucHV0LWZsYWctZW51bS9wYWFyaS1pbnB1dC1mbGFnLWVudW0uY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdHtcclxuICBtaW4td2lkdGg6IDEwMCU7XHJcbn1cclxuOmhvc3QgLnRleHQtbGFiZWwge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogLTQwcHg7XHJcbn1cclxuXHJcbjpob3N0IC5ib3R0b20tc3BhY2Uge1xyXG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbn1cclxuXHJcbjpob3N0IC5mb3JtLWdyb3VwIHtcclxuICBtYXJnaW46IDAgIWltcG9ydGFudDtcclxuICBtYXJnaW4tdG9wOiA4cHggIWltcG9ydGFudDtcclxufVxyXG5cclxuOmhvc3QgLmZvcm0tZ3JvdXAgLmJ0bi1ncm91cCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbjpob3N0IC5jaGVja2JveC1idXR0b24ge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMzlweDtcclxuICBib3JkZXItcmFkaXVzOiAxNXB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbjpob3N0IC5nbHlwaGljb24ge1xyXG4gIHRvcDogM3B4O1xyXG59XHJcblxyXG4uZ3JheWVkLW91dCB7XHJcbiAgY29sb3I6ICNkY2RjZGI7XHJcbn1cclxuXHJcbmRpdi5kaXNhYmxlZCB7XHJcbiAgb3BhY2l0eTogMC43O1xyXG59XHJcblxyXG5kaXYuYnRuLWdyb3VwOmhvdmVyLC50ZXh0LWxhYmVsOmhvdmVyIHtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5kaXNhYmxlZDpob3ZlciB7XHJcbiAgY3Vyc29yOiBub3QtYWxsb3dlZCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgOmhvc3QgLnRleHQtbGFiZWwge1xyXG4gICAgcGFkZGluZzogOHB4IDE1cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGNkY2RiO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTVweCAwIDAgMTVweDtcclxuICAgIGhlaWdodDogMzlweDtcclxuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1MHB4KTtcclxuICB9XHJcbiAgOmhvc3QgLmNoZWNrYm94LWJ1dHRvbiB7XHJcbiAgICB3aWR0aDogNTBweDtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAgMTVweCAxNXB4IDAgIWltcG9ydGFudDtcclxuICB9XHJcbn0iXX0= */\";","import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\r\nimport { ListItemModel } from '../../shared/list-item.model';\r\nimport { ValidatorModel } from '../../shared/validator.model';\r\nimport { BaseInputComponent } from '../paari-base-input/base-input.component';\r\n\r\n@Component({\r\n selector: \"paari-input-text\",\r\n templateUrl: './paari-input-text.component.html',\r\n styleUrls: ['./paari-input-text.component.scss']\r\n})\r\nexport class PaariInputTextComponent implements BaseInputComponent {\r\n\r\n @Input() id!: string;\r\n @Input() label!: string;\r\n @Input() placeholder!: string;\r\n @Input() bottomSpace!: string;\r\n @Input() icon!: string;\r\n @Input() validators!: ValidatorModel[];\r\n @Input() disabled: boolean = false;\r\n @Input() noBorderRadiusRight!: boolean;\r\n @Input() type: string = 'text';\r\n @Input() autocomplete!: ListItemModel[];\r\n @ViewChild('inputField', { static: true }) inputField!: ElementRef;\r\n public formGroupValid: boolean = true;\r\n public options!: string[];\r\n private _model!: string;\r\n\r\n @Output() modelChange = new EventEmitter();\r\n @Input('model')\r\n set model(value: string | undefined) {\r\n if (this._model == value) return;\r\n this._model = value ?? '';\r\n this.modelChange.emit(this._model);\r\n this._filter(this._model)\r\n if (this.inputField.nativeElement.classList.contains('ng-touched')) {\r\n this.validateForm();\r\n }\r\n }\r\n get model() {\r\n return this._model;\r\n }\r\n\r\n public validateForm() {\r\n let classesList = this.inputField.nativeElement.classList;\r\n if (classesList.contains('ng-untouched')) {\r\n classesList.remove('ng-untouched');\r\n classesList.add('ng-touched');\r\n this.validateForm();\r\n }\r\n let result: boolean = true;\r\n if (this.validators != null) {\r\n this.validators.forEach(validator => {\r\n if (!validator.validate(this.model)) {\r\n result = false;\r\n }\r\n });\r\n }\r\n this.formGroupValid = result;\r\n return result;\r\n }\r\n isDirty(): boolean {\r\n return this.inputField.nativeElement.classList.contains('ng-dirty');\r\n }\r\n\r\n private _filter(value: string): void {\r\n if (this.autocomplete) {\r\n const searchString = value.toLowerCase();\r\n this.options = this.autocomplete.map(x => x.name)\r\n .filter(option => option.toLowerCase().includes(searchString));\r\n }\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2xheW91dC9tb2RhbHMvc2VhcmNoLXVzZXItbW9kYWwvc2VhcmNoLXVzZXItbW9kYWwuY29tcG9uZW50LnNjc3MifQ== */\";","import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\r\nimport { ImageService } from 'src/app/shared/services/image.service';\r\nimport { ToastService } from 'src/app/shared/services/toast.service';\r\n\r\n@Component({\r\n // tslint:disable-next-line: component-selector\r\n selector: 'paari-input-image',\r\n templateUrl: './paari-input-image.component.html',\r\n styleUrls: ['./paari-input-image.component.scss']\r\n})\r\nexport class PaariInputImageComponent {\r\n @Input() id!: string;\r\n @Input() label!: string;\r\n @Input() bottomSpace!: string;\r\n @Input() icon!: string;\r\n @Input() imageString!: string;\r\n @Input() imageName!: string;\r\n @Output() imageUploaded = new EventEmitter();\r\n @Output() imageReset = new EventEmitter();\r\n @ViewChild('inputField', { static: true }) imageInputVariable!: ElementRef;\r\n\r\n constructor(\r\n private imageService: ImageService,\r\n private notificationService: ToastService\r\n ) { }\r\n\r\n imageChanged(e: any) {\r\n const file = e.dataTransfer ? e.dataTransfer.files[0] : e.target.files[0];\r\n this.imageName = file.name;\r\n const pattern = /image-*/;\r\n if (!file.type.match(pattern)) {\r\n this.notificationService.error('Modules.LocationAdmin.EmailServerSettings.Messages.WrongFormat');\r\n this.imageInputVariable.nativeElement.value = '';\r\n return;\r\n }\r\n const reader = new FileReader();\r\n reader.onload = this._handleReaderLoaded.bind(this);\r\n reader.readAsDataURL(file);\r\n }\r\n\r\n _handleReaderLoaded(e: any) {\r\n const reader = e.target;\r\n this.imageString = this.imageService.removeImage64Info(reader.result);\r\n this.imageUploaded.emit({\r\n imageName: this.imageName,\r\n imageBase: this.imageString\r\n });\r\n }\r\n\r\n resetImage() {\r\n this.imageInputVariable.nativeElement.value = '';\r\n this.imageName = '';\r\n this.imageString = '';\r\n this.imageReset.emit();\r\n }\r\n}\r\n\r\nexport interface UploadedImageData {\r\n imageName: string;\r\n imageBase: string;\r\n}\r\n","export default \".experimental-info {\\n color: #fdc628;\\n font-size: 0.6em;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-pack: space-evenly;\\n -ms-flex-pack: space-evenly;\\n justify-content: space-evenly;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n}\\n\\n@media screen and (max-width: 599px) {\\n span {\\n display: none;\\n }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29yZS9jb21wb25lbnRzL3RvcC1uYXYvdG9wLW5hdi1wcmV2aWV3LWRlc2NyaXB0aW9uL3RvcC1uYXYtcHJldmlldy1kZXNjcmlwdGlvbi5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGNBQUE7RUFDQSxnQkFBQTtFQUNBLG9CQUFBO0VBQUEsb0JBQUE7RUFBQSxhQUFBO0VBQ0EsOEJBQUE7TUFBQSwyQkFBQTtVQUFBLDZCQUFBO0VBQ0EseUJBQUE7TUFBQSxzQkFBQTtVQUFBLG1CQUFBO0FBQ0Y7O0FBRUE7RUFDRTtJQUNFLGFBQUE7RUFDRjtBQUNGIiwiZmlsZSI6InNyYy9hcHAvY29yZS9jb21wb25lbnRzL3RvcC1uYXYvdG9wLW5hdi1wcmV2aWV3LWRlc2NyaXB0aW9uL3RvcC1uYXYtcHJldmlldy1kZXNjcmlwdGlvbi5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5leHBlcmltZW50YWwtaW5mbyB7XHJcbiAgY29sb3I6ICNmZGM2Mjg7XHJcbiAgZm9udC1zaXplOiAwLjZlbTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XHJcbiAgc3BhbiB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxufVxyXG4iXX0= */\";","import { HttpClient, HttpClientModule } from '@angular/common/http';\r\nimport { ErrorHandler, NgModule } from '@angular/core';\r\nimport { AngularFireModule } from '@angular/fire';\r\nimport { AngularFireMessagingModule } from '@angular/fire/messaging';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { EffectsModule } from '@ngrx/effects';\r\nimport { ActionReducer, ActionReducerMap, MetaReducer, StoreModule } from '@ngrx/store';\r\nimport { StoreDevtoolsModule } from '@ngrx/store-devtools';\r\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nimport { localStorageSync } from 'ngrx-store-localstorage';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { State } from './app.state';\r\nimport { CoreModule } from './core/core.module';\r\nimport { ErrorHandlerService } from './core/services/error-handler.service';\r\nimport { LayoutModule } from './layout/layout.module';\r\nimport { AppsListComponent } from './modules/apps/apps-list/apps-list.component';\r\nimport { SharedModule } from './shared/shared.module';\r\n\r\nexport const reducers: ActionReducerMap = {};\r\nexport function localStorageSyncReducer(reducer: ActionReducer): ActionReducer {\r\n return localStorageSync({\r\n keys: [\r\n { 'location-admin': ['selectedLocation'] },\r\n { 'shared': ['consentAccepted', 'announcementsLastVisit', 'pushNotifications'] },\r\n { 'tsm': ['selectedLocation'] },\r\n { 'arrival': ['selectedLocation', 'selectedRole'] },\r\n { 'statistic': ['selectedLocation'] },\r\n { 'tac': ['selectedRole', 'contract', 'selectedContract', 'showExpiredContracts'] }\r\n ], rehydrate: true\r\n })(reducer);\r\n}\r\nconst metaReducers: Array> = [localStorageSyncReducer];\r\n\r\nexport function createTranslateLoader(http: HttpClient) {\r\n console.log(`APP_INITIALIZER: Create Translations. /assets/i18n/`);\r\n return new TranslateHttpLoader(http, '/assets/i18n/', '/translations.json');\r\n}\r\n\r\n@NgModule({\r\n bootstrap: [AppComponent],\r\n declarations: [\r\n AppComponent,\r\n AppsListComponent\r\n ],\r\n imports: [\r\n BrowserModule,\r\n BrowserAnimationsModule,\r\n HttpClientModule,\r\n CoreModule,\r\n SharedModule,\r\n LayoutModule,\r\n AppRoutingModule,\r\n AngularFireModule.initializeApp({\r\n \"projectId\": \"paari-titan-cloud\",\r\n \"appId\": \"1:987705579752:web:b134ff0fb3d3b80b72515d\",\r\n \"storageBucket\": \"paari-titan-cloud.firebasestorage.app\",\r\n \"apiKey\": \"AIzaSyDOzEDYVd7VEg2PGc2wBPfRzymgCpAxS44\",\r\n \"authDomain\": \"paari-titan-cloud.firebaseapp.com\",\r\n \"messagingSenderId\": \"987705579752\"\r\n }),\r\n AngularFireMessagingModule,\r\n StoreModule.forRoot(reducers, { metaReducers }),\r\n EffectsModule.forRoot([]),\r\n StoreDevtoolsModule.instrument({\r\n name: 'titan.cloud devtools',\r\n maxAge: 25,\r\n }),\r\n TranslateModule.forRoot({\r\n defaultLanguage: 'en',\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: (createTranslateLoader),\r\n deps: [HttpClient]\r\n },\r\n isolate: false\r\n }),\r\n ],\r\n providers: [\r\n {\r\n provide: ErrorHandler, useClass: ErrorHandlerService\r\n }\r\n ]\r\n})\r\nexport class AppModule { }\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-simple-loader',\r\n templateUrl: './simple-loader.component.html',\r\n styleUrls: ['./simple-loader.component.scss']\r\n})\r\nexport class SimpleLoaderComponent {\r\n\r\n @Input() display!: boolean;\r\n}\r\n","//----------------------\r\n// \r\n// Generated using the NSwag toolchain v13.16.1.0 (NJsonSchema v10.7.2.0 (Newtonsoft.Json v12.0.0.0)) (http://NSwag.org)\r\n// \r\n//----------------------\r\n\r\n/* tslint:disable */\r\n/* eslint-disable */\r\n// ReSharper disable InconsistentNaming\r\n\r\nimport { HttpClient, HttpHeaders, HttpResponse, HttpResponseBase } from '@angular/common/http';\r\nimport { Inject, Injectable, InjectionToken, Optional } from '@angular/core';\r\nimport { Observable, of as _observableOf, throwError as _observableThrow } from 'rxjs';\r\nimport { catchError as _observableCatch, mergeMap as _observableMergeMap } from 'rxjs/operators';\r\n\r\nexport const API_BASE_URL_IDENTITY = new InjectionToken('API_BASE_URL_IDENTITY');\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_IDENTITY) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"/Cloud.Identity.Api\";\r\n }\r\n\r\n getSecurityData(): Observable {\r\n let url = this.baseUrl + \"/v1/User/GetSecurityDetails\";\r\n let options: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url, options).pipe(_observableMergeMap((response: any) => {\r\n return this.processGetSecurityData(response);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetSecurityData(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n processGetSecurityData(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = GetSecurityDataResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n changeSecuritySettings(body: ChangeSecuritySettingsRequest | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v1/User/ChangeSecuritySettings\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processChangeSecuritySettings(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processChangeSecuritySettings(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processChangeSecuritySettings(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param userId (optional) \r\n * @return Success\r\n */\r\n getDetails(userId: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v1/User/GetDetails?\";\r\n if (userId === null)\r\n throw new Error(\"The parameter 'userId' cannot be null.\");\r\n else if (userId !== undefined)\r\n url_ += \"userId=\" + encodeURIComponent(\"\" + userId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetDetails(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetDetails(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetDetails(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = GetDetailsResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getProfile(): Observable {\r\n let url_ = this.baseUrl + \"/v1/User/GetProfile\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetProfile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetProfile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetProfile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = GetProfileResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n saveProfile(body: SaveProfileRequest | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v1/User/SaveProfile\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processSaveProfile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSaveProfile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processSaveProfile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n saveDob(body: SaveDobRequest | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v1/User/SaveDob\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processSaveDob(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSaveDob(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processSaveDob(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n getUserEmailById(body: GetUserEmailByIdRequest | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v1/User/GetUserEmailById\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetUserEmailById(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetUserEmailById(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetUserEmailById(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = GetUserEmailByIdResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getUsers(): Observable {\r\n let url_ = this.baseUrl + \"/v1/User/GetUsers\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetUsers(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetUsers(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetUsers(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = GetUsersResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param userId (optional) \r\n * @return Success\r\n */\r\n getLockout(userId: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v1/User/GetLockout?\";\r\n if (userId === null)\r\n throw new Error(\"The parameter 'userId' cannot be null.\");\r\n else if (userId !== undefined)\r\n url_ += \"userId=\" + encodeURIComponent(\"\" + userId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"text/plain\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetLockout(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetLockout(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetLockout(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 ? new Date(resultData200.toString()) : null;\r\n\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param userId (optional) \r\n * @return Success\r\n */\r\n unlockUser(userId: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v1/User/UnlockUser?\";\r\n if (userId === null)\r\n throw new Error(\"The parameter 'userId' cannot be null.\");\r\n else if (userId !== undefined)\r\n url_ += \"userId=\" + encodeURIComponent(\"\" + userId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processUnlockUser(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUnlockUser(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processUnlockUser(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * @param userId (optional) \r\n * @return Success\r\n */\r\n deleteUser(userId: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v1/User/DeleteUser?\";\r\n if (userId === null)\r\n throw new Error(\"The parameter 'userId' cannot be null.\");\r\n else if (userId !== undefined)\r\n url_ += \"userId=\" + encodeURIComponent(\"\" + userId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processDeleteUser(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDeleteUser(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDeleteUser(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport interface IGetSecurityDataResponse {\r\n mfaEnabled: boolean;\r\n}\r\n\r\nexport class GetSecurityDataResponse implements IGetSecurityDataResponse {\r\n mfaEnabled!: boolean;\r\n\r\n constructor(data?: IGetSecurityDataResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.mfaEnabled = _data[\"mfaEnabled\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): IGetSecurityDataResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GetSecurityDataResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"mfaEnabled\"] = this.mfaEnabled;\r\n }\r\n}\r\n\r\nexport class ChangeSecuritySettingsRequest implements IChangeSecuritySettingsRequest {\r\n oldPassword?: string | undefined;\r\n newPassword?: string | undefined;\r\n mfaEnabled!: boolean;\r\n\r\n constructor(data?: IChangeSecuritySettingsRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.oldPassword = _data[\"oldPassword\"];\r\n this.newPassword = _data[\"newPassword\"];\r\n this.mfaEnabled = _data[\"mfaEnabled\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ChangeSecuritySettingsRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ChangeSecuritySettingsRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"oldPassword\"] = this.oldPassword;\r\n data[\"newPassword\"] = this.newPassword;\r\n data[\"mfaEnabled\"] = this.mfaEnabled;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IChangeSecuritySettingsRequest {\r\n oldPassword?: string | undefined;\r\n newPassword?: string | undefined;\r\n mfaEnabled: boolean;\r\n}\r\n\r\nexport class GetDetailsResponse implements IGetDetailsResponse {\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n email?: string | undefined;\r\n dateOfBirth?: Date | undefined;\r\n\r\n constructor(data?: IGetDetailsResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.email = _data[\"email\"];\r\n this.dateOfBirth = _data[\"dateOfBirth\"] ? new Date(_data[\"dateOfBirth\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): GetDetailsResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GetDetailsResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"email\"] = this.email;\r\n data[\"dateOfBirth\"] = this.dateOfBirth ? this.dateOfBirth.toISOString() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IGetDetailsResponse {\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n email?: string | undefined;\r\n dateOfBirth?: Date | undefined;\r\n}\r\n\r\nexport class GetProfileResponse implements IGetProfileResponse {\r\n email?: string | undefined;\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n street?: string | undefined;\r\n streetNumber?: string | undefined;\r\n postalCode?: string | undefined;\r\n city?: string | undefined;\r\n country?: string | undefined;\r\n phoneNumber?: string | undefined;\r\n dateOfBirth?: Date | undefined;\r\n languageCode?: string | undefined;\r\n lastLogin?: Date | undefined;\r\n created?: Date | undefined;\r\n\r\n constructor(data?: IGetProfileResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.email = _data[\"email\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.street = _data[\"street\"];\r\n this.streetNumber = _data[\"streetNumber\"];\r\n this.postalCode = _data[\"postalCode\"];\r\n this.city = _data[\"city\"];\r\n this.country = _data[\"country\"];\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n this.dateOfBirth = _data[\"dateOfBirth\"] ? new Date(_data[\"dateOfBirth\"].toString()) : undefined;\r\n this.languageCode = _data[\"languageCode\"];\r\n this.lastLogin = _data[\"lastLogin\"] ? new Date(_data[\"lastLogin\"].toString()) : undefined;\r\n this.created = _data[\"created\"] ? new Date(_data[\"created\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): GetProfileResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GetProfileResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"email\"] = this.email;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"street\"] = this.street;\r\n data[\"streetNumber\"] = this.streetNumber;\r\n data[\"postalCode\"] = this.postalCode;\r\n data[\"city\"] = this.city;\r\n data[\"country\"] = this.country;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n data[\"dateOfBirth\"] = this.dateOfBirth ? this.dateOfBirth.toISOString() : undefined;\r\n data[\"languageCode\"] = this.languageCode;\r\n data[\"lastLogin\"] = this.lastLogin ? this.lastLogin.toISOString() : undefined;\r\n data[\"created\"] = this.created ? this.created.toISOString() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IGetProfileResponse {\r\n email?: string | undefined;\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n street?: string | undefined;\r\n streetNumber?: string | undefined;\r\n postalCode?: string | undefined;\r\n city?: string | undefined;\r\n country?: string | undefined;\r\n phoneNumber?: string | undefined;\r\n dateOfBirth?: Date | undefined;\r\n languageCode?: string | undefined;\r\n lastLogin?: Date | undefined;\r\n created?: Date | undefined;\r\n}\r\n\r\nexport class GetUserEmailByIdRequest implements IGetUserEmailByIdRequest {\r\n userId?: string | undefined;\r\n\r\n constructor(data?: IGetUserEmailByIdRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.userId = _data[\"userId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): GetUserEmailByIdRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GetUserEmailByIdRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"userId\"] = this.userId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IGetUserEmailByIdRequest {\r\n userId?: string | undefined;\r\n}\r\n\r\nexport class GetUserEmailByIdResponse implements IGetUserEmailByIdResponse {\r\n email?: string | undefined;\r\n\r\n constructor(data?: IGetUserEmailByIdResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.email = _data[\"email\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): GetUserEmailByIdResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GetUserEmailByIdResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"email\"] = this.email;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IGetUserEmailByIdResponse {\r\n email?: string | undefined;\r\n}\r\n\r\nexport class GetUsersResponse implements IGetUsersResponse {\r\n users?: UserDto[] | undefined;\r\n\r\n constructor(data?: IGetUsersResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"users\"])) {\r\n this.users = [] as any;\r\n for (let item of _data[\"users\"])\r\n this.users!.push(UserDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): GetUsersResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GetUsersResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.users)) {\r\n data[\"users\"] = [];\r\n for (let item of this.users)\r\n data[\"users\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IGetUsersResponse {\r\n users?: UserDto[] | undefined;\r\n}\r\n\r\nexport class ProblemDetails implements IProblemDetails {\r\n type?: string | undefined;\r\n title?: string | undefined;\r\n status?: number | undefined;\r\n detail?: string | undefined;\r\n instance?: string | undefined;\r\n\r\n constructor(data?: IProblemDetails) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.type = _data[\"type\"];\r\n this.title = _data[\"title\"];\r\n this.status = _data[\"status\"];\r\n this.detail = _data[\"detail\"];\r\n this.instance = _data[\"instance\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProblemDetails {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProblemDetails();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"type\"] = this.type;\r\n data[\"title\"] = this.title;\r\n data[\"status\"] = this.status;\r\n data[\"detail\"] = this.detail;\r\n data[\"instance\"] = this.instance;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProblemDetails {\r\n type?: string | undefined;\r\n title?: string | undefined;\r\n status?: number | undefined;\r\n detail?: string | undefined;\r\n instance?: string | undefined;\r\n}\r\n\r\nexport class SaveDobRequest implements ISaveDobRequest {\r\n dateOfBirth?: Date;\r\n\r\n constructor(data?: ISaveDobRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.dateOfBirth = _data[\"dateOfBirth\"] ? new Date(_data[\"dateOfBirth\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): SaveDobRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SaveDobRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"dateOfBirth\"] = this.dateOfBirth ? this.dateOfBirth.toISOString() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISaveDobRequest {\r\n dateOfBirth?: Date;\r\n}\r\n\r\nexport class SaveProfileRequest implements ISaveProfileRequest {\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n street?: string | undefined;\r\n streetNumber?: string | undefined;\r\n postalCode?: string | undefined;\r\n city?: string | undefined;\r\n country?: string | undefined;\r\n phoneNumber?: string | undefined;\r\n dateOfBirth?: Date | undefined;\r\n languageCode?: string | undefined;\r\n\r\n constructor(data?: ISaveProfileRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.street = _data[\"street\"];\r\n this.streetNumber = _data[\"streetNumber\"];\r\n this.postalCode = _data[\"postalCode\"];\r\n this.city = _data[\"city\"];\r\n this.country = _data[\"country\"];\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n this.dateOfBirth = _data[\"dateOfBirth\"] ? new Date(_data[\"dateOfBirth\"].toString()) : undefined;\r\n this.languageCode = _data[\"languageCode\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SaveProfileRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SaveProfileRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"street\"] = this.street;\r\n data[\"streetNumber\"] = this.streetNumber;\r\n data[\"postalCode\"] = this.postalCode;\r\n data[\"city\"] = this.city;\r\n data[\"country\"] = this.country;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n data[\"dateOfBirth\"] = this.dateOfBirth ? this.dateOfBirth.toISOString() : undefined;\r\n data[\"languageCode\"] = this.languageCode;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISaveProfileRequest {\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n street?: string | undefined;\r\n streetNumber?: string | undefined;\r\n postalCode?: string | undefined;\r\n city?: string | undefined;\r\n country?: string | undefined;\r\n phoneNumber?: string | undefined;\r\n dateOfBirth?: Date | undefined;\r\n languageCode?: string | undefined;\r\n}\r\n\r\nexport class UserDto implements IUserDto {\r\n id?: string | undefined;\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n email?: string | undefined;\r\n lastLoginDate?: Date | undefined;\r\n isAdmin?: boolean;\r\n isLocationAdmin?: boolean;\r\n active?: boolean;\r\n\r\n constructor(data?: IUserDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.email = _data[\"email\"];\r\n this.lastLoginDate = _data[\"lastLoginDate\"] ? new Date(_data[\"lastLoginDate\"].toString()) : undefined;\r\n this.isAdmin = _data[\"isAdmin\"];\r\n this.isLocationAdmin = _data[\"isLocationAdmin\"];\r\n this.active = _data[\"active\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"email\"] = this.email;\r\n data[\"lastLoginDate\"] = this.lastLoginDate ? this.lastLoginDate.toISOString() : undefined;\r\n data[\"isAdmin\"] = this.isAdmin;\r\n data[\"isLocationAdmin\"] = this.isLocationAdmin;\r\n data[\"active\"] = this.active;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserDto {\r\n id?: string | undefined;\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n email?: string | undefined;\r\n lastLoginDate?: Date | undefined;\r\n isAdmin?: boolean;\r\n isLocationAdmin?: boolean;\r\n active?: boolean;\r\n}\r\n\r\nexport class SwaggerException extends Error {\r\n message: string;\r\n status: number;\r\n response: string;\r\n headers: { [key: string]: any; };\r\n result: any;\r\n\r\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\r\n super();\r\n\r\n this.message = message;\r\n this.status = status;\r\n this.response = response;\r\n this.headers = headers;\r\n this.result = result;\r\n }\r\n\r\n protected isSwaggerException = true;\r\n\r\n static isSwaggerException(obj: any): obj is SwaggerException {\r\n return obj.isSwaggerException === true;\r\n }\r\n}\r\n\r\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): Observable {\r\n if (result !== null && result !== undefined)\r\n return _observableThrow(result);\r\n else\r\n return _observableThrow(new SwaggerException(message, status, response, headers, null));\r\n}\r\n\r\nfunction blobToText(blob: any): Observable {\r\n return new Observable((observer: any) => {\r\n if (!blob) {\r\n observer.next(\"\");\r\n observer.complete();\r\n } else {\r\n let reader = new FileReader();\r\n reader.onload = event => {\r\n observer.next((event.target as any).result);\r\n observer.complete();\r\n };\r\n reader.readAsText(blob);\r\n }\r\n });\r\n}\r\n","export default \"
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
{{validator.errorMessage | translate}}
\\r\\n
\\r\\n
\\r\\n
\";","import { Action } from '@ngrx/store';\r\nimport { ConfigurationModel } from '../generated/FrontClient';\r\nimport { ModuleTypes } from '../enums/module-types.enum';\r\n\r\nexport enum SharedActionTypes {\r\n ResetStore = '[Shared] ResetStore',\r\n SetCurrentModule = '[Shared] SetCurrentModule',\r\n AcceptCookieConsent = '[Shared] AcceptCookieConsent',\r\n SetConfiguration = '[Shared] SetConfiguration',\r\n SetAnnouncementsLastVisitDate = '[Shared] SetAnnouncementsLastVisitDate',\r\n SetLastAnnouncementDate = '[Shared] SetLastAnnouncementDate',\r\n SetPushNotifications = '[Shared] SetPushNotifications',\r\n}\r\n\r\nexport class ResetStore implements Action {\r\n readonly type = SharedActionTypes.ResetStore;\r\n}\r\n\r\nexport class SetCurrentModule implements Action {\r\n readonly type = SharedActionTypes.SetCurrentModule;\r\n constructor(public payload: ModuleTypes) { }\r\n}\r\n\r\nexport class AcceptCookieConsent implements Action {\r\n readonly type = SharedActionTypes.AcceptCookieConsent;\r\n constructor() { }\r\n}\r\n\r\nexport class SetConfiguration implements Action {\r\n readonly type = SharedActionTypes.SetConfiguration;\r\n constructor(public payload: ConfigurationModel) { }\r\n}\r\n\r\nexport class SetAnnouncementsLastVisitDate implements Action {\r\n readonly type = SharedActionTypes.SetAnnouncementsLastVisitDate;\r\n constructor(public payload: Date) { }\r\n}\r\n\r\nexport class SetPushNotifications implements Action {\r\n readonly type = SharedActionTypes.SetPushNotifications;\r\n constructor(public payload: boolean) { }\r\n}\r\n\r\nexport type SharedActions\r\n = ResetStore\r\n | SetCurrentModule\r\n | AcceptCookieConsent\r\n | SetConfiguration\r\n | SetAnnouncementsLastVisitDate\r\n | SetPushNotifications;\r\n","export default \"
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\";","export default \"
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
{{validator.errorMessage | translate}}
\\r\\n
\\r\\n
\\r\\n
\";","export default \"
\\r\\n \\r\\n \\r\\n
\\r\\n\";","export default \"
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\";","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2xheW91dC9tb2RhbHMvaW1hZ2UtcHJldmlldy1tb2RhbC9pbWFnZS1wcmV2aWV3LW1vZGFsLmNvbXBvbmVudC5zY3NzIn0= */\";","import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\r\nimport { BaseInputComponent } from '../paari-base-input/base-input.component';\r\n\r\n@Component({\r\n selector: 'paari-input-radio-true-false',\r\n templateUrl: './paari-input-radio-true-false.component.html',\r\n styleUrls: ['./paari-input-radio-true-false.component.scss']\r\n})\r\nexport class PaariInputRadioTrueFalseComponent implements BaseInputComponent {\r\n\r\n @Input() idTrue!: string;\r\n @Input() idFalse!: string;\r\n @Input() labelTrue!: string;\r\n @Input() labelFalse!: string;\r\n @Input() name!: string;\r\n\r\n @ViewChild(\"inputField\", { static: true }) inputField!: ElementRef;\r\n private _model!: boolean;\r\n\r\n @Output() modelChange = new EventEmitter();\r\n @Input(\"model\")\r\n set model(value: boolean) {\r\n if (this._model == value) return;\r\n this._model = value;\r\n this.modelChange.emit(this._model);\r\n }\r\n get model() {\r\n return this._model;\r\n }\r\n\r\n public validateForm() {\r\n return true;\r\n }\r\n isDirty(): boolean {\r\n return this.inputField.nativeElement.classList.contains(\"ng-dirty\");\r\n }\r\n\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { MenuService } from 'src/app/core/services/menu.service';\r\n\r\n@Component({\r\n selector: 'app-side-nav',\r\n templateUrl: './side-nav.component.html',\r\n styleUrls: ['./side-nav.component.scss']\r\n})\r\nexport class SideNavComponent {\r\n\r\n constructor(public menuService: MenuService) { }\r\n}\r\n","export default \"\";","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-alert-single-loading-error',\r\n templateUrl: './alert-single-loading-error.component.html',\r\n styleUrls: ['./alert-single-loading-error.component.scss']\r\n})\r\nexport class AlertSingleLoadingErrorComponent {\r\n\r\n @Input() errorMessage!: string;\r\n}\r\n","export default \"\\r\\n {{ name | translate }}\\r\\n\\r\\n\";","export default \".menu-subitem {\\n padding-left: 16px;\\n font-size: 14px !important;\\n z-index: 1;\\n}\\n\\n.menu-item {\\n padding-left: 8px;\\n padding-right: 8px;\\n font-size: 15px !important;\\n z-index: 1;\\n}\\n\\n.mat-list-item {\\n height: 40px !important;\\n}\\n\\n.mat-list-item:hover:not(.active-link) {\\n border-bottom: 1px solid #fdc628;\\n border-left: 1px solid #fdc628;\\n background-color: white;\\n}\\n\\n.mat-list-item:hover:not(.active-link):after {\\n content: \\\"\\\";\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 20%;\\n border-bottom: 1px solid #fdc628;\\n}\\n\\n.mat-list-item:hover:not(.active-link) .menu-subitem {\\n padding-left: 15px;\\n}\\n\\n.mat-list-item:hover:not(.active-link) .menu-item {\\n margin-left: -1px;\\n}\\n\\n.active-link {\\n font-weight: bold;\\n}\\n\\n.active-link:before {\\n content: \\\"\\\";\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n width: 6px;\\n background-color: #fdc628;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29yZS9jb21wb25lbnRzL3NpZGUtbmF2L3NpZGUtbmF2LW1lbnUtaXRlbS9zaWRlLW5hdi1tZW51LWl0ZW0uY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0E7RUFDRSxrQkFIa0I7RUFJbEIsMEJBQUE7RUFDQSxVQUFBO0FBRkY7O0FBS0E7RUFDRSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0EsMEJBQUE7RUFDQSxVQUFBO0FBRkY7O0FBS0E7RUFDRSx1QkFBQTtBQUZGOztBQUlFO0VBQ0UsZ0NBQUE7RUFDQSw4QkFBQTtFQUNBLHVCQUFBO0FBRko7O0FBSUk7RUFDRSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxNQUFBO0VBQ0EsT0FBQTtFQUNBLFVBQUE7RUFDQSxnQ0FBQTtBQUZOOztBQUtJO0VBQ0Usa0JBQUE7QUFITjs7QUFNSTtFQUNFLGlCQUFBO0FBSk47O0FBU0E7RUFDRSxpQkFBQTtBQU5GOztBQVFFO0VBQ0UsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLFNBQUE7RUFDQSxPQUFBO0VBQ0EsVUFBQTtFQUNBLHlCQUFBO0FBTkoiLCJmaWxlIjoic3JjL2FwcC9jb3JlL2NvbXBvbmVudHMvc2lkZS1uYXYvc2lkZS1uYXYtbWVudS1pdGVtL3NpZGUtbmF2LW1lbnUtaXRlbS5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIiRsaW5lLXRoaWNrbmVzczogMXB4O1xyXG4kaXRlbS10ZXh0LXBhZGRpbmc6IDE2cHg7XHJcblxyXG4ubWVudS1zdWJpdGVtIHtcclxuICBwYWRkaW5nLWxlZnQ6ICRpdGVtLXRleHQtcGFkZGluZztcclxuICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcclxuICB6LWluZGV4OiAxO1xyXG59XHJcblxyXG4ubWVudS1pdGVtIHtcclxuICBwYWRkaW5nLWxlZnQ6IDhweDtcclxuICBwYWRkaW5nLXJpZ2h0OiA4cHg7XHJcbiAgZm9udC1zaXplOiAxNXB4ICFpbXBvcnRhbnQ7XHJcbiAgei1pbmRleDogMTtcclxufVxyXG5cclxuLm1hdC1saXN0LWl0ZW0ge1xyXG4gIGhlaWdodDogNDBweCAhaW1wb3J0YW50O1xyXG5cclxuICAmOmhvdmVyOm5vdCguYWN0aXZlLWxpbmspIHtcclxuICAgIGJvcmRlci1ib3R0b206ICRsaW5lLXRoaWNrbmVzcyBzb2xpZCAjZmRjNjI4O1xyXG4gICAgYm9yZGVyLWxlZnQ6ICRsaW5lLXRoaWNrbmVzcyBzb2xpZCAjZmRjNjI4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcblxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICB3aWR0aDogMjAlO1xyXG4gICAgICBib3JkZXItYm90dG9tOiAkbGluZS10aGlja25lc3Mgc29saWQgI2ZkYzYyODtcclxuICAgIH1cclxuXHJcbiAgICAubWVudS1zdWJpdGVtIHtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAkaXRlbS10ZXh0LXBhZGRpbmcgLSAkbGluZS10aGlja25lc3M7XHJcbiAgICB9XHJcblxyXG4gICAgLm1lbnUtaXRlbSB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAtJGxpbmUtdGhpY2tuZXNzO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmFjdGl2ZS1saW5rIHtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuXHJcbiAgJjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogNnB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkYzYyODtcclxuICB9XHJcbn1cclxuIl19 */\";","import { Injectable } from '@angular/core';\r\nimport { ApplicationInsights } from '@microsoft/applicationinsights-web';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class InsightMonitoringService {\r\n\r\n appInsights: ApplicationInsights;\r\n\r\n constructor() {\r\n let instrumentationKey = 'noKey';\r\n\r\n const baseUrl = document.getElementsByTagName('base')[0].href;\r\n if (baseUrl.startsWith('https://localhost')) {\r\n instrumentationKey = '3d4e7301-290e-4162-a396-4862bec05f68';\r\n } else if (baseUrl.startsWith('https://app-preview.titan.cloud')) {\r\n instrumentationKey = '47171aad-e56a-4180-9a3e-9d3960ce4975';\r\n } else if (baseUrl.startsWith('https://app.titan.cloud')) {\r\n instrumentationKey = 'ed09c563-681f-425e-93fd-be823816d82a';\r\n }\r\n\r\n console.log(`[ApplicationInsights] - ${instrumentationKey} set for ${baseUrl}`);\r\n\r\n this.appInsights = new ApplicationInsights({\r\n config: {\r\n instrumentationKey,\r\n enableAutoRouteTracking: true\r\n }\r\n });\r\n\r\n this.appInsights.loadAppInsights();\r\n }\r\n\r\n logPageView(name?: string, url?: string) {\r\n this.appInsights.trackPageView({\r\n name,\r\n uri: url\r\n });\r\n }\r\n\r\n logEvent(name: string, properties?: { [key: string]: any }) {\r\n this.appInsights.trackEvent({ name }, properties);\r\n }\r\n\r\n logMetric(name: string, average: number, properties?: { [key: string]: any }) {\r\n this.appInsights.trackMetric({ name, average }, properties);\r\n }\r\n\r\n logException(exception: Error, severityLevel?: number) {\r\n this.appInsights.trackException({ exception, severityLevel });\r\n }\r\n\r\n logTrace(message: string, properties?: { [key: string]: any }) {\r\n this.appInsights.trackTrace({ message }, properties);\r\n }\r\n}\r\n","export default \"#drawing-container {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n -ms-flex-direction: column;\\n flex-direction: column;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n -webkit-box-pack: center;\\n -ms-flex-pack: center;\\n justify-content: center;\\n width: 100%;\\n height: 100%;\\n}\\n\\n.toolbar {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-pack: justify;\\n -ms-flex-pack: justify;\\n justify-content: space-between;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n -ms-flex-wrap: wrap;\\n flex-wrap: wrap;\\n}\\n\\n.r {\\n display: -webkit-inline-box;\\n display: -ms-inline-flexbox;\\n display: inline-flex;\\n -webkit-box-orient: horizontal;\\n -webkit-box-direction: normal;\\n -ms-flex-direction: row;\\n flex-direction: row;\\n padding: 10px;\\n margin: 10px 0px;\\n -ms-flex-pack: distribute;\\n justify-content: space-around;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n border-radius: 6px;\\n -webkit-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.4);\\n box-shadow: 0 3px 10px rgba(0, 0, 0, 0.4);\\n}\\n\\n.colors {\\n width: 300px;\\n}\\n\\n.sizes {\\n width: 200px;\\n}\\n\\n.buttons button {\\n margin-left: 3px;\\n}\\n\\n.btn-size {\\n cursor: pointer;\\n}\\n\\n.btn-size.selected {\\n color: #bdbdbd;\\n}\\n\\n.btn-size.disabled {\\n cursor: initial;\\n color: #bdbdbd;\\n}\\n\\n.size {\\n background-color: #000;\\n}\\n\\n.size.selected {\\n background-color: #bdbdbd;\\n}\\n\\n.rotate {\\n -webkit-transform: rotateY(180deg);\\n transform: rotateY(180deg);\\n}\\n\\n.color {\\n width: 28px;\\n height: 28px;\\n border-radius: 14px;\\n cursor: pointer;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n -webkit-box-pack: center;\\n -ms-flex-pack: center;\\n justify-content: center;\\n}\\n\\n.color.selected::after {\\n content: \\\"\\\";\\n width: 10px;\\n height: 10px;\\n background: #000;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n border-radius: 5px;\\n}\\n\\n.color.black {\\n background-color: #000;\\n}\\n\\n.color.black.selected::after {\\n background: #fff;\\n}\\n\\n.color.white {\\n border: 1px solid #a7a7a7;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbGF5b3V0L3BhYXJpLWltYWdlLWRyYXdlci9wYWFyaS1pbWFnZS1kcmF3ZXIuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxvQkFBQTtFQUFBLG9CQUFBO0VBQUEsYUFBQTtFQUNBLDRCQUFBO0VBQUEsNkJBQUE7TUFBQSwwQkFBQTtVQUFBLHNCQUFBO0VBQ0EseUJBQUE7TUFBQSxzQkFBQTtVQUFBLG1CQUFBO0VBQ0Esd0JBQUE7TUFBQSxxQkFBQTtVQUFBLHVCQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7QUFDRjs7QUFFQTtFQUNFLG9CQUFBO0VBQUEsb0JBQUE7RUFBQSxhQUFBO0VBQ0EseUJBQUE7TUFBQSxzQkFBQTtVQUFBLDhCQUFBO0VBQ0EseUJBQUE7TUFBQSxzQkFBQTtVQUFBLG1CQUFBO0VBQ0EsbUJBQUE7TUFBQSxlQUFBO0FBQ0Y7O0FBRUE7RUFDRSwyQkFBQTtFQUFBLDJCQUFBO0VBQUEsb0JBQUE7RUFDQSw4QkFBQTtFQUFBLDZCQUFBO01BQUEsdUJBQUE7VUFBQSxtQkFBQTtFQUNBLGFBQUE7RUFDQSxnQkFBQTtFQUNBLHlCQUFBO01BQUEsNkJBQUE7RUFDQSx5QkFBQTtNQUFBLHNCQUFBO1VBQUEsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLGlEQUFBO1VBQUEseUNBQUE7QUFDRjs7QUFFQTtFQUNFLFlBQUE7QUFDRjs7QUFFQTtFQUNFLFlBQUE7QUFDRjs7QUFFQTtFQUNFLGdCQUFBO0FBQ0Y7O0FBRUE7RUFDRSxlQUFBO0FBQ0Y7O0FBQ0U7RUFDRSxjQUFBO0FBQ0o7O0FBRUU7RUFDRSxlQUFBO0VBQ0EsY0FBQTtBQUFKOztBQUlBO0VBQ0Usc0JBQUE7QUFERjs7QUFHRTtFQUNFLHlCQUFBO0FBREo7O0FBS0E7RUFDRSxrQ0FBQTtFQUlBLDBCQUFBO0FBRkY7O0FBS0E7RUFDRSxXQUFBO0VBQ0EsWUFBQTtFQUNBLG1CQUFBO0VBQ0EsZUFBQTtFQUNBLG9CQUFBO0VBQUEsb0JBQUE7RUFBQSxhQUFBO0VBQ0EseUJBQUE7TUFBQSxzQkFBQTtVQUFBLG1CQUFBO0VBQ0Esd0JBQUE7TUFBQSxxQkFBQTtVQUFBLHVCQUFBO0FBRkY7O0FBS0k7RUFDRSxXQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxnQkFBQTtFQUNBLG9CQUFBO0VBQUEsb0JBQUE7RUFBQSxhQUFBO0VBQ0Esa0JBQUE7QUFITjs7QUFPRTtFQUNFLHNCQUFBO0FBTEo7O0FBUU07RUFDRSxnQkFBQTtBQU5SOztBQVdFO0VBQ0UseUJBQUE7QUFUSiIsImZpbGUiOiJzcmMvYXBwL2xheW91dC9wYWFyaS1pbWFnZS1kcmF3ZXIvcGFhcmktaW1hZ2UtZHJhd2VyLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiI2RyYXdpbmctY29udGFpbmVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi50b29sYmFyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxufVxyXG5cclxuLnIge1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgcGFkZGluZzogMTBweDtcclxuICBtYXJnaW46IDEwcHggMHB4O1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gIGJveC1zaGFkb3c6IDAgM3B4IDEwcHggcmdiYSgwLCAwLCAwLCAuNCk7XHJcbn1cclxuXHJcbi5jb2xvcnMge1xyXG4gIHdpZHRoOiAzMDBweDtcclxufVxyXG5cclxuLnNpemVzIHtcclxuICB3aWR0aDogMjAwcHg7XHJcbn1cclxuXHJcbi5idXR0b25zIGJ1dHRvbiB7XHJcbiAgbWFyZ2luLWxlZnQ6IDNweDtcclxufVxyXG5cclxuLmJ0bi1zaXplIHtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICYuc2VsZWN0ZWQge1xyXG4gICAgY29sb3I6ICNiZGJkYmQ7XHJcbiAgfVxyXG5cclxuICAmLmRpc2FibGVkIHtcclxuICAgIGN1cnNvcjogaW5pdGlhbDtcclxuICAgIGNvbG9yOiAjYmRiZGJkO1xyXG4gIH1cclxufVxyXG5cclxuLnNpemUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XHJcblxyXG4gICYuc2VsZWN0ZWQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JkYmRiZDtcclxuICB9XHJcbn1cclxuXHJcbi5yb3RhdGUge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKDE4MGRlZyk7XHJcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKTtcclxuICAtbXMtdHJhbnNmb3JtOiByb3RhdGVZKDE4MGRlZyk7XHJcbiAgLW8tdHJhbnNmb3JtOiByb3RhdGVZKDE4MGRlZyk7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGVZKDE4MGRlZyk7XHJcbn1cclxuXHJcbi5jb2xvciB7XHJcbiAgd2lkdGg6IDI4cHg7XHJcbiAgaGVpZ2h0OiAyOHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDE0cHg7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgJi5zZWxlY3RlZCB7XHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICAgIGJhY2tncm91bmQ6ICMwMDA7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuYmxhY2sge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcclxuXHJcbiAgICAmLnNlbGVjdGVkIHtcclxuICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYud2hpdGUge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2E3YTdhNztcclxuICB9XHJcbn1cclxuIl19 */\";","export const CUSTOM_DATE_FORMATS = {\r\n parse: {\r\n dateInput: 'YYYY-MM-DD'\r\n },\r\n display: {\r\n dateInput: 'YYYY-MM-DD',\r\n monthYearLabel: 'MMMM YYYY',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'MMMM YYYY'\r\n }\r\n};\r\n","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{ name | translate }} {{ last ? \\\"\\\" : \\\"-\\\" }}\\r\\n \\r\\n \\r\\n {{ title | translate }}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{ name | translate }} {{ last ? \\\"\\\" : \\\"-\\\" }}\\r\\n \\r\\n \\r\\n {{ bigtitle | translate }}\\r\\n \\r\\n
\\r\\n
\\r\\n {{ description | translate }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"Company\\r\\n
\\r\\n\\r\\n\";","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-footer-site-info',\r\n templateUrl: './footer-site-info.component.html',\r\n styleUrls: ['./footer-site-info.component.scss']\r\n})\r\nexport class FooterSiteInfoComponent implements OnInit {\r\n\r\n @Input() version!: string;\r\n\r\n currentYear!: string;\r\n\r\n ngOnInit() {\r\n this.currentYear = new Date().getFullYear().toString();\r\n }\r\n}\r\n","//----------------------\r\n// \r\n// Generated using the NSwag toolchain v14.1.0.0 (NJsonSchema v11.0.2.0 (Newtonsoft.Json v13.0.0.0)) (http://NSwag.org)\r\n// \r\n//----------------------\r\n\r\n/* tslint:disable */\r\n/* eslint-disable */\r\n// ReSharper disable InconsistentNaming\r\n\r\nimport { HttpClient, HttpHeaders, HttpResponse, HttpResponseBase } from '@angular/common/http';\r\nimport { Inject, Injectable, InjectionToken, Optional } from '@angular/core';\r\nimport { Observable, of as _observableOf, throwError as _observableThrow } from 'rxjs';\r\nimport { catchError as _observableCatch, mergeMap as _observableMergeMap } from 'rxjs/operators';\r\n\r\nexport const API_BASE_URL_ACCOUNT = new InjectionToken('API_BASE_URL_ACCOUNT');\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AnnouncementClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_ACCOUNT) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl ?? \"https://localhost/account.api\";\r\n }\r\n\r\n getList(): Observable {\r\n let url_ = this.baseUrl + \"/v1/announcement/GetList\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetList(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetList(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetList(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(AnnouncementDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getListBetweenDates(fromDate: Date | null | undefined, untilDate: Date | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v1/announcement/GetListBetweenDates?\";\r\n if (fromDate !== undefined && fromDate !== null)\r\n url_ += \"fromDate=\" + encodeURIComponent(fromDate ? \"\" + fromDate.toISOString() : \"\") + \"&\";\r\n if (untilDate !== undefined && untilDate !== null)\r\n url_ += \"untilDate=\" + encodeURIComponent(untilDate ? \"\" + untilDate.toISOString() : \"\") + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetListBetweenDates(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetListBetweenDates(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetListBetweenDates(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(AnnouncementDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getLastAnnouncement(): Observable {\r\n let url_ = this.baseUrl + \"/v1/announcement/GetLastAnnouncement\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetLastAnnouncement(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetLastAnnouncement(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetLastAnnouncement(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = AnnouncementDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n create(inputModel: AnnouncementDto | null): Observable {\r\n let url_ = this.baseUrl + \"/v1/announcement/Create\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processCreate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCreate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processCreate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n edit(inputModel: AnnouncementDto | null): Observable {\r\n let url_ = this.baseUrl + \"/v1/announcement/Edit\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processEdit(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processEdit(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processEdit(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n delete(id: string): Observable {\r\n let url_ = this.baseUrl + \"/v1/announcement/Delete?\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined and cannot be null.\");\r\n else\r\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDelete(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AdminV2Client {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_ACCOUNT) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl ?? \"https://localhost/account.api\";\r\n }\r\n\r\n allUsersPermissionDetails(): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/Admin/AllUsersPermissionDetails\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAllUsersPermissionDetails(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAllUsersPermissionDetails(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAllUsersPermissionDetails(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(UserPermissionDetailsDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n userPermissionDetails(userPermissionDetailsId: string): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/Admin/UserPermissionDetails?\";\r\n if (userPermissionDetailsId === undefined || userPermissionDetailsId === null)\r\n throw new Error(\"The parameter 'userPermissionDetailsId' must be defined and cannot be null.\");\r\n else\r\n url_ += \"userPermissionDetailsId=\" + encodeURIComponent(\"\" + userPermissionDetailsId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processUserPermissionDetails(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUserPermissionDetails(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processUserPermissionDetails(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = UserPermissionDetailsWithLocationsDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n updateUserPermissionDetails(userPermissionDetailsDto: UserPermissionDetailsWithLocationsDto | null): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/Admin/UpdateUserPermissionDetails\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(userPermissionDetailsDto);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processUpdateUserPermissionDetails(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpdateUserPermissionDetails(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processUpdateUserPermissionDetails(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n allIdentityServerClients(): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/Admin/AllIdentityServerClients\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAllIdentityServerClients(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAllIdentityServerClients(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAllIdentityServerClients(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(IdentityServerClientDescriptionDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n identityServerClient(clientId: number): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/Admin/IdentityServerClient?\";\r\n if (clientId === undefined || clientId === null)\r\n throw new Error(\"The parameter 'clientId' must be defined and cannot be null.\");\r\n else\r\n url_ += \"clientId=\" + encodeURIComponent(\"\" + clientId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processIdentityServerClient(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processIdentityServerClient(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processIdentityServerClient(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = IdentityServerClientDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n createIdentityServerClient(client: IdentityServerClientDto | null): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/Admin/CreateIdentityServerClient\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(client);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processCreateIdentityServerClient(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCreateIdentityServerClient(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processCreateIdentityServerClient(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n updateIdentityServerClient(client: IdentityServerClientDto | null): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/Admin/UpdateIdentityServerClient\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(client);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processUpdateIdentityServerClient(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpdateIdentityServerClient(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processUpdateIdentityServerClient(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n deleteIdentityServerClient(clientId: number): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/Admin/DeleteIdentityServerClient?\";\r\n if (clientId === undefined || clientId === null)\r\n throw new Error(\"The parameter 'clientId' must be defined and cannot be null.\");\r\n else\r\n url_ += \"clientId=\" + encodeURIComponent(\"\" + clientId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processDeleteIdentityServerClient(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDeleteIdentityServerClient(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDeleteIdentityServerClient(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n allSharedConfigEntries(): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/Admin/AllSharedConfigEntries\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAllSharedConfigEntries(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAllSharedConfigEntries(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAllSharedConfigEntries(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(SharedConfigEntryDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n updateSharedConfigEntry(sharedConfigEntryDto: SharedConfigEntryDto | null): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/Admin/UpdateSharedConfigEntry\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(sharedConfigEntryDto);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processUpdateSharedConfigEntry(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpdateSharedConfigEntry(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processUpdateSharedConfigEntry(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LocationAdminSettingsV2Client {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_ACCOUNT) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl ?? \"https://localhost/account.api\";\r\n }\r\n\r\n getLocationCharges(locationId: number): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/LocationAdminSettings/GetLocationCharges?\";\r\n if (locationId === undefined || locationId === null)\r\n throw new Error(\"The parameter 'locationId' must be defined and cannot be null.\");\r\n else\r\n url_ += \"locationId=\" + encodeURIComponent(\"\" + locationId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetLocationCharges(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetLocationCharges(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetLocationCharges(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = LocationAdminChargesDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getProviders(locationId: number): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/LocationAdminSettings/GetProviders?\";\r\n if (locationId === undefined || locationId === null)\r\n throw new Error(\"The parameter 'locationId' must be defined and cannot be null.\");\r\n else\r\n url_ += \"locationId=\" + encodeURIComponent(\"\" + locationId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetProviders(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetProviders(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetProviders(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CurrentEtaProviderDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n saveTrackingProvider(model: CurrentEtaProviderDto | null): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/LocationAdminSettings/SaveTrackingProvider\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processSaveTrackingProvider(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSaveTrackingProvider(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processSaveTrackingProvider(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getLocationUserMailSettings(locationId: number): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/LocationAdminSettings/GetLocationUserMailSettings?\";\r\n if (locationId === undefined || locationId === null)\r\n throw new Error(\"The parameter 'locationId' must be defined and cannot be null.\");\r\n else\r\n url_ += \"locationId=\" + encodeURIComponent(\"\" + locationId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetLocationUserMailSettings(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetLocationUserMailSettings(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetLocationUserMailSettings(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = LocationUserMailSettingsDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n saveLocationUserMailSettings(inputModel: LocationUserMailSettingsDto | null): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/LocationAdminSettings/SaveLocationUserMailSettings\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processSaveLocationUserMailSettings(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSaveLocationUserMailSettings(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processSaveLocationUserMailSettings(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getUsers(locationId: number): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/LocationAdminSettings/GetUsers?\";\r\n if (locationId === undefined || locationId === null)\r\n throw new Error(\"The parameter 'locationId' must be defined and cannot be null.\");\r\n else\r\n url_ += \"locationId=\" + encodeURIComponent(\"\" + locationId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetUsers(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetUsers(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetUsers(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(LocationAdminUsersDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getInvitations(locationId: number): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/LocationAdminSettings/GetInvitations?\";\r\n if (locationId === undefined || locationId === null)\r\n throw new Error(\"The parameter 'locationId' must be defined and cannot be null.\");\r\n else\r\n url_ += \"locationId=\" + encodeURIComponent(\"\" + locationId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetInvitations(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetInvitations(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetInvitations(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(LocationAdminInvitationDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getArrivalSettings(id: number): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/LocationAdminSettings/GetArrivalSettings?\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined and cannot be null.\");\r\n else\r\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetArrivalSettings(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetArrivalSettings(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetArrivalSettings(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ArrvialSettingsDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n saveArrivalSettings(inputModel: ArrvialSettingsDto | null): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/LocationAdminSettings/SaveArrivalSettings\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processSaveArrivalSettings(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSaveArrivalSettings(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processSaveArrivalSettings(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getAdministrators(locationId: number): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/LocationAdminSettings/GetAdministrators?\";\r\n if (locationId === undefined || locationId === null)\r\n throw new Error(\"The parameter 'locationId' must be defined and cannot be null.\");\r\n else\r\n url_ += \"locationId=\" + encodeURIComponent(\"\" + locationId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetAdministrators(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetAdministrators(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetAdministrators(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(LocationAdminAdministratorDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LocationAdminV2Client {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_ACCOUNT) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl ?? \"https://localhost/account.api\";\r\n }\r\n\r\n getLocation(locationId: number): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/LocationAdmin/GetLocation?\";\r\n if (locationId === undefined || locationId === null)\r\n throw new Error(\"The parameter 'locationId' must be defined and cannot be null.\");\r\n else\r\n url_ += \"locationId=\" + encodeURIComponent(\"\" + locationId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetLocation(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetLocation(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetLocation(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = LocationAdminStatusDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getLocationGeneralData(locationId: number): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/LocationAdmin/GetLocationGeneralData?\";\r\n if (locationId === undefined || locationId === null)\r\n throw new Error(\"The parameter 'locationId' must be defined and cannot be null.\");\r\n else\r\n url_ += \"locationId=\" + encodeURIComponent(\"\" + locationId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetLocationGeneralData(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetLocationGeneralData(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetLocationGeneralData(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = LocationAdminLocationDetailsDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n saveLocationGeneralData(inputModel: LocationAdminGeneralDataDto | null): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/LocationAdmin/SaveLocationGeneralData\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processSaveLocationGeneralData(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSaveLocationGeneralData(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processSaveLocationGeneralData(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getLocationBillingData(locationId: number): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/LocationAdmin/GetLocationBillingData?\";\r\n if (locationId === undefined || locationId === null)\r\n throw new Error(\"The parameter 'locationId' must be defined and cannot be null.\");\r\n else\r\n url_ += \"locationId=\" + encodeURIComponent(\"\" + locationId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetLocationBillingData(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetLocationBillingData(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetLocationBillingData(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = LocationAdminBillingDataDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n saveLocationBillingData(inputModel: LocationAdminBillingDataDto | null): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/LocationAdmin/SaveLocationBillingData\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processSaveLocationBillingData(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSaveLocationBillingData(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processSaveLocationBillingData(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getLocationEmailServerSettings(locationId: number): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/LocationAdmin/GetLocationEmailServerSettings?\";\r\n if (locationId === undefined || locationId === null)\r\n throw new Error(\"The parameter 'locationId' must be defined and cannot be null.\");\r\n else\r\n url_ += \"locationId=\" + encodeURIComponent(\"\" + locationId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetLocationEmailServerSettings(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetLocationEmailServerSettings(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetLocationEmailServerSettings(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = LocationAdminEmailServerSettingsDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n saveLocationEmailServerSettings(inputModel: LocationAdminEmailServerSettingsDto | null): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/LocationAdmin/SaveLocationEmailServerSettings\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processSaveLocationEmailServerSettings(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSaveLocationEmailServerSettings(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processSaveLocationEmailServerSettings(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getLocationPaariAdminSettings(locationId: number): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/LocationAdmin/GetLocationPaariAdminSettings?\";\r\n if (locationId === undefined || locationId === null)\r\n throw new Error(\"The parameter 'locationId' must be defined and cannot be null.\");\r\n else\r\n url_ += \"locationId=\" + encodeURIComponent(\"\" + locationId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetLocationPaariAdminSettings(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetLocationPaariAdminSettings(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetLocationPaariAdminSettings(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = LocationAdminPaariAdminSettingsDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n saveLocationPaariAdminSettings(inputModel: LocationAdminPaariAdminSettingsDto | null): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/LocationAdmin/SaveLocationPaariAdminSettings\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processSaveLocationPaariAdminSettings(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSaveLocationPaariAdminSettings(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processSaveLocationPaariAdminSettings(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getLocationNotificationPermissions(locationId: number): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/LocationAdmin/GetLocationNotificationPermissions?\";\r\n if (locationId === undefined || locationId === null)\r\n throw new Error(\"The parameter 'locationId' must be defined and cannot be null.\");\r\n else\r\n url_ += \"locationId=\" + encodeURIComponent(\"\" + locationId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetLocationNotificationPermissions(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetLocationNotificationPermissions(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetLocationNotificationPermissions(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = LocationAdminNotificationPermissionsDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n saveLocationNotificationPermissions(inputModel: LocationAdminNotificationPermissionsDto | null): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/LocationAdmin/SaveLocationNotificationPermissions\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processSaveLocationNotificationPermissions(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSaveLocationNotificationPermissions(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processSaveLocationNotificationPermissions(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n createLocation(dto: CreateLocationDto | null): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/LocationAdmin/CreateLocation\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(dto);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processCreateLocation(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCreateLocation(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processCreateLocation(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n generateLocationCode(): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/LocationAdmin/GenerateLocationCode\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGenerateLocationCode(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGenerateLocationCode(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGenerateLocationCode(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getTimeZoneList(): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/LocationAdmin/GetTimeZoneList\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetTimeZoneList(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetTimeZoneList(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetTimeZoneList(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(TimeZoneDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LocationUnitV2Client {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_ACCOUNT) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl ?? \"https://localhost/account.api\";\r\n }\r\n\r\n getUnits(locationId: number): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/LocationUnit/GetUnits?\";\r\n if (locationId === undefined || locationId === null)\r\n throw new Error(\"The parameter 'locationId' must be defined and cannot be null.\");\r\n else\r\n url_ += \"locationId=\" + encodeURIComponent(\"\" + locationId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetUnits(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetUnits(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetUnits(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = LocationUnitsDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n saveUnit(inputModel: UnitFrontDto | null): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/LocationUnit/SaveUnit\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processSaveUnit(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSaveUnit(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processSaveUnit(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n editUnit(inputModel: UnitFrontDto | null): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/LocationUnit/EditUnit\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processEditUnit(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processEditUnit(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processEditUnit(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n deleteUnit(inputModel: UnitFrontDto | null): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/LocationUnit/DeleteUnit\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processDeleteUnit(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDeleteUnit(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDeleteUnit(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LocationV2Client {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_ACCOUNT) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl ?? \"https://localhost/account.api\";\r\n }\r\n\r\n connectRoleWithLocation(locationCode: string | null, roleName: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/locations/ConnectRoleWithLocation?\";\r\n if (locationCode === undefined)\r\n throw new Error(\"The parameter 'locationCode' must be defined.\");\r\n else if (locationCode !== null)\r\n url_ += \"locationCode=\" + encodeURIComponent(\"\" + locationCode) + \"&\";\r\n if (roleName === undefined)\r\n throw new Error(\"The parameter 'roleName' must be defined.\");\r\n else if (roleName !== null)\r\n url_ += \"roleName=\" + encodeURIComponent(\"\" + roleName) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processConnectRoleWithLocation(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processConnectRoleWithLocation(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processConnectRoleWithLocation(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoggerClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_ACCOUNT) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl ?? \"https://localhost/account.api\";\r\n }\r\n\r\n currentLogLevel(): Observable {\r\n let url_ = this.baseUrl + \"/api/logger/CurrentLogLevel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processCurrentLogLevel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCurrentLogLevel(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processCurrentLogLevel(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n changeLogLevel(newLevel: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/logger/ChangeLogLevel?\";\r\n if (newLevel === undefined)\r\n throw new Error(\"The parameter 'newLevel' must be defined.\");\r\n else if (newLevel !== null)\r\n url_ += \"newLevel=\" + encodeURIComponent(\"\" + newLevel) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processChangeLogLevel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processChangeLogLevel(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processChangeLogLevel(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MailReportingV2Client {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_ACCOUNT) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl ?? \"https://localhost/account.api\";\r\n }\r\n\r\n allLocationsNotificationsUsageForMonth(year: number, month: number, hideSummaryIfNoSmsAndCalls: boolean): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/ MailReporting/AllLocationsNotificationsUsageForMonth?\";\r\n if (year === undefined || year === null)\r\n throw new Error(\"The parameter 'year' must be defined and cannot be null.\");\r\n else\r\n url_ += \"year=\" + encodeURIComponent(\"\" + year) + \"&\";\r\n if (month === undefined || month === null)\r\n throw new Error(\"The parameter 'month' must be defined and cannot be null.\");\r\n else\r\n url_ += \"month=\" + encodeURIComponent(\"\" + month) + \"&\";\r\n if (hideSummaryIfNoSmsAndCalls === undefined || hideSummaryIfNoSmsAndCalls === null)\r\n throw new Error(\"The parameter 'hideSummaryIfNoSmsAndCalls' must be defined and cannot be null.\");\r\n else\r\n url_ += \"hideSummaryIfNoSmsAndCalls=\" + encodeURIComponent(\"\" + hideSummaryIfNoSmsAndCalls) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAllLocationsNotificationsUsageForMonth(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAllLocationsNotificationsUsageForMonth(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAllLocationsNotificationsUsageForMonth(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = AdminNotificationsUsageSummariesDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n generateNotificationsReports(inputModel: GenerateNotificationsReportsDto | null): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/ MailReporting/GenerateNotificationsReports\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGenerateNotificationsReports(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGenerateNotificationsReports(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGenerateNotificationsReports(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RoleV2Client {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_ACCOUNT) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl ?? \"https://localhost/account.api\";\r\n }\r\n\r\n getRolesListAsAdmin(): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/roles/GetRolesListAsAdmin\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetRolesListAsAdmin(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetRolesListAsAdmin(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetRolesListAsAdmin(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = RoleListDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getRole(roleId: string): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/roles/GetRole?\";\r\n if (roleId === undefined || roleId === null)\r\n throw new Error(\"The parameter 'roleId' must be defined and cannot be null.\");\r\n else\r\n url_ += \"roleId=\" + encodeURIComponent(\"\" + roleId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetRole(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetRole(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetRole(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = RoleDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n searchUsers(email: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/roles/SearchUsers?\";\r\n if (email === undefined)\r\n throw new Error(\"The parameter 'email' must be defined.\");\r\n else if (email !== null)\r\n url_ += \"email=\" + encodeURIComponent(\"\" + email) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processSearchUsers(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSearchUsers(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processSearchUsers(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SearchUsersDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n searchRoles(roleCode: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/roles/SearchRoles?\";\r\n if (roleCode === undefined)\r\n throw new Error(\"The parameter 'roleCode' must be defined.\");\r\n else if (roleCode !== null)\r\n url_ += \"roleCode=\" + encodeURIComponent(\"\" + roleCode) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processSearchRoles(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSearchRoles(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processSearchRoles(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SearchRolesDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n save(inputModel: RoleDto | null): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/roles/Save\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processSave(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSave(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processSave(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n saveSimpleRole(inputModel: SimpleRoleInputModel | null): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/roles/SaveSimpleRole\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processSaveSimpleRole(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSaveSimpleRole(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processSaveSimpleRole(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = RoleDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n saveSimpleRoleWithMailSettings(inputModel: SimpleRoleWithMailSettingsInputModel | null): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/roles/SaveSimpleRoleWithMailSettings\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processSaveSimpleRoleWithMailSettings(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSaveSimpleRoleWithMailSettings(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processSaveSimpleRoleWithMailSettings(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = RoleDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n validateCode(code: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/roles/ValidateCode?\";\r\n if (code === undefined)\r\n throw new Error(\"The parameter 'code' must be defined.\");\r\n else if (code !== null)\r\n url_ += \"code=\" + encodeURIComponent(\"\" + code) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processValidateCode(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processValidateCode(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processValidateCode(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n delete(roleId: string): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/roles/Delete?\";\r\n if (roleId === undefined || roleId === null)\r\n throw new Error(\"The parameter 'roleId' must be defined and cannot be null.\");\r\n else\r\n url_ += \"roleId=\" + encodeURIComponent(\"\" + roleId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDelete(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getRoleTsmSettings(roleId: string): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/roles/GetRoleTsmSettings?\";\r\n if (roleId === undefined || roleId === null)\r\n throw new Error(\"The parameter 'roleId' must be defined and cannot be null.\");\r\n else\r\n url_ += \"roleId=\" + encodeURIComponent(\"\" + roleId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetRoleTsmSettings(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetRoleTsmSettings(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetRoleTsmSettings(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = RoleTsmSettingsDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n setRoleTsmSettings(inputModel: RoleTsmSettingsDto | null): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/roles/SetRoleTsmSettings\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processSetRoleTsmSettings(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSetRoleTsmSettings(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processSetRoleTsmSettings(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getRoleUserMailSettings(roleId: string): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/roles/GetRoleUserMailSettings?\";\r\n if (roleId === undefined || roleId === null)\r\n throw new Error(\"The parameter 'roleId' must be defined and cannot be null.\");\r\n else\r\n url_ += \"roleId=\" + encodeURIComponent(\"\" + roleId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetRoleUserMailSettings(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetRoleUserMailSettings(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetRoleUserMailSettings(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = RoleUserMailSettingsDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n setRoleUserMailSettings(inputModel: RoleUserMailSettingsDto | null): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/roles/SetRoleUserMailSettings\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processSetRoleUserMailSettings(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSetRoleUserMailSettings(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processSetRoleUserMailSettings(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getRoleLocations(roleId: string): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/roles/GetRoleLocations?\";\r\n if (roleId === undefined || roleId === null)\r\n throw new Error(\"The parameter 'roleId' must be defined and cannot be null.\");\r\n else\r\n url_ += \"roleId=\" + encodeURIComponent(\"\" + roleId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetRoleLocations(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetRoleLocations(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetRoleLocations(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = RoleLocationsDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n setRoleLocations(inputModel: RoleLocationsDto | null): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/roles/SetRoleLocations\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processSetRoleLocations(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSetRoleLocations(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processSetRoleLocations(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getUserLocationRoleInvitations(): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/roles/GetUserLocationRoleInvitations\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetUserLocationRoleInvitations(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetUserLocationRoleInvitations(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetUserLocationRoleInvitations(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = UserRoleInvitationsDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n acceptInvitation(inputModel: AcceptInvitationInputModel | null): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/roles/AcceptInvitation\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processAcceptInvitation(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAcceptInvitation(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processAcceptInvitation(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n declineInvitation(inputModel: DeclineInvitationInputModel | null): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/roles/DeclineInvitation\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processDeclineInvitation(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDeclineInvitation(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDeclineInvitation(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getLocationRoles(locationId: number): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/roles/GetLocationRoles?\";\r\n if (locationId === undefined || locationId === null)\r\n throw new Error(\"The parameter 'locationId' must be defined and cannot be null.\");\r\n else\r\n url_ += \"locationId=\" + encodeURIComponent(\"\" + locationId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetLocationRoles(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetLocationRoles(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetLocationRoles(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = LocationRolesDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n saveLocationRoles(inputModel: LocationRolesDto | null): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/roles/SaveLocationRoles\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processSaveLocationRoles(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSaveLocationRoles(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processSaveLocationRoles(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getLocationRoleInvitations(locationId: number): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/roles/GetLocationRoleInvitations?\";\r\n if (locationId === undefined || locationId === null)\r\n throw new Error(\"The parameter 'locationId' must be defined and cannot be null.\");\r\n else\r\n url_ += \"locationId=\" + encodeURIComponent(\"\" + locationId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetLocationRoleInvitations(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetLocationRoleInvitations(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetLocationRoleInvitations(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = LocationRoleInvitationsDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n inviteEmail(inputModel: EmailInputModel | null): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/roles/InviteEmail\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processInviteEmail(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processInviteEmail(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processInviteEmail(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n cancelEmailInvitation(inputModel: EmailInvitationIdInputModel | null): Observable {\r\n let url_ = this.baseUrl + \"/api/v2/roles/CancelEmailInvitation\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processCancelEmailInvitation(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCancelEmailInvitation(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processCancelEmailInvitation(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ReportingClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_ACCOUNT) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl ?? \"https://localhost/account.api\";\r\n }\r\n\r\n generateMonthlyReport(year: number, month: number): Observable {\r\n let url_ = this.baseUrl + \"/api/v1/reporting/GenerateMonthlyReport/{year}/{month}\";\r\n if (year === undefined || year === null)\r\n throw new Error(\"The parameter 'year' must be defined.\");\r\n url_ = url_.replace(\"{year}\", encodeURIComponent(\"\" + year));\r\n if (month === undefined || month === null)\r\n throw new Error(\"The parameter 'month' must be defined.\");\r\n url_ = url_.replace(\"{month}\", encodeURIComponent(\"\" + month));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGenerateMonthlyReport(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGenerateMonthlyReport(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGenerateMonthlyReport(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return _observableOf({ fileName: fileName, data: responseBlob as any, status: status, headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_ACCOUNT) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl ?? \"https://localhost/account.api\";\r\n }\r\n\r\n getUserProfile(): Observable {\r\n let url_ = this.baseUrl + \"/api/v1/user/GetUserProfile\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetUserProfile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetUserProfile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetUserProfile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = UserProfileDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n saveUserProfile(inputModel: UserProfileInputModel | null): Observable {\r\n let url_ = this.baseUrl + \"/api/v1/user/SaveUserProfile\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processSaveUserProfile(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSaveUserProfile(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processSaveUserProfile(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport class AnnouncementDto implements IAnnouncementDto {\r\n id!: string;\r\n createDate!: Date;\r\n titleTranslations?: NameTranslationDto[] | undefined;\r\n bodyTranslations?: NameTranslationDto[] | undefined;\r\n\r\n constructor(data?: IAnnouncementDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.createDate = _data[\"createDate\"] ? new Date(_data[\"createDate\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"titleTranslations\"])) {\r\n this.titleTranslations = [] as any;\r\n for (let item of _data[\"titleTranslations\"])\r\n this.titleTranslations!.push(NameTranslationDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"bodyTranslations\"])) {\r\n this.bodyTranslations = [] as any;\r\n for (let item of _data[\"bodyTranslations\"])\r\n this.bodyTranslations!.push(NameTranslationDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): AnnouncementDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AnnouncementDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"createDate\"] = this.createDate ? this.createDate.toISOString() : undefined;\r\n if (Array.isArray(this.titleTranslations)) {\r\n data[\"titleTranslations\"] = [];\r\n for (let item of this.titleTranslations)\r\n data[\"titleTranslations\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.bodyTranslations)) {\r\n data[\"bodyTranslations\"] = [];\r\n for (let item of this.bodyTranslations)\r\n data[\"bodyTranslations\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAnnouncementDto {\r\n id: string;\r\n createDate: Date;\r\n titleTranslations?: NameTranslationDto[] | undefined;\r\n bodyTranslations?: NameTranslationDto[] | undefined;\r\n}\r\n\r\nexport class NameTranslationDto implements INameTranslationDto {\r\n languageCode!: string;\r\n name?: string | undefined;\r\n\r\n constructor(data?: INameTranslationDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.languageCode = _data[\"languageCode\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): NameTranslationDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NameTranslationDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"languageCode\"] = this.languageCode;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface INameTranslationDto {\r\n languageCode: string;\r\n name?: string | undefined;\r\n}\r\n\r\nexport class UserPermissionDetailsDto implements IUserPermissionDetailsDto {\r\n id!: string;\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n email?: string | undefined;\r\n lastLoginDate?: Date | undefined;\r\n isAdmin!: boolean;\r\n isLocationAdmin!: boolean;\r\n active!: boolean;\r\n\r\n constructor(data?: IUserPermissionDetailsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.email = _data[\"email\"];\r\n this.lastLoginDate = _data[\"lastLoginDate\"] ? new Date(_data[\"lastLoginDate\"].toString()) : undefined;\r\n this.isAdmin = _data[\"isAdmin\"];\r\n this.isLocationAdmin = _data[\"isLocationAdmin\"];\r\n this.active = _data[\"active\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserPermissionDetailsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserPermissionDetailsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"email\"] = this.email;\r\n data[\"lastLoginDate\"] = this.lastLoginDate ? this.lastLoginDate.toISOString() : undefined;\r\n data[\"isAdmin\"] = this.isAdmin;\r\n data[\"isLocationAdmin\"] = this.isLocationAdmin;\r\n data[\"active\"] = this.active;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserPermissionDetailsDto {\r\n id: string;\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n email?: string | undefined;\r\n lastLoginDate?: Date | undefined;\r\n isAdmin: boolean;\r\n isLocationAdmin: boolean;\r\n active: boolean;\r\n}\r\n\r\nexport class UserPermissionDetailsWithLocationsDto implements IUserPermissionDetailsWithLocationsDto {\r\n id!: string;\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n email?: string | undefined;\r\n lastLoginDate?: Date | undefined;\r\n isAdmin!: boolean;\r\n isLocationAdmin!: boolean;\r\n active!: boolean;\r\n permissions?: string | undefined;\r\n locationAdminDtos?: IsLocationAdminDto[] | undefined;\r\n\r\n constructor(data?: IUserPermissionDetailsWithLocationsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.email = _data[\"email\"];\r\n this.lastLoginDate = _data[\"lastLoginDate\"] ? new Date(_data[\"lastLoginDate\"].toString()) : undefined;\r\n this.isAdmin = _data[\"isAdmin\"];\r\n this.isLocationAdmin = _data[\"isLocationAdmin\"];\r\n this.active = _data[\"active\"];\r\n this.permissions = _data[\"permissions\"];\r\n if (Array.isArray(_data[\"locationAdminDtos\"])) {\r\n this.locationAdminDtos = [] as any;\r\n for (let item of _data[\"locationAdminDtos\"])\r\n this.locationAdminDtos!.push(IsLocationAdminDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserPermissionDetailsWithLocationsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserPermissionDetailsWithLocationsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"email\"] = this.email;\r\n data[\"lastLoginDate\"] = this.lastLoginDate ? this.lastLoginDate.toISOString() : undefined;\r\n data[\"isAdmin\"] = this.isAdmin;\r\n data[\"isLocationAdmin\"] = this.isLocationAdmin;\r\n data[\"active\"] = this.active;\r\n data[\"permissions\"] = this.permissions;\r\n if (Array.isArray(this.locationAdminDtos)) {\r\n data[\"locationAdminDtos\"] = [];\r\n for (let item of this.locationAdminDtos)\r\n data[\"locationAdminDtos\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserPermissionDetailsWithLocationsDto {\r\n id: string;\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n email?: string | undefined;\r\n lastLoginDate?: Date | undefined;\r\n isAdmin: boolean;\r\n isLocationAdmin: boolean;\r\n active: boolean;\r\n permissions?: string | undefined;\r\n locationAdminDtos?: IsLocationAdminDto[] | undefined;\r\n}\r\n\r\nexport class IsLocationAdminDto implements IIsLocationAdminDto {\r\n id!: number;\r\n code?: string | undefined;\r\n name?: string | undefined;\r\n isLocationAdmin!: boolean;\r\n\r\n constructor(data?: IIsLocationAdminDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.code = _data[\"code\"];\r\n this.name = _data[\"name\"];\r\n this.isLocationAdmin = _data[\"isLocationAdmin\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): IsLocationAdminDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IsLocationAdminDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"code\"] = this.code;\r\n data[\"name\"] = this.name;\r\n data[\"isLocationAdmin\"] = this.isLocationAdmin;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IIsLocationAdminDto {\r\n id: number;\r\n code?: string | undefined;\r\n name?: string | undefined;\r\n isLocationAdmin: boolean;\r\n}\r\n\r\nexport class IdentityServerClientDescriptionDto implements IIdentityServerClientDescriptionDto {\r\n id!: number;\r\n clientName?: string | undefined;\r\n locationCode?: string | undefined;\r\n flow?: string | undefined;\r\n accessTokenType?: string | undefined;\r\n allowedScopes?: string | undefined;\r\n isLocation!: boolean;\r\n\r\n constructor(data?: IIdentityServerClientDescriptionDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.clientName = _data[\"clientName\"];\r\n this.locationCode = _data[\"locationCode\"];\r\n this.flow = _data[\"flow\"];\r\n this.accessTokenType = _data[\"accessTokenType\"];\r\n this.allowedScopes = _data[\"allowedScopes\"];\r\n this.isLocation = _data[\"isLocation\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): IdentityServerClientDescriptionDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IdentityServerClientDescriptionDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"clientName\"] = this.clientName;\r\n data[\"locationCode\"] = this.locationCode;\r\n data[\"flow\"] = this.flow;\r\n data[\"accessTokenType\"] = this.accessTokenType;\r\n data[\"allowedScopes\"] = this.allowedScopes;\r\n data[\"isLocation\"] = this.isLocation;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IIdentityServerClientDescriptionDto {\r\n id: number;\r\n clientName?: string | undefined;\r\n locationCode?: string | undefined;\r\n flow?: string | undefined;\r\n accessTokenType?: string | undefined;\r\n allowedScopes?: string | undefined;\r\n isLocation: boolean;\r\n}\r\n\r\nexport class IdentityServerClientDto implements IIdentityServerClientDto {\r\n id!: number;\r\n clientName?: string | undefined;\r\n clientId?: string | undefined;\r\n locationCode?: string | undefined;\r\n clientSecret?: string | undefined;\r\n flow!: IdentityServerFlows;\r\n clientUri?: string | undefined;\r\n requireConsent!: boolean;\r\n accessTokenType!: IdentityServerAccessTokenType;\r\n identityTokenLifetime!: number;\r\n accessTokenLifetime!: number;\r\n authorizationCodeLifetime!: number;\r\n absoluteRefreshTokenLifetime!: number;\r\n alwaysSendClientClaims!: boolean;\r\n redirectUris?: string | undefined;\r\n postLogoutRedirectUris?: string | undefined;\r\n allowedScopes?: string | undefined;\r\n modulePermissions!: ModulePermissions;\r\n logoutUri?: string | undefined;\r\n logoutSessionRequired!: boolean;\r\n\r\n constructor(data?: IIdentityServerClientDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.clientName = _data[\"clientName\"];\r\n this.clientId = _data[\"clientId\"];\r\n this.locationCode = _data[\"locationCode\"];\r\n this.clientSecret = _data[\"clientSecret\"];\r\n this.flow = _data[\"flow\"];\r\n this.clientUri = _data[\"clientUri\"];\r\n this.requireConsent = _data[\"requireConsent\"];\r\n this.accessTokenType = _data[\"accessTokenType\"];\r\n this.identityTokenLifetime = _data[\"identityTokenLifetime\"];\r\n this.accessTokenLifetime = _data[\"accessTokenLifetime\"];\r\n this.authorizationCodeLifetime = _data[\"authorizationCodeLifetime\"];\r\n this.absoluteRefreshTokenLifetime = _data[\"absoluteRefreshTokenLifetime\"];\r\n this.alwaysSendClientClaims = _data[\"alwaysSendClientClaims\"];\r\n this.redirectUris = _data[\"redirectUris\"];\r\n this.postLogoutRedirectUris = _data[\"postLogoutRedirectUris\"];\r\n this.allowedScopes = _data[\"allowedScopes\"];\r\n this.modulePermissions = _data[\"modulePermissions\"];\r\n this.logoutUri = _data[\"logoutUri\"];\r\n this.logoutSessionRequired = _data[\"logoutSessionRequired\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): IdentityServerClientDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IdentityServerClientDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"clientName\"] = this.clientName;\r\n data[\"clientId\"] = this.clientId;\r\n data[\"locationCode\"] = this.locationCode;\r\n data[\"clientSecret\"] = this.clientSecret;\r\n data[\"flow\"] = this.flow;\r\n data[\"clientUri\"] = this.clientUri;\r\n data[\"requireConsent\"] = this.requireConsent;\r\n data[\"accessTokenType\"] = this.accessTokenType;\r\n data[\"identityTokenLifetime\"] = this.identityTokenLifetime;\r\n data[\"accessTokenLifetime\"] = this.accessTokenLifetime;\r\n data[\"authorizationCodeLifetime\"] = this.authorizationCodeLifetime;\r\n data[\"absoluteRefreshTokenLifetime\"] = this.absoluteRefreshTokenLifetime;\r\n data[\"alwaysSendClientClaims\"] = this.alwaysSendClientClaims;\r\n data[\"redirectUris\"] = this.redirectUris;\r\n data[\"postLogoutRedirectUris\"] = this.postLogoutRedirectUris;\r\n data[\"allowedScopes\"] = this.allowedScopes;\r\n data[\"modulePermissions\"] = this.modulePermissions;\r\n data[\"logoutUri\"] = this.logoutUri;\r\n data[\"logoutSessionRequired\"] = this.logoutSessionRequired;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IIdentityServerClientDto {\r\n id: number;\r\n clientName?: string | undefined;\r\n clientId?: string | undefined;\r\n locationCode?: string | undefined;\r\n clientSecret?: string | undefined;\r\n flow: IdentityServerFlows;\r\n clientUri?: string | undefined;\r\n requireConsent: boolean;\r\n accessTokenType: IdentityServerAccessTokenType;\r\n identityTokenLifetime: number;\r\n accessTokenLifetime: number;\r\n authorizationCodeLifetime: number;\r\n absoluteRefreshTokenLifetime: number;\r\n alwaysSendClientClaims: boolean;\r\n redirectUris?: string | undefined;\r\n postLogoutRedirectUris?: string | undefined;\r\n allowedScopes?: string | undefined;\r\n modulePermissions: ModulePermissions;\r\n logoutUri?: string | undefined;\r\n logoutSessionRequired: boolean;\r\n}\r\n\r\nexport enum IdentityServerFlows {\r\n AuthorizationCode = \"AuthorizationCode\",\r\n Implicit = \"Implicit\",\r\n Hybrid = \"Hybrid\",\r\n ClientCredentials = \"ClientCredentials\",\r\n ResourceOwner = \"ResourceOwner\",\r\n Custom = \"Custom\",\r\n AuthorizationCodeWithProofKey = \"AuthorizationCodeWithProofKey\",\r\n HybridWithProofKey = \"HybridWithProofKey\",\r\n}\r\n\r\nexport enum IdentityServerAccessTokenType {\r\n Jwt = \"Jwt\",\r\n Reference = \"Reference\",\r\n}\r\n\r\nexport enum ModulePermissions {\r\n None = \"None\",\r\n Wfb = \"Wfb\",\r\n Statistic = \"Statistic\",\r\n Semper = \"Semper\",\r\n Zfm = \"Zfm\",\r\n Control = \"Control\",\r\n Tac = \"Tac\",\r\n SafetyBriefing = \"SafetyBriefing\",\r\n Attachments = \"Attachments\",\r\n}\r\n\r\nexport class SharedConfigEntryDto implements ISharedConfigEntryDto {\r\n key?: string | undefined;\r\n value?: string | undefined;\r\n\r\n constructor(data?: ISharedConfigEntryDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.key = _data[\"key\"];\r\n this.value = _data[\"value\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SharedConfigEntryDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SharedConfigEntryDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"key\"] = this.key;\r\n data[\"value\"] = this.value;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISharedConfigEntryDto {\r\n key?: string | undefined;\r\n value?: string | undefined;\r\n}\r\n\r\nexport class LocationAdminChargesDto implements ILocationAdminChargesDto {\r\n code?: string | undefined;\r\n name?: string | undefined;\r\n mailCounters?: LocationMailCounterDto[] | undefined;\r\n smsCounters?: LocationSmsCounterDto[] | undefined;\r\n callCounters?: LocationCallCounterDto[] | undefined;\r\n pushCounters?: LocationPushCounterDto[] | undefined;\r\n\r\n constructor(data?: ILocationAdminChargesDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"mailCounters\"])) {\r\n this.mailCounters = [] as any;\r\n for (let item of _data[\"mailCounters\"])\r\n this.mailCounters!.push(LocationMailCounterDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"smsCounters\"])) {\r\n this.smsCounters = [] as any;\r\n for (let item of _data[\"smsCounters\"])\r\n this.smsCounters!.push(LocationSmsCounterDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"callCounters\"])) {\r\n this.callCounters = [] as any;\r\n for (let item of _data[\"callCounters\"])\r\n this.callCounters!.push(LocationCallCounterDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"pushCounters\"])) {\r\n this.pushCounters = [] as any;\r\n for (let item of _data[\"pushCounters\"])\r\n this.pushCounters!.push(LocationPushCounterDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): LocationAdminChargesDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LocationAdminChargesDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.mailCounters)) {\r\n data[\"mailCounters\"] = [];\r\n for (let item of this.mailCounters)\r\n data[\"mailCounters\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.smsCounters)) {\r\n data[\"smsCounters\"] = [];\r\n for (let item of this.smsCounters)\r\n data[\"smsCounters\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.callCounters)) {\r\n data[\"callCounters\"] = [];\r\n for (let item of this.callCounters)\r\n data[\"callCounters\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.pushCounters)) {\r\n data[\"pushCounters\"] = [];\r\n for (let item of this.pushCounters)\r\n data[\"pushCounters\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILocationAdminChargesDto {\r\n code?: string | undefined;\r\n name?: string | undefined;\r\n mailCounters?: LocationMailCounterDto[] | undefined;\r\n smsCounters?: LocationSmsCounterDto[] | undefined;\r\n callCounters?: LocationCallCounterDto[] | undefined;\r\n pushCounters?: LocationPushCounterDto[] | undefined;\r\n}\r\n\r\nexport class LocationMailCounterDto implements ILocationMailCounterDto {\r\n year!: number;\r\n month!: number;\r\n count!: number;\r\n\r\n constructor(data?: ILocationMailCounterDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.year = _data[\"year\"];\r\n this.month = _data[\"month\"];\r\n this.count = _data[\"count\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LocationMailCounterDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LocationMailCounterDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"year\"] = this.year;\r\n data[\"month\"] = this.month;\r\n data[\"count\"] = this.count;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILocationMailCounterDto {\r\n year: number;\r\n month: number;\r\n count: number;\r\n}\r\n\r\nexport class LocationSmsCounterDto implements ILocationSmsCounterDto {\r\n year!: number;\r\n month!: number;\r\n countryCode?: string | undefined;\r\n count!: number;\r\n paid!: boolean;\r\n\r\n constructor(data?: ILocationSmsCounterDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.year = _data[\"year\"];\r\n this.month = _data[\"month\"];\r\n this.countryCode = _data[\"countryCode\"];\r\n this.count = _data[\"count\"];\r\n this.paid = _data[\"paid\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LocationSmsCounterDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LocationSmsCounterDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"year\"] = this.year;\r\n data[\"month\"] = this.month;\r\n data[\"countryCode\"] = this.countryCode;\r\n data[\"count\"] = this.count;\r\n data[\"paid\"] = this.paid;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILocationSmsCounterDto {\r\n year: number;\r\n month: number;\r\n countryCode?: string | undefined;\r\n count: number;\r\n paid: boolean;\r\n}\r\n\r\nexport class LocationCallCounterDto implements ILocationCallCounterDto {\r\n year!: number;\r\n month!: number;\r\n countryCode?: string | undefined;\r\n count!: number;\r\n paid!: boolean;\r\n\r\n constructor(data?: ILocationCallCounterDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.year = _data[\"year\"];\r\n this.month = _data[\"month\"];\r\n this.countryCode = _data[\"countryCode\"];\r\n this.count = _data[\"count\"];\r\n this.paid = _data[\"paid\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LocationCallCounterDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LocationCallCounterDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"year\"] = this.year;\r\n data[\"month\"] = this.month;\r\n data[\"countryCode\"] = this.countryCode;\r\n data[\"count\"] = this.count;\r\n data[\"paid\"] = this.paid;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILocationCallCounterDto {\r\n year: number;\r\n month: number;\r\n countryCode?: string | undefined;\r\n count: number;\r\n paid: boolean;\r\n}\r\n\r\nexport class LocationPushCounterDto implements ILocationPushCounterDto {\r\n year!: number;\r\n month!: number;\r\n count!: number;\r\n\r\n constructor(data?: ILocationPushCounterDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.year = _data[\"year\"];\r\n this.month = _data[\"month\"];\r\n this.count = _data[\"count\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LocationPushCounterDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LocationPushCounterDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"year\"] = this.year;\r\n data[\"month\"] = this.month;\r\n data[\"count\"] = this.count;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILocationPushCounterDto {\r\n year: number;\r\n month: number;\r\n count: number;\r\n}\r\n\r\nexport class CurrentEtaProviderDto implements ICurrentEtaProviderDto {\r\n locationId!: number;\r\n selectedEtaProviderId?: string | undefined;\r\n providerList?: EtaProviderDto[] | undefined;\r\n\r\n constructor(data?: ICurrentEtaProviderDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.locationId = _data[\"locationId\"];\r\n this.selectedEtaProviderId = _data[\"selectedEtaProviderId\"];\r\n if (Array.isArray(_data[\"providerList\"])) {\r\n this.providerList = [] as any;\r\n for (let item of _data[\"providerList\"])\r\n this.providerList!.push(EtaProviderDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CurrentEtaProviderDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CurrentEtaProviderDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"locationId\"] = this.locationId;\r\n data[\"selectedEtaProviderId\"] = this.selectedEtaProviderId;\r\n if (Array.isArray(this.providerList)) {\r\n data[\"providerList\"] = [];\r\n for (let item of this.providerList)\r\n data[\"providerList\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICurrentEtaProviderDto {\r\n locationId: number;\r\n selectedEtaProviderId?: string | undefined;\r\n providerList?: EtaProviderDto[] | undefined;\r\n}\r\n\r\nexport class EtaProviderDto implements IEtaProviderDto {\r\n id!: string;\r\n name?: string | undefined;\r\n\r\n constructor(data?: IEtaProviderDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EtaProviderDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EtaProviderDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEtaProviderDto {\r\n id: string;\r\n name?: string | undefined;\r\n}\r\n\r\nexport class LocationUserMailSettingsDto implements ILocationUserMailSettingsDto {\r\n locationId!: number;\r\n name?: string | undefined;\r\n code?: string | undefined;\r\n own!: MailSettings;\r\n others!: MailSettings;\r\n\r\n constructor(data?: ILocationUserMailSettingsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.locationId = _data[\"locationId\"];\r\n this.name = _data[\"name\"];\r\n this.code = _data[\"code\"];\r\n this.own = _data[\"own\"];\r\n this.others = _data[\"others\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LocationUserMailSettingsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LocationUserMailSettingsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"locationId\"] = this.locationId;\r\n data[\"name\"] = this.name;\r\n data[\"code\"] = this.code;\r\n data[\"own\"] = this.own;\r\n data[\"others\"] = this.others;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILocationUserMailSettingsDto {\r\n locationId: number;\r\n name?: string | undefined;\r\n code?: string | undefined;\r\n own: MailSettings;\r\n others: MailSettings;\r\n}\r\n\r\nexport enum MailSettings {\r\n None = \"None\",\r\n TimeSlotCreated = \"TimeSlotCreated\",\r\n TimeSlotEdited = \"TimeSlotEdited\",\r\n TimeSlotMoved = \"TimeSlotMoved\",\r\n TimeSlotDeleted = \"TimeSlotDeleted\",\r\n TimeSlotLate = \"TimeSlotLate\",\r\n}\r\n\r\nexport class LocationAdminUsersDto implements ILocationAdminUsersDto {\r\n fullName?: string | undefined;\r\n email?: string | undefined;\r\n statisticRoles!: CloudUserRoles;\r\n zfmRoles!: CloudUserRoles;\r\n\r\n constructor(data?: ILocationAdminUsersDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.fullName = _data[\"fullName\"];\r\n this.email = _data[\"email\"];\r\n this.statisticRoles = _data[\"statisticRoles\"];\r\n this.zfmRoles = _data[\"zfmRoles\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LocationAdminUsersDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LocationAdminUsersDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"fullName\"] = this.fullName;\r\n data[\"email\"] = this.email;\r\n data[\"statisticRoles\"] = this.statisticRoles;\r\n data[\"zfmRoles\"] = this.zfmRoles;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILocationAdminUsersDto {\r\n fullName?: string | undefined;\r\n email?: string | undefined;\r\n statisticRoles: CloudUserRoles;\r\n zfmRoles: CloudUserRoles;\r\n}\r\n\r\nexport enum CloudUserRoles {\r\n UNDEFINIERT = \"UNDEFINIERT\",\r\n WIEGEN = \"WIEGEN\",\r\n STATISTIK = \"STATISTIK\",\r\n DEFINITIONEN = \"DEFINITIONEN\",\r\n WAEGESCHEINAUSWERTUNG = \"WAEGESCHEINAUSWERTUNG\",\r\n ZeitfenstermanagementAdmin = \"ZeitfenstermanagementAdmin\",\r\n ZeitfenstermanagementKunde = \"ZeitfenstermanagementKunde\",\r\n ZeitfenstermanagementLieferant = \"ZeitfenstermanagementLieferant\",\r\n ZeitfenstermanagementSpediteur = \"ZeitfenstermanagementSpediteur\",\r\n ZeitfenstermanagementRoleAdmin = \"ZeitfenstermanagementRoleAdmin\",\r\n}\r\n\r\nexport class LocationAdminInvitationDto implements ILocationAdminInvitationDto {\r\n email?: string | undefined;\r\n createDate!: Date;\r\n validUntil!: Date;\r\n invitationType!: InvitationType;\r\n zfmRoles!: CloudUserRoles;\r\n zfmRolesDisplay?: string | undefined;\r\n\r\n constructor(data?: ILocationAdminInvitationDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.email = _data[\"email\"];\r\n this.createDate = _data[\"createDate\"] ? new Date(_data[\"createDate\"].toString()) : undefined;\r\n this.validUntil = _data[\"validUntil\"] ? new Date(_data[\"validUntil\"].toString()) : undefined;\r\n this.invitationType = _data[\"invitationType\"];\r\n this.zfmRoles = _data[\"zfmRoles\"];\r\n this.zfmRolesDisplay = _data[\"zfmRolesDisplay\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LocationAdminInvitationDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LocationAdminInvitationDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"email\"] = this.email;\r\n data[\"createDate\"] = this.createDate ? this.createDate.toISOString() : undefined;\r\n data[\"validUntil\"] = this.validUntil ? this.validUntil.toISOString() : undefined;\r\n data[\"invitationType\"] = this.invitationType;\r\n data[\"zfmRoles\"] = this.zfmRoles;\r\n data[\"zfmRolesDisplay\"] = this.zfmRolesDisplay;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILocationAdminInvitationDto {\r\n email?: string | undefined;\r\n createDate: Date;\r\n validUntil: Date;\r\n invitationType: InvitationType;\r\n zfmRoles: CloudUserRoles;\r\n zfmRolesDisplay?: string | undefined;\r\n}\r\n\r\nexport enum InvitationType {\r\n Undefined = \"Undefined\",\r\n Zfm = \"Zfm\",\r\n Statistic = \"Statistic\",\r\n}\r\n\r\nexport class ArrivalTableSettingsDto implements IArrivalTableSettingsDto {\r\n hiddenColumns?: number[] | undefined;\r\n columnsOrder?: number[] | undefined;\r\n\r\n constructor(data?: IArrivalTableSettingsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"hiddenColumns\"])) {\r\n this.hiddenColumns = [] as any;\r\n for (let item of _data[\"hiddenColumns\"])\r\n this.hiddenColumns!.push(item);\r\n }\r\n if (Array.isArray(_data[\"columnsOrder\"])) {\r\n this.columnsOrder = [] as any;\r\n for (let item of _data[\"columnsOrder\"])\r\n this.columnsOrder!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ArrivalTableSettingsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ArrivalTableSettingsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.hiddenColumns)) {\r\n data[\"hiddenColumns\"] = [];\r\n for (let item of this.hiddenColumns)\r\n data[\"hiddenColumns\"].push(item);\r\n }\r\n if (Array.isArray(this.columnsOrder)) {\r\n data[\"columnsOrder\"] = [];\r\n for (let item of this.columnsOrder)\r\n data[\"columnsOrder\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IArrivalTableSettingsDto {\r\n hiddenColumns?: number[] | undefined;\r\n columnsOrder?: number[] | undefined;\r\n}\r\n\r\nexport class ArrvialSettingsDto extends ArrivalTableSettingsDto implements IArrvialSettingsDto {\r\n locationId!: number;\r\n code?: string | undefined;\r\n name?: string | undefined;\r\n isActiveTimeout!: number;\r\n lateTimeout!: number;\r\n tooLateTimeout!: number;\r\n\r\n constructor(data?: IArrvialSettingsDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.locationId = _data[\"locationId\"];\r\n this.code = _data[\"code\"];\r\n this.name = _data[\"name\"];\r\n this.isActiveTimeout = _data[\"isActiveTimeout\"];\r\n this.lateTimeout = _data[\"lateTimeout\"];\r\n this.tooLateTimeout = _data[\"tooLateTimeout\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ArrvialSettingsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ArrvialSettingsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"locationId\"] = this.locationId;\r\n data[\"code\"] = this.code;\r\n data[\"name\"] = this.name;\r\n data[\"isActiveTimeout\"] = this.isActiveTimeout;\r\n data[\"lateTimeout\"] = this.lateTimeout;\r\n data[\"tooLateTimeout\"] = this.tooLateTimeout;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IArrvialSettingsDto extends IArrivalTableSettingsDto {\r\n locationId: number;\r\n code?: string | undefined;\r\n name?: string | undefined;\r\n isActiveTimeout: number;\r\n lateTimeout: number;\r\n tooLateTimeout: number;\r\n}\r\n\r\nexport class LocationAdminAdministratorDto implements ILocationAdminAdministratorDto {\r\n name?: string | undefined;\r\n email?: string | undefined;\r\n isActive!: boolean;\r\n\r\n constructor(data?: ILocationAdminAdministratorDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.email = _data[\"email\"];\r\n this.isActive = _data[\"isActive\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LocationAdminAdministratorDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LocationAdminAdministratorDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"email\"] = this.email;\r\n data[\"isActive\"] = this.isActive;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILocationAdminAdministratorDto {\r\n name?: string | undefined;\r\n email?: string | undefined;\r\n isActive: boolean;\r\n}\r\n\r\nexport class LocationAdminStatusDto implements ILocationAdminStatusDto {\r\n code?: string | undefined;\r\n name?: string | undefined;\r\n lastGlobalSyncDate?: Date | undefined;\r\n\r\n constructor(data?: ILocationAdminStatusDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.name = _data[\"name\"];\r\n this.lastGlobalSyncDate = _data[\"lastGlobalSyncDate\"] ? new Date(_data[\"lastGlobalSyncDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): LocationAdminStatusDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LocationAdminStatusDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"name\"] = this.name;\r\n data[\"lastGlobalSyncDate\"] = this.lastGlobalSyncDate ? this.lastGlobalSyncDate.toISOString() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILocationAdminStatusDto {\r\n code?: string | undefined;\r\n name?: string | undefined;\r\n lastGlobalSyncDate?: Date | undefined;\r\n}\r\n\r\nexport class LocationAdminLocationDetailsDto implements ILocationAdminLocationDetailsDto {\r\n id!: number;\r\n code?: string | undefined;\r\n name?: string | undefined;\r\n addressName1?: string | undefined;\r\n addressName2?: string | undefined;\r\n addressStreet?: string | undefined;\r\n addressStreetNumber?: string | undefined;\r\n addressCity?: string | undefined;\r\n addressPostalCode?: string | undefined;\r\n addressCountry?: string | undefined;\r\n phoneNumber?: string | undefined;\r\n mobilePhoneNumber?: string | undefined;\r\n faxNumber?: string | undefined;\r\n email?: string | undefined;\r\n websiteAddress?: string | undefined;\r\n timeZone?: string | undefined;\r\n timeZoneList?: TimeZoneDto[] | undefined;\r\n latitude?: number | undefined;\r\n longitude?: number | undefined;\r\n\r\n constructor(data?: ILocationAdminLocationDetailsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.code = _data[\"code\"];\r\n this.name = _data[\"name\"];\r\n this.addressName1 = _data[\"addressName1\"];\r\n this.addressName2 = _data[\"addressName2\"];\r\n this.addressStreet = _data[\"addressStreet\"];\r\n this.addressStreetNumber = _data[\"addressStreetNumber\"];\r\n this.addressCity = _data[\"addressCity\"];\r\n this.addressPostalCode = _data[\"addressPostalCode\"];\r\n this.addressCountry = _data[\"addressCountry\"];\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n this.mobilePhoneNumber = _data[\"mobilePhoneNumber\"];\r\n this.faxNumber = _data[\"faxNumber\"];\r\n this.email = _data[\"email\"];\r\n this.websiteAddress = _data[\"websiteAddress\"];\r\n this.timeZone = _data[\"timeZone\"];\r\n if (Array.isArray(_data[\"timeZoneList\"])) {\r\n this.timeZoneList = [] as any;\r\n for (let item of _data[\"timeZoneList\"])\r\n this.timeZoneList!.push(TimeZoneDto.fromJS(item));\r\n }\r\n this.latitude = _data[\"latitude\"];\r\n this.longitude = _data[\"longitude\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LocationAdminLocationDetailsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LocationAdminLocationDetailsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"code\"] = this.code;\r\n data[\"name\"] = this.name;\r\n data[\"addressName1\"] = this.addressName1;\r\n data[\"addressName2\"] = this.addressName2;\r\n data[\"addressStreet\"] = this.addressStreet;\r\n data[\"addressStreetNumber\"] = this.addressStreetNumber;\r\n data[\"addressCity\"] = this.addressCity;\r\n data[\"addressPostalCode\"] = this.addressPostalCode;\r\n data[\"addressCountry\"] = this.addressCountry;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n data[\"mobilePhoneNumber\"] = this.mobilePhoneNumber;\r\n data[\"faxNumber\"] = this.faxNumber;\r\n data[\"email\"] = this.email;\r\n data[\"websiteAddress\"] = this.websiteAddress;\r\n data[\"timeZone\"] = this.timeZone;\r\n if (Array.isArray(this.timeZoneList)) {\r\n data[\"timeZoneList\"] = [];\r\n for (let item of this.timeZoneList)\r\n data[\"timeZoneList\"].push(item.toJSON());\r\n }\r\n data[\"latitude\"] = this.latitude;\r\n data[\"longitude\"] = this.longitude;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILocationAdminLocationDetailsDto {\r\n id: number;\r\n code?: string | undefined;\r\n name?: string | undefined;\r\n addressName1?: string | undefined;\r\n addressName2?: string | undefined;\r\n addressStreet?: string | undefined;\r\n addressStreetNumber?: string | undefined;\r\n addressCity?: string | undefined;\r\n addressPostalCode?: string | undefined;\r\n addressCountry?: string | undefined;\r\n phoneNumber?: string | undefined;\r\n mobilePhoneNumber?: string | undefined;\r\n faxNumber?: string | undefined;\r\n email?: string | undefined;\r\n websiteAddress?: string | undefined;\r\n timeZone?: string | undefined;\r\n timeZoneList?: TimeZoneDto[] | undefined;\r\n latitude?: number | undefined;\r\n longitude?: number | undefined;\r\n}\r\n\r\nexport class TimeZoneDto implements ITimeZoneDto {\r\n name?: string | undefined;\r\n id?: string | undefined;\r\n\r\n constructor(data?: ITimeZoneDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.id = _data[\"id\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeZoneDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeZoneDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"id\"] = this.id;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeZoneDto {\r\n name?: string | undefined;\r\n id?: string | undefined;\r\n}\r\n\r\nexport class LocationAdminGeneralDataDto implements ILocationAdminGeneralDataDto {\r\n id!: number;\r\n code?: string | undefined;\r\n name?: string | undefined;\r\n addressName1?: string | undefined;\r\n addressName2?: string | undefined;\r\n addressStreet?: string | undefined;\r\n addressStreetNumber?: string | undefined;\r\n addressCity?: string | undefined;\r\n addressPostalCode?: string | undefined;\r\n addressCountry?: string | undefined;\r\n phoneNumber?: string | undefined;\r\n mobilePhoneNumber?: string | undefined;\r\n faxNumber?: string | undefined;\r\n email?: string | undefined;\r\n websiteAddress?: string | undefined;\r\n timeZone?: string | undefined;\r\n latitude?: number | undefined;\r\n longitude?: number | undefined;\r\n\r\n constructor(data?: ILocationAdminGeneralDataDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.code = _data[\"code\"];\r\n this.name = _data[\"name\"];\r\n this.addressName1 = _data[\"addressName1\"];\r\n this.addressName2 = _data[\"addressName2\"];\r\n this.addressStreet = _data[\"addressStreet\"];\r\n this.addressStreetNumber = _data[\"addressStreetNumber\"];\r\n this.addressCity = _data[\"addressCity\"];\r\n this.addressPostalCode = _data[\"addressPostalCode\"];\r\n this.addressCountry = _data[\"addressCountry\"];\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n this.mobilePhoneNumber = _data[\"mobilePhoneNumber\"];\r\n this.faxNumber = _data[\"faxNumber\"];\r\n this.email = _data[\"email\"];\r\n this.websiteAddress = _data[\"websiteAddress\"];\r\n this.timeZone = _data[\"timeZone\"];\r\n this.latitude = _data[\"latitude\"];\r\n this.longitude = _data[\"longitude\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LocationAdminGeneralDataDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LocationAdminGeneralDataDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"code\"] = this.code;\r\n data[\"name\"] = this.name;\r\n data[\"addressName1\"] = this.addressName1;\r\n data[\"addressName2\"] = this.addressName2;\r\n data[\"addressStreet\"] = this.addressStreet;\r\n data[\"addressStreetNumber\"] = this.addressStreetNumber;\r\n data[\"addressCity\"] = this.addressCity;\r\n data[\"addressPostalCode\"] = this.addressPostalCode;\r\n data[\"addressCountry\"] = this.addressCountry;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n data[\"mobilePhoneNumber\"] = this.mobilePhoneNumber;\r\n data[\"faxNumber\"] = this.faxNumber;\r\n data[\"email\"] = this.email;\r\n data[\"websiteAddress\"] = this.websiteAddress;\r\n data[\"timeZone\"] = this.timeZone;\r\n data[\"latitude\"] = this.latitude;\r\n data[\"longitude\"] = this.longitude;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILocationAdminGeneralDataDto {\r\n id: number;\r\n code?: string | undefined;\r\n name?: string | undefined;\r\n addressName1?: string | undefined;\r\n addressName2?: string | undefined;\r\n addressStreet?: string | undefined;\r\n addressStreetNumber?: string | undefined;\r\n addressCity?: string | undefined;\r\n addressPostalCode?: string | undefined;\r\n addressCountry?: string | undefined;\r\n phoneNumber?: string | undefined;\r\n mobilePhoneNumber?: string | undefined;\r\n faxNumber?: string | undefined;\r\n email?: string | undefined;\r\n websiteAddress?: string | undefined;\r\n timeZone?: string | undefined;\r\n latitude?: number | undefined;\r\n longitude?: number | undefined;\r\n}\r\n\r\nexport class LocationAdminBillingDataDto implements ILocationAdminBillingDataDto {\r\n id!: number;\r\n code?: string | undefined;\r\n name?: string | undefined;\r\n billingAddressName1?: string | undefined;\r\n billingAddressName2?: string | undefined;\r\n billingAddressStreet?: string | undefined;\r\n billingAddressStreetNumber?: string | undefined;\r\n billingAddressCity?: string | undefined;\r\n billingAddressPostalCode?: string | undefined;\r\n billingAddressCountry?: string | undefined;\r\n billingEmailAddress?: string | undefined;\r\n\r\n constructor(data?: ILocationAdminBillingDataDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.code = _data[\"code\"];\r\n this.name = _data[\"name\"];\r\n this.billingAddressName1 = _data[\"billingAddressName1\"];\r\n this.billingAddressName2 = _data[\"billingAddressName2\"];\r\n this.billingAddressStreet = _data[\"billingAddressStreet\"];\r\n this.billingAddressStreetNumber = _data[\"billingAddressStreetNumber\"];\r\n this.billingAddressCity = _data[\"billingAddressCity\"];\r\n this.billingAddressPostalCode = _data[\"billingAddressPostalCode\"];\r\n this.billingAddressCountry = _data[\"billingAddressCountry\"];\r\n this.billingEmailAddress = _data[\"billingEmailAddress\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LocationAdminBillingDataDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LocationAdminBillingDataDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"code\"] = this.code;\r\n data[\"name\"] = this.name;\r\n data[\"billingAddressName1\"] = this.billingAddressName1;\r\n data[\"billingAddressName2\"] = this.billingAddressName2;\r\n data[\"billingAddressStreet\"] = this.billingAddressStreet;\r\n data[\"billingAddressStreetNumber\"] = this.billingAddressStreetNumber;\r\n data[\"billingAddressCity\"] = this.billingAddressCity;\r\n data[\"billingAddressPostalCode\"] = this.billingAddressPostalCode;\r\n data[\"billingAddressCountry\"] = this.billingAddressCountry;\r\n data[\"billingEmailAddress\"] = this.billingEmailAddress;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILocationAdminBillingDataDto {\r\n id: number;\r\n code?: string | undefined;\r\n name?: string | undefined;\r\n billingAddressName1?: string | undefined;\r\n billingAddressName2?: string | undefined;\r\n billingAddressStreet?: string | undefined;\r\n billingAddressStreetNumber?: string | undefined;\r\n billingAddressCity?: string | undefined;\r\n billingAddressPostalCode?: string | undefined;\r\n billingAddressCountry?: string | undefined;\r\n billingEmailAddress?: string | undefined;\r\n}\r\n\r\nexport class LocationAdminEmailServerSettingsDto implements ILocationAdminEmailServerSettingsDto {\r\n id!: number;\r\n code?: string | undefined;\r\n name?: string | undefined;\r\n replyTo?: string | undefined;\r\n senderName?: string | undefined;\r\n emailLogoImageName?: string | undefined;\r\n emailLogoImageBase?: string | undefined;\r\n\r\n constructor(data?: ILocationAdminEmailServerSettingsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.code = _data[\"code\"];\r\n this.name = _data[\"name\"];\r\n this.replyTo = _data[\"replyTo\"];\r\n this.senderName = _data[\"senderName\"];\r\n this.emailLogoImageName = _data[\"emailLogoImageName\"];\r\n this.emailLogoImageBase = _data[\"emailLogoImageBase\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LocationAdminEmailServerSettingsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LocationAdminEmailServerSettingsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"code\"] = this.code;\r\n data[\"name\"] = this.name;\r\n data[\"replyTo\"] = this.replyTo;\r\n data[\"senderName\"] = this.senderName;\r\n data[\"emailLogoImageName\"] = this.emailLogoImageName;\r\n data[\"emailLogoImageBase\"] = this.emailLogoImageBase;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILocationAdminEmailServerSettingsDto {\r\n id: number;\r\n code?: string | undefined;\r\n name?: string | undefined;\r\n replyTo?: string | undefined;\r\n senderName?: string | undefined;\r\n emailLogoImageName?: string | undefined;\r\n emailLogoImageBase?: string | undefined;\r\n}\r\n\r\nexport class LocationAdminPaariAdminSettingsDto implements ILocationAdminPaariAdminSettingsDto {\r\n id!: number;\r\n code!: string;\r\n name!: string;\r\n siteLogoImageName?: string | undefined;\r\n siteLogoImageBase?: string | undefined;\r\n modulePermissions!: ModulePermissions;\r\n locationType!: LocationType;\r\n isTrustedLocation!: boolean;\r\n isTestLocation!: boolean;\r\n isRabbitmqFlow!: boolean;\r\n timeSlotBookingMethod!: TimeSlotBookingMethod;\r\n\r\n constructor(data?: ILocationAdminPaariAdminSettingsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.code = _data[\"code\"];\r\n this.name = _data[\"name\"];\r\n this.siteLogoImageName = _data[\"siteLogoImageName\"];\r\n this.siteLogoImageBase = _data[\"siteLogoImageBase\"];\r\n this.modulePermissions = _data[\"modulePermissions\"];\r\n this.locationType = _data[\"locationType\"];\r\n this.isTrustedLocation = _data[\"isTrustedLocation\"];\r\n this.isTestLocation = _data[\"isTestLocation\"];\r\n this.isRabbitmqFlow = _data[\"isRabbitmqFlow\"];\r\n this.timeSlotBookingMethod = _data[\"timeSlotBookingMethod\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LocationAdminPaariAdminSettingsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LocationAdminPaariAdminSettingsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"code\"] = this.code;\r\n data[\"name\"] = this.name;\r\n data[\"siteLogoImageName\"] = this.siteLogoImageName;\r\n data[\"siteLogoImageBase\"] = this.siteLogoImageBase;\r\n data[\"modulePermissions\"] = this.modulePermissions;\r\n data[\"locationType\"] = this.locationType;\r\n data[\"isTrustedLocation\"] = this.isTrustedLocation;\r\n data[\"isTestLocation\"] = this.isTestLocation;\r\n data[\"isRabbitmqFlow\"] = this.isRabbitmqFlow;\r\n data[\"timeSlotBookingMethod\"] = this.timeSlotBookingMethod;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILocationAdminPaariAdminSettingsDto {\r\n id: number;\r\n code: string;\r\n name: string;\r\n siteLogoImageName?: string | undefined;\r\n siteLogoImageBase?: string | undefined;\r\n modulePermissions: ModulePermissions;\r\n locationType: LocationType;\r\n isTrustedLocation: boolean;\r\n isTestLocation: boolean;\r\n isRabbitmqFlow: boolean;\r\n timeSlotBookingMethod: TimeSlotBookingMethod;\r\n}\r\n\r\nexport enum LocationType {\r\n Undefined = \"Undefined\",\r\n Libra = \"Libra\",\r\n Cloud = \"Cloud\",\r\n}\r\n\r\nexport enum TimeSlotBookingMethod {\r\n None = \"None\",\r\n FreeBooking = \"FreeBooking\",\r\n ContractBooking = \"ContractBooking\",\r\n}\r\n\r\nexport class LocationAdminNotificationPermissionsDto implements ILocationAdminNotificationPermissionsDto {\r\n id!: number;\r\n code?: string | undefined;\r\n name?: string | undefined;\r\n emailAllowedByAdmin!: boolean;\r\n emailAllowedByLocationAdmin!: boolean;\r\n phoneServiceAllowedByAdmin!: boolean;\r\n phoneServiceAllowedByLocationAdmin!: boolean;\r\n callHistoryDoNotDelete!: boolean;\r\n smsAllowedByAdmin!: boolean;\r\n smsAllowedByLocationAdmin!: boolean;\r\n smsHistoryDoNotDelete!: boolean;\r\n pushAllowedByAdmin!: boolean;\r\n pushAllowedByLocationAdmin!: boolean;\r\n\r\n constructor(data?: ILocationAdminNotificationPermissionsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.code = _data[\"code\"];\r\n this.name = _data[\"name\"];\r\n this.emailAllowedByAdmin = _data[\"emailAllowedByAdmin\"];\r\n this.emailAllowedByLocationAdmin = _data[\"emailAllowedByLocationAdmin\"];\r\n this.phoneServiceAllowedByAdmin = _data[\"phoneServiceAllowedByAdmin\"];\r\n this.phoneServiceAllowedByLocationAdmin = _data[\"phoneServiceAllowedByLocationAdmin\"];\r\n this.callHistoryDoNotDelete = _data[\"callHistoryDoNotDelete\"];\r\n this.smsAllowedByAdmin = _data[\"smsAllowedByAdmin\"];\r\n this.smsAllowedByLocationAdmin = _data[\"smsAllowedByLocationAdmin\"];\r\n this.smsHistoryDoNotDelete = _data[\"smsHistoryDoNotDelete\"];\r\n this.pushAllowedByAdmin = _data[\"pushAllowedByAdmin\"];\r\n this.pushAllowedByLocationAdmin = _data[\"pushAllowedByLocationAdmin\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LocationAdminNotificationPermissionsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LocationAdminNotificationPermissionsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"code\"] = this.code;\r\n data[\"name\"] = this.name;\r\n data[\"emailAllowedByAdmin\"] = this.emailAllowedByAdmin;\r\n data[\"emailAllowedByLocationAdmin\"] = this.emailAllowedByLocationAdmin;\r\n data[\"phoneServiceAllowedByAdmin\"] = this.phoneServiceAllowedByAdmin;\r\n data[\"phoneServiceAllowedByLocationAdmin\"] = this.phoneServiceAllowedByLocationAdmin;\r\n data[\"callHistoryDoNotDelete\"] = this.callHistoryDoNotDelete;\r\n data[\"smsAllowedByAdmin\"] = this.smsAllowedByAdmin;\r\n data[\"smsAllowedByLocationAdmin\"] = this.smsAllowedByLocationAdmin;\r\n data[\"smsHistoryDoNotDelete\"] = this.smsHistoryDoNotDelete;\r\n data[\"pushAllowedByAdmin\"] = this.pushAllowedByAdmin;\r\n data[\"pushAllowedByLocationAdmin\"] = this.pushAllowedByLocationAdmin;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILocationAdminNotificationPermissionsDto {\r\n id: number;\r\n code?: string | undefined;\r\n name?: string | undefined;\r\n emailAllowedByAdmin: boolean;\r\n emailAllowedByLocationAdmin: boolean;\r\n phoneServiceAllowedByAdmin: boolean;\r\n phoneServiceAllowedByLocationAdmin: boolean;\r\n callHistoryDoNotDelete: boolean;\r\n smsAllowedByAdmin: boolean;\r\n smsAllowedByLocationAdmin: boolean;\r\n smsHistoryDoNotDelete: boolean;\r\n pushAllowedByAdmin: boolean;\r\n pushAllowedByLocationAdmin: boolean;\r\n}\r\n\r\nexport class CreateLocationDto implements ICreateLocationDto {\r\n name!: string;\r\n code!: string;\r\n locationType!: LocationType;\r\n tsmEnabled!: boolean;\r\n latitude!: number;\r\n longitude!: number;\r\n timeZone!: string;\r\n\r\n constructor(data?: ICreateLocationDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.code = _data[\"code\"];\r\n this.locationType = _data[\"locationType\"];\r\n this.tsmEnabled = _data[\"tsmEnabled\"];\r\n this.latitude = _data[\"latitude\"];\r\n this.longitude = _data[\"longitude\"];\r\n this.timeZone = _data[\"timeZone\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreateLocationDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateLocationDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"code\"] = this.code;\r\n data[\"locationType\"] = this.locationType;\r\n data[\"tsmEnabled\"] = this.tsmEnabled;\r\n data[\"latitude\"] = this.latitude;\r\n data[\"longitude\"] = this.longitude;\r\n data[\"timeZone\"] = this.timeZone;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateLocationDto {\r\n name: string;\r\n code: string;\r\n locationType: LocationType;\r\n tsmEnabled: boolean;\r\n latitude: number;\r\n longitude: number;\r\n timeZone: string;\r\n}\r\n\r\nexport class LocationUnitsDto implements ILocationUnitsDto {\r\n locationCode?: string | undefined;\r\n locationName?: string | undefined;\r\n defaultUnit?: string | undefined;\r\n units?: LocationUnitDto[] | undefined;\r\n availableUnits?: UnitSymbolDto[] | undefined;\r\n\r\n constructor(data?: ILocationUnitsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.locationCode = _data[\"locationCode\"];\r\n this.locationName = _data[\"locationName\"];\r\n this.defaultUnit = _data[\"defaultUnit\"];\r\n if (Array.isArray(_data[\"units\"])) {\r\n this.units = [] as any;\r\n for (let item of _data[\"units\"])\r\n this.units!.push(LocationUnitDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"availableUnits\"])) {\r\n this.availableUnits = [] as any;\r\n for (let item of _data[\"availableUnits\"])\r\n this.availableUnits!.push(UnitSymbolDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): LocationUnitsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LocationUnitsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"locationCode\"] = this.locationCode;\r\n data[\"locationName\"] = this.locationName;\r\n data[\"defaultUnit\"] = this.defaultUnit;\r\n if (Array.isArray(this.units)) {\r\n data[\"units\"] = [];\r\n for (let item of this.units)\r\n data[\"units\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.availableUnits)) {\r\n data[\"availableUnits\"] = [];\r\n for (let item of this.availableUnits)\r\n data[\"availableUnits\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILocationUnitsDto {\r\n locationCode?: string | undefined;\r\n locationName?: string | undefined;\r\n defaultUnit?: string | undefined;\r\n units?: LocationUnitDto[] | undefined;\r\n availableUnits?: UnitSymbolDto[] | undefined;\r\n}\r\n\r\nexport class LocationUnitDto implements ILocationUnitDto {\r\n id!: string;\r\n symbol?: string | undefined;\r\n locationId!: number;\r\n deleted!: boolean;\r\n translations?: NameTranslationDto[] | undefined;\r\n\r\n constructor(data?: ILocationUnitDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.symbol = _data[\"symbol\"];\r\n this.locationId = _data[\"locationId\"];\r\n this.deleted = _data[\"deleted\"];\r\n if (Array.isArray(_data[\"translations\"])) {\r\n this.translations = [] as any;\r\n for (let item of _data[\"translations\"])\r\n this.translations!.push(NameTranslationDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): LocationUnitDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LocationUnitDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"symbol\"] = this.symbol;\r\n data[\"locationId\"] = this.locationId;\r\n data[\"deleted\"] = this.deleted;\r\n if (Array.isArray(this.translations)) {\r\n data[\"translations\"] = [];\r\n for (let item of this.translations)\r\n data[\"translations\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILocationUnitDto {\r\n id: string;\r\n symbol?: string | undefined;\r\n locationId: number;\r\n deleted: boolean;\r\n translations?: NameTranslationDto[] | undefined;\r\n}\r\n\r\nexport class UnitSymbolDto implements IUnitSymbolDto {\r\n unit?: string | undefined;\r\n\r\n constructor(data?: IUnitSymbolDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.unit = _data[\"unit\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UnitSymbolDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UnitSymbolDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"unit\"] = this.unit;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUnitSymbolDto {\r\n unit?: string | undefined;\r\n}\r\n\r\nexport class UnitFrontDto implements IUnitFrontDto {\r\n id!: string;\r\n locationId!: number;\r\n defaultUnit?: string | undefined;\r\n symbol?: string | undefined;\r\n translations?: NameTranslationDto[] | undefined;\r\n\r\n constructor(data?: IUnitFrontDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.locationId = _data[\"locationId\"];\r\n this.defaultUnit = _data[\"defaultUnit\"];\r\n this.symbol = _data[\"symbol\"];\r\n if (Array.isArray(_data[\"translations\"])) {\r\n this.translations = [] as any;\r\n for (let item of _data[\"translations\"])\r\n this.translations!.push(NameTranslationDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): UnitFrontDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UnitFrontDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"locationId\"] = this.locationId;\r\n data[\"defaultUnit\"] = this.defaultUnit;\r\n data[\"symbol\"] = this.symbol;\r\n if (Array.isArray(this.translations)) {\r\n data[\"translations\"] = [];\r\n for (let item of this.translations)\r\n data[\"translations\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUnitFrontDto {\r\n id: string;\r\n locationId: number;\r\n defaultUnit?: string | undefined;\r\n symbol?: string | undefined;\r\n translations?: NameTranslationDto[] | undefined;\r\n}\r\n\r\n/** Specifies the meaning and relative importance of a log event. */\r\nexport enum LogEventLevel {\r\n Verbose = \"Verbose\",\r\n Debug = \"Debug\",\r\n Information = \"Information\",\r\n Warning = \"Warning\",\r\n Error = \"Error\",\r\n Fatal = \"Fatal\",\r\n}\r\n\r\nexport class AdminNotificationsUsageSummariesDto implements IAdminNotificationsUsageSummariesDto {\r\n sendReportsTo?: string | undefined;\r\n year!: number;\r\n month!: number;\r\n locationCode?: string | undefined;\r\n summaries?: LocationNotificationUsageSummaryDto[] | undefined;\r\n\r\n constructor(data?: IAdminNotificationsUsageSummariesDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.sendReportsTo = _data[\"sendReportsTo\"];\r\n this.year = _data[\"year\"];\r\n this.month = _data[\"month\"];\r\n this.locationCode = _data[\"locationCode\"];\r\n if (Array.isArray(_data[\"summaries\"])) {\r\n this.summaries = [] as any;\r\n for (let item of _data[\"summaries\"])\r\n this.summaries!.push(LocationNotificationUsageSummaryDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): AdminNotificationsUsageSummariesDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AdminNotificationsUsageSummariesDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"sendReportsTo\"] = this.sendReportsTo;\r\n data[\"year\"] = this.year;\r\n data[\"month\"] = this.month;\r\n data[\"locationCode\"] = this.locationCode;\r\n if (Array.isArray(this.summaries)) {\r\n data[\"summaries\"] = [];\r\n for (let item of this.summaries)\r\n data[\"summaries\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAdminNotificationsUsageSummariesDto {\r\n sendReportsTo?: string | undefined;\r\n year: number;\r\n month: number;\r\n locationCode?: string | undefined;\r\n summaries?: LocationNotificationUsageSummaryDto[] | undefined;\r\n}\r\n\r\nexport class LocationNotificationUsageSummaryDto implements ILocationNotificationUsageSummaryDto {\r\n locationCode?: string | undefined;\r\n locationName?: string | undefined;\r\n month!: number;\r\n year!: number;\r\n emailNotificationsTotalCount!: number;\r\n smsNotificationsTotalCount!: number;\r\n callNotificationsTotalCount!: number;\r\n pushNotificationsTotalCount!: number;\r\n smsNotificationsCount?: NotificationsCounterDto[] | undefined;\r\n callNotificationsCount?: NotificationsCounterDto[] | undefined;\r\n\r\n constructor(data?: ILocationNotificationUsageSummaryDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.locationCode = _data[\"locationCode\"];\r\n this.locationName = _data[\"locationName\"];\r\n this.month = _data[\"month\"];\r\n this.year = _data[\"year\"];\r\n this.emailNotificationsTotalCount = _data[\"emailNotificationsTotalCount\"];\r\n this.smsNotificationsTotalCount = _data[\"smsNotificationsTotalCount\"];\r\n this.callNotificationsTotalCount = _data[\"callNotificationsTotalCount\"];\r\n this.pushNotificationsTotalCount = _data[\"pushNotificationsTotalCount\"];\r\n if (Array.isArray(_data[\"smsNotificationsCount\"])) {\r\n this.smsNotificationsCount = [] as any;\r\n for (let item of _data[\"smsNotificationsCount\"])\r\n this.smsNotificationsCount!.push(NotificationsCounterDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"callNotificationsCount\"])) {\r\n this.callNotificationsCount = [] as any;\r\n for (let item of _data[\"callNotificationsCount\"])\r\n this.callNotificationsCount!.push(NotificationsCounterDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): LocationNotificationUsageSummaryDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LocationNotificationUsageSummaryDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"locationCode\"] = this.locationCode;\r\n data[\"locationName\"] = this.locationName;\r\n data[\"month\"] = this.month;\r\n data[\"year\"] = this.year;\r\n data[\"emailNotificationsTotalCount\"] = this.emailNotificationsTotalCount;\r\n data[\"smsNotificationsTotalCount\"] = this.smsNotificationsTotalCount;\r\n data[\"callNotificationsTotalCount\"] = this.callNotificationsTotalCount;\r\n data[\"pushNotificationsTotalCount\"] = this.pushNotificationsTotalCount;\r\n if (Array.isArray(this.smsNotificationsCount)) {\r\n data[\"smsNotificationsCount\"] = [];\r\n for (let item of this.smsNotificationsCount)\r\n data[\"smsNotificationsCount\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.callNotificationsCount)) {\r\n data[\"callNotificationsCount\"] = [];\r\n for (let item of this.callNotificationsCount)\r\n data[\"callNotificationsCount\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILocationNotificationUsageSummaryDto {\r\n locationCode?: string | undefined;\r\n locationName?: string | undefined;\r\n month: number;\r\n year: number;\r\n emailNotificationsTotalCount: number;\r\n smsNotificationsTotalCount: number;\r\n callNotificationsTotalCount: number;\r\n pushNotificationsTotalCount: number;\r\n smsNotificationsCount?: NotificationsCounterDto[] | undefined;\r\n callNotificationsCount?: NotificationsCounterDto[] | undefined;\r\n}\r\n\r\nexport class NotificationsCounterDto implements INotificationsCounterDto {\r\n count!: number;\r\n languageCode?: string | undefined;\r\n\r\n constructor(data?: INotificationsCounterDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.count = _data[\"count\"];\r\n this.languageCode = _data[\"languageCode\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): NotificationsCounterDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NotificationsCounterDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"count\"] = this.count;\r\n data[\"languageCode\"] = this.languageCode;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface INotificationsCounterDto {\r\n count: number;\r\n languageCode?: string | undefined;\r\n}\r\n\r\nexport class GenerateNotificationsReportsDto implements IGenerateNotificationsReportsDto {\r\n sendReportsTo?: string | undefined;\r\n languageCode?: string | undefined;\r\n year!: number;\r\n month!: number;\r\n locationCodes?: string[] | undefined;\r\n\r\n constructor(data?: IGenerateNotificationsReportsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.sendReportsTo = _data[\"sendReportsTo\"];\r\n this.languageCode = _data[\"languageCode\"];\r\n this.year = _data[\"year\"];\r\n this.month = _data[\"month\"];\r\n if (Array.isArray(_data[\"locationCodes\"])) {\r\n this.locationCodes = [] as any;\r\n for (let item of _data[\"locationCodes\"])\r\n this.locationCodes!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): GenerateNotificationsReportsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GenerateNotificationsReportsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"sendReportsTo\"] = this.sendReportsTo;\r\n data[\"languageCode\"] = this.languageCode;\r\n data[\"year\"] = this.year;\r\n data[\"month\"] = this.month;\r\n if (Array.isArray(this.locationCodes)) {\r\n data[\"locationCodes\"] = [];\r\n for (let item of this.locationCodes)\r\n data[\"locationCodes\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IGenerateNotificationsReportsDto {\r\n sendReportsTo?: string | undefined;\r\n languageCode?: string | undefined;\r\n year: number;\r\n month: number;\r\n locationCodes?: string[] | undefined;\r\n}\r\n\r\nexport class RoleListDto implements IRoleListDto {\r\n items?: RoleListItemDto[] | undefined;\r\n\r\n constructor(data?: IRoleListDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"items\"])) {\r\n this.items = [] as any;\r\n for (let item of _data[\"items\"])\r\n this.items!.push(RoleListItemDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): RoleListDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RoleListDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.items)) {\r\n data[\"items\"] = [];\r\n for (let item of this.items)\r\n data[\"items\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRoleListDto {\r\n items?: RoleListItemDto[] | undefined;\r\n}\r\n\r\nexport class RoleListItemDto implements IRoleListItemDto {\r\n id!: string;\r\n name?: string | undefined;\r\n code?: string | undefined;\r\n isAdministrated!: boolean;\r\n\r\n constructor(data?: IRoleListItemDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.code = _data[\"code\"];\r\n this.isAdministrated = _data[\"isAdministrated\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RoleListItemDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RoleListItemDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"code\"] = this.code;\r\n data[\"isAdministrated\"] = this.isAdministrated;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRoleListItemDto {\r\n id: string;\r\n name?: string | undefined;\r\n code?: string | undefined;\r\n isAdministrated: boolean;\r\n}\r\n\r\nexport class RoleDto implements IRoleDto {\r\n id!: string;\r\n creatorId?: string | undefined;\r\n name!: string;\r\n code!: string;\r\n createDate!: Date;\r\n permissions?: RolePermissionsDto | undefined;\r\n addressName1?: string | undefined;\r\n addressName2?: string | undefined;\r\n addressStreet?: string | undefined;\r\n addressStreetNumber?: string | undefined;\r\n addressCity?: string | undefined;\r\n addressPostalCode?: string | undefined;\r\n addressCountry?: string | undefined;\r\n type!: RoleType;\r\n creator?: RoleUserDto | undefined;\r\n roleAdmins?: RoleUserDto[] | undefined;\r\n roleUsers?: RoleUserDto[] | undefined;\r\n arrivalHiddenColumns?: string | undefined;\r\n arrivalColumnsOrder?: string | undefined;\r\n\r\n constructor(data?: IRoleDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.creatorId = _data[\"creatorId\"];\r\n this.name = _data[\"name\"];\r\n this.code = _data[\"code\"];\r\n this.createDate = _data[\"createDate\"] ? new Date(_data[\"createDate\"].toString()) : undefined;\r\n this.permissions = _data[\"permissions\"] ? RolePermissionsDto.fromJS(_data[\"permissions\"]) : undefined;\r\n this.addressName1 = _data[\"addressName1\"];\r\n this.addressName2 = _data[\"addressName2\"];\r\n this.addressStreet = _data[\"addressStreet\"];\r\n this.addressStreetNumber = _data[\"addressStreetNumber\"];\r\n this.addressCity = _data[\"addressCity\"];\r\n this.addressPostalCode = _data[\"addressPostalCode\"];\r\n this.addressCountry = _data[\"addressCountry\"];\r\n this.type = _data[\"type\"];\r\n this.creator = _data[\"creator\"] ? RoleUserDto.fromJS(_data[\"creator\"]) : undefined;\r\n if (Array.isArray(_data[\"roleAdmins\"])) {\r\n this.roleAdmins = [] as any;\r\n for (let item of _data[\"roleAdmins\"])\r\n this.roleAdmins!.push(RoleUserDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"roleUsers\"])) {\r\n this.roleUsers = [] as any;\r\n for (let item of _data[\"roleUsers\"])\r\n this.roleUsers!.push(RoleUserDto.fromJS(item));\r\n }\r\n this.arrivalHiddenColumns = _data[\"arrivalHiddenColumns\"];\r\n this.arrivalColumnsOrder = _data[\"arrivalColumnsOrder\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RoleDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RoleDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"creatorId\"] = this.creatorId;\r\n data[\"name\"] = this.name;\r\n data[\"code\"] = this.code;\r\n data[\"createDate\"] = this.createDate ? this.createDate.toISOString() : undefined;\r\n data[\"permissions\"] = this.permissions ? this.permissions.toJSON() : undefined;\r\n data[\"addressName1\"] = this.addressName1;\r\n data[\"addressName2\"] = this.addressName2;\r\n data[\"addressStreet\"] = this.addressStreet;\r\n data[\"addressStreetNumber\"] = this.addressStreetNumber;\r\n data[\"addressCity\"] = this.addressCity;\r\n data[\"addressPostalCode\"] = this.addressPostalCode;\r\n data[\"addressCountry\"] = this.addressCountry;\r\n data[\"type\"] = this.type;\r\n data[\"creator\"] = this.creator ? this.creator.toJSON() : undefined;\r\n if (Array.isArray(this.roleAdmins)) {\r\n data[\"roleAdmins\"] = [];\r\n for (let item of this.roleAdmins)\r\n data[\"roleAdmins\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.roleUsers)) {\r\n data[\"roleUsers\"] = [];\r\n for (let item of this.roleUsers)\r\n data[\"roleUsers\"].push(item.toJSON());\r\n }\r\n data[\"arrivalHiddenColumns\"] = this.arrivalHiddenColumns;\r\n data[\"arrivalColumnsOrder\"] = this.arrivalColumnsOrder;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRoleDto {\r\n id: string;\r\n creatorId?: string | undefined;\r\n name: string;\r\n code: string;\r\n createDate: Date;\r\n permissions?: RolePermissionsDto | undefined;\r\n addressName1?: string | undefined;\r\n addressName2?: string | undefined;\r\n addressStreet?: string | undefined;\r\n addressStreetNumber?: string | undefined;\r\n addressCity?: string | undefined;\r\n addressPostalCode?: string | undefined;\r\n addressCountry?: string | undefined;\r\n type: RoleType;\r\n creator?: RoleUserDto | undefined;\r\n roleAdmins?: RoleUserDto[] | undefined;\r\n roleUsers?: RoleUserDto[] | undefined;\r\n arrivalHiddenColumns?: string | undefined;\r\n arrivalColumnsOrder?: string | undefined;\r\n}\r\n\r\nexport class RolePermissionsDto implements IRolePermissionsDto {\r\n id!: string;\r\n parentCode?: string | undefined;\r\n parentName?: string | undefined;\r\n allowTransfer!: boolean;\r\n enableCheck!: boolean;\r\n enableDeliveryNotes!: boolean;\r\n timeSlotBookingMethod!: TimeSlotBookingMethod;\r\n groups?: RolePermissionGroupDto[] | undefined;\r\n ramps?: RolePermissionRampDto[] | undefined;\r\n processes?: RolePermissionProcessDto[] | undefined;\r\n\r\n constructor(data?: IRolePermissionsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.parentCode = _data[\"parentCode\"];\r\n this.parentName = _data[\"parentName\"];\r\n this.allowTransfer = _data[\"allowTransfer\"];\r\n this.enableCheck = _data[\"enableCheck\"];\r\n this.enableDeliveryNotes = _data[\"enableDeliveryNotes\"];\r\n this.timeSlotBookingMethod = _data[\"timeSlotBookingMethod\"];\r\n if (Array.isArray(_data[\"groups\"])) {\r\n this.groups = [] as any;\r\n for (let item of _data[\"groups\"])\r\n this.groups!.push(RolePermissionGroupDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"ramps\"])) {\r\n this.ramps = [] as any;\r\n for (let item of _data[\"ramps\"])\r\n this.ramps!.push(RolePermissionRampDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"processes\"])) {\r\n this.processes = [] as any;\r\n for (let item of _data[\"processes\"])\r\n this.processes!.push(RolePermissionProcessDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): RolePermissionsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RolePermissionsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"parentCode\"] = this.parentCode;\r\n data[\"parentName\"] = this.parentName;\r\n data[\"allowTransfer\"] = this.allowTransfer;\r\n data[\"enableCheck\"] = this.enableCheck;\r\n data[\"enableDeliveryNotes\"] = this.enableDeliveryNotes;\r\n data[\"timeSlotBookingMethod\"] = this.timeSlotBookingMethod;\r\n if (Array.isArray(this.groups)) {\r\n data[\"groups\"] = [];\r\n for (let item of this.groups)\r\n data[\"groups\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.ramps)) {\r\n data[\"ramps\"] = [];\r\n for (let item of this.ramps)\r\n data[\"ramps\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.processes)) {\r\n data[\"processes\"] = [];\r\n for (let item of this.processes)\r\n data[\"processes\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRolePermissionsDto {\r\n id: string;\r\n parentCode?: string | undefined;\r\n parentName?: string | undefined;\r\n allowTransfer: boolean;\r\n enableCheck: boolean;\r\n enableDeliveryNotes: boolean;\r\n timeSlotBookingMethod: TimeSlotBookingMethod;\r\n groups?: RolePermissionGroupDto[] | undefined;\r\n ramps?: RolePermissionRampDto[] | undefined;\r\n processes?: RolePermissionProcessDto[] | undefined;\r\n}\r\n\r\nexport class RolePermissionGroupDto implements IRolePermissionGroupDto {\r\n id!: string;\r\n groupId!: string;\r\n name?: string | undefined;\r\n translations?: NameTranslationDto[] | undefined;\r\n permissions!: RolePermissions;\r\n\r\n constructor(data?: IRolePermissionGroupDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.groupId = _data[\"groupId\"];\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"translations\"])) {\r\n this.translations = [] as any;\r\n for (let item of _data[\"translations\"])\r\n this.translations!.push(NameTranslationDto.fromJS(item));\r\n }\r\n this.permissions = _data[\"permissions\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RolePermissionGroupDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RolePermissionGroupDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"groupId\"] = this.groupId;\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.translations)) {\r\n data[\"translations\"] = [];\r\n for (let item of this.translations)\r\n data[\"translations\"].push(item.toJSON());\r\n }\r\n data[\"permissions\"] = this.permissions;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRolePermissionGroupDto {\r\n id: string;\r\n groupId: string;\r\n name?: string | undefined;\r\n translations?: NameTranslationDto[] | undefined;\r\n permissions: RolePermissions;\r\n}\r\n\r\nexport enum RolePermissions {\r\n None = \"None\",\r\n TsmViewTimeSlots = \"TsmViewTimeSlots\",\r\n TsmCreateTimeSlots = \"TsmCreateTimeSlots\",\r\n TsmMoveTimeSlots = \"TsmMoveTimeSlots\",\r\n TsmDeleteTimeSlots = \"TsmDeleteTimeSlots\",\r\n TsmChangeTimeSlotsStatus = \"TsmChangeTimeSlotsStatus\",\r\n}\r\n\r\nexport class RolePermissionRampDto implements IRolePermissionRampDto {\r\n id!: string;\r\n rampId!: string;\r\n name?: string | undefined;\r\n translations?: NameTranslationDto[] | undefined;\r\n permissions!: RolePermissions;\r\n\r\n constructor(data?: IRolePermissionRampDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.rampId = _data[\"rampId\"];\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"translations\"])) {\r\n this.translations = [] as any;\r\n for (let item of _data[\"translations\"])\r\n this.translations!.push(NameTranslationDto.fromJS(item));\r\n }\r\n this.permissions = _data[\"permissions\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RolePermissionRampDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RolePermissionRampDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"rampId\"] = this.rampId;\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.translations)) {\r\n data[\"translations\"] = [];\r\n for (let item of this.translations)\r\n data[\"translations\"].push(item.toJSON());\r\n }\r\n data[\"permissions\"] = this.permissions;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRolePermissionRampDto {\r\n id: string;\r\n rampId: string;\r\n name?: string | undefined;\r\n translations?: NameTranslationDto[] | undefined;\r\n permissions: RolePermissions;\r\n}\r\n\r\nexport class RolePermissionProcessDto implements IRolePermissionProcessDto {\r\n id!: string;\r\n processId!: string;\r\n name?: string | undefined;\r\n translations?: NameTranslationDto[] | undefined;\r\n permissions!: boolean;\r\n\r\n constructor(data?: IRolePermissionProcessDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.processId = _data[\"processId\"];\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"translations\"])) {\r\n this.translations = [] as any;\r\n for (let item of _data[\"translations\"])\r\n this.translations!.push(NameTranslationDto.fromJS(item));\r\n }\r\n this.permissions = _data[\"permissions\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RolePermissionProcessDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RolePermissionProcessDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"processId\"] = this.processId;\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.translations)) {\r\n data[\"translations\"] = [];\r\n for (let item of this.translations)\r\n data[\"translations\"].push(item.toJSON());\r\n }\r\n data[\"permissions\"] = this.permissions;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRolePermissionProcessDto {\r\n id: string;\r\n processId: string;\r\n name?: string | undefined;\r\n translations?: NameTranslationDto[] | undefined;\r\n permissions: boolean;\r\n}\r\n\r\nexport enum RoleType {\r\n Client = \"Client\",\r\n Supplier = \"Supplier\",\r\n Spedition = \"Spedition\",\r\n}\r\n\r\nexport class RoleUserDto implements IRoleUserDto {\r\n id!: string;\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n email?: string | undefined;\r\n username?: string | undefined;\r\n\r\n constructor(data?: IRoleUserDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.email = _data[\"email\"];\r\n this.username = _data[\"username\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RoleUserDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RoleUserDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"email\"] = this.email;\r\n data[\"username\"] = this.username;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRoleUserDto {\r\n id: string;\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n email?: string | undefined;\r\n username?: string | undefined;\r\n}\r\n\r\nexport class SearchResultDtoOfRoleUserDto implements ISearchResultDtoOfRoleUserDto {\r\n totalItemsCount!: number;\r\n items?: RoleUserDto[] | undefined;\r\n\r\n constructor(data?: ISearchResultDtoOfRoleUserDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.totalItemsCount = _data[\"totalItemsCount\"];\r\n if (Array.isArray(_data[\"items\"])) {\r\n this.items = [] as any;\r\n for (let item of _data[\"items\"])\r\n this.items!.push(RoleUserDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SearchResultDtoOfRoleUserDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SearchResultDtoOfRoleUserDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"totalItemsCount\"] = this.totalItemsCount;\r\n if (Array.isArray(this.items)) {\r\n data[\"items\"] = [];\r\n for (let item of this.items)\r\n data[\"items\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISearchResultDtoOfRoleUserDto {\r\n totalItemsCount: number;\r\n items?: RoleUserDto[] | undefined;\r\n}\r\n\r\nexport class SearchUsersDto extends SearchResultDtoOfRoleUserDto implements ISearchUsersDto {\r\n\r\n constructor(data?: ISearchUsersDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n }\r\n\r\n static fromJS(data: any): SearchUsersDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SearchUsersDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISearchUsersDto extends ISearchResultDtoOfRoleUserDto {\r\n}\r\n\r\nexport class SearchResultDtoOfSearchRoleResultDto implements ISearchResultDtoOfSearchRoleResultDto {\r\n totalItemsCount!: number;\r\n items?: SearchRoleResultDto[] | undefined;\r\n\r\n constructor(data?: ISearchResultDtoOfSearchRoleResultDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.totalItemsCount = _data[\"totalItemsCount\"];\r\n if (Array.isArray(_data[\"items\"])) {\r\n this.items = [] as any;\r\n for (let item of _data[\"items\"])\r\n this.items!.push(SearchRoleResultDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SearchResultDtoOfSearchRoleResultDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SearchResultDtoOfSearchRoleResultDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"totalItemsCount\"] = this.totalItemsCount;\r\n if (Array.isArray(this.items)) {\r\n data[\"items\"] = [];\r\n for (let item of this.items)\r\n data[\"items\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISearchResultDtoOfSearchRoleResultDto {\r\n totalItemsCount: number;\r\n items?: SearchRoleResultDto[] | undefined;\r\n}\r\n\r\nexport class SearchRolesDto extends SearchResultDtoOfSearchRoleResultDto implements ISearchRolesDto {\r\n\r\n constructor(data?: ISearchRolesDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n }\r\n\r\n static fromJS(data: any): SearchRolesDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SearchRolesDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISearchRolesDto extends ISearchResultDtoOfSearchRoleResultDto {\r\n}\r\n\r\nexport class SearchRoleResultDto implements ISearchRoleResultDto {\r\n id!: string;\r\n name?: string | undefined;\r\n code?: string | undefined;\r\n usersCount!: number;\r\n roleUsers?: RoleUserDto[] | undefined;\r\n\r\n constructor(data?: ISearchRoleResultDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.code = _data[\"code\"];\r\n this.usersCount = _data[\"usersCount\"];\r\n if (Array.isArray(_data[\"roleUsers\"])) {\r\n this.roleUsers = [] as any;\r\n for (let item of _data[\"roleUsers\"])\r\n this.roleUsers!.push(RoleUserDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SearchRoleResultDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SearchRoleResultDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"code\"] = this.code;\r\n data[\"usersCount\"] = this.usersCount;\r\n if (Array.isArray(this.roleUsers)) {\r\n data[\"roleUsers\"] = [];\r\n for (let item of this.roleUsers)\r\n data[\"roleUsers\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISearchRoleResultDto {\r\n id: string;\r\n name?: string | undefined;\r\n code?: string | undefined;\r\n usersCount: number;\r\n roleUsers?: RoleUserDto[] | undefined;\r\n}\r\n\r\nexport class SimpleRoleInputModel implements ISimpleRoleInputModel {\r\n name!: string;\r\n code!: string;\r\n type!: RoleType;\r\n creatorId!: string;\r\n createDate!: Date;\r\n arrivalHiddenColumns?: string | undefined;\r\n arrivalColumnsOrder?: string | undefined;\r\n\r\n constructor(data?: ISimpleRoleInputModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.code = _data[\"code\"];\r\n this.type = _data[\"type\"];\r\n this.creatorId = _data[\"creatorId\"];\r\n this.createDate = _data[\"createDate\"] ? new Date(_data[\"createDate\"].toString()) : undefined;\r\n this.arrivalHiddenColumns = _data[\"arrivalHiddenColumns\"];\r\n this.arrivalColumnsOrder = _data[\"arrivalColumnsOrder\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SimpleRoleInputModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SimpleRoleInputModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"code\"] = this.code;\r\n data[\"type\"] = this.type;\r\n data[\"creatorId\"] = this.creatorId;\r\n data[\"createDate\"] = this.createDate ? this.createDate.toISOString() : undefined;\r\n data[\"arrivalHiddenColumns\"] = this.arrivalHiddenColumns;\r\n data[\"arrivalColumnsOrder\"] = this.arrivalColumnsOrder;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISimpleRoleInputModel {\r\n name: string;\r\n code: string;\r\n type: RoleType;\r\n creatorId: string;\r\n createDate: Date;\r\n arrivalHiddenColumns?: string | undefined;\r\n arrivalColumnsOrder?: string | undefined;\r\n}\r\n\r\nexport class SimpleRoleWithMailSettingsInputModel implements ISimpleRoleWithMailSettingsInputModel {\r\n name!: string;\r\n code!: string;\r\n type!: RoleType;\r\n creatorId!: string;\r\n createDate!: Date;\r\n arrivalHiddenColumns?: string | undefined;\r\n arrivalColumnsOrder?: string | undefined;\r\n own!: MailSettings;\r\n others!: MailSettings;\r\n\r\n constructor(data?: ISimpleRoleWithMailSettingsInputModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.code = _data[\"code\"];\r\n this.type = _data[\"type\"];\r\n this.creatorId = _data[\"creatorId\"];\r\n this.createDate = _data[\"createDate\"] ? new Date(_data[\"createDate\"].toString()) : undefined;\r\n this.arrivalHiddenColumns = _data[\"arrivalHiddenColumns\"];\r\n this.arrivalColumnsOrder = _data[\"arrivalColumnsOrder\"];\r\n this.own = _data[\"own\"];\r\n this.others = _data[\"others\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SimpleRoleWithMailSettingsInputModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SimpleRoleWithMailSettingsInputModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"code\"] = this.code;\r\n data[\"type\"] = this.type;\r\n data[\"creatorId\"] = this.creatorId;\r\n data[\"createDate\"] = this.createDate ? this.createDate.toISOString() : undefined;\r\n data[\"arrivalHiddenColumns\"] = this.arrivalHiddenColumns;\r\n data[\"arrivalColumnsOrder\"] = this.arrivalColumnsOrder;\r\n data[\"own\"] = this.own;\r\n data[\"others\"] = this.others;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISimpleRoleWithMailSettingsInputModel {\r\n name: string;\r\n code: string;\r\n type: RoleType;\r\n creatorId: string;\r\n createDate: Date;\r\n arrivalHiddenColumns?: string | undefined;\r\n arrivalColumnsOrder?: string | undefined;\r\n own: MailSettings;\r\n others: MailSettings;\r\n}\r\n\r\nexport class RoleTsmSettingsDto implements IRoleTsmSettingsDto {\r\n roleId!: string;\r\n name?: string | undefined;\r\n code?: string | undefined;\r\n status_Open?: string | undefined;\r\n status_Processing?: string | undefined;\r\n status_Done?: string | undefined;\r\n status_Replaced?: string | undefined;\r\n status_Late?: string | undefined;\r\n eta_Late?: string | undefined;\r\n eta_VeryLate?: string | undefined;\r\n showTitle!: boolean;\r\n showTimes!: boolean;\r\n showEta!: boolean;\r\n isRoleAdmin!: boolean;\r\n\r\n constructor(data?: IRoleTsmSettingsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.roleId = _data[\"roleId\"];\r\n this.name = _data[\"name\"];\r\n this.code = _data[\"code\"];\r\n this.status_Open = _data[\"status_Open\"];\r\n this.status_Processing = _data[\"status_Processing\"];\r\n this.status_Done = _data[\"status_Done\"];\r\n this.status_Replaced = _data[\"status_Replaced\"];\r\n this.status_Late = _data[\"status_Late\"];\r\n this.eta_Late = _data[\"eta_Late\"];\r\n this.eta_VeryLate = _data[\"eta_VeryLate\"];\r\n this.showTitle = _data[\"showTitle\"];\r\n this.showTimes = _data[\"showTimes\"];\r\n this.showEta = _data[\"showEta\"];\r\n this.isRoleAdmin = _data[\"isRoleAdmin\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RoleTsmSettingsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RoleTsmSettingsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"roleId\"] = this.roleId;\r\n data[\"name\"] = this.name;\r\n data[\"code\"] = this.code;\r\n data[\"status_Open\"] = this.status_Open;\r\n data[\"status_Processing\"] = this.status_Processing;\r\n data[\"status_Done\"] = this.status_Done;\r\n data[\"status_Replaced\"] = this.status_Replaced;\r\n data[\"status_Late\"] = this.status_Late;\r\n data[\"eta_Late\"] = this.eta_Late;\r\n data[\"eta_VeryLate\"] = this.eta_VeryLate;\r\n data[\"showTitle\"] = this.showTitle;\r\n data[\"showTimes\"] = this.showTimes;\r\n data[\"showEta\"] = this.showEta;\r\n data[\"isRoleAdmin\"] = this.isRoleAdmin;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRoleTsmSettingsDto {\r\n roleId: string;\r\n name?: string | undefined;\r\n code?: string | undefined;\r\n status_Open?: string | undefined;\r\n status_Processing?: string | undefined;\r\n status_Done?: string | undefined;\r\n status_Replaced?: string | undefined;\r\n status_Late?: string | undefined;\r\n eta_Late?: string | undefined;\r\n eta_VeryLate?: string | undefined;\r\n showTitle: boolean;\r\n showTimes: boolean;\r\n showEta: boolean;\r\n isRoleAdmin: boolean;\r\n}\r\n\r\nexport class RoleUserMailSettingsDto implements IRoleUserMailSettingsDto {\r\n roleId!: string;\r\n name?: string | undefined;\r\n code?: string | undefined;\r\n own!: MailSettings;\r\n others!: MailSettings;\r\n\r\n constructor(data?: IRoleUserMailSettingsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.roleId = _data[\"roleId\"];\r\n this.name = _data[\"name\"];\r\n this.code = _data[\"code\"];\r\n this.own = _data[\"own\"];\r\n this.others = _data[\"others\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RoleUserMailSettingsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RoleUserMailSettingsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"roleId\"] = this.roleId;\r\n data[\"name\"] = this.name;\r\n data[\"code\"] = this.code;\r\n data[\"own\"] = this.own;\r\n data[\"others\"] = this.others;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRoleUserMailSettingsDto {\r\n roleId: string;\r\n name?: string | undefined;\r\n code?: string | undefined;\r\n own: MailSettings;\r\n others: MailSettings;\r\n}\r\n\r\nexport class RoleLocationsDto implements IRoleLocationsDto {\r\n id!: string;\r\n name?: string | undefined;\r\n code?: string | undefined;\r\n locations?: RoleLocationDto[] | undefined;\r\n transferred?: RoleLocationTransferredDto[] | undefined;\r\n languageCode?: string | undefined;\r\n\r\n constructor(data?: IRoleLocationsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.code = _data[\"code\"];\r\n if (Array.isArray(_data[\"locations\"])) {\r\n this.locations = [] as any;\r\n for (let item of _data[\"locations\"])\r\n this.locations!.push(RoleLocationDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"transferred\"])) {\r\n this.transferred = [] as any;\r\n for (let item of _data[\"transferred\"])\r\n this.transferred!.push(RoleLocationTransferredDto.fromJS(item));\r\n }\r\n this.languageCode = _data[\"languageCode\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RoleLocationsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RoleLocationsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"code\"] = this.code;\r\n if (Array.isArray(this.locations)) {\r\n data[\"locations\"] = [];\r\n for (let item of this.locations)\r\n data[\"locations\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.transferred)) {\r\n data[\"transferred\"] = [];\r\n for (let item of this.transferred)\r\n data[\"transferred\"].push(item.toJSON());\r\n }\r\n data[\"languageCode\"] = this.languageCode;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRoleLocationsDto {\r\n id: string;\r\n name?: string | undefined;\r\n code?: string | undefined;\r\n locations?: RoleLocationDto[] | undefined;\r\n transferred?: RoleLocationTransferredDto[] | undefined;\r\n languageCode?: string | undefined;\r\n}\r\n\r\nexport class RoleLocationDto implements IRoleLocationDto {\r\n locationId!: number;\r\n locationCode?: string | undefined;\r\n locationName?: string | undefined;\r\n permissions?: RolePermissionsDto | undefined;\r\n\r\n constructor(data?: IRoleLocationDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.locationId = _data[\"locationId\"];\r\n this.locationCode = _data[\"locationCode\"];\r\n this.locationName = _data[\"locationName\"];\r\n this.permissions = _data[\"permissions\"] ? RolePermissionsDto.fromJS(_data[\"permissions\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): RoleLocationDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RoleLocationDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"locationId\"] = this.locationId;\r\n data[\"locationCode\"] = this.locationCode;\r\n data[\"locationName\"] = this.locationName;\r\n data[\"permissions\"] = this.permissions ? this.permissions.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRoleLocationDto {\r\n locationId: number;\r\n locationCode?: string | undefined;\r\n locationName?: string | undefined;\r\n permissions?: RolePermissionsDto | undefined;\r\n}\r\n\r\nexport class RoleLocationTransferredDto extends RoleLocationDto implements IRoleLocationTransferredDto {\r\n roleId!: string;\r\n roleCode?: string | undefined;\r\n roleName?: string | undefined;\r\n parentId!: string;\r\n\r\n constructor(data?: IRoleLocationTransferredDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.roleId = _data[\"roleId\"];\r\n this.roleCode = _data[\"roleCode\"];\r\n this.roleName = _data[\"roleName\"];\r\n this.parentId = _data[\"parentId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RoleLocationTransferredDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RoleLocationTransferredDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"roleId\"] = this.roleId;\r\n data[\"roleCode\"] = this.roleCode;\r\n data[\"roleName\"] = this.roleName;\r\n data[\"parentId\"] = this.parentId;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRoleLocationTransferredDto extends IRoleLocationDto {\r\n roleId: string;\r\n roleCode?: string | undefined;\r\n roleName?: string | undefined;\r\n parentId: string;\r\n}\r\n\r\nexport class UserRoleInvitationsDto implements IUserRoleInvitationsDto {\r\n roleInvitations?: RoleInvitationLocationRoleDto[] | undefined;\r\n administratedRoles?: RoleDto[] | undefined;\r\n\r\n constructor(data?: IUserRoleInvitationsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"roleInvitations\"])) {\r\n this.roleInvitations = [] as any;\r\n for (let item of _data[\"roleInvitations\"])\r\n this.roleInvitations!.push(RoleInvitationLocationRoleDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"administratedRoles\"])) {\r\n this.administratedRoles = [] as any;\r\n for (let item of _data[\"administratedRoles\"])\r\n this.administratedRoles!.push(RoleDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserRoleInvitationsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserRoleInvitationsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.roleInvitations)) {\r\n data[\"roleInvitations\"] = [];\r\n for (let item of this.roleInvitations)\r\n data[\"roleInvitations\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.administratedRoles)) {\r\n data[\"administratedRoles\"] = [];\r\n for (let item of this.administratedRoles)\r\n data[\"administratedRoles\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserRoleInvitationsDto {\r\n roleInvitations?: RoleInvitationLocationRoleDto[] | undefined;\r\n administratedRoles?: RoleDto[] | undefined;\r\n}\r\n\r\nexport class RoleInvitationLocationRoleDto implements IRoleInvitationLocationRoleDto {\r\n locationId!: number;\r\n locationCode?: string | undefined;\r\n locationName?: string | undefined;\r\n id!: string;\r\n roleId?: string | undefined;\r\n roleCode?: string | undefined;\r\n roleName?: string | undefined;\r\n createDate!: Date;\r\n email?: string | undefined;\r\n locationRoles?: RoleDto[] | undefined;\r\n\r\n constructor(data?: IRoleInvitationLocationRoleDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.locationId = _data[\"locationId\"];\r\n this.locationCode = _data[\"locationCode\"];\r\n this.locationName = _data[\"locationName\"];\r\n this.id = _data[\"id\"];\r\n this.roleId = _data[\"roleId\"];\r\n this.roleCode = _data[\"roleCode\"];\r\n this.roleName = _data[\"roleName\"];\r\n this.createDate = _data[\"createDate\"] ? new Date(_data[\"createDate\"].toString()) : undefined;\r\n this.email = _data[\"email\"];\r\n if (Array.isArray(_data[\"locationRoles\"])) {\r\n this.locationRoles = [] as any;\r\n for (let item of _data[\"locationRoles\"])\r\n this.locationRoles!.push(RoleDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): RoleInvitationLocationRoleDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RoleInvitationLocationRoleDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"locationId\"] = this.locationId;\r\n data[\"locationCode\"] = this.locationCode;\r\n data[\"locationName\"] = this.locationName;\r\n data[\"id\"] = this.id;\r\n data[\"roleId\"] = this.roleId;\r\n data[\"roleCode\"] = this.roleCode;\r\n data[\"roleName\"] = this.roleName;\r\n data[\"createDate\"] = this.createDate ? this.createDate.toISOString() : undefined;\r\n data[\"email\"] = this.email;\r\n if (Array.isArray(this.locationRoles)) {\r\n data[\"locationRoles\"] = [];\r\n for (let item of this.locationRoles)\r\n data[\"locationRoles\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRoleInvitationLocationRoleDto {\r\n locationId: number;\r\n locationCode?: string | undefined;\r\n locationName?: string | undefined;\r\n id: string;\r\n roleId?: string | undefined;\r\n roleCode?: string | undefined;\r\n roleName?: string | undefined;\r\n createDate: Date;\r\n email?: string | undefined;\r\n locationRoles?: RoleDto[] | undefined;\r\n}\r\n\r\nexport class BaseInputModel implements IBaseInputModel {\r\n locationId!: number;\r\n languageCode?: string | undefined;\r\n sendToTitanLibra!: boolean;\r\n\r\n constructor(data?: IBaseInputModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.locationId = _data[\"locationId\"];\r\n this.languageCode = _data[\"languageCode\"];\r\n this.sendToTitanLibra = _data[\"sendToTitanLibra\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BaseInputModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BaseInputModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"locationId\"] = this.locationId;\r\n data[\"languageCode\"] = this.languageCode;\r\n data[\"sendToTitanLibra\"] = this.sendToTitanLibra;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBaseInputModel {\r\n locationId: number;\r\n languageCode?: string | undefined;\r\n sendToTitanLibra: boolean;\r\n}\r\n\r\nexport class AcceptInvitationInputModel extends BaseInputModel implements IAcceptInvitationInputModel {\r\n roleId!: string;\r\n invitationId!: string;\r\n userId!: string;\r\n\r\n constructor(data?: IAcceptInvitationInputModel) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.roleId = _data[\"roleId\"];\r\n this.invitationId = _data[\"invitationId\"];\r\n this.userId = _data[\"userId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AcceptInvitationInputModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AcceptInvitationInputModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"roleId\"] = this.roleId;\r\n data[\"invitationId\"] = this.invitationId;\r\n data[\"userId\"] = this.userId;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAcceptInvitationInputModel extends IBaseInputModel {\r\n roleId: string;\r\n invitationId: string;\r\n userId: string;\r\n}\r\n\r\nexport class DeclineInvitationInputModel extends BaseInputModel implements IDeclineInvitationInputModel {\r\n invitationId!: string;\r\n userId!: string;\r\n\r\n constructor(data?: IDeclineInvitationInputModel) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.invitationId = _data[\"invitationId\"];\r\n this.userId = _data[\"userId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DeclineInvitationInputModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DeclineInvitationInputModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"invitationId\"] = this.invitationId;\r\n data[\"userId\"] = this.userId;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDeclineInvitationInputModel extends IBaseInputModel {\r\n invitationId: string;\r\n userId: string;\r\n}\r\n\r\nexport class LocationRolesDto implements ILocationRolesDto {\r\n roles?: RoleDto[] | undefined;\r\n permissionOptions?: RolePermissionsDto | undefined;\r\n locationId!: number;\r\n locationCode?: string | undefined;\r\n locationName?: string | undefined;\r\n locationDefaultRole?: RoleDto | undefined;\r\n languageCode?: string | undefined;\r\n\r\n constructor(data?: ILocationRolesDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"roles\"])) {\r\n this.roles = [] as any;\r\n for (let item of _data[\"roles\"])\r\n this.roles!.push(RoleDto.fromJS(item));\r\n }\r\n this.permissionOptions = _data[\"permissionOptions\"] ? RolePermissionsDto.fromJS(_data[\"permissionOptions\"]) : undefined;\r\n this.locationId = _data[\"locationId\"];\r\n this.locationCode = _data[\"locationCode\"];\r\n this.locationName = _data[\"locationName\"];\r\n this.locationDefaultRole = _data[\"locationDefaultRole\"] ? RoleDto.fromJS(_data[\"locationDefaultRole\"]) : undefined;\r\n this.languageCode = _data[\"languageCode\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LocationRolesDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LocationRolesDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.roles)) {\r\n data[\"roles\"] = [];\r\n for (let item of this.roles)\r\n data[\"roles\"].push(item.toJSON());\r\n }\r\n data[\"permissionOptions\"] = this.permissionOptions ? this.permissionOptions.toJSON() : undefined;\r\n data[\"locationId\"] = this.locationId;\r\n data[\"locationCode\"] = this.locationCode;\r\n data[\"locationName\"] = this.locationName;\r\n data[\"locationDefaultRole\"] = this.locationDefaultRole ? this.locationDefaultRole.toJSON() : undefined;\r\n data[\"languageCode\"] = this.languageCode;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILocationRolesDto {\r\n roles?: RoleDto[] | undefined;\r\n permissionOptions?: RolePermissionsDto | undefined;\r\n locationId: number;\r\n locationCode?: string | undefined;\r\n locationName?: string | undefined;\r\n locationDefaultRole?: RoleDto | undefined;\r\n languageCode?: string | undefined;\r\n}\r\n\r\nexport class LocationRoleInvitationsDto implements ILocationRoleInvitationsDto {\r\n pendingRoleInvitations?: RoleInvitationDto[] | undefined;\r\n roleInvitationsHistory?: RoleInvitationHistoryDto[] | undefined;\r\n locationRoles?: RoleDto[] | undefined;\r\n locationId!: number;\r\n locationCode?: string | undefined;\r\n locationName?: string | undefined;\r\n\r\n constructor(data?: ILocationRoleInvitationsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"pendingRoleInvitations\"])) {\r\n this.pendingRoleInvitations = [] as any;\r\n for (let item of _data[\"pendingRoleInvitations\"])\r\n this.pendingRoleInvitations!.push(RoleInvitationDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"roleInvitationsHistory\"])) {\r\n this.roleInvitationsHistory = [] as any;\r\n for (let item of _data[\"roleInvitationsHistory\"])\r\n this.roleInvitationsHistory!.push(RoleInvitationHistoryDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"locationRoles\"])) {\r\n this.locationRoles = [] as any;\r\n for (let item of _data[\"locationRoles\"])\r\n this.locationRoles!.push(RoleDto.fromJS(item));\r\n }\r\n this.locationId = _data[\"locationId\"];\r\n this.locationCode = _data[\"locationCode\"];\r\n this.locationName = _data[\"locationName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LocationRoleInvitationsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LocationRoleInvitationsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.pendingRoleInvitations)) {\r\n data[\"pendingRoleInvitations\"] = [];\r\n for (let item of this.pendingRoleInvitations)\r\n data[\"pendingRoleInvitations\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.roleInvitationsHistory)) {\r\n data[\"roleInvitationsHistory\"] = [];\r\n for (let item of this.roleInvitationsHistory)\r\n data[\"roleInvitationsHistory\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.locationRoles)) {\r\n data[\"locationRoles\"] = [];\r\n for (let item of this.locationRoles)\r\n data[\"locationRoles\"].push(item.toJSON());\r\n }\r\n data[\"locationId\"] = this.locationId;\r\n data[\"locationCode\"] = this.locationCode;\r\n data[\"locationName\"] = this.locationName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILocationRoleInvitationsDto {\r\n pendingRoleInvitations?: RoleInvitationDto[] | undefined;\r\n roleInvitationsHistory?: RoleInvitationHistoryDto[] | undefined;\r\n locationRoles?: RoleDto[] | undefined;\r\n locationId: number;\r\n locationCode?: string | undefined;\r\n locationName?: string | undefined;\r\n}\r\n\r\nexport class RoleInvitationDto implements IRoleInvitationDto {\r\n locationId!: number;\r\n locationCode?: string | undefined;\r\n locationName?: string | undefined;\r\n id!: string;\r\n roleId?: string | undefined;\r\n roleCode?: string | undefined;\r\n roleName?: string | undefined;\r\n createDate!: Date;\r\n email?: string | undefined;\r\n creator?: string | undefined;\r\n\r\n constructor(data?: IRoleInvitationDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.locationId = _data[\"locationId\"];\r\n this.locationCode = _data[\"locationCode\"];\r\n this.locationName = _data[\"locationName\"];\r\n this.id = _data[\"id\"];\r\n this.roleId = _data[\"roleId\"];\r\n this.roleCode = _data[\"roleCode\"];\r\n this.roleName = _data[\"roleName\"];\r\n this.createDate = _data[\"createDate\"] ? new Date(_data[\"createDate\"].toString()) : undefined;\r\n this.email = _data[\"email\"];\r\n this.creator = _data[\"creator\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RoleInvitationDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RoleInvitationDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"locationId\"] = this.locationId;\r\n data[\"locationCode\"] = this.locationCode;\r\n data[\"locationName\"] = this.locationName;\r\n data[\"id\"] = this.id;\r\n data[\"roleId\"] = this.roleId;\r\n data[\"roleCode\"] = this.roleCode;\r\n data[\"roleName\"] = this.roleName;\r\n data[\"createDate\"] = this.createDate ? this.createDate.toISOString() : undefined;\r\n data[\"email\"] = this.email;\r\n data[\"creator\"] = this.creator;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRoleInvitationDto {\r\n locationId: number;\r\n locationCode?: string | undefined;\r\n locationName?: string | undefined;\r\n id: string;\r\n roleId?: string | undefined;\r\n roleCode?: string | undefined;\r\n roleName?: string | undefined;\r\n createDate: Date;\r\n email?: string | undefined;\r\n creator?: string | undefined;\r\n}\r\n\r\nexport class RoleInvitationHistoryDto implements IRoleInvitationHistoryDto {\r\n email?: string | undefined;\r\n roleCode?: string | undefined;\r\n creator?: string | undefined;\r\n createDate!: Date;\r\n acceptDate?: Date | undefined;\r\n\r\n constructor(data?: IRoleInvitationHistoryDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.email = _data[\"email\"];\r\n this.roleCode = _data[\"roleCode\"];\r\n this.creator = _data[\"creator\"];\r\n this.createDate = _data[\"createDate\"] ? new Date(_data[\"createDate\"].toString()) : undefined;\r\n this.acceptDate = _data[\"acceptDate\"] ? new Date(_data[\"acceptDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): RoleInvitationHistoryDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RoleInvitationHistoryDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"email\"] = this.email;\r\n data[\"roleCode\"] = this.roleCode;\r\n data[\"creator\"] = this.creator;\r\n data[\"createDate\"] = this.createDate ? this.createDate.toISOString() : undefined;\r\n data[\"acceptDate\"] = this.acceptDate ? this.acceptDate.toISOString() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRoleInvitationHistoryDto {\r\n email?: string | undefined;\r\n roleCode?: string | undefined;\r\n creator?: string | undefined;\r\n createDate: Date;\r\n acceptDate?: Date | undefined;\r\n}\r\n\r\nexport class EmailInputModel extends BaseInputModel implements IEmailInputModel {\r\n email!: string;\r\n userId!: string;\r\n\r\n constructor(data?: IEmailInputModel) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.email = _data[\"email\"];\r\n this.userId = _data[\"userId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EmailInputModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EmailInputModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"email\"] = this.email;\r\n data[\"userId\"] = this.userId;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEmailInputModel extends IBaseInputModel {\r\n email: string;\r\n userId: string;\r\n}\r\n\r\nexport class EmailInvitationIdInputModel extends BaseInputModel implements IEmailInvitationIdInputModel {\r\n id!: string;\r\n userId!: string;\r\n\r\n constructor(data?: IEmailInvitationIdInputModel) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.userId = _data[\"userId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EmailInvitationIdInputModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EmailInvitationIdInputModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"userId\"] = this.userId;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEmailInvitationIdInputModel extends IBaseInputModel {\r\n id: string;\r\n userId: string;\r\n}\r\n\r\nexport class UserProfileDto implements IUserProfileDto {\r\n email?: string | undefined;\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n street?: string | undefined;\r\n streetNumber?: string | undefined;\r\n country?: string | undefined;\r\n city?: string | undefined;\r\n postalCode?: string | undefined;\r\n mobilePhoneNumber?: string | undefined;\r\n phoneNumber?: string | undefined;\r\n faxNumber?: string | undefined;\r\n languageCode?: string | undefined;\r\n\r\n constructor(data?: IUserProfileDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.email = _data[\"email\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.street = _data[\"street\"];\r\n this.streetNumber = _data[\"streetNumber\"];\r\n this.country = _data[\"country\"];\r\n this.city = _data[\"city\"];\r\n this.postalCode = _data[\"postalCode\"];\r\n this.mobilePhoneNumber = _data[\"mobilePhoneNumber\"];\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n this.faxNumber = _data[\"faxNumber\"];\r\n this.languageCode = _data[\"languageCode\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserProfileDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserProfileDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"email\"] = this.email;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"street\"] = this.street;\r\n data[\"streetNumber\"] = this.streetNumber;\r\n data[\"country\"] = this.country;\r\n data[\"city\"] = this.city;\r\n data[\"postalCode\"] = this.postalCode;\r\n data[\"mobilePhoneNumber\"] = this.mobilePhoneNumber;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n data[\"faxNumber\"] = this.faxNumber;\r\n data[\"languageCode\"] = this.languageCode;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserProfileDto {\r\n email?: string | undefined;\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n street?: string | undefined;\r\n streetNumber?: string | undefined;\r\n country?: string | undefined;\r\n city?: string | undefined;\r\n postalCode?: string | undefined;\r\n mobilePhoneNumber?: string | undefined;\r\n phoneNumber?: string | undefined;\r\n faxNumber?: string | undefined;\r\n languageCode?: string | undefined;\r\n}\r\n\r\nexport class UserProfileInputModel implements IUserProfileInputModel {\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n street?: string | undefined;\r\n streetNumber?: string | undefined;\r\n country?: string | undefined;\r\n postalCode?: string | undefined;\r\n city?: string | undefined;\r\n mobilePhoneNumber?: string | undefined;\r\n phoneNumber?: string | undefined;\r\n faxNumber?: string | undefined;\r\n languageCode?: string | undefined;\r\n\r\n constructor(data?: IUserProfileInputModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.street = _data[\"street\"];\r\n this.streetNumber = _data[\"streetNumber\"];\r\n this.country = _data[\"country\"];\r\n this.postalCode = _data[\"postalCode\"];\r\n this.city = _data[\"city\"];\r\n this.mobilePhoneNumber = _data[\"mobilePhoneNumber\"];\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n this.faxNumber = _data[\"faxNumber\"];\r\n this.languageCode = _data[\"languageCode\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserProfileInputModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserProfileInputModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"street\"] = this.street;\r\n data[\"streetNumber\"] = this.streetNumber;\r\n data[\"country\"] = this.country;\r\n data[\"postalCode\"] = this.postalCode;\r\n data[\"city\"] = this.city;\r\n data[\"mobilePhoneNumber\"] = this.mobilePhoneNumber;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n data[\"faxNumber\"] = this.faxNumber;\r\n data[\"languageCode\"] = this.languageCode;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserProfileInputModel {\r\n firstName?: string | undefined;\r\n lastName?: string | undefined;\r\n street?: string | undefined;\r\n streetNumber?: string | undefined;\r\n country?: string | undefined;\r\n postalCode?: string | undefined;\r\n city?: string | undefined;\r\n mobilePhoneNumber?: string | undefined;\r\n phoneNumber?: string | undefined;\r\n faxNumber?: string | undefined;\r\n languageCode?: string | undefined;\r\n}\r\n\r\nexport interface FileResponse {\r\n data: Blob;\r\n status: number;\r\n fileName?: string;\r\n headers?: { [name: string]: any };\r\n}\r\n\r\nexport class SwaggerException extends Error {\r\n message: string;\r\n status: number;\r\n response: string;\r\n headers: { [key: string]: any; };\r\n result: any;\r\n\r\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\r\n super();\r\n\r\n this.message = message;\r\n this.status = status;\r\n this.response = response;\r\n this.headers = headers;\r\n this.result = result;\r\n }\r\n\r\n protected isSwaggerException = true;\r\n\r\n static isSwaggerException(obj: any): obj is SwaggerException {\r\n return obj.isSwaggerException === true;\r\n }\r\n}\r\n\r\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): Observable {\r\n if (result !== null && result !== undefined)\r\n return _observableThrow(result);\r\n else\r\n return _observableThrow(new SwaggerException(message, status, response, headers, null));\r\n}\r\n\r\nfunction blobToText(blob: any): Observable {\r\n return new Observable((observer: any) => {\r\n if (!blob) {\r\n observer.next(\"\");\r\n observer.complete();\r\n } else {\r\n let reader = new FileReader();\r\n reader.onload = event => {\r\n observer.next((event.target as any).result);\r\n observer.complete();\r\n };\r\n reader.readAsText(blob);\r\n }\r\n });\r\n}\r\n","export default \"input {\\n width: 100%;\\n padding: 8px 15px;\\n background-color: #dcdcdb;\\n border: none;\\n border-radius: 15px;\\n height: 39px;\\n}\\n\\nlabel {\\n position: relative;\\n margin-bottom: 0px;\\n margin-bottom: -40px;\\n}\\n\\n.bottom-space {\\n margin-bottom: 25px;\\n}\\n\\n.ng-touched.form-invalid {\\n border-color: rgba(238, 95, 91, 0.8);\\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(238, 95, 91, 0.6);\\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(238, 95, 91, 0.6);\\n outline: 0 none;\\n}\\n\\n.validation-error-alert {\\n margin-top: 10px;\\n border-radius: 15px;\\n line-height: 1.4em;\\n}\\n\\n@media (min-width: 768px) {\\n label {\\n top: 24px;\\n left: 15px;\\n }\\n\\n input {\\n text-indent: 250px;\\n }\\n\\n .form-group {\\n line-height: 10px;\\n margin-bottom: 0px;\\n }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbGF5b3V0L2lucHV0cy9wYWFyaS1pbnB1dC1udW1iZXItY29vcmRpbmF0ZXMvcGFhcmktaW5wdXQtbnVtYmVyLWNvb3JkaW5hdGVzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksV0FBQTtFQUNBLGlCQUFBO0VBQ0EseUJBQUE7RUFDQSxZQUFBO0VBQ0EsbUJBQUE7RUFDQSxZQUFBO0FBQ0o7O0FBRUE7RUFDSSxrQkFBQTtFQUNBLGtCQUFBO0VBQ0Esb0JBQUE7QUFDSjs7QUFFQTtFQUNJLG1CQUFBO0FBQ0o7O0FBRUE7RUFDSSxvQ0FBQTtFQUNBLHdGQUFBO1VBQUEsZ0ZBQUE7RUFDQSxlQUFBO0FBQ0o7O0FBRUE7RUFDSSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7QUFDSjs7QUFFQTtFQUVJO0lBQ0ksU0FBQTtJQUNBLFVBQUE7RUFBTjs7RUFHRTtJQUNJLGtCQUFBO0VBQU47O0VBR0U7SUFDSSxpQkFBQTtJQUNBLGtCQUFBO0VBQU47QUFDRiIsImZpbGUiOiJzcmMvYXBwL2xheW91dC9pbnB1dHMvcGFhcmktaW5wdXQtbnVtYmVyLWNvb3JkaW5hdGVzL3BhYXJpLWlucHV0LW51bWJlci1jb29yZGluYXRlcy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbImlucHV0IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcGFkZGluZzogOHB4IDE1cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGNkY2RiO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTVweDtcclxuICAgIGhlaWdodDogMzlweDtcclxufVxyXG5cclxubGFiZWwge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogLTQwcHg7XHJcbn1cclxuXHJcbi5ib3R0b20tc3BhY2Uge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxufVxyXG5cclxuLm5nLXRvdWNoZWQuZm9ybS1pbnZhbGlkIHtcclxuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMzgsOTUsOTEsLjgpO1xyXG4gICAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpIGluc2V0LCAwIDAgOHB4IHJnYmEoMjM4LDk1LDkxLC42KTtcclxuICAgIG91dGxpbmU6IDAgbm9uZTtcclxufVxyXG5cclxuLnZhbGlkYXRpb24tZXJyb3ItYWxlcnQge1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMS40ZW07XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG5cclxuICAgIGxhYmVsIHtcclxuICAgICAgICB0b3A6IDI0cHg7XHJcbiAgICAgICAgbGVmdDogMTVweDtcclxuICAgIH1cclxuXHJcbiAgICBpbnB1dCB7XHJcbiAgICAgICAgdGV4dC1pbmRlbnQ6IDI1MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5mb3JtLWdyb3VwIHtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTBweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbiAgICB9XHJcbn1cclxuIl19 */\";","export default \"
\\r\\n
\\r\\n {{ message | translate }}\\r\\n
\\r\\n
\";","import { Injectable, isDevMode } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ActivatedRouteSnapshot, CanDeactivate, RouterStateSnapshot } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { YesNoCancelModalComponent } from '../../layout/modals/yes-no-cancel-modal/yes-no-cancel-modal.component';\r\n\r\nexport interface CanComponentDeactivate {\r\n canDeactivate: () => Observable | Promise | boolean;\r\n}\r\n\r\n@Injectable()\r\nexport class ChangesTrackerCanDeactivateGuard implements CanDeactivate {\r\n\r\n confirmPromise?: Promise;\r\n\r\n constructor(private dialog: MatDialog) { }\r\n\r\n canDeactivate(\r\n component: any,\r\n route: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot\r\n ): Promise {\r\n try {\r\n\r\n if (component.changeTracker?.dataChanged) {\r\n\r\n return new Promise((resolve, reject) => {\r\n const bsModalRef = this.dialog.open(YesNoCancelModalComponent);\r\n bsModalRef.componentInstance.onYes.subscribe(() => {\r\n component.changeTracker.onConfirm();\r\n resolve(true)\r\n })\r\n bsModalRef.componentInstance.onNo.subscribe(() => {\r\n resolve(true)\r\n })\r\n bsModalRef.componentInstance.onCancel.subscribe(() => {\r\n resolve(false)\r\n })\r\n bsModalRef.backdropClick().subscribe(() => {\r\n resolve(false)\r\n })\r\n })\r\n }\r\n else {\r\n return Promise.resolve(true)\r\n }\r\n } catch (err) {\r\n if (isDevMode()) {\r\n console.error(\"ChangesTrackerCanDeactivateGuard\", err)\r\n }\r\n return Promise.resolve(true)\r\n }\r\n }\r\n\r\n}\r\n","import { Component, ElementRef, EventEmitter, Input, NgZone, OnInit, Output, ViewChild } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'paari-map-search',\r\n templateUrl: './paari-map-search.component.html',\r\n styleUrls: ['./paari-map-search.component.scss']\r\n})\r\nexport class PaariMapSearchComponent implements OnInit {\r\n\r\n @Input() latitude!: number;\r\n @Input() longitude!: number;\r\n @Input() zoom!: number;\r\n @Input() address!: string;\r\n @Output() sendCoordinates: EventEmitter = new EventEmitter();\r\n @ViewChild('search', { static: true }) public searchElementRef!: ElementRef;\r\n\r\n center: google.maps.LatLngLiteral = { lat: 51.678418, lng: 7.809007 };\r\n position: google.maps.LatLngLiteral = { lat: 51.678418, lng: 7.809007 };\r\n options: google.maps.MapOptions = { disableDefaultUI: true };\r\n\r\n constructor(private ngZone: NgZone) { }\r\n\r\n ngOnInit(): void {\r\n if (this.address) {\r\n this.searchElementRef.nativeElement.value = this.address;\r\n this.geocodeLatLng(this.address).then(position => {\r\n this.setCoordinates(position.lat(), position.lng());\r\n this.setCenter(position.lat(), position.lng());\r\n });\r\n }\r\n\r\n if (this.latitude && this.longitude) {\r\n this.setCoordinates(this.latitude, this.longitude);\r\n this.setCenter(this.latitude, this.longitude);\r\n }\r\n\r\n this.autocompleteListener();\r\n }\r\n\r\n geocodeLatLng(address: string): Promise {\r\n let geocoder = new google.maps.Geocoder();\r\n return new Promise((resolve, reject) => {\r\n geocoder.geocode({ 'address': address }, (results, status) => {\r\n status === google.maps.GeocoderStatus.OK\r\n ? resolve(results![0].geometry.location)\r\n : reject();\r\n });\r\n });\r\n }\r\n\r\n autocompleteListener(): void {\r\n let inputField = this.searchElementRef.nativeElement;\r\n let opts: google.maps.places.AutocompleteOptions = { types: ['address'] }\r\n let autocomplete = new google.maps.places.Autocomplete(inputField, opts);\r\n\r\n autocomplete.addListener('place_changed', () => {\r\n this.ngZone.run(() => {\r\n let place: google.maps.places.PlaceResult = autocomplete.getPlace();\r\n if (place.geometry && place.geometry.location) {\r\n this.setCenter(\r\n place.geometry.location.lat(),\r\n place.geometry.location.lng()\r\n );\r\n this.setCoordinates(\r\n place.geometry.location.lat(),\r\n place.geometry.location.lng()\r\n );\r\n }\r\n });\r\n });\r\n\r\n setTimeout(function () {\r\n jQuery('.pac-container').appendTo('#map-autocomplete-container');\r\n jQuery('.pac-container').addClass('fixed-map-pos-autocomplete');\r\n }, 300);\r\n }\r\n\r\n setCoordinates(lat: number, lng: number): void {\r\n this.position = { lat: lat, lng: lng };\r\n this.sendCoordinates.emit({ lat: lat, lng: lng });\r\n }\r\n\r\n setCenter(lat: number, lng: number): void {\r\n this.center = { lat: lat, lng: lng };\r\n }\r\n\r\n selectLocation(event: google.maps.MapMouseEvent | google.maps.IconMouseEvent): void {\r\n if (event.latLng) {\r\n this.setCoordinates(event.latLng.lat(), event.latLng.lng());\r\n }\r\n }\r\n\r\n setCurrentPosition(): void {\r\n if ('geolocation' in navigator) {\r\n navigator.geolocation.getCurrentPosition(position => {\r\n this.setCenter(\r\n position.coords.latitude,\r\n position.coords.longitude\r\n );\r\n this.setCoordinates(\r\n position.coords.latitude,\r\n position.coords.longitude\r\n );\r\n });\r\n }\r\n }\r\n}\r\n","import { NumberInput, coerceNumberProperty } from \"@angular/cdk/coercion\";\r\nimport {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n ViewChild\r\n} from \"@angular/core\";\r\nimport { ValidatorModel } from \"../../shared/validator.model\";\r\nimport { BaseInputComponent } from \"../paari-base-input/base-input.component\";\r\n\r\n@Component({\r\n selector: \"paari-input-number\",\r\n templateUrl: \"./paari.input.number.component.html\",\r\n styleUrls: [\"./paari.input.number.component.scss\"]\r\n})\r\n/** paari-input-number component*/\r\nexport class PaariInputNumberComponent implements BaseInputComponent {\r\n @Input() id!: string;\r\n @Input() label!: string;\r\n @Input() bottomSpace!: string;\r\n @Input() validators!: ValidatorModel[];\r\n @Input() disabled: boolean = false;\r\n @ViewChild(\"inputField\", { static: true }) inputField!: ElementRef;\r\n public formGroupValid: boolean = true;\r\n private _model!: number;\r\n\r\n @Output() modelChange = new EventEmitter();\r\n @Input(\"model\")\r\n set model(value: NumberInput) {\r\n if (this._model == value) return;\r\n this._model = coerceNumberProperty(value, 0);\r\n this.modelChange.emit(this._model);\r\n if (this.inputField.nativeElement.classList.contains(\"ng-touched\")) {\r\n this.validateForm();\r\n }\r\n }\r\n get model() {\r\n return this._model;\r\n }\r\n\r\n public validateForm() {\r\n let classesList = this.inputField.nativeElement.classList;\r\n if (classesList.contains(\"ng-untouched\")) {\r\n classesList.remove(\"ng-untouched\");\r\n classesList.add(\"ng-touched\");\r\n this.validateForm();\r\n }\r\n let result: boolean = true;\r\n if (this.validators != null) {\r\n this.validators.forEach(validator => {\r\n if (!validator.validate(this.model)) {\r\n result = false;\r\n }\r\n });\r\n }\r\n this.formGroupValid = result;\r\n return result;\r\n }\r\n isDirty(): boolean {\r\n return this.inputField.nativeElement.classList.contains(\"ng-dirty\");\r\n }\r\n}\r\n","export default \"input {\\n width: 100%;\\n padding: 8px 15px;\\n background-color: #dcdcdb;\\n border: none;\\n border-radius: 15px;\\n height: 39px;\\n}\\n\\nlabel {\\n position: relative;\\n margin-bottom: 0px;\\n margin-bottom: -40px;\\n}\\n\\n.bottom-space {\\n margin-bottom: 25px;\\n}\\n\\n.ng-touched.form-invalid {\\n border-color: rgba(238, 95, 91, 0.8);\\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(238, 95, 91, 0.6);\\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(238, 95, 91, 0.6);\\n outline: 0 none;\\n}\\n\\n.validation-error-alert {\\n margin-top: 10px;\\n border-radius: 15px;\\n line-height: 1.4em;\\n}\\n\\n@media (min-width: 768px) {\\n label {\\n top: 24px;\\n left: 15px;\\n }\\n\\n input {\\n padding-left: 252px;\\n }\\n\\n .form-group {\\n line-height: 10px;\\n margin-bottom: 0px;\\n }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbGF5b3V0L2lucHV0cy9wYWFyaS1pbnB1dC1udW1iZXIvcGFhcmkuaW5wdXQubnVtYmVyLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsV0FBQTtFQUNBLGlCQUFBO0VBQ0EseUJBQUE7RUFDQSxZQUFBO0VBQ0EsbUJBQUE7RUFDQSxZQUFBO0FBQ0Y7O0FBRUE7RUFDRSxrQkFBQTtFQUNBLGtCQUFBO0VBQ0Esb0JBQUE7QUFDRjs7QUFFQTtFQUNFLG1CQUFBO0FBQ0Y7O0FBRUE7RUFDRSxvQ0FBQTtFQUNBLHdGQUFBO1VBQUEsZ0ZBQUE7RUFDQSxlQUFBO0FBQ0Y7O0FBRUE7RUFDRSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7QUFDRjs7QUFFQTtFQUVFO0lBQ0UsU0FBQTtJQUNBLFVBQUE7RUFBRjs7RUFHQTtJQUNFLG1CQUFBO0VBQUY7O0VBR0E7SUFDRSxpQkFBQTtJQUNBLGtCQUFBO0VBQUY7QUFDRiIsImZpbGUiOiJzcmMvYXBwL2xheW91dC9pbnB1dHMvcGFhcmktaW5wdXQtbnVtYmVyL3BhYXJpLmlucHV0Lm51bWJlci5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbImlucHV0IHtcclxuICB3aWR0aDogMTAwJTtcclxuICBwYWRkaW5nOiA4cHggMTVweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGNkY2RiO1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBib3JkZXItcmFkaXVzOiAxNXB4O1xyXG4gIGhlaWdodDogMzlweDtcclxufVxyXG5cclxubGFiZWwge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogLTQwcHg7XHJcbn1cclxuXHJcbi5ib3R0b20tc3BhY2Uge1xyXG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbn1cclxuXHJcbi5uZy10b3VjaGVkLmZvcm0taW52YWxpZCB7XHJcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDIzOCwgOTUsIDkxLCAuOCk7XHJcbiAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpIGluc2V0LCAwIDAgOHB4IHJnYmEoMjM4LCA5NSwgOTEsIC42KTtcclxuICBvdXRsaW5lOiAwIG5vbmU7XHJcbn1cclxuXHJcbi52YWxpZGF0aW9uLWVycm9yLWFsZXJ0IHtcclxuICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDE1cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDEuNGVtO1xyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuXHJcbiAgbGFiZWwge1xyXG4gICAgdG9wOiAyNHB4O1xyXG4gICAgbGVmdDogMTVweDtcclxuICB9XHJcblxyXG4gIGlucHV0IHtcclxuICAgIHBhZGRpbmctbGVmdDogMjUycHg7XHJcbiAgfVxyXG5cclxuICAuZm9ybS1ncm91cCB7XHJcbiAgICBsaW5lLWhlaWdodDogMTBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDBweDtcclxuICB9XHJcbn1cclxuIl19 */\";","//----------------------\r\n// \r\n// Generated using the NSwag toolchain v13.16.1.0 (NJsonSchema v10.7.2.0 (Newtonsoft.Json v12.0.0.0)) (http://NSwag.org)\r\n// \r\n//----------------------\r\n\r\n/* tslint:disable */\r\n/* eslint-disable */\r\n// ReSharper disable InconsistentNaming\r\n\r\nimport { HttpClient, HttpHeaders, HttpResponse, HttpResponseBase } from '@angular/common/http';\r\nimport { Inject, Injectable, InjectionToken, Optional } from '@angular/core';\r\nimport { Observable, of as _observableOf, throwError as _observableThrow } from 'rxjs';\r\nimport { catchError as _observableCatch, mergeMap as _observableMergeMap } from 'rxjs/operators';\r\n\r\nexport const API_BASE_URL_TSM = new InjectionToken('API_BASE_URL_TSM');\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ArrivalV2Client {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_TSM) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost/TSM.Api\";\r\n }\r\n\r\n getLocationRoles(): Observable {\r\n let url_ = this.baseUrl + \"/v2/arrival/GetLocationRoles\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetLocationRoles(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetLocationRoles(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetLocationRoles(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = AvailableLocationRoles.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getLocationTableSettings(locationId: number): Observable {\r\n let url_ = this.baseUrl + \"/v2/arrival/GetLocationTableSettings?\";\r\n if (locationId === undefined || locationId === null)\r\n throw new Error(\"The parameter 'locationId' must be defined and cannot be null.\");\r\n else\r\n url_ += \"locationId=\" + encodeURIComponent(\"\" + locationId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetLocationTableSettings(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetLocationTableSettings(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetLocationTableSettings(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ArrivalTableSettingsDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getRoleTableSettings(roleId: string): Observable {\r\n let url_ = this.baseUrl + \"/v2/arrival/GetRoleTableSettings?\";\r\n if (roleId === undefined || roleId === null)\r\n throw new Error(\"The parameter 'roleId' must be defined and cannot be null.\");\r\n else\r\n url_ += \"roleId=\" + encodeURIComponent(\"\" + roleId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetRoleTableSettings(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetRoleTableSettings(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetRoleTableSettings(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ArrivalTableSettingsDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getTimeSlotsByLocation(inputModel: TimeSLotByLocationInputModel | null): Observable {\r\n let url_ = this.baseUrl + \"/v2/arrival/GetTimeSlotsByLocation\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetTimeSlotsByLocation(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetTimeSlotsByLocation(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetTimeSlotsByLocation(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ArrivalDashboardDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getTimeSlotsByRole(inputModel: TimeSlotByRoleInputModel | null): Observable {\r\n let url_ = this.baseUrl + \"/v2/arrival/GetTimeSlotsByRole\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetTimeSlotsByRole(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetTimeSlotsByRole(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetTimeSlotsByRole(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ArrivalDashboardDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n validateUserRole(inputModel: ValidateUserRoleInputModel | null): Observable {\r\n let url_ = this.baseUrl + \"/v2/arrival/ValidateUserRole\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processValidateUserRole(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processValidateUserRole(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processValidateUserRole(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n validateUserLocation(inputModel: ValidateUserLocationInputModel | null): Observable {\r\n let url_ = this.baseUrl + \"/v2/arrival/ValidateUserLocation\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processValidateUserLocation(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processValidateUserLocation(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processValidateUserLocation(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n signalRModel(): Observable {\r\n let url_ = this.baseUrl + \"/v2/arrival/SignalRModel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processSignalRModel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSignalRModel(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processSignalRModel(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ArrivalTimeSlotMessage.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BookingApiV2Client {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_TSM) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost/TSM.Api\";\r\n }\r\n\r\n getBookingDomains(locationId: number): Observable {\r\n let url_ = this.baseUrl + \"/v2/booking/GetBookingDomains?\";\r\n if (locationId === undefined || locationId === null)\r\n throw new Error(\"The parameter 'locationId' must be defined and cannot be null.\");\r\n else\r\n url_ += \"locationId=\" + encodeURIComponent(\"\" + locationId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetBookingDomains(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetBookingDomains(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetBookingDomains(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = LocationBookingDomainsDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n saveBookingDomain(inputModel: LocationBookingDomainDto | null): Observable {\r\n let url_ = this.baseUrl + \"/v2/booking/SaveEmailBooking\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processSaveBookingDomain(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSaveBookingDomain(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processSaveBookingDomain(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n updateBookingDomain(inputModel: LocationBookingDomainDto | null): Observable {\r\n let url_ = this.baseUrl + \"/v2/booking/UpdateEmailBooking\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processUpdateBookingDomain(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpdateBookingDomain(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processUpdateBookingDomain(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n deleteBookingDomain(inputModel: LocationBookingDomainDto | null): Observable {\r\n let url_ = this.baseUrl + \"/v2/booking/DeleteEmailBooking\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processDeleteBookingDomain(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDeleteBookingDomain(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDeleteBookingDomain(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n saveBookingDomains(inputModel: LocationBookingDomainsInputModel | null): Observable {\r\n let url_ = this.baseUrl + \"/v2/booking/SaveBookingDomains\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processSaveBookingDomains(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSaveBookingDomains(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processSaveBookingDomains(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CloudSyncClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_TSM) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost/TSM.Api\";\r\n }\r\n\r\n getLibraVersion(locationCode: string | null): Observable {\r\n let url_ = this.baseUrl + \"/v1/cloudsync/GetLibraVersion?\";\r\n if (locationCode === undefined)\r\n throw new Error(\"The parameter 'locationCode' must be defined.\");\r\n else if (locationCode !== null)\r\n url_ += \"locationCode=\" + encodeURIComponent(\"\" + locationCode) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetLibraVersion(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetLibraVersion(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetLibraVersion(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getSyncVersion(locationCode: string | null): Observable {\r\n let url_ = this.baseUrl + \"/v1/cloudsync/GetSyncVersion?\";\r\n if (locationCode === undefined)\r\n throw new Error(\"The parameter 'locationCode' must be defined.\");\r\n else if (locationCode !== null)\r\n url_ += \"locationCode=\" + encodeURIComponent(\"\" + locationCode) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetSyncVersion(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetSyncVersion(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetSyncVersion(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n setSyncLogLevel(locationCode: string | null, level: LogEventLevel): Observable {\r\n let url_ = this.baseUrl + \"/v1/cloudsync/SetSyncLogLevel?\";\r\n if (locationCode === undefined)\r\n throw new Error(\"The parameter 'locationCode' must be defined.\");\r\n else if (locationCode !== null)\r\n url_ += \"locationCode=\" + encodeURIComponent(\"\" + locationCode) + \"&\";\r\n if (level === undefined || level === null)\r\n throw new Error(\"The parameter 'level' must be defined and cannot be null.\");\r\n else\r\n url_ += \"level=\" + encodeURIComponent(\"\" + level) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processSetSyncLogLevel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSetSyncLogLevel(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processSetSyncLogLevel(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n remotePushConfiguration(locationCode: string | null): Observable {\r\n let url_ = this.baseUrl + \"/v1/cloudsync/RemotePushConfiguration?\";\r\n if (locationCode === undefined)\r\n throw new Error(\"The parameter 'locationCode' must be defined.\");\r\n else if (locationCode !== null)\r\n url_ += \"locationCode=\" + encodeURIComponent(\"\" + locationCode) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processRemotePushConfiguration(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processRemotePushConfiguration(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processRemotePushConfiguration(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoggerClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_TSM) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost/TSM.Api\";\r\n }\r\n\r\n currentLogLevel(): Observable {\r\n let url_ = this.baseUrl + \"/v1/logger/CurrentLogLevel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processCurrentLogLevel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCurrentLogLevel(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processCurrentLogLevel(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n changeLogLevel(newLevel: string | null): Observable {\r\n let url_ = this.baseUrl + \"/v1/logger/ChangeLogLevel?\";\r\n if (newLevel === undefined)\r\n throw new Error(\"The parameter 'newLevel' must be defined.\");\r\n else if (newLevel !== null)\r\n url_ += \"newLevel=\" + encodeURIComponent(\"\" + newLevel) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processChangeLogLevel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processChangeLogLevel(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processChangeLogLevel(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TsmApiV2Client {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_TSM) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost/TSM.Api\";\r\n }\r\n\r\n getLocations(): Observable {\r\n let url_ = this.baseUrl + \"/v2/Tsm/GetLocations\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetLocations(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetLocations(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetLocations(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SelectLocationDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getSettings(locationId: number | undefined, roleId: string | undefined, permission: CloudUserRoles | undefined, bookingMethod: TimeSlotBookingMethod | undefined, bookingNumber: string | null | undefined, startDate: Date | undefined, endDate: Date | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v2/Tsm/GetSettings?\";\r\n if (locationId === null)\r\n throw new Error(\"The parameter 'locationId' cannot be null.\");\r\n else if (locationId !== undefined)\r\n url_ += \"locationId=\" + encodeURIComponent(\"\" + locationId) + \"&\";\r\n if (roleId === null)\r\n throw new Error(\"The parameter 'roleId' cannot be null.\");\r\n else if (roleId !== undefined)\r\n url_ += \"roleId=\" + encodeURIComponent(\"\" + roleId) + \"&\";\r\n if (permission === null)\r\n throw new Error(\"The parameter 'permission' cannot be null.\");\r\n else if (permission !== undefined)\r\n url_ += \"permission=\" + encodeURIComponent(\"\" + permission) + \"&\";\r\n if (bookingMethod === null)\r\n throw new Error(\"The parameter 'bookingMethod' cannot be null.\");\r\n else if (bookingMethod !== undefined)\r\n url_ += \"bookingMethod=\" + encodeURIComponent(\"\" + bookingMethod) + \"&\";\r\n if (bookingNumber !== undefined && bookingNumber !== null)\r\n url_ += \"bookingNumber=\" + encodeURIComponent(\"\" + bookingNumber) + \"&\";\r\n if (startDate === null)\r\n throw new Error(\"The parameter 'startDate' cannot be null.\");\r\n else if (startDate !== undefined)\r\n url_ += \"startDate=\" + encodeURIComponent(startDate ? \"\" + startDate.toISOString() : \"\") + \"&\";\r\n if (endDate === null)\r\n throw new Error(\"The parameter 'endDate' cannot be null.\");\r\n else if (endDate !== undefined)\r\n url_ += \"endDate=\" + encodeURIComponent(endDate ? \"\" + endDate.toISOString() : \"\") + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetSettings(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetSettings(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetSettings(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SchedulerSettingsDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getTimeSlots(inputModel: GetTimeSlotsInputModel | null): Observable {\r\n let url_ = this.baseUrl + \"/v2/Tsm/GetTimeSlots\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetTimeSlots(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetTimeSlots(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetTimeSlots(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(TsmTimeSlotDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n saveTimeSlot(inputModel: SaveTimeSlotInputModel | null): Observable {\r\n let url_ = this.baseUrl + \"/v2/Tsm/SaveTimeSlot\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processSaveTimeSlot(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSaveTimeSlot(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processSaveTimeSlot(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = UpdateTimeSlotDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n saveTimeSlotLibra(inputModel: LibraSaveTimeSlotInputModel | null): Observable {\r\n let url_ = this.baseUrl + \"/v2/Tsm/SaveTimeSlotLibra\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processSaveTimeSlotLibra(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSaveTimeSlotLibra(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processSaveTimeSlotLibra(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n changeTimeSlotStatus(inputModel: ChangeTimeSlotStatusInputModel | null): Observable {\r\n let url_ = this.baseUrl + \"/v2/Tsm/ChangeTimeSlotStatus\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processChangeTimeSlotStatus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processChangeTimeSlotStatus(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processChangeTimeSlotStatus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n deleteTimeSlot(inputModel: DeleteTimeSlotInputModel | null): Observable {\r\n let url_ = this.baseUrl + \"/v2/Tsm/DeleteTimeSlot\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processDeleteTimeSlot(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDeleteTimeSlot(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDeleteTimeSlot(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = UpdateTimeSlotDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n deleteTimeSlotLibra(inputModel: PDeleteTimeSlotInputModel | null): Observable {\r\n let url_ = this.baseUrl + \"/v2/Tsm/DeleteTimeSlotLibra\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processDeleteTimeSlotLibra(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDeleteTimeSlotLibra(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDeleteTimeSlotLibra(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n validatePermissions(userId: string | undefined, roleId: string | undefined, locationId: number | undefined, permission: CloudUserRoles | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v2/Tsm/ValidatePermissions?\";\r\n if (userId === null)\r\n throw new Error(\"The parameter 'userId' cannot be null.\");\r\n else if (userId !== undefined)\r\n url_ += \"userId=\" + encodeURIComponent(\"\" + userId) + \"&\";\r\n if (roleId === null)\r\n throw new Error(\"The parameter 'roleId' cannot be null.\");\r\n else if (roleId !== undefined)\r\n url_ += \"roleId=\" + encodeURIComponent(\"\" + roleId) + \"&\";\r\n if (locationId === null)\r\n throw new Error(\"The parameter 'locationId' cannot be null.\");\r\n else if (locationId !== undefined)\r\n url_ += \"locationId=\" + encodeURIComponent(\"\" + locationId) + \"&\";\r\n if (permission === null)\r\n throw new Error(\"The parameter 'permission' cannot be null.\");\r\n else if (permission !== undefined)\r\n url_ += \"permission=\" + encodeURIComponent(\"\" + permission) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processValidatePermissions(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processValidatePermissions(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processValidatePermissions(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getAvailableRamps(userId: string | undefined, roleId: string | undefined, locationId: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v2/Tsm/GetAvailableRamps?\";\r\n if (userId === null)\r\n throw new Error(\"The parameter 'userId' cannot be null.\");\r\n else if (userId !== undefined)\r\n url_ += \"userId=\" + encodeURIComponent(\"\" + userId) + \"&\";\r\n if (roleId === null)\r\n throw new Error(\"The parameter 'roleId' cannot be null.\");\r\n else if (roleId !== undefined)\r\n url_ += \"roleId=\" + encodeURIComponent(\"\" + roleId) + \"&\";\r\n if (locationId === null)\r\n throw new Error(\"The parameter 'locationId' cannot be null.\");\r\n else if (locationId !== undefined)\r\n url_ += \"locationId=\" + encodeURIComponent(\"\" + locationId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetAvailableRamps(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetAvailableRamps(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetAvailableRamps(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(item);\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getLocationByLocationCode(locationCode: string | null): Observable {\r\n let url_ = this.baseUrl + \"/v2/Tsm/GetLocationByLocationCode?\";\r\n if (locationCode === undefined)\r\n throw new Error(\"The parameter 'locationCode' must be defined.\");\r\n else if (locationCode !== null)\r\n url_ += \"locationCode=\" + encodeURIComponent(\"\" + locationCode) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetLocationByLocationCode(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetLocationByLocationCode(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetLocationByLocationCode(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SelectLocationDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TsmUserConfigClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_TSM) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost/TSM.Api\";\r\n }\r\n\r\n getLocations(): Observable {\r\n let url_ = this.baseUrl + \"/v2/TsmUserConfig/GetLocations\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetLocations(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetLocations(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetLocations(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = UserTsmLocationsDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n connect(inputModel: ConnectZfmInputModel | null): Observable {\r\n let url_ = this.baseUrl + \"/v2/TsmUserConfig/Connect\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processConnect(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processConnect(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processConnect(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n updateLocation(inputModel: UpdateZfmLocationInputModel | null): Observable {\r\n let url_ = this.baseUrl + \"/v2/TsmUserConfig/UpdateLocation\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processUpdateLocation(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpdateLocation(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processUpdateLocation(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n removeConnection(inputModel: RemoveZfmConnectionInputModel | null): Observable {\r\n let url_ = this.baseUrl + \"/v2/TsmUserConfig/RemoveConnection\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processRemoveConnection(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processRemoveConnection(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processRemoveConnection(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GroupConfigurationV2Client {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_TSM) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost/TSM.Api\";\r\n }\r\n\r\n getGroups(locationId: number): Observable {\r\n let url_ = this.baseUrl + \"/v2/group/GetGroups?\";\r\n if (locationId === undefined || locationId === null)\r\n throw new Error(\"The parameter 'locationId' must be defined and cannot be null.\");\r\n else\r\n url_ += \"locationId=\" + encodeURIComponent(\"\" + locationId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetGroups(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetGroups(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetGroups(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = GroupListDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getGroup(groupId: string): Observable {\r\n let url_ = this.baseUrl + \"/v2/group/GetGroup?\";\r\n if (groupId === undefined || groupId === null)\r\n throw new Error(\"The parameter 'groupId' must be defined and cannot be null.\");\r\n else\r\n url_ += \"groupId=\" + encodeURIComponent(\"\" + groupId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetGroup(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetGroup(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetGroup(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = LocationGroupDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n saveGroup(inputModel: LocationGroupDto | null): Observable {\r\n let url_ = this.baseUrl + \"/v2/group/SaveGroup\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processSaveGroup(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSaveGroup(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processSaveGroup(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getNewGroup(locationId: number): Observable {\r\n let url_ = this.baseUrl + \"/v2/group/GetNewGroup?\";\r\n if (locationId === undefined || locationId === null)\r\n throw new Error(\"The parameter 'locationId' must be defined and cannot be null.\");\r\n else\r\n url_ += \"locationId=\" + encodeURIComponent(\"\" + locationId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetNewGroup(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetNewGroup(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetNewGroup(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = LocationGroupDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n deleteGroup(groupId: string): Observable {\r\n let url_ = this.baseUrl + \"/v2/group/DeleteGroup?\";\r\n if (groupId === undefined || groupId === null)\r\n throw new Error(\"The parameter 'groupId' must be defined and cannot be null.\");\r\n else\r\n url_ += \"groupId=\" + encodeURIComponent(\"\" + groupId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processDeleteGroup(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDeleteGroup(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDeleteGroup(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProcessConfigurationV2Client {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_TSM) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost/TSM.Api\";\r\n }\r\n\r\n getProcesses(locationId: number): Observable {\r\n let url_ = this.baseUrl + \"/v2/process/GetProcesses?\";\r\n if (locationId === undefined || locationId === null)\r\n throw new Error(\"The parameter 'locationId' must be defined and cannot be null.\");\r\n else\r\n url_ += \"locationId=\" + encodeURIComponent(\"\" + locationId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetProcesses(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetProcesses(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetProcesses(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ProcessListDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getProcess(processId: string): Observable {\r\n let url_ = this.baseUrl + \"/v2/process/GetProcess?\";\r\n if (processId === undefined || processId === null)\r\n throw new Error(\"The parameter 'processId' must be defined and cannot be null.\");\r\n else\r\n url_ += \"processId=\" + encodeURIComponent(\"\" + processId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetProcess(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetProcess(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetProcess(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = LocationProcessDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getNewProcess(locationId: number): Observable {\r\n let url_ = this.baseUrl + \"/v2/process/GetNewProcess?\";\r\n if (locationId === undefined || locationId === null)\r\n throw new Error(\"The parameter 'locationId' must be defined and cannot be null.\");\r\n else\r\n url_ += \"locationId=\" + encodeURIComponent(\"\" + locationId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetNewProcess(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetNewProcess(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetNewProcess(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = LocationProcessDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n saveProcess(inputModel: LocationProcessDto | null): Observable {\r\n let url_ = this.baseUrl + \"/v2/process/SaveProcess\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processSaveProcess(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSaveProcess(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processSaveProcess(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n deleteProcess(processId: string): Observable {\r\n let url_ = this.baseUrl + \"/v2/process/DeleteProcess?\";\r\n if (processId === undefined || processId === null)\r\n throw new Error(\"The parameter 'processId' must be defined and cannot be null.\");\r\n else\r\n url_ += \"processId=\" + encodeURIComponent(\"\" + processId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processDeleteProcess(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDeleteProcess(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDeleteProcess(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RampConfigurationV2Client {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_TSM) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost/TSM.Api\";\r\n }\r\n\r\n getRamps(locationId: number): Observable {\r\n let url_ = this.baseUrl + \"/v2/ramp/GetRamps?\";\r\n if (locationId === undefined || locationId === null)\r\n throw new Error(\"The parameter 'locationId' must be defined and cannot be null.\");\r\n else\r\n url_ += \"locationId=\" + encodeURIComponent(\"\" + locationId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetRamps(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetRamps(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetRamps(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = RampListDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getRamp(rampId: string): Observable {\r\n let url_ = this.baseUrl + \"/v2/ramp/GetRamp?\";\r\n if (rampId === undefined || rampId === null)\r\n throw new Error(\"The parameter 'rampId' must be defined and cannot be null.\");\r\n else\r\n url_ += \"rampId=\" + encodeURIComponent(\"\" + rampId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetRamp(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetRamp(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetRamp(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = LocationRampDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getNewRamp(locationId: number): Observable {\r\n let url_ = this.baseUrl + \"/v2/ramp/GetNewRamp?\";\r\n if (locationId === undefined || locationId === null)\r\n throw new Error(\"The parameter 'locationId' must be defined and cannot be null.\");\r\n else\r\n url_ += \"locationId=\" + encodeURIComponent(\"\" + locationId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetNewRamp(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetNewRamp(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetNewRamp(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = LocationRampDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n saveRamp(inputModel: LocationRampDto | null): Observable {\r\n let url_ = this.baseUrl + \"/v2/ramp/SaveRamp\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processSaveRamp(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSaveRamp(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processSaveRamp(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n deleteRamp(rampId: string): Observable {\r\n let url_ = this.baseUrl + \"/v2/ramp/DeleteRamp?\";\r\n if (rampId === undefined || rampId === null)\r\n throw new Error(\"The parameter 'rampId' must be defined and cannot be null.\");\r\n else\r\n url_ += \"rampId=\" + encodeURIComponent(\"\" + rampId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processDeleteRamp(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDeleteRamp(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDeleteRamp(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TsmConfigurationV2Client {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_TSM) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost/TSM.Api\";\r\n }\r\n\r\n getConfiguration(locationId: number): Observable {\r\n let url_ = this.baseUrl + \"/v2/Tsm/GetConfiguration?\";\r\n if (locationId === undefined || locationId === null)\r\n throw new Error(\"The parameter 'locationId' must be defined and cannot be null.\");\r\n else\r\n url_ += \"locationId=\" + encodeURIComponent(\"\" + locationId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetConfiguration(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetConfiguration(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetConfiguration(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = TsmConfigurationDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n saveConfiguration(inputModel: TsmConfigurationDto | null): Observable {\r\n let url_ = this.baseUrl + \"/v2/Tsm/SaveConfiguration\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processSaveConfiguration(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSaveConfiguration(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processSaveConfiguration(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport class AvailableLocationRoles implements IAvailableLocationRoles {\r\n locations?: ArrivalLocationDto[] | undefined;\r\n roles?: SimpleRoleDto[] | undefined;\r\n\r\n constructor(data?: IAvailableLocationRoles) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"locations\"])) {\r\n this.locations = [] as any;\r\n for (let item of _data[\"locations\"])\r\n this.locations!.push(ArrivalLocationDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"roles\"])) {\r\n this.roles = [] as any;\r\n for (let item of _data[\"roles\"])\r\n this.roles!.push(SimpleRoleDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): AvailableLocationRoles {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AvailableLocationRoles();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.locations)) {\r\n data[\"locations\"] = [];\r\n for (let item of this.locations)\r\n data[\"locations\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.roles)) {\r\n data[\"roles\"] = [];\r\n for (let item of this.roles)\r\n data[\"roles\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAvailableLocationRoles {\r\n locations?: ArrivalLocationDto[] | undefined;\r\n roles?: SimpleRoleDto[] | undefined;\r\n}\r\n\r\nexport class ArrivalLocationDto implements IArrivalLocationDto {\r\n id!: number;\r\n code?: string | undefined;\r\n name?: string | undefined;\r\n address?: string | undefined;\r\n latitude!: number;\r\n longitude!: number;\r\n timeZone?: string | undefined;\r\n\r\n constructor(data?: IArrivalLocationDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.code = _data[\"code\"];\r\n this.name = _data[\"name\"];\r\n this.address = _data[\"address\"];\r\n this.latitude = _data[\"latitude\"];\r\n this.longitude = _data[\"longitude\"];\r\n this.timeZone = _data[\"timeZone\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ArrivalLocationDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ArrivalLocationDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"code\"] = this.code;\r\n data[\"name\"] = this.name;\r\n data[\"address\"] = this.address;\r\n data[\"latitude\"] = this.latitude;\r\n data[\"longitude\"] = this.longitude;\r\n data[\"timeZone\"] = this.timeZone;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IArrivalLocationDto {\r\n id: number;\r\n code?: string | undefined;\r\n name?: string | undefined;\r\n address?: string | undefined;\r\n latitude: number;\r\n longitude: number;\r\n timeZone?: string | undefined;\r\n}\r\n\r\nexport class SimpleRoleDto implements ISimpleRoleDto {\r\n id!: string;\r\n name?: string | undefined;\r\n code?: string | undefined;\r\n\r\n constructor(data?: ISimpleRoleDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.code = _data[\"code\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SimpleRoleDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SimpleRoleDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"code\"] = this.code;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISimpleRoleDto {\r\n id: string;\r\n name?: string | undefined;\r\n code?: string | undefined;\r\n}\r\n\r\nexport class ArrivalTableSettingsDto implements IArrivalTableSettingsDto {\r\n locationId!: number;\r\n hiddenColumns?: number[] | undefined;\r\n columnsOrder?: number[] | undefined;\r\n\r\n constructor(data?: IArrivalTableSettingsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.locationId = _data[\"locationId\"];\r\n if (Array.isArray(_data[\"hiddenColumns\"])) {\r\n this.hiddenColumns = [] as any;\r\n for (let item of _data[\"hiddenColumns\"])\r\n this.hiddenColumns!.push(item);\r\n }\r\n if (Array.isArray(_data[\"columnsOrder\"])) {\r\n this.columnsOrder = [] as any;\r\n for (let item of _data[\"columnsOrder\"])\r\n this.columnsOrder!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ArrivalTableSettingsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ArrivalTableSettingsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"locationId\"] = this.locationId;\r\n if (Array.isArray(this.hiddenColumns)) {\r\n data[\"hiddenColumns\"] = [];\r\n for (let item of this.hiddenColumns)\r\n data[\"hiddenColumns\"].push(item);\r\n }\r\n if (Array.isArray(this.columnsOrder)) {\r\n data[\"columnsOrder\"] = [];\r\n for (let item of this.columnsOrder)\r\n data[\"columnsOrder\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IArrivalTableSettingsDto {\r\n locationId: number;\r\n hiddenColumns?: number[] | undefined;\r\n columnsOrder?: number[] | undefined;\r\n}\r\n\r\nexport class ArrivalDashboardDto implements IArrivalDashboardDto {\r\n timeSlots?: ArrivalBoardTimeSlotDto[] | undefined;\r\n locations?: ArrivalLocationDto[] | undefined;\r\n\r\n constructor(data?: IArrivalDashboardDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"timeSlots\"])) {\r\n this.timeSlots = [] as any;\r\n for (let item of _data[\"timeSlots\"])\r\n this.timeSlots!.push(ArrivalBoardTimeSlotDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"locations\"])) {\r\n this.locations = [] as any;\r\n for (let item of _data[\"locations\"])\r\n this.locations!.push(ArrivalLocationDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ArrivalDashboardDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ArrivalDashboardDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.timeSlots)) {\r\n data[\"timeSlots\"] = [];\r\n for (let item of this.timeSlots)\r\n data[\"timeSlots\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.locations)) {\r\n data[\"locations\"] = [];\r\n for (let item of this.locations)\r\n data[\"locations\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IArrivalDashboardDto {\r\n timeSlots?: ArrivalBoardTimeSlotDto[] | undefined;\r\n locations?: ArrivalLocationDto[] | undefined;\r\n}\r\n\r\nexport class ArrivalBoardTimeSlotDto implements IArrivalBoardTimeSlotDto {\r\n timeslotId!: string;\r\n locationId!: number;\r\n title?: string | undefined;\r\n eta?: Date | undefined;\r\n lastUpdateTime?: Date | undefined;\r\n from!: Date;\r\n until!: Date;\r\n latitude?: number | undefined;\r\n longitude?: number | undefined;\r\n destinationAddress?: string | undefined;\r\n destinationLocation?: string | undefined;\r\n bookingNumber?: number | undefined;\r\n processName?: string | undefined;\r\n roleId!: string;\r\n roleName?: string | undefined;\r\n rampName?: string | undefined;\r\n userName?: string | undefined;\r\n isActive!: boolean;\r\n isLate!: boolean;\r\n isTooLate!: boolean;\r\n\r\n constructor(data?: IArrivalBoardTimeSlotDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.timeslotId = _data[\"timeslotId\"];\r\n this.locationId = _data[\"locationId\"];\r\n this.title = _data[\"title\"];\r\n this.eta = _data[\"eta\"] ? new Date(_data[\"eta\"].toString()) : undefined;\r\n this.lastUpdateTime = _data[\"lastUpdateTime\"] ? new Date(_data[\"lastUpdateTime\"].toString()) : undefined;\r\n this.from = _data[\"from\"] ? new Date(_data[\"from\"].toString()) : undefined;\r\n this.until = _data[\"until\"] ? new Date(_data[\"until\"].toString()) : undefined;\r\n this.latitude = _data[\"latitude\"];\r\n this.longitude = _data[\"longitude\"];\r\n this.destinationAddress = _data[\"destinationAddress\"];\r\n this.destinationLocation = _data[\"destinationLocation\"];\r\n this.bookingNumber = _data[\"bookingNumber\"];\r\n this.processName = _data[\"processName\"];\r\n this.roleId = _data[\"roleId\"];\r\n this.roleName = _data[\"roleName\"];\r\n this.rampName = _data[\"rampName\"];\r\n this.userName = _data[\"userName\"];\r\n this.isActive = _data[\"isActive\"];\r\n this.isLate = _data[\"isLate\"];\r\n this.isTooLate = _data[\"isTooLate\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ArrivalBoardTimeSlotDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ArrivalBoardTimeSlotDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"timeslotId\"] = this.timeslotId;\r\n data[\"locationId\"] = this.locationId;\r\n data[\"title\"] = this.title;\r\n data[\"eta\"] = this.eta ? this.eta.toISOString() : undefined;\r\n data[\"lastUpdateTime\"] = this.lastUpdateTime ? this.lastUpdateTime.toISOString() : undefined;\r\n data[\"from\"] = this.from ? this.from.toISOString() : undefined;\r\n data[\"until\"] = this.until ? this.until.toISOString() : undefined;\r\n data[\"latitude\"] = this.latitude;\r\n data[\"longitude\"] = this.longitude;\r\n data[\"destinationAddress\"] = this.destinationAddress;\r\n data[\"destinationLocation\"] = this.destinationLocation;\r\n data[\"bookingNumber\"] = this.bookingNumber;\r\n data[\"processName\"] = this.processName;\r\n data[\"roleId\"] = this.roleId;\r\n data[\"roleName\"] = this.roleName;\r\n data[\"rampName\"] = this.rampName;\r\n data[\"userName\"] = this.userName;\r\n data[\"isActive\"] = this.isActive;\r\n data[\"isLate\"] = this.isLate;\r\n data[\"isTooLate\"] = this.isTooLate;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IArrivalBoardTimeSlotDto {\r\n timeslotId: string;\r\n locationId: number;\r\n title?: string | undefined;\r\n eta?: Date | undefined;\r\n lastUpdateTime?: Date | undefined;\r\n from: Date;\r\n until: Date;\r\n latitude?: number | undefined;\r\n longitude?: number | undefined;\r\n destinationAddress?: string | undefined;\r\n destinationLocation?: string | undefined;\r\n bookingNumber?: number | undefined;\r\n processName?: string | undefined;\r\n roleId: string;\r\n roleName?: string | undefined;\r\n rampName?: string | undefined;\r\n userName?: string | undefined;\r\n isActive: boolean;\r\n isLate: boolean;\r\n isTooLate: boolean;\r\n}\r\n\r\nexport class TimeSLotByLocationInputModel implements ITimeSLotByLocationInputModel {\r\n locationId!: number;\r\n from!: Date;\r\n until!: Date;\r\n languageCode?: string | undefined;\r\n userId!: string;\r\n\r\n constructor(data?: ITimeSLotByLocationInputModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.locationId = _data[\"locationId\"];\r\n this.from = _data[\"from\"] ? new Date(_data[\"from\"].toString()) : undefined;\r\n this.until = _data[\"until\"] ? new Date(_data[\"until\"].toString()) : undefined;\r\n this.languageCode = _data[\"languageCode\"];\r\n this.userId = _data[\"userId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeSLotByLocationInputModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeSLotByLocationInputModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"locationId\"] = this.locationId;\r\n data[\"from\"] = this.from ? this.from.toISOString() : undefined;\r\n data[\"until\"] = this.until ? this.until.toISOString() : undefined;\r\n data[\"languageCode\"] = this.languageCode;\r\n data[\"userId\"] = this.userId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeSLotByLocationInputModel {\r\n locationId: number;\r\n from: Date;\r\n until: Date;\r\n languageCode?: string | undefined;\r\n userId: string;\r\n}\r\n\r\nexport class TimeSlotByRoleInputModel implements ITimeSlotByRoleInputModel {\r\n roleId!: string;\r\n from!: Date;\r\n until!: Date;\r\n languageCode?: string | undefined;\r\n userId!: string;\r\n\r\n constructor(data?: ITimeSlotByRoleInputModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.roleId = _data[\"roleId\"];\r\n this.from = _data[\"from\"] ? new Date(_data[\"from\"].toString()) : undefined;\r\n this.until = _data[\"until\"] ? new Date(_data[\"until\"].toString()) : undefined;\r\n this.languageCode = _data[\"languageCode\"];\r\n this.userId = _data[\"userId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeSlotByRoleInputModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeSlotByRoleInputModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"roleId\"] = this.roleId;\r\n data[\"from\"] = this.from ? this.from.toISOString() : undefined;\r\n data[\"until\"] = this.until ? this.until.toISOString() : undefined;\r\n data[\"languageCode\"] = this.languageCode;\r\n data[\"userId\"] = this.userId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeSlotByRoleInputModel {\r\n roleId: string;\r\n from: Date;\r\n until: Date;\r\n languageCode?: string | undefined;\r\n userId: string;\r\n}\r\n\r\nexport class ValidateUserRoleInputModel implements IValidateUserRoleInputModel {\r\n roleId!: string;\r\n userId!: string;\r\n\r\n constructor(data?: IValidateUserRoleInputModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.roleId = _data[\"roleId\"];\r\n this.userId = _data[\"userId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ValidateUserRoleInputModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ValidateUserRoleInputModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"roleId\"] = this.roleId;\r\n data[\"userId\"] = this.userId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IValidateUserRoleInputModel {\r\n roleId: string;\r\n userId: string;\r\n}\r\n\r\nexport class ValidateUserLocationInputModel implements IValidateUserLocationInputModel {\r\n locationId!: number;\r\n userId!: string;\r\n\r\n constructor(data?: IValidateUserLocationInputModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.locationId = _data[\"locationId\"];\r\n this.userId = _data[\"userId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ValidateUserLocationInputModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ValidateUserLocationInputModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"locationId\"] = this.locationId;\r\n data[\"userId\"] = this.userId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IValidateUserLocationInputModel {\r\n locationId: number;\r\n userId: string;\r\n}\r\n\r\nexport class ArrivalTimeSlotMessage implements IArrivalTimeSlotMessage {\r\n id!: string;\r\n locationId!: number;\r\n title?: string | undefined;\r\n destinationAddress?: string | undefined;\r\n destinationLocation?: string | undefined;\r\n eta?: Date | undefined;\r\n from!: Date;\r\n until!: Date;\r\n lastUpdate?: Date | undefined;\r\n address?: string | undefined;\r\n bookingUserName?: string | undefined;\r\n bookingNumber!: number;\r\n roleId!: string;\r\n roleName?: string | undefined;\r\n process?: string | undefined;\r\n processTranslations?: { [key: string]: string; } | undefined;\r\n rampName?: string | undefined;\r\n rampTranslations?: { [key: string]: string; } | undefined;\r\n latitude?: number | undefined;\r\n longitude?: number | undefined;\r\n isActive!: boolean;\r\n isLate!: boolean;\r\n isTooLate!: boolean;\r\n deleted!: boolean;\r\n\r\n constructor(data?: IArrivalTimeSlotMessage) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.locationId = _data[\"locationId\"];\r\n this.title = _data[\"title\"];\r\n this.destinationAddress = _data[\"destinationAddress\"];\r\n this.destinationLocation = _data[\"destinationLocation\"];\r\n this.eta = _data[\"eta\"] ? new Date(_data[\"eta\"].toString()) : undefined;\r\n this.from = _data[\"from\"] ? new Date(_data[\"from\"].toString()) : undefined;\r\n this.until = _data[\"until\"] ? new Date(_data[\"until\"].toString()) : undefined;\r\n this.lastUpdate = _data[\"lastUpdate\"] ? new Date(_data[\"lastUpdate\"].toString()) : undefined;\r\n this.address = _data[\"address\"];\r\n this.bookingUserName = _data[\"bookingUserName\"];\r\n this.bookingNumber = _data[\"bookingNumber\"];\r\n this.roleId = _data[\"roleId\"];\r\n this.roleName = _data[\"roleName\"];\r\n this.process = _data[\"process\"];\r\n if (_data[\"processTranslations\"]) {\r\n this.processTranslations = {} as any;\r\n for (let key in _data[\"processTranslations\"]) {\r\n if (_data[\"processTranslations\"].hasOwnProperty(key))\r\n (this.processTranslations)![key] = _data[\"processTranslations\"][key];\r\n }\r\n }\r\n this.rampName = _data[\"rampName\"];\r\n if (_data[\"rampTranslations\"]) {\r\n this.rampTranslations = {} as any;\r\n for (let key in _data[\"rampTranslations\"]) {\r\n if (_data[\"rampTranslations\"].hasOwnProperty(key))\r\n (this.rampTranslations)![key] = _data[\"rampTranslations\"][key];\r\n }\r\n }\r\n this.latitude = _data[\"latitude\"];\r\n this.longitude = _data[\"longitude\"];\r\n this.isActive = _data[\"isActive\"];\r\n this.isLate = _data[\"isLate\"];\r\n this.isTooLate = _data[\"isTooLate\"];\r\n this.deleted = _data[\"deleted\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ArrivalTimeSlotMessage {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ArrivalTimeSlotMessage();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"locationId\"] = this.locationId;\r\n data[\"title\"] = this.title;\r\n data[\"destinationAddress\"] = this.destinationAddress;\r\n data[\"destinationLocation\"] = this.destinationLocation;\r\n data[\"eta\"] = this.eta ? this.eta.toISOString() : undefined;\r\n data[\"from\"] = this.from ? this.from.toISOString() : undefined;\r\n data[\"until\"] = this.until ? this.until.toISOString() : undefined;\r\n data[\"lastUpdate\"] = this.lastUpdate ? this.lastUpdate.toISOString() : undefined;\r\n data[\"address\"] = this.address;\r\n data[\"bookingUserName\"] = this.bookingUserName;\r\n data[\"bookingNumber\"] = this.bookingNumber;\r\n data[\"roleId\"] = this.roleId;\r\n data[\"roleName\"] = this.roleName;\r\n data[\"process\"] = this.process;\r\n if (this.processTranslations) {\r\n data[\"processTranslations\"] = {};\r\n for (let key in this.processTranslations) {\r\n if (this.processTranslations.hasOwnProperty(key))\r\n (data[\"processTranslations\"])[key] = (this.processTranslations)[key];\r\n }\r\n }\r\n data[\"rampName\"] = this.rampName;\r\n if (this.rampTranslations) {\r\n data[\"rampTranslations\"] = {};\r\n for (let key in this.rampTranslations) {\r\n if (this.rampTranslations.hasOwnProperty(key))\r\n (data[\"rampTranslations\"])[key] = (this.rampTranslations)[key];\r\n }\r\n }\r\n data[\"latitude\"] = this.latitude;\r\n data[\"longitude\"] = this.longitude;\r\n data[\"isActive\"] = this.isActive;\r\n data[\"isLate\"] = this.isLate;\r\n data[\"isTooLate\"] = this.isTooLate;\r\n data[\"deleted\"] = this.deleted;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IArrivalTimeSlotMessage {\r\n id: string;\r\n locationId: number;\r\n title?: string | undefined;\r\n destinationAddress?: string | undefined;\r\n destinationLocation?: string | undefined;\r\n eta?: Date | undefined;\r\n from: Date;\r\n until: Date;\r\n lastUpdate?: Date | undefined;\r\n address?: string | undefined;\r\n bookingUserName?: string | undefined;\r\n bookingNumber: number;\r\n roleId: string;\r\n roleName?: string | undefined;\r\n process?: string | undefined;\r\n processTranslations?: { [key: string]: string; } | undefined;\r\n rampName?: string | undefined;\r\n rampTranslations?: { [key: string]: string; } | undefined;\r\n latitude?: number | undefined;\r\n longitude?: number | undefined;\r\n isActive: boolean;\r\n isLate: boolean;\r\n isTooLate: boolean;\r\n deleted: boolean;\r\n}\r\n\r\nexport class LocationBookingDomainsDto implements ILocationBookingDomainsDto {\r\n locationId!: number;\r\n locationCode?: string | undefined;\r\n locationName?: string | undefined;\r\n bookingDomainDtos?: LocationBookingDomainDto[] | undefined;\r\n\r\n constructor(data?: ILocationBookingDomainsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.locationId = _data[\"locationId\"];\r\n this.locationCode = _data[\"locationCode\"];\r\n this.locationName = _data[\"locationName\"];\r\n if (Array.isArray(_data[\"bookingDomainDtos\"])) {\r\n this.bookingDomainDtos = [] as any;\r\n for (let item of _data[\"bookingDomainDtos\"])\r\n this.bookingDomainDtos!.push(LocationBookingDomainDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): LocationBookingDomainsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LocationBookingDomainsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"locationId\"] = this.locationId;\r\n data[\"locationCode\"] = this.locationCode;\r\n data[\"locationName\"] = this.locationName;\r\n if (Array.isArray(this.bookingDomainDtos)) {\r\n data[\"bookingDomainDtos\"] = [];\r\n for (let item of this.bookingDomainDtos)\r\n data[\"bookingDomainDtos\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILocationBookingDomainsDto {\r\n locationId: number;\r\n locationCode?: string | undefined;\r\n locationName?: string | undefined;\r\n bookingDomainDtos?: LocationBookingDomainDto[] | undefined;\r\n}\r\n\r\nexport class LocationBookingDomainDto implements ILocationBookingDomainDto {\r\n id!: string;\r\n domain?: string | undefined;\r\n isAllowedToReceive!: boolean;\r\n isBlockedFromBooking!: boolean;\r\n locationId!: number;\r\n\r\n constructor(data?: ILocationBookingDomainDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.domain = _data[\"domain\"];\r\n this.isAllowedToReceive = _data[\"isAllowedToReceive\"];\r\n this.isBlockedFromBooking = _data[\"isBlockedFromBooking\"];\r\n this.locationId = _data[\"locationId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LocationBookingDomainDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LocationBookingDomainDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"domain\"] = this.domain;\r\n data[\"isAllowedToReceive\"] = this.isAllowedToReceive;\r\n data[\"isBlockedFromBooking\"] = this.isBlockedFromBooking;\r\n data[\"locationId\"] = this.locationId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILocationBookingDomainDto {\r\n id: string;\r\n domain?: string | undefined;\r\n isAllowedToReceive: boolean;\r\n isBlockedFromBooking: boolean;\r\n locationId: number;\r\n}\r\n\r\nexport class LocationBookingDomainsInputModel extends LocationBookingDomainsDto implements ILocationBookingDomainsInputModel {\r\n userId!: string;\r\n\r\n constructor(data?: ILocationBookingDomainsInputModel) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.userId = _data[\"userId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LocationBookingDomainsInputModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LocationBookingDomainsInputModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"userId\"] = this.userId;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILocationBookingDomainsInputModel extends ILocationBookingDomainsDto {\r\n userId: string;\r\n}\r\n\r\n/** Specifies the meaning and relative importance of a log event. */\r\nexport enum LogEventLevel {\r\n Verbose = \"Verbose\",\r\n Debug = \"Debug\",\r\n Information = \"Information\",\r\n Warning = \"Warning\",\r\n Error = \"Error\",\r\n Fatal = \"Fatal\",\r\n}\r\n\r\nexport class SelectLocationDto implements ISelectLocationDto {\r\n locations?: SelectableLocationDto[] | undefined;\r\n\r\n constructor(data?: ISelectLocationDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"locations\"])) {\r\n this.locations = [] as any;\r\n for (let item of _data[\"locations\"])\r\n this.locations!.push(SelectableLocationDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SelectLocationDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SelectLocationDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.locations)) {\r\n data[\"locations\"] = [];\r\n for (let item of this.locations)\r\n data[\"locations\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISelectLocationDto {\r\n locations?: SelectableLocationDto[] | undefined;\r\n}\r\n\r\nexport class SelectableLocationDto implements ISelectableLocationDto {\r\n locationId!: number;\r\n name?: string | undefined;\r\n code?: string | undefined;\r\n roles?: RoleDto[] | undefined;\r\n libraRoles?: CloudUserRoles[] | undefined;\r\n locationAdmin!: boolean;\r\n companyImage?: string | undefined;\r\n\r\n constructor(data?: ISelectableLocationDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.locationId = _data[\"locationId\"];\r\n this.name = _data[\"name\"];\r\n this.code = _data[\"code\"];\r\n if (Array.isArray(_data[\"roles\"])) {\r\n this.roles = [] as any;\r\n for (let item of _data[\"roles\"])\r\n this.roles!.push(RoleDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"libraRoles\"])) {\r\n this.libraRoles = [] as any;\r\n for (let item of _data[\"libraRoles\"])\r\n this.libraRoles!.push(item);\r\n }\r\n this.locationAdmin = _data[\"locationAdmin\"];\r\n this.companyImage = _data[\"companyImage\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SelectableLocationDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SelectableLocationDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"locationId\"] = this.locationId;\r\n data[\"name\"] = this.name;\r\n data[\"code\"] = this.code;\r\n if (Array.isArray(this.roles)) {\r\n data[\"roles\"] = [];\r\n for (let item of this.roles)\r\n data[\"roles\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.libraRoles)) {\r\n data[\"libraRoles\"] = [];\r\n for (let item of this.libraRoles)\r\n data[\"libraRoles\"].push(item);\r\n }\r\n data[\"locationAdmin\"] = this.locationAdmin;\r\n data[\"companyImage\"] = this.companyImage;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISelectableLocationDto {\r\n locationId: number;\r\n name?: string | undefined;\r\n code?: string | undefined;\r\n roles?: RoleDto[] | undefined;\r\n libraRoles?: CloudUserRoles[] | undefined;\r\n locationAdmin: boolean;\r\n companyImage?: string | undefined;\r\n}\r\n\r\nexport class RoleDto implements IRoleDto {\r\n id!: string;\r\n name?: string | undefined;\r\n permissions?: CloudUserRoles[] | undefined;\r\n bookingMethods?: TimeSlotBookingMethod[] | undefined;\r\n permissionsList?: SelectListItemDto[] | undefined;\r\n\r\n constructor(data?: IRoleDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"permissions\"])) {\r\n this.permissions = [] as any;\r\n for (let item of _data[\"permissions\"])\r\n this.permissions!.push(item);\r\n }\r\n if (Array.isArray(_data[\"bookingMethods\"])) {\r\n this.bookingMethods = [] as any;\r\n for (let item of _data[\"bookingMethods\"])\r\n this.bookingMethods!.push(item);\r\n }\r\n if (Array.isArray(_data[\"permissionsList\"])) {\r\n this.permissionsList = [] as any;\r\n for (let item of _data[\"permissionsList\"])\r\n this.permissionsList!.push(SelectListItemDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): RoleDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RoleDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.permissions)) {\r\n data[\"permissions\"] = [];\r\n for (let item of this.permissions)\r\n data[\"permissions\"].push(item);\r\n }\r\n if (Array.isArray(this.bookingMethods)) {\r\n data[\"bookingMethods\"] = [];\r\n for (let item of this.bookingMethods)\r\n data[\"bookingMethods\"].push(item);\r\n }\r\n if (Array.isArray(this.permissionsList)) {\r\n data[\"permissionsList\"] = [];\r\n for (let item of this.permissionsList)\r\n data[\"permissionsList\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRoleDto {\r\n id: string;\r\n name?: string | undefined;\r\n permissions?: CloudUserRoles[] | undefined;\r\n bookingMethods?: TimeSlotBookingMethod[] | undefined;\r\n permissionsList?: SelectListItemDto[] | undefined;\r\n}\r\n\r\nexport enum CloudUserRoles {\r\n UNDEFINIERT = \"UNDEFINIERT\",\r\n WIEGEN = \"WIEGEN\",\r\n STATISTIK = \"STATISTIK\",\r\n DEFINITIONEN = \"DEFINITIONEN\",\r\n WAEGESCHEINAUSWERTUNG = \"WAEGESCHEINAUSWERTUNG\",\r\n ZeitfenstermanagementAdmin = \"ZeitfenstermanagementAdmin\",\r\n ZeitfenstermanagementKunde = \"ZeitfenstermanagementKunde\",\r\n ZeitfenstermanagementLieferant = \"ZeitfenstermanagementLieferant\",\r\n ZeitfenstermanagementSpediteur = \"ZeitfenstermanagementSpediteur\",\r\n ZeitfenstermanagementRoleAdmin = \"ZeitfenstermanagementRoleAdmin\",\r\n}\r\n\r\nexport enum TimeSlotBookingMethod {\r\n None = \"None\",\r\n FreeBooking = \"FreeBooking\",\r\n ContractBooking = \"ContractBooking\",\r\n}\r\n\r\nexport class SelectListItemDto implements ISelectListItemDto {\r\n text?: string | undefined;\r\n value?: string | undefined;\r\n\r\n constructor(data?: ISelectListItemDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.text = _data[\"text\"];\r\n this.value = _data[\"value\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SelectListItemDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SelectListItemDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"text\"] = this.text;\r\n data[\"value\"] = this.value;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISelectListItemDto {\r\n text?: string | undefined;\r\n value?: string | undefined;\r\n}\r\n\r\nexport class SchedulerSettingsDto implements ISchedulerSettingsDto {\r\n processes?: ProcessDto[] | undefined;\r\n groups?: SchedulerSettingsGroupsDto[] | undefined;\r\n ramps?: SchedulerSettingsRampDto[] | undefined;\r\n settings?: SchedulerOptionsDto | undefined;\r\n\r\n constructor(data?: ISchedulerSettingsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"processes\"])) {\r\n this.processes = [] as any;\r\n for (let item of _data[\"processes\"])\r\n this.processes!.push(ProcessDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"groups\"])) {\r\n this.groups = [] as any;\r\n for (let item of _data[\"groups\"])\r\n this.groups!.push(SchedulerSettingsGroupsDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"ramps\"])) {\r\n this.ramps = [] as any;\r\n for (let item of _data[\"ramps\"])\r\n this.ramps!.push(SchedulerSettingsRampDto.fromJS(item));\r\n }\r\n this.settings = _data[\"settings\"] ? SchedulerOptionsDto.fromJS(_data[\"settings\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): SchedulerSettingsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SchedulerSettingsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.processes)) {\r\n data[\"processes\"] = [];\r\n for (let item of this.processes)\r\n data[\"processes\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.groups)) {\r\n data[\"groups\"] = [];\r\n for (let item of this.groups)\r\n data[\"groups\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.ramps)) {\r\n data[\"ramps\"] = [];\r\n for (let item of this.ramps)\r\n data[\"ramps\"].push(item.toJSON());\r\n }\r\n data[\"settings\"] = this.settings ? this.settings.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISchedulerSettingsDto {\r\n processes?: ProcessDto[] | undefined;\r\n groups?: SchedulerSettingsGroupsDto[] | undefined;\r\n ramps?: SchedulerSettingsRampDto[] | undefined;\r\n settings?: SchedulerOptionsDto | undefined;\r\n}\r\n\r\nexport class ProcessDto implements IProcessDto {\r\n id!: string;\r\n name?: string | undefined;\r\n number?: string | undefined;\r\n parameters?: ProcessParameterDto[] | undefined;\r\n units?: UnitDto[] | undefined;\r\n translations?: NameTranslationDto[] | undefined;\r\n deleted!: boolean;\r\n\r\n constructor(data?: IProcessDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.number = _data[\"number\"];\r\n if (Array.isArray(_data[\"parameters\"])) {\r\n this.parameters = [] as any;\r\n for (let item of _data[\"parameters\"])\r\n this.parameters!.push(ProcessParameterDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"units\"])) {\r\n this.units = [] as any;\r\n for (let item of _data[\"units\"])\r\n this.units!.push(UnitDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"translations\"])) {\r\n this.translations = [] as any;\r\n for (let item of _data[\"translations\"])\r\n this.translations!.push(NameTranslationDto.fromJS(item));\r\n }\r\n this.deleted = _data[\"deleted\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProcessDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProcessDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"number\"] = this.number;\r\n if (Array.isArray(this.parameters)) {\r\n data[\"parameters\"] = [];\r\n for (let item of this.parameters)\r\n data[\"parameters\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.units)) {\r\n data[\"units\"] = [];\r\n for (let item of this.units)\r\n data[\"units\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.translations)) {\r\n data[\"translations\"] = [];\r\n for (let item of this.translations)\r\n data[\"translations\"].push(item.toJSON());\r\n }\r\n data[\"deleted\"] = this.deleted;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProcessDto {\r\n id: string;\r\n name?: string | undefined;\r\n number?: string | undefined;\r\n parameters?: ProcessParameterDto[] | undefined;\r\n units?: UnitDto[] | undefined;\r\n translations?: NameTranslationDto[] | undefined;\r\n deleted: boolean;\r\n}\r\n\r\nexport class ProcessParameterDto implements IProcessParameterDto {\r\n id!: string;\r\n name?: string | undefined;\r\n required!: boolean;\r\n order!: number;\r\n baseType?: StammdatenTypen | undefined;\r\n autocompleter!: boolean;\r\n requiredRoles!: CloudUserRoles;\r\n items?: string | undefined;\r\n itemsList?: SelectListParameter[] | undefined;\r\n itemsWithTranslations?: SelectListParameterWithTranslations[] | undefined;\r\n parameterType!: ParameterType;\r\n nameTranslations?: NameTranslationDto[] | undefined;\r\n itemsTranslations?: NameTranslationDto[] | undefined;\r\n deleted!: boolean;\r\n\r\n constructor(data?: IProcessParameterDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.required = _data[\"required\"];\r\n this.order = _data[\"order\"];\r\n this.baseType = _data[\"baseType\"];\r\n this.autocompleter = _data[\"autocompleter\"];\r\n this.requiredRoles = _data[\"requiredRoles\"];\r\n this.items = _data[\"items\"];\r\n if (Array.isArray(_data[\"itemsList\"])) {\r\n this.itemsList = [] as any;\r\n for (let item of _data[\"itemsList\"])\r\n this.itemsList!.push(SelectListParameter.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"itemsWithTranslations\"])) {\r\n this.itemsWithTranslations = [] as any;\r\n for (let item of _data[\"itemsWithTranslations\"])\r\n this.itemsWithTranslations!.push(SelectListParameterWithTranslations.fromJS(item));\r\n }\r\n this.parameterType = _data[\"parameterType\"];\r\n if (Array.isArray(_data[\"nameTranslations\"])) {\r\n this.nameTranslations = [] as any;\r\n for (let item of _data[\"nameTranslations\"])\r\n this.nameTranslations!.push(NameTranslationDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"itemsTranslations\"])) {\r\n this.itemsTranslations = [] as any;\r\n for (let item of _data[\"itemsTranslations\"])\r\n this.itemsTranslations!.push(NameTranslationDto.fromJS(item));\r\n }\r\n this.deleted = _data[\"deleted\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProcessParameterDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProcessParameterDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"required\"] = this.required;\r\n data[\"order\"] = this.order;\r\n data[\"baseType\"] = this.baseType;\r\n data[\"autocompleter\"] = this.autocompleter;\r\n data[\"requiredRoles\"] = this.requiredRoles;\r\n data[\"items\"] = this.items;\r\n if (Array.isArray(this.itemsList)) {\r\n data[\"itemsList\"] = [];\r\n for (let item of this.itemsList)\r\n data[\"itemsList\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.itemsWithTranslations)) {\r\n data[\"itemsWithTranslations\"] = [];\r\n for (let item of this.itemsWithTranslations)\r\n data[\"itemsWithTranslations\"].push(item.toJSON());\r\n }\r\n data[\"parameterType\"] = this.parameterType;\r\n if (Array.isArray(this.nameTranslations)) {\r\n data[\"nameTranslations\"] = [];\r\n for (let item of this.nameTranslations)\r\n data[\"nameTranslations\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.itemsTranslations)) {\r\n data[\"itemsTranslations\"] = [];\r\n for (let item of this.itemsTranslations)\r\n data[\"itemsTranslations\"].push(item.toJSON());\r\n }\r\n data[\"deleted\"] = this.deleted;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProcessParameterDto {\r\n id: string;\r\n name?: string | undefined;\r\n required: boolean;\r\n order: number;\r\n baseType?: StammdatenTypen | undefined;\r\n autocompleter: boolean;\r\n requiredRoles: CloudUserRoles;\r\n items?: string | undefined;\r\n itemsList?: SelectListParameter[] | undefined;\r\n itemsWithTranslations?: SelectListParameterWithTranslations[] | undefined;\r\n parameterType: ParameterType;\r\n nameTranslations?: NameTranslationDto[] | undefined;\r\n itemsTranslations?: NameTranslationDto[] | undefined;\r\n deleted: boolean;\r\n}\r\n\r\nexport enum StammdatenTypen {\r\n KUNDE = \"KUNDE\",\r\n LIEFERANT = \"LIEFERANT\",\r\n BAUSTELLE = \"BAUSTELLE\",\r\n LAGEREINGANG = \"LAGEREINGANG\",\r\n SPEDITEUR = \"SPEDITEUR\",\r\n FAHRZEUG = \"FAHRZEUG\",\r\n PRODUKT = \"PRODUKT\",\r\n AUFBAU = \"AUFBAU\",\r\n LAGERAUSGANG = \"LAGERAUSGANG\",\r\n HOFLISTE = \"HOFLISTE\",\r\n WAEGESCHEIN = \"WAEGESCHEIN\",\r\n AUFTRAG = \"AUFTRAG\",\r\n ENTNACHWEIS = \"ENTNACHWEIS\",\r\n KONTRAKT = \"KONTRAKT\",\r\n AUFTRAGPRODUKT = \"AUFTRAGPRODUKT\",\r\n AUFTRAGSPEDITEUR = \"AUFTRAGSPEDITEUR\",\r\n AUFTRAGSPOSITION = \"AUFTRAGSPOSITION\",\r\n ZUSATZFUNKTION = \"ZUSATZFUNKTION\",\r\n NOTIZ1 = \"NOTIZ1\",\r\n NOTIZ2 = \"NOTIZ2\",\r\n NOTIZ3 = \"NOTIZ3\",\r\n NOTIZ4 = \"NOTIZ4\",\r\n ANALYSEWERT = \"ANALYSEWERT\",\r\n CONTAINERPOSITION = \"CONTAINERPOSITION\",\r\n CONTAINERPRODUKT = \"CONTAINERPRODUKT\",\r\n CONTAINERBAUSTELLE = \"CONTAINERBAUSTELLE\",\r\n CONTAINERFAHRZEUG = \"CONTAINERFAHRZEUG\",\r\n CONTAINERAUFBAU = \"CONTAINERAUFBAU\",\r\n ABFAHRTSBAHNHOF = \"ABFAHRTSBAHNHOF\",\r\n ZUGLISTE = \"ZUGLISTE\",\r\n WAGGON = \"WAGGON\",\r\n ZIELBAHNHOF = \"ZIELBAHNHOF\",\r\n ANHAENGER = \"ANHAENGER\",\r\n ANHAENGERAUFBAU = \"ANHAENGERAUFBAU\",\r\n FAHRZEUGTYP = \"FAHRZEUGTYP\",\r\n NOTIZ5 = \"NOTIZ5\",\r\n NOTIZ6 = \"NOTIZ6\",\r\n NOTIZ7 = \"NOTIZ7\",\r\n NOTIZ8 = \"NOTIZ8\",\r\n NOTIZ9 = \"NOTIZ9\",\r\n NOTIZ10 = \"NOTIZ10\",\r\n VORLADUNG = \"VORLADUNG\",\r\n VERLADUNGSORT = \"VERLADUNGSORT\",\r\n ENTLADUNGSORT = \"ENTLADUNGSORT\",\r\n VERLADUNGSINFO = \"VERLADUNGSINFO\",\r\n KARTENDATEN = \"KARTENDATEN\",\r\n KAMERA = \"KAMERA\",\r\n ANHAENGERZWEI = \"ANHAENGERZWEI\",\r\n ANHAENGERZWEIAUFBAU = \"ANHAENGERZWEIAUFBAU\",\r\n AUFTRAG_GESAMT = \"AUFTRAG_GESAMT\",\r\n AUFBAUGEWECHSELT = \"AUFBAUGEWECHSELT\",\r\n ANHAENGERAUFBAUGEWECHSELT = \"ANHAENGERAUFBAUGEWECHSELT\",\r\n ANHAENGERZWEIAUFBAUGEWECHSELT = \"ANHAENGERZWEIAUFBAUGEWECHSELT\",\r\n FUNKDATEN = \"FUNKDATEN\",\r\n SUBSPEDITEUR = \"SUBSPEDITEUR\",\r\n BGS_UNS_TRANSPORTNUMMER = \"BGS_UNS_TRANSPORTNUMMER\",\r\n ABWEICHENDE_BAUSTELLE = \"ABWEICHENDE_BAUSTELLE\",\r\n LADESTELLE = \"LADESTELLE\",\r\n POSITIONEN = \"POSITIONEN\",\r\n PAGER = \"PAGER\",\r\n REFERENZNUMMER = \"REFERENZNUMMER\",\r\n TRANSPORTNUMMER = \"TRANSPORTNUMMER\",\r\n FAHRER = \"FAHRER\",\r\n TELEFON = \"TELEFON\",\r\n NOTIZ = \"NOTIZ\",\r\n EINBAUTEN = \"EINBAUTEN\",\r\n LEERPALETTEN = \"LEERPALETTEN\",\r\n GEFAHRGUT = \"GEFAHRGUT\",\r\n KARTENNUMMER = \"KARTENNUMMER\",\r\n LadungssicherungsmittelVorhanden = \"LadungssicherungsmittelVorhanden\",\r\n Prozess = \"Prozess\",\r\n STATUS = \"STATUS\",\r\n RestloseEntladung = \"RestloseEntladung\",\r\n VerladezeitfensterAuftrag = \"VerladezeitfensterAuftrag\",\r\n VerladezeitfensterLogistikVorgang = \"VerladezeitfensterLogistikVorgang\",\r\n BARCODENUMMER = \"BARCODENUMMER\",\r\n ZULAESSIGES_GESAMTGEWICHT = \"ZULAESSIGES_GESAMTGEWICHT\",\r\n SOLLMENGE_VERLADUNG = \"SOLLMENGE_VERLADUNG\",\r\n ZEITFENSTER = \"ZEITFENSTER\",\r\n NONE = \"NONE\",\r\n}\r\n\r\nexport class SelectListParameter implements ISelectListParameter {\r\n text?: string | undefined;\r\n index!: number;\r\n\r\n constructor(data?: ISelectListParameter) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.text = _data[\"text\"];\r\n this.index = _data[\"index\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SelectListParameter {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SelectListParameter();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"text\"] = this.text;\r\n data[\"index\"] = this.index;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISelectListParameter {\r\n text?: string | undefined;\r\n index: number;\r\n}\r\n\r\nexport class SelectListParameterWithTranslations implements ISelectListParameterWithTranslations {\r\n translations?: NameTranslationDto[] | undefined;\r\n index!: number;\r\n\r\n constructor(data?: ISelectListParameterWithTranslations) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"translations\"])) {\r\n this.translations = [] as any;\r\n for (let item of _data[\"translations\"])\r\n this.translations!.push(NameTranslationDto.fromJS(item));\r\n }\r\n this.index = _data[\"index\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SelectListParameterWithTranslations {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SelectListParameterWithTranslations();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.translations)) {\r\n data[\"translations\"] = [];\r\n for (let item of this.translations)\r\n data[\"translations\"].push(item.toJSON());\r\n }\r\n data[\"index\"] = this.index;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISelectListParameterWithTranslations {\r\n translations?: NameTranslationDto[] | undefined;\r\n index: number;\r\n}\r\n\r\nexport class NameTranslationDto implements INameTranslationDto {\r\n languageCode?: string | undefined;\r\n name?: string | undefined;\r\n\r\n constructor(data?: INameTranslationDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.languageCode = _data[\"languageCode\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): NameTranslationDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NameTranslationDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"languageCode\"] = this.languageCode;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface INameTranslationDto {\r\n languageCode?: string | undefined;\r\n name?: string | undefined;\r\n}\r\n\r\nexport enum ParameterType {\r\n Text = \"Text\",\r\n SelectList = \"SelectList\",\r\n Number = \"Number\",\r\n Bool = \"Bool\",\r\n}\r\n\r\nexport class UnitDto implements IUnitDto {\r\n id!: string;\r\n format?: string | undefined;\r\n symbol?: string | undefined;\r\n processId!: string;\r\n translations?: NamePluralTranslationDto[] | undefined;\r\n deleted!: boolean;\r\n\r\n constructor(data?: IUnitDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.format = _data[\"format\"];\r\n this.symbol = _data[\"symbol\"];\r\n this.processId = _data[\"processId\"];\r\n if (Array.isArray(_data[\"translations\"])) {\r\n this.translations = [] as any;\r\n for (let item of _data[\"translations\"])\r\n this.translations!.push(NamePluralTranslationDto.fromJS(item));\r\n }\r\n this.deleted = _data[\"deleted\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UnitDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UnitDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"format\"] = this.format;\r\n data[\"symbol\"] = this.symbol;\r\n data[\"processId\"] = this.processId;\r\n if (Array.isArray(this.translations)) {\r\n data[\"translations\"] = [];\r\n for (let item of this.translations)\r\n data[\"translations\"].push(item.toJSON());\r\n }\r\n data[\"deleted\"] = this.deleted;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUnitDto {\r\n id: string;\r\n format?: string | undefined;\r\n symbol?: string | undefined;\r\n processId: string;\r\n translations?: NamePluralTranslationDto[] | undefined;\r\n deleted: boolean;\r\n}\r\n\r\nexport class NamePluralTranslationDto implements INamePluralTranslationDto {\r\n languageCode?: string | undefined;\r\n name?: string | undefined;\r\n namePlural?: string | undefined;\r\n\r\n constructor(data?: INamePluralTranslationDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.languageCode = _data[\"languageCode\"];\r\n this.name = _data[\"name\"];\r\n this.namePlural = _data[\"namePlural\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): NamePluralTranslationDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NamePluralTranslationDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"languageCode\"] = this.languageCode;\r\n data[\"name\"] = this.name;\r\n data[\"namePlural\"] = this.namePlural;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface INamePluralTranslationDto {\r\n languageCode?: string | undefined;\r\n name?: string | undefined;\r\n namePlural?: string | undefined;\r\n}\r\n\r\nexport class SchedulerSettingsGroupsDto implements ISchedulerSettingsGroupsDto {\r\n id!: string;\r\n translations?: NameTranslationDto[] | undefined;\r\n\r\n constructor(data?: ISchedulerSettingsGroupsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n if (Array.isArray(_data[\"translations\"])) {\r\n this.translations = [] as any;\r\n for (let item of _data[\"translations\"])\r\n this.translations!.push(NameTranslationDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SchedulerSettingsGroupsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SchedulerSettingsGroupsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n if (Array.isArray(this.translations)) {\r\n data[\"translations\"] = [];\r\n for (let item of this.translations)\r\n data[\"translations\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISchedulerSettingsGroupsDto {\r\n id: string;\r\n translations?: NameTranslationDto[] | undefined;\r\n}\r\n\r\nexport class SchedulerSettingsRampDto implements ISchedulerSettingsRampDto {\r\n id!: string;\r\n groupIds?: string[] | undefined;\r\n loadTimes?: RampItemDto[] | undefined;\r\n translations?: NameTranslationDto[] | undefined;\r\n openTimes?: SchedulerOpenTimeDto[] | undefined;\r\n lockTimes?: SchedulerLockTimeDto[] | undefined;\r\n permissions!: RolePermissions;\r\n allowParallelTimeSlots!: boolean;\r\n\r\n constructor(data?: ISchedulerSettingsRampDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n if (Array.isArray(_data[\"groupIds\"])) {\r\n this.groupIds = [] as any;\r\n for (let item of _data[\"groupIds\"])\r\n this.groupIds!.push(item);\r\n }\r\n if (Array.isArray(_data[\"loadTimes\"])) {\r\n this.loadTimes = [] as any;\r\n for (let item of _data[\"loadTimes\"])\r\n this.loadTimes!.push(RampItemDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"translations\"])) {\r\n this.translations = [] as any;\r\n for (let item of _data[\"translations\"])\r\n this.translations!.push(NameTranslationDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"openTimes\"])) {\r\n this.openTimes = [] as any;\r\n for (let item of _data[\"openTimes\"])\r\n this.openTimes!.push(SchedulerOpenTimeDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"lockTimes\"])) {\r\n this.lockTimes = [] as any;\r\n for (let item of _data[\"lockTimes\"])\r\n this.lockTimes!.push(SchedulerLockTimeDto.fromJS(item));\r\n }\r\n this.permissions = _data[\"permissions\"];\r\n this.allowParallelTimeSlots = _data[\"allowParallelTimeSlots\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SchedulerSettingsRampDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SchedulerSettingsRampDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n if (Array.isArray(this.groupIds)) {\r\n data[\"groupIds\"] = [];\r\n for (let item of this.groupIds)\r\n data[\"groupIds\"].push(item);\r\n }\r\n if (Array.isArray(this.loadTimes)) {\r\n data[\"loadTimes\"] = [];\r\n for (let item of this.loadTimes)\r\n data[\"loadTimes\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.translations)) {\r\n data[\"translations\"] = [];\r\n for (let item of this.translations)\r\n data[\"translations\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.openTimes)) {\r\n data[\"openTimes\"] = [];\r\n for (let item of this.openTimes)\r\n data[\"openTimes\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.lockTimes)) {\r\n data[\"lockTimes\"] = [];\r\n for (let item of this.lockTimes)\r\n data[\"lockTimes\"].push(item.toJSON());\r\n }\r\n data[\"permissions\"] = this.permissions;\r\n data[\"allowParallelTimeSlots\"] = this.allowParallelTimeSlots;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISchedulerSettingsRampDto {\r\n id: string;\r\n groupIds?: string[] | undefined;\r\n loadTimes?: RampItemDto[] | undefined;\r\n translations?: NameTranslationDto[] | undefined;\r\n openTimes?: SchedulerOpenTimeDto[] | undefined;\r\n lockTimes?: SchedulerLockTimeDto[] | undefined;\r\n permissions: RolePermissions;\r\n allowParallelTimeSlots: boolean;\r\n}\r\n\r\nexport class RampItemDto implements IRampItemDto {\r\n id!: string;\r\n name?: string | undefined;\r\n minutes!: number;\r\n amount!: number;\r\n unitSymbol?: string | undefined;\r\n deleted!: boolean;\r\n\r\n constructor(data?: IRampItemDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.minutes = _data[\"minutes\"];\r\n this.amount = _data[\"amount\"];\r\n this.unitSymbol = _data[\"unitSymbol\"];\r\n this.deleted = _data[\"deleted\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RampItemDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RampItemDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"minutes\"] = this.minutes;\r\n data[\"amount\"] = this.amount;\r\n data[\"unitSymbol\"] = this.unitSymbol;\r\n data[\"deleted\"] = this.deleted;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRampItemDto {\r\n id: string;\r\n name?: string | undefined;\r\n minutes: number;\r\n amount: number;\r\n unitSymbol?: string | undefined;\r\n deleted: boolean;\r\n}\r\n\r\nexport class SchedulerOpenTimeDto implements ISchedulerOpenTimeDto {\r\n startTime!: Date;\r\n endTime!: Date;\r\n isRepetitive!: boolean;\r\n repetitionType!: RepetitionType;\r\n repetitionEndDate?: Date | undefined;\r\n\r\n constructor(data?: ISchedulerOpenTimeDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.startTime = _data[\"startTime\"] ? new Date(_data[\"startTime\"].toString()) : undefined;\r\n this.endTime = _data[\"endTime\"] ? new Date(_data[\"endTime\"].toString()) : undefined;\r\n this.isRepetitive = _data[\"isRepetitive\"];\r\n this.repetitionType = _data[\"repetitionType\"];\r\n this.repetitionEndDate = _data[\"repetitionEndDate\"] ? new Date(_data[\"repetitionEndDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): SchedulerOpenTimeDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SchedulerOpenTimeDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"startTime\"] = this.startTime ? this.startTime.toISOString() : undefined;\r\n data[\"endTime\"] = this.endTime ? this.endTime.toISOString() : undefined;\r\n data[\"isRepetitive\"] = this.isRepetitive;\r\n data[\"repetitionType\"] = this.repetitionType;\r\n data[\"repetitionEndDate\"] = this.repetitionEndDate ? this.repetitionEndDate.toISOString() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISchedulerOpenTimeDto {\r\n startTime: Date;\r\n endTime: Date;\r\n isRepetitive: boolean;\r\n repetitionType: RepetitionType;\r\n repetitionEndDate?: Date | undefined;\r\n}\r\n\r\nexport enum RepetitionType {\r\n Undefined = \"Undefined\",\r\n EveryWeek = \"EveryWeek\",\r\n WorkDays = \"WorkDays\",\r\n BusinessDays = \"BusinessDays\",\r\n Daily = \"Daily\",\r\n}\r\n\r\nexport class SchedulerLockTimeDto implements ISchedulerLockTimeDto {\r\n id!: string;\r\n startTime!: Date;\r\n endTime!: Date;\r\n translations?: NameTranslationDto[] | undefined;\r\n isRepetitive!: boolean;\r\n repetitionType!: RepetitionType;\r\n repetitionEndDate?: Date | undefined;\r\n\r\n constructor(data?: ISchedulerLockTimeDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.startTime = _data[\"startTime\"] ? new Date(_data[\"startTime\"].toString()) : undefined;\r\n this.endTime = _data[\"endTime\"] ? new Date(_data[\"endTime\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"translations\"])) {\r\n this.translations = [] as any;\r\n for (let item of _data[\"translations\"])\r\n this.translations!.push(NameTranslationDto.fromJS(item));\r\n }\r\n this.isRepetitive = _data[\"isRepetitive\"];\r\n this.repetitionType = _data[\"repetitionType\"];\r\n this.repetitionEndDate = _data[\"repetitionEndDate\"] ? new Date(_data[\"repetitionEndDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): SchedulerLockTimeDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SchedulerLockTimeDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"startTime\"] = this.startTime ? this.startTime.toISOString() : undefined;\r\n data[\"endTime\"] = this.endTime ? this.endTime.toISOString() : undefined;\r\n if (Array.isArray(this.translations)) {\r\n data[\"translations\"] = [];\r\n for (let item of this.translations)\r\n data[\"translations\"].push(item.toJSON());\r\n }\r\n data[\"isRepetitive\"] = this.isRepetitive;\r\n data[\"repetitionType\"] = this.repetitionType;\r\n data[\"repetitionEndDate\"] = this.repetitionEndDate ? this.repetitionEndDate.toISOString() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISchedulerLockTimeDto {\r\n id: string;\r\n startTime: Date;\r\n endTime: Date;\r\n translations?: NameTranslationDto[] | undefined;\r\n isRepetitive: boolean;\r\n repetitionType: RepetitionType;\r\n repetitionEndDate?: Date | undefined;\r\n}\r\n\r\nexport enum RolePermissions {\r\n None = \"None\",\r\n TsmViewTimeSlots = \"TsmViewTimeSlots\",\r\n TsmCreateTimeSlots = \"TsmCreateTimeSlots\",\r\n TsmMoveTimeSlots = \"TsmMoveTimeSlots\",\r\n TsmDeleteTimeSlots = \"TsmDeleteTimeSlots\",\r\n TsmChangeTimeSlotsStatus = \"TsmChangeTimeSlotsStatus\",\r\n}\r\n\r\nexport class SchedulerOptionsDto implements ISchedulerOptionsDto {\r\n showTitle!: boolean;\r\n showTimes!: boolean;\r\n showEta!: boolean;\r\n hourHeight!: number;\r\n hourWidth!: number;\r\n raster!: number;\r\n slotGap!: number;\r\n earliestPossibleBookInterval!: number;\r\n latestPossibleBookInterval!: number;\r\n status_Open?: string | undefined;\r\n status_Processing?: string | undefined;\r\n status_Done?: string | undefined;\r\n status_Replaced?: string | undefined;\r\n status_Late?: string | undefined;\r\n status_Reserved?: string | undefined;\r\n eta_Late?: string | undefined;\r\n eta_VeryLate?: string | undefined;\r\n eta_UnderInvestigation?: string | undefined;\r\n timeZone?: string | undefined;\r\n agendaHiddenColumns?: string | undefined;\r\n agendaColumnsOrder?: string | undefined;\r\n attachments!: boolean;\r\n\r\n constructor(data?: ISchedulerOptionsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.showTitle = _data[\"showTitle\"];\r\n this.showTimes = _data[\"showTimes\"];\r\n this.showEta = _data[\"showEta\"];\r\n this.hourHeight = _data[\"hourHeight\"];\r\n this.hourWidth = _data[\"hourWidth\"];\r\n this.raster = _data[\"raster\"];\r\n this.slotGap = _data[\"slotGap\"];\r\n this.earliestPossibleBookInterval = _data[\"earliestPossibleBookInterval\"];\r\n this.latestPossibleBookInterval = _data[\"latestPossibleBookInterval\"];\r\n this.status_Open = _data[\"status_Open\"];\r\n this.status_Processing = _data[\"status_Processing\"];\r\n this.status_Done = _data[\"status_Done\"];\r\n this.status_Replaced = _data[\"status_Replaced\"];\r\n this.status_Late = _data[\"status_Late\"];\r\n this.status_Reserved = _data[\"status_Reserved\"];\r\n this.eta_Late = _data[\"eta_Late\"];\r\n this.eta_VeryLate = _data[\"eta_VeryLate\"];\r\n this.eta_UnderInvestigation = _data[\"eta_UnderInvestigation\"];\r\n this.timeZone = _data[\"timeZone\"];\r\n this.agendaHiddenColumns = _data[\"agendaHiddenColumns\"];\r\n this.agendaColumnsOrder = _data[\"agendaColumnsOrder\"];\r\n this.attachments = _data[\"attachments\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SchedulerOptionsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SchedulerOptionsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"showTitle\"] = this.showTitle;\r\n data[\"showTimes\"] = this.showTimes;\r\n data[\"showEta\"] = this.showEta;\r\n data[\"hourHeight\"] = this.hourHeight;\r\n data[\"hourWidth\"] = this.hourWidth;\r\n data[\"raster\"] = this.raster;\r\n data[\"slotGap\"] = this.slotGap;\r\n data[\"earliestPossibleBookInterval\"] = this.earliestPossibleBookInterval;\r\n data[\"latestPossibleBookInterval\"] = this.latestPossibleBookInterval;\r\n data[\"status_Open\"] = this.status_Open;\r\n data[\"status_Processing\"] = this.status_Processing;\r\n data[\"status_Done\"] = this.status_Done;\r\n data[\"status_Replaced\"] = this.status_Replaced;\r\n data[\"status_Late\"] = this.status_Late;\r\n data[\"status_Reserved\"] = this.status_Reserved;\r\n data[\"eta_Late\"] = this.eta_Late;\r\n data[\"eta_VeryLate\"] = this.eta_VeryLate;\r\n data[\"eta_UnderInvestigation\"] = this.eta_UnderInvestigation;\r\n data[\"timeZone\"] = this.timeZone;\r\n data[\"agendaHiddenColumns\"] = this.agendaHiddenColumns;\r\n data[\"agendaColumnsOrder\"] = this.agendaColumnsOrder;\r\n data[\"attachments\"] = this.attachments;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISchedulerOptionsDto {\r\n showTitle: boolean;\r\n showTimes: boolean;\r\n showEta: boolean;\r\n hourHeight: number;\r\n hourWidth: number;\r\n raster: number;\r\n slotGap: number;\r\n earliestPossibleBookInterval: number;\r\n latestPossibleBookInterval: number;\r\n status_Open?: string | undefined;\r\n status_Processing?: string | undefined;\r\n status_Done?: string | undefined;\r\n status_Replaced?: string | undefined;\r\n status_Late?: string | undefined;\r\n status_Reserved?: string | undefined;\r\n eta_Late?: string | undefined;\r\n eta_VeryLate?: string | undefined;\r\n eta_UnderInvestigation?: string | undefined;\r\n timeZone?: string | undefined;\r\n agendaHiddenColumns?: string | undefined;\r\n agendaColumnsOrder?: string | undefined;\r\n attachments: boolean;\r\n}\r\n\r\nexport class TsmTimeSlotDto implements ITsmTimeSlotDto {\r\n id!: string;\r\n rampId!: string;\r\n processId!: string;\r\n userId!: string;\r\n roleId?: string | undefined;\r\n title?: string | undefined;\r\n from!: Date;\r\n until!: Date;\r\n eta?: Date | undefined;\r\n unitSymbol?: string | undefined;\r\n amount!: number;\r\n status!: TimeSlotStatus;\r\n isEditable!: boolean;\r\n isLate!: boolean;\r\n isVeryLate!: boolean;\r\n isUnderInvestigation!: boolean;\r\n deleted!: boolean;\r\n latitude?: number | undefined;\r\n longitude?: number | undefined;\r\n parameterValues?: TimeSlotProcessParameterValueDto[] | undefined;\r\n isRepetitive?: boolean | undefined;\r\n repetitionType?: RepetitionType | undefined;\r\n repetitionEndDate?: Date | undefined;\r\n contractLibraNumber?: string | undefined;\r\n attachments?: AttachmentDto[] | undefined;\r\n\r\n constructor(data?: ITsmTimeSlotDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.rampId = _data[\"rampId\"];\r\n this.processId = _data[\"processId\"];\r\n this.userId = _data[\"userId\"];\r\n this.roleId = _data[\"roleId\"];\r\n this.title = _data[\"title\"];\r\n this.from = _data[\"from\"] ? new Date(_data[\"from\"].toString()) : undefined;\r\n this.until = _data[\"until\"] ? new Date(_data[\"until\"].toString()) : undefined;\r\n this.eta = _data[\"eta\"] ? new Date(_data[\"eta\"].toString()) : undefined;\r\n this.unitSymbol = _data[\"unitSymbol\"];\r\n this.amount = _data[\"amount\"];\r\n this.status = _data[\"status\"];\r\n this.isEditable = _data[\"isEditable\"];\r\n this.isLate = _data[\"isLate\"];\r\n this.isVeryLate = _data[\"isVeryLate\"];\r\n this.isUnderInvestigation = _data[\"isUnderInvestigation\"];\r\n this.deleted = _data[\"deleted\"];\r\n this.latitude = _data[\"latitude\"];\r\n this.longitude = _data[\"longitude\"];\r\n if (Array.isArray(_data[\"parameterValues\"])) {\r\n this.parameterValues = [] as any;\r\n for (let item of _data[\"parameterValues\"])\r\n this.parameterValues!.push(TimeSlotProcessParameterValueDto.fromJS(item));\r\n }\r\n this.isRepetitive = _data[\"isRepetitive\"];\r\n this.repetitionType = _data[\"repetitionType\"];\r\n this.repetitionEndDate = _data[\"repetitionEndDate\"] ? new Date(_data[\"repetitionEndDate\"].toString()) : undefined;\r\n this.contractLibraNumber = _data[\"contractLibraNumber\"];\r\n if (Array.isArray(_data[\"attachments\"])) {\r\n this.attachments = [] as any;\r\n for (let item of _data[\"attachments\"])\r\n this.attachments!.push(AttachmentDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): TsmTimeSlotDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TsmTimeSlotDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"rampId\"] = this.rampId;\r\n data[\"processId\"] = this.processId;\r\n data[\"userId\"] = this.userId;\r\n data[\"roleId\"] = this.roleId;\r\n data[\"title\"] = this.title;\r\n data[\"from\"] = this.from ? this.from.toISOString() : undefined;\r\n data[\"until\"] = this.until ? this.until.toISOString() : undefined;\r\n data[\"eta\"] = this.eta ? this.eta.toISOString() : undefined;\r\n data[\"unitSymbol\"] = this.unitSymbol;\r\n data[\"amount\"] = this.amount;\r\n data[\"status\"] = this.status;\r\n data[\"isEditable\"] = this.isEditable;\r\n data[\"isLate\"] = this.isLate;\r\n data[\"isVeryLate\"] = this.isVeryLate;\r\n data[\"isUnderInvestigation\"] = this.isUnderInvestigation;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"latitude\"] = this.latitude;\r\n data[\"longitude\"] = this.longitude;\r\n if (Array.isArray(this.parameterValues)) {\r\n data[\"parameterValues\"] = [];\r\n for (let item of this.parameterValues)\r\n data[\"parameterValues\"].push(item.toJSON());\r\n }\r\n data[\"isRepetitive\"] = this.isRepetitive;\r\n data[\"repetitionType\"] = this.repetitionType;\r\n data[\"repetitionEndDate\"] = this.repetitionEndDate ? this.repetitionEndDate.toISOString() : undefined;\r\n data[\"contractLibraNumber\"] = this.contractLibraNumber;\r\n if (Array.isArray(this.attachments)) {\r\n data[\"attachments\"] = [];\r\n for (let item of this.attachments)\r\n data[\"attachments\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITsmTimeSlotDto {\r\n id: string;\r\n rampId: string;\r\n processId: string;\r\n userId: string;\r\n roleId?: string | undefined;\r\n title?: string | undefined;\r\n from: Date;\r\n until: Date;\r\n eta?: Date | undefined;\r\n unitSymbol?: string | undefined;\r\n amount: number;\r\n status: TimeSlotStatus;\r\n isEditable: boolean;\r\n isLate: boolean;\r\n isVeryLate: boolean;\r\n isUnderInvestigation: boolean;\r\n deleted: boolean;\r\n latitude?: number | undefined;\r\n longitude?: number | undefined;\r\n parameterValues?: TimeSlotProcessParameterValueDto[] | undefined;\r\n isRepetitive?: boolean | undefined;\r\n repetitionType?: RepetitionType | undefined;\r\n repetitionEndDate?: Date | undefined;\r\n contractLibraNumber?: string | undefined;\r\n attachments?: AttachmentDto[] | undefined;\r\n}\r\n\r\nexport enum TimeSlotStatus {\r\n Unknown = \"Unknown\",\r\n Processing = \"Processing\",\r\n Done = \"Done\",\r\n Late = \"Late\",\r\n Open = \"Open\",\r\n Replaced = \"Replaced\",\r\n Reserved = \"Reserved\",\r\n UnderInvestigation = \"UnderInvestigation\",\r\n}\r\n\r\nexport class TimeSlotProcessParameterValueDto implements ITimeSlotProcessParameterValueDto {\r\n id!: string;\r\n parameterId!: string;\r\n timeSlotId!: string;\r\n value?: string | undefined;\r\n valueId?: number | undefined;\r\n deleted!: boolean;\r\n parameterType!: ParameterType;\r\n\r\n constructor(data?: ITimeSlotProcessParameterValueDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.parameterId = _data[\"parameterId\"];\r\n this.timeSlotId = _data[\"timeSlotId\"];\r\n this.value = _data[\"value\"];\r\n this.valueId = _data[\"valueId\"];\r\n this.deleted = _data[\"deleted\"];\r\n this.parameterType = _data[\"parameterType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeSlotProcessParameterValueDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeSlotProcessParameterValueDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"parameterId\"] = this.parameterId;\r\n data[\"timeSlotId\"] = this.timeSlotId;\r\n data[\"value\"] = this.value;\r\n data[\"valueId\"] = this.valueId;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"parameterType\"] = this.parameterType;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeSlotProcessParameterValueDto {\r\n id: string;\r\n parameterId: string;\r\n timeSlotId: string;\r\n value?: string | undefined;\r\n valueId?: number | undefined;\r\n deleted: boolean;\r\n parameterType: ParameterType;\r\n}\r\n\r\nexport class AttachmentDto implements IAttachmentDto {\r\n id!: string;\r\n name?: string | undefined;\r\n size?: string | undefined;\r\n\r\n constructor(data?: IAttachmentDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.size = _data[\"size\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AttachmentDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AttachmentDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"size\"] = this.size;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAttachmentDto {\r\n id: string;\r\n name?: string | undefined;\r\n size?: string | undefined;\r\n}\r\n\r\nexport class GetTimeSlotsInputModel implements IGetTimeSlotsInputModel {\r\n locationId!: number;\r\n roleId!: string;\r\n permission!: CloudUserRoles;\r\n bookingMethod!: TimeSlotBookingMethod;\r\n startDate!: Date;\r\n endDate!: Date;\r\n\r\n constructor(data?: IGetTimeSlotsInputModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.locationId = _data[\"locationId\"];\r\n this.roleId = _data[\"roleId\"];\r\n this.permission = _data[\"permission\"];\r\n this.bookingMethod = _data[\"bookingMethod\"];\r\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\r\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): GetTimeSlotsInputModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GetTimeSlotsInputModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"locationId\"] = this.locationId;\r\n data[\"roleId\"] = this.roleId;\r\n data[\"permission\"] = this.permission;\r\n data[\"bookingMethod\"] = this.bookingMethod;\r\n data[\"startDate\"] = this.startDate ? this.startDate.toISOString() : undefined;\r\n data[\"endDate\"] = this.endDate ? this.endDate.toISOString() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IGetTimeSlotsInputModel {\r\n locationId: number;\r\n roleId: string;\r\n permission: CloudUserRoles;\r\n bookingMethod: TimeSlotBookingMethod;\r\n startDate: Date;\r\n endDate: Date;\r\n}\r\n\r\nexport class UpdateTimeSlotDto implements IUpdateTimeSlotDto {\r\n rampId!: string;\r\n locationId!: number;\r\n timeSlot?: TsmTimeSlotDto | undefined;\r\n\r\n constructor(data?: IUpdateTimeSlotDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.rampId = _data[\"rampId\"];\r\n this.locationId = _data[\"locationId\"];\r\n this.timeSlot = _data[\"timeSlot\"] ? TsmTimeSlotDto.fromJS(_data[\"timeSlot\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpdateTimeSlotDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpdateTimeSlotDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"rampId\"] = this.rampId;\r\n data[\"locationId\"] = this.locationId;\r\n data[\"timeSlot\"] = this.timeSlot ? this.timeSlot.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpdateTimeSlotDto {\r\n rampId: string;\r\n locationId: number;\r\n timeSlot?: TsmTimeSlotDto | undefined;\r\n}\r\n\r\nexport class SaveTimeSlotInputModel implements ISaveTimeSlotInputModel {\r\n id?: string | undefined;\r\n titanLibraId?: number | undefined;\r\n bookingNumber?: string | undefined;\r\n rampId!: string;\r\n roleId!: string;\r\n processId!: string;\r\n startDate!: Date;\r\n endDate!: Date;\r\n title!: string;\r\n unitSymbol!: string;\r\n amount!: number;\r\n permission!: CloudUserRoles;\r\n status?: TimeSlotStatus | undefined;\r\n parameterValues?: TimeSlotProcessInputParameterDto[] | undefined;\r\n latitude?: number | undefined;\r\n longitude?: number | undefined;\r\n isRepetitive?: boolean | undefined;\r\n repetitionType?: RepetitionType | undefined;\r\n repetitionEndDate?: Date | undefined;\r\n isVisitorBooking?: boolean | undefined;\r\n bookingLocationCode?: string | undefined;\r\n contractLibraNumber?: string | undefined;\r\n attachments?: AttachmentDto[] | undefined;\r\n\r\n constructor(data?: ISaveTimeSlotInputModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.titanLibraId = _data[\"titanLibraId\"];\r\n this.bookingNumber = _data[\"bookingNumber\"];\r\n this.rampId = _data[\"rampId\"];\r\n this.roleId = _data[\"roleId\"];\r\n this.processId = _data[\"processId\"];\r\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\r\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\r\n this.title = _data[\"title\"];\r\n this.unitSymbol = _data[\"unitSymbol\"];\r\n this.amount = _data[\"amount\"];\r\n this.permission = _data[\"permission\"];\r\n this.status = _data[\"status\"];\r\n if (Array.isArray(_data[\"parameterValues\"])) {\r\n this.parameterValues = [] as any;\r\n for (let item of _data[\"parameterValues\"])\r\n this.parameterValues!.push(TimeSlotProcessInputParameterDto.fromJS(item));\r\n }\r\n this.latitude = _data[\"latitude\"];\r\n this.longitude = _data[\"longitude\"];\r\n this.isRepetitive = _data[\"isRepetitive\"];\r\n this.repetitionType = _data[\"repetitionType\"];\r\n this.repetitionEndDate = _data[\"repetitionEndDate\"] ? new Date(_data[\"repetitionEndDate\"].toString()) : undefined;\r\n this.isVisitorBooking = _data[\"isVisitorBooking\"];\r\n this.bookingLocationCode = _data[\"bookingLocationCode\"];\r\n this.contractLibraNumber = _data[\"contractLibraNumber\"];\r\n if (Array.isArray(_data[\"attachments\"])) {\r\n this.attachments = [] as any;\r\n for (let item of _data[\"attachments\"])\r\n this.attachments!.push(AttachmentDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SaveTimeSlotInputModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SaveTimeSlotInputModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"titanLibraId\"] = this.titanLibraId;\r\n data[\"bookingNumber\"] = this.bookingNumber;\r\n data[\"rampId\"] = this.rampId;\r\n data[\"roleId\"] = this.roleId;\r\n data[\"processId\"] = this.processId;\r\n data[\"startDate\"] = this.startDate ? this.startDate.toISOString() : undefined;\r\n data[\"endDate\"] = this.endDate ? this.endDate.toISOString() : undefined;\r\n data[\"title\"] = this.title;\r\n data[\"unitSymbol\"] = this.unitSymbol;\r\n data[\"amount\"] = this.amount;\r\n data[\"permission\"] = this.permission;\r\n data[\"status\"] = this.status;\r\n if (Array.isArray(this.parameterValues)) {\r\n data[\"parameterValues\"] = [];\r\n for (let item of this.parameterValues)\r\n data[\"parameterValues\"].push(item.toJSON());\r\n }\r\n data[\"latitude\"] = this.latitude;\r\n data[\"longitude\"] = this.longitude;\r\n data[\"isRepetitive\"] = this.isRepetitive;\r\n data[\"repetitionType\"] = this.repetitionType;\r\n data[\"repetitionEndDate\"] = this.repetitionEndDate ? this.repetitionEndDate.toISOString() : undefined;\r\n data[\"isVisitorBooking\"] = this.isVisitorBooking;\r\n data[\"bookingLocationCode\"] = this.bookingLocationCode;\r\n data[\"contractLibraNumber\"] = this.contractLibraNumber;\r\n if (Array.isArray(this.attachments)) {\r\n data[\"attachments\"] = [];\r\n for (let item of this.attachments)\r\n data[\"attachments\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISaveTimeSlotInputModel {\r\n id?: string | undefined;\r\n titanLibraId?: number | undefined;\r\n bookingNumber?: string | undefined;\r\n rampId: string;\r\n roleId: string;\r\n processId: string;\r\n startDate: Date;\r\n endDate: Date;\r\n title: string;\r\n unitSymbol: string;\r\n amount: number;\r\n permission: CloudUserRoles;\r\n status?: TimeSlotStatus | undefined;\r\n parameterValues?: TimeSlotProcessInputParameterDto[] | undefined;\r\n latitude?: number | undefined;\r\n longitude?: number | undefined;\r\n isRepetitive?: boolean | undefined;\r\n repetitionType?: RepetitionType | undefined;\r\n repetitionEndDate?: Date | undefined;\r\n isVisitorBooking?: boolean | undefined;\r\n bookingLocationCode?: string | undefined;\r\n contractLibraNumber?: string | undefined;\r\n attachments?: AttachmentDto[] | undefined;\r\n}\r\n\r\nexport class TimeSlotProcessInputParameterDto implements ITimeSlotProcessInputParameterDto {\r\n value?: string | undefined;\r\n valueId?: number | undefined;\r\n parameterId!: string;\r\n\r\n constructor(data?: ITimeSlotProcessInputParameterDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.value = _data[\"value\"];\r\n this.valueId = _data[\"valueId\"];\r\n this.parameterId = _data[\"parameterId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeSlotProcessInputParameterDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeSlotProcessInputParameterDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"value\"] = this.value;\r\n data[\"valueId\"] = this.valueId;\r\n data[\"parameterId\"] = this.parameterId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeSlotProcessInputParameterDto {\r\n value?: string | undefined;\r\n valueId?: number | undefined;\r\n parameterId: string;\r\n}\r\n\r\nexport class LibraSaveTimeSlotInputModel extends SaveTimeSlotInputModel implements ILibraSaveTimeSlotInputModel {\r\n repetitionParentId?: string | undefined;\r\n isParent!: boolean;\r\n\r\n constructor(data?: ILibraSaveTimeSlotInputModel) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.repetitionParentId = _data[\"repetitionParentId\"];\r\n this.isParent = _data[\"isParent\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LibraSaveTimeSlotInputModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LibraSaveTimeSlotInputModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"repetitionParentId\"] = this.repetitionParentId;\r\n data[\"isParent\"] = this.isParent;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILibraSaveTimeSlotInputModel extends ISaveTimeSlotInputModel {\r\n repetitionParentId?: string | undefined;\r\n isParent: boolean;\r\n}\r\n\r\nexport class ChangeTimeSlotStatusInputModel implements IChangeTimeSlotStatusInputModel {\r\n id!: string;\r\n status!: TimeSlotStatus;\r\n rampId!: string;\r\n roleId!: string;\r\n permission!: CloudUserRoles;\r\n\r\n constructor(data?: IChangeTimeSlotStatusInputModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.status = _data[\"status\"];\r\n this.rampId = _data[\"rampId\"];\r\n this.roleId = _data[\"roleId\"];\r\n this.permission = _data[\"permission\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ChangeTimeSlotStatusInputModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ChangeTimeSlotStatusInputModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"status\"] = this.status;\r\n data[\"rampId\"] = this.rampId;\r\n data[\"roleId\"] = this.roleId;\r\n data[\"permission\"] = this.permission;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IChangeTimeSlotStatusInputModel {\r\n id: string;\r\n status: TimeSlotStatus;\r\n rampId: string;\r\n roleId: string;\r\n permission: CloudUserRoles;\r\n}\r\n\r\nexport class DeleteTimeSlotInputModel implements IDeleteTimeSlotInputModel {\r\n id!: string;\r\n roleId!: string;\r\n permission!: CloudUserRoles;\r\n deleteWithSeries!: boolean;\r\n isLibraRequest!: boolean;\r\n\r\n constructor(data?: IDeleteTimeSlotInputModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.roleId = _data[\"roleId\"];\r\n this.permission = _data[\"permission\"];\r\n this.deleteWithSeries = _data[\"deleteWithSeries\"];\r\n this.isLibraRequest = _data[\"isLibraRequest\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DeleteTimeSlotInputModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DeleteTimeSlotInputModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"roleId\"] = this.roleId;\r\n data[\"permission\"] = this.permission;\r\n data[\"deleteWithSeries\"] = this.deleteWithSeries;\r\n data[\"isLibraRequest\"] = this.isLibraRequest;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDeleteTimeSlotInputModel {\r\n id: string;\r\n roleId: string;\r\n permission: CloudUserRoles;\r\n deleteWithSeries: boolean;\r\n isLibraRequest: boolean;\r\n}\r\n\r\nexport class BaseInputModel implements IBaseInputModel {\r\n locationClientId?: string | undefined;\r\n languageCode?: string | undefined;\r\n\r\n constructor(data?: IBaseInputModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.locationClientId = _data[\"locationClientId\"];\r\n this.languageCode = _data[\"languageCode\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BaseInputModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BaseInputModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"locationClientId\"] = this.locationClientId;\r\n data[\"languageCode\"] = this.languageCode;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBaseInputModel {\r\n locationClientId?: string | undefined;\r\n languageCode?: string | undefined;\r\n}\r\n\r\nexport class PDeleteTimeSlotInputModel extends BaseInputModel implements IPDeleteTimeSlotInputModel {\r\n id!: string;\r\n roleId?: string | undefined;\r\n\r\n constructor(data?: IPDeleteTimeSlotInputModel) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.roleId = _data[\"roleId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PDeleteTimeSlotInputModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PDeleteTimeSlotInputModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"roleId\"] = this.roleId;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPDeleteTimeSlotInputModel extends IBaseInputModel {\r\n id: string;\r\n roleId?: string | undefined;\r\n}\r\n\r\nexport class UserTsmLocationsDto implements IUserTsmLocationsDto {\r\n connectedLibraLocations?: ConnectedLibraTsmLocationDto[] | undefined;\r\n roleLocations?: RoleLocationDto[] | undefined;\r\n allAvailableLocations?: UserLocationDto[] | undefined;\r\n\r\n constructor(data?: IUserTsmLocationsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"connectedLibraLocations\"])) {\r\n this.connectedLibraLocations = [] as any;\r\n for (let item of _data[\"connectedLibraLocations\"])\r\n this.connectedLibraLocations!.push(ConnectedLibraTsmLocationDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"roleLocations\"])) {\r\n this.roleLocations = [] as any;\r\n for (let item of _data[\"roleLocations\"])\r\n this.roleLocations!.push(RoleLocationDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"allAvailableLocations\"])) {\r\n this.allAvailableLocations = [] as any;\r\n for (let item of _data[\"allAvailableLocations\"])\r\n this.allAvailableLocations!.push(UserLocationDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserTsmLocationsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserTsmLocationsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.connectedLibraLocations)) {\r\n data[\"connectedLibraLocations\"] = [];\r\n for (let item of this.connectedLibraLocations)\r\n data[\"connectedLibraLocations\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.roleLocations)) {\r\n data[\"roleLocations\"] = [];\r\n for (let item of this.roleLocations)\r\n data[\"roleLocations\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.allAvailableLocations)) {\r\n data[\"allAvailableLocations\"] = [];\r\n for (let item of this.allAvailableLocations)\r\n data[\"allAvailableLocations\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserTsmLocationsDto {\r\n connectedLibraLocations?: ConnectedLibraTsmLocationDto[] | undefined;\r\n roleLocations?: RoleLocationDto[] | undefined;\r\n allAvailableLocations?: UserLocationDto[] | undefined;\r\n}\r\n\r\nexport class UserLocationDto implements IUserLocationDto {\r\n locationId!: number;\r\n locationClientId?: string | undefined;\r\n name?: string | undefined;\r\n code?: string | undefined;\r\n isRolePermission!: boolean;\r\n\r\n constructor(data?: IUserLocationDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.locationId = _data[\"locationId\"];\r\n this.locationClientId = _data[\"locationClientId\"];\r\n this.name = _data[\"name\"];\r\n this.code = _data[\"code\"];\r\n this.isRolePermission = _data[\"isRolePermission\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserLocationDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserLocationDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"locationId\"] = this.locationId;\r\n data[\"locationClientId\"] = this.locationClientId;\r\n data[\"name\"] = this.name;\r\n data[\"code\"] = this.code;\r\n data[\"isRolePermission\"] = this.isRolePermission;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserLocationDto {\r\n locationId: number;\r\n locationClientId?: string | undefined;\r\n name?: string | undefined;\r\n code?: string | undefined;\r\n isRolePermission: boolean;\r\n}\r\n\r\nexport class ConnectedLibraTsmLocationDto extends UserLocationDto implements IConnectedLibraTsmLocationDto {\r\n id!: string;\r\n customUserName?: string | undefined;\r\n permissions?: CloudUserRoles[] | undefined;\r\n permissionsList?: SelectListItemDto[] | undefined;\r\n isFavorite!: boolean;\r\n favoriteRole!: CloudUserRoles;\r\n\r\n constructor(data?: IConnectedLibraTsmLocationDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.customUserName = _data[\"customUserName\"];\r\n if (Array.isArray(_data[\"permissions\"])) {\r\n this.permissions = [] as any;\r\n for (let item of _data[\"permissions\"])\r\n this.permissions!.push(item);\r\n }\r\n if (Array.isArray(_data[\"permissionsList\"])) {\r\n this.permissionsList = [] as any;\r\n for (let item of _data[\"permissionsList\"])\r\n this.permissionsList!.push(SelectListItemDto.fromJS(item));\r\n }\r\n this.isFavorite = _data[\"isFavorite\"];\r\n this.favoriteRole = _data[\"favoriteRole\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ConnectedLibraTsmLocationDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ConnectedLibraTsmLocationDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"customUserName\"] = this.customUserName;\r\n if (Array.isArray(this.permissions)) {\r\n data[\"permissions\"] = [];\r\n for (let item of this.permissions)\r\n data[\"permissions\"].push(item);\r\n }\r\n if (Array.isArray(this.permissionsList)) {\r\n data[\"permissionsList\"] = [];\r\n for (let item of this.permissionsList)\r\n data[\"permissionsList\"].push(item.toJSON());\r\n }\r\n data[\"isFavorite\"] = this.isFavorite;\r\n data[\"favoriteRole\"] = this.favoriteRole;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IConnectedLibraTsmLocationDto extends IUserLocationDto {\r\n id: string;\r\n customUserName?: string | undefined;\r\n permissions?: CloudUserRoles[] | undefined;\r\n permissionsList?: SelectListItemDto[] | undefined;\r\n isFavorite: boolean;\r\n favoriteRole: CloudUserRoles;\r\n}\r\n\r\nexport class RoleLocationDto extends UserLocationDto implements IRoleLocationDto {\r\n roles?: RoleDto[] | undefined;\r\n\r\n constructor(data?: IRoleLocationDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n if (Array.isArray(_data[\"roles\"])) {\r\n this.roles = [] as any;\r\n for (let item of _data[\"roles\"])\r\n this.roles!.push(RoleDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): RoleLocationDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RoleLocationDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.roles)) {\r\n data[\"roles\"] = [];\r\n for (let item of this.roles)\r\n data[\"roles\"].push(item.toJSON());\r\n }\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRoleLocationDto extends IUserLocationDto {\r\n roles?: RoleDto[] | undefined;\r\n}\r\n\r\nexport class ConnectZfmInputModel extends BaseInputModel implements IConnectZfmInputModel {\r\n locationCode!: string;\r\n companyName?: string | undefined;\r\n role!: CloudUserRoles;\r\n\r\n constructor(data?: IConnectZfmInputModel) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.locationCode = _data[\"locationCode\"];\r\n this.companyName = _data[\"companyName\"];\r\n this.role = _data[\"role\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ConnectZfmInputModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ConnectZfmInputModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"locationCode\"] = this.locationCode;\r\n data[\"companyName\"] = this.companyName;\r\n data[\"role\"] = this.role;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IConnectZfmInputModel extends IBaseInputModel {\r\n locationCode: string;\r\n companyName?: string | undefined;\r\n role: CloudUserRoles;\r\n}\r\n\r\nexport class UpdateZfmLocationInputModel implements IUpdateZfmLocationInputModel {\r\n id!: string;\r\n name?: string | undefined;\r\n\r\n constructor(data?: IUpdateZfmLocationInputModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpdateZfmLocationInputModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpdateZfmLocationInputModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpdateZfmLocationInputModel {\r\n id: string;\r\n name?: string | undefined;\r\n}\r\n\r\nexport class RemoveZfmConnectionInputModel extends BaseInputModel implements IRemoveZfmConnectionInputModel {\r\n id!: string;\r\n\r\n constructor(data?: IRemoveZfmConnectionInputModel) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RemoveZfmConnectionInputModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RemoveZfmConnectionInputModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRemoveZfmConnectionInputModel extends IBaseInputModel {\r\n id: string;\r\n}\r\n\r\nexport class GroupListDto implements IGroupListDto {\r\n groups?: GroupDto[] | undefined;\r\n locationId!: number;\r\n locationCode?: string | undefined;\r\n locationName?: string | undefined;\r\n\r\n constructor(data?: IGroupListDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"groups\"])) {\r\n this.groups = [] as any;\r\n for (let item of _data[\"groups\"])\r\n this.groups!.push(GroupDto.fromJS(item));\r\n }\r\n this.locationId = _data[\"locationId\"];\r\n this.locationCode = _data[\"locationCode\"];\r\n this.locationName = _data[\"locationName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): GroupListDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GroupListDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.groups)) {\r\n data[\"groups\"] = [];\r\n for (let item of this.groups)\r\n data[\"groups\"].push(item.toJSON());\r\n }\r\n data[\"locationId\"] = this.locationId;\r\n data[\"locationCode\"] = this.locationCode;\r\n data[\"locationName\"] = this.locationName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IGroupListDto {\r\n groups?: GroupDto[] | undefined;\r\n locationId: number;\r\n locationCode?: string | undefined;\r\n locationName?: string | undefined;\r\n}\r\n\r\nexport class GroupDto implements IGroupDto {\r\n id!: string;\r\n name?: string | undefined;\r\n clientId!: number;\r\n color?: string | undefined;\r\n order!: number;\r\n translations?: NameTranslationDto[] | undefined;\r\n deleted!: boolean;\r\n\r\n constructor(data?: IGroupDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.clientId = _data[\"clientId\"];\r\n this.color = _data[\"color\"];\r\n this.order = _data[\"order\"];\r\n if (Array.isArray(_data[\"translations\"])) {\r\n this.translations = [] as any;\r\n for (let item of _data[\"translations\"])\r\n this.translations!.push(NameTranslationDto.fromJS(item));\r\n }\r\n this.deleted = _data[\"deleted\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): GroupDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GroupDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"clientId\"] = this.clientId;\r\n data[\"color\"] = this.color;\r\n data[\"order\"] = this.order;\r\n if (Array.isArray(this.translations)) {\r\n data[\"translations\"] = [];\r\n for (let item of this.translations)\r\n data[\"translations\"].push(item.toJSON());\r\n }\r\n data[\"deleted\"] = this.deleted;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IGroupDto {\r\n id: string;\r\n name?: string | undefined;\r\n clientId: number;\r\n color?: string | undefined;\r\n order: number;\r\n translations?: NameTranslationDto[] | undefined;\r\n deleted: boolean;\r\n}\r\n\r\nexport class LocationGroupDto implements ILocationGroupDto {\r\n group?: GroupDto | undefined;\r\n locationId!: number;\r\n locationCode?: string | undefined;\r\n locationName?: string | undefined;\r\n ramps?: LocationGroupRampDto[] | undefined;\r\n\r\n constructor(data?: ILocationGroupDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.group = _data[\"group\"] ? GroupDto.fromJS(_data[\"group\"]) : undefined;\r\n this.locationId = _data[\"locationId\"];\r\n this.locationCode = _data[\"locationCode\"];\r\n this.locationName = _data[\"locationName\"];\r\n if (Array.isArray(_data[\"ramps\"])) {\r\n this.ramps = [] as any;\r\n for (let item of _data[\"ramps\"])\r\n this.ramps!.push(LocationGroupRampDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): LocationGroupDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LocationGroupDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"group\"] = this.group ? this.group.toJSON() : undefined;\r\n data[\"locationId\"] = this.locationId;\r\n data[\"locationCode\"] = this.locationCode;\r\n data[\"locationName\"] = this.locationName;\r\n if (Array.isArray(this.ramps)) {\r\n data[\"ramps\"] = [];\r\n for (let item of this.ramps)\r\n data[\"ramps\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILocationGroupDto {\r\n group?: GroupDto | undefined;\r\n locationId: number;\r\n locationCode?: string | undefined;\r\n locationName?: string | undefined;\r\n ramps?: LocationGroupRampDto[] | undefined;\r\n}\r\n\r\nexport class LocationGroupRampDto implements ILocationGroupRampDto {\r\n rampId!: string;\r\n name?: string | undefined;\r\n selected!: boolean;\r\n translations?: NameTranslationDto[] | undefined;\r\n\r\n constructor(data?: ILocationGroupRampDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.rampId = _data[\"rampId\"];\r\n this.name = _data[\"name\"];\r\n this.selected = _data[\"selected\"];\r\n if (Array.isArray(_data[\"translations\"])) {\r\n this.translations = [] as any;\r\n for (let item of _data[\"translations\"])\r\n this.translations!.push(NameTranslationDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): LocationGroupRampDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LocationGroupRampDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"rampId\"] = this.rampId;\r\n data[\"name\"] = this.name;\r\n data[\"selected\"] = this.selected;\r\n if (Array.isArray(this.translations)) {\r\n data[\"translations\"] = [];\r\n for (let item of this.translations)\r\n data[\"translations\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILocationGroupRampDto {\r\n rampId: string;\r\n name?: string | undefined;\r\n selected: boolean;\r\n translations?: NameTranslationDto[] | undefined;\r\n}\r\n\r\nexport class ProcessListDto implements IProcessListDto {\r\n processes?: ProcessDto[] | undefined;\r\n locationCode?: string | undefined;\r\n locationName?: string | undefined;\r\n\r\n constructor(data?: IProcessListDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"processes\"])) {\r\n this.processes = [] as any;\r\n for (let item of _data[\"processes\"])\r\n this.processes!.push(ProcessDto.fromJS(item));\r\n }\r\n this.locationCode = _data[\"locationCode\"];\r\n this.locationName = _data[\"locationName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProcessListDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProcessListDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.processes)) {\r\n data[\"processes\"] = [];\r\n for (let item of this.processes)\r\n data[\"processes\"].push(item.toJSON());\r\n }\r\n data[\"locationCode\"] = this.locationCode;\r\n data[\"locationName\"] = this.locationName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProcessListDto {\r\n processes?: ProcessDto[] | undefined;\r\n locationCode?: string | undefined;\r\n locationName?: string | undefined;\r\n}\r\n\r\nexport class LocationProcessDto implements ILocationProcessDto {\r\n processDto!: ProcessDto;\r\n locationName?: string | undefined;\r\n locationCode!: string;\r\n units?: UnitDto[] | undefined;\r\n availableUnits?: LocationUnitDto[] | undefined;\r\n\r\n constructor(data?: ILocationProcessDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n if (!data) {\r\n this.processDto = new ProcessDto();\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.processDto = _data[\"processDto\"] ? ProcessDto.fromJS(_data[\"processDto\"]) : new ProcessDto();\r\n this.locationName = _data[\"locationName\"];\r\n this.locationCode = _data[\"locationCode\"];\r\n if (Array.isArray(_data[\"units\"])) {\r\n this.units = [] as any;\r\n for (let item of _data[\"units\"])\r\n this.units!.push(UnitDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"availableUnits\"])) {\r\n this.availableUnits = [] as any;\r\n for (let item of _data[\"availableUnits\"])\r\n this.availableUnits!.push(LocationUnitDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): LocationProcessDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LocationProcessDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"processDto\"] = this.processDto ? this.processDto.toJSON() : undefined;\r\n data[\"locationName\"] = this.locationName;\r\n data[\"locationCode\"] = this.locationCode;\r\n if (Array.isArray(this.units)) {\r\n data[\"units\"] = [];\r\n for (let item of this.units)\r\n data[\"units\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.availableUnits)) {\r\n data[\"availableUnits\"] = [];\r\n for (let item of this.availableUnits)\r\n data[\"availableUnits\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILocationProcessDto {\r\n processDto: ProcessDto;\r\n locationName?: string | undefined;\r\n locationCode: string;\r\n units?: UnitDto[] | undefined;\r\n availableUnits?: LocationUnitDto[] | undefined;\r\n}\r\n\r\nexport class LocationUnitDto implements ILocationUnitDto {\r\n id!: string;\r\n format?: string | undefined;\r\n symbol?: string | undefined;\r\n locationId!: number;\r\n translations?: NamePluralTranslationDto[] | undefined;\r\n deleted!: boolean;\r\n\r\n constructor(data?: ILocationUnitDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.format = _data[\"format\"];\r\n this.symbol = _data[\"symbol\"];\r\n this.locationId = _data[\"locationId\"];\r\n if (Array.isArray(_data[\"translations\"])) {\r\n this.translations = [] as any;\r\n for (let item of _data[\"translations\"])\r\n this.translations!.push(NamePluralTranslationDto.fromJS(item));\r\n }\r\n this.deleted = _data[\"deleted\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LocationUnitDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LocationUnitDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"format\"] = this.format;\r\n data[\"symbol\"] = this.symbol;\r\n data[\"locationId\"] = this.locationId;\r\n if (Array.isArray(this.translations)) {\r\n data[\"translations\"] = [];\r\n for (let item of this.translations)\r\n data[\"translations\"].push(item.toJSON());\r\n }\r\n data[\"deleted\"] = this.deleted;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILocationUnitDto {\r\n id: string;\r\n format?: string | undefined;\r\n symbol?: string | undefined;\r\n locationId: number;\r\n translations?: NamePluralTranslationDto[] | undefined;\r\n deleted: boolean;\r\n}\r\n\r\nexport class RampListDto implements IRampListDto {\r\n ramps?: RampDto[] | undefined;\r\n locationCode?: string | undefined;\r\n locationName?: string | undefined;\r\n\r\n constructor(data?: IRampListDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"ramps\"])) {\r\n this.ramps = [] as any;\r\n for (let item of _data[\"ramps\"])\r\n this.ramps!.push(RampDto.fromJS(item));\r\n }\r\n this.locationCode = _data[\"locationCode\"];\r\n this.locationName = _data[\"locationName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RampListDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RampListDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.ramps)) {\r\n data[\"ramps\"] = [];\r\n for (let item of this.ramps)\r\n data[\"ramps\"].push(item.toJSON());\r\n }\r\n data[\"locationCode\"] = this.locationCode;\r\n data[\"locationName\"] = this.locationName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRampListDto {\r\n ramps?: RampDto[] | undefined;\r\n locationCode?: string | undefined;\r\n locationName?: string | undefined;\r\n}\r\n\r\nexport class RampDto implements IRampDto {\r\n id!: string;\r\n clientId!: number;\r\n groupClientId!: number;\r\n linkedRampClientId?: number | undefined;\r\n order!: number;\r\n name?: string | undefined;\r\n groupId!: string;\r\n groupIds?: string[] | undefined;\r\n opens?: RampOpenDto[] | undefined;\r\n locks?: RampLockDto[] | undefined;\r\n rampItems?: RampItemDto[] | undefined;\r\n translations?: NameTranslationDto[] | undefined;\r\n deleted!: boolean;\r\n ignoreGlobalOpenTimes!: boolean;\r\n ignoreGlobalCloseTimes!: boolean;\r\n allowParallelTimeSlots!: boolean;\r\n\r\n constructor(data?: IRampDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.clientId = _data[\"clientId\"];\r\n this.groupClientId = _data[\"groupClientId\"];\r\n this.linkedRampClientId = _data[\"linkedRampClientId\"];\r\n this.order = _data[\"order\"];\r\n this.name = _data[\"name\"];\r\n this.groupId = _data[\"groupId\"];\r\n if (Array.isArray(_data[\"groupIds\"])) {\r\n this.groupIds = [] as any;\r\n for (let item of _data[\"groupIds\"])\r\n this.groupIds!.push(item);\r\n }\r\n if (Array.isArray(_data[\"opens\"])) {\r\n this.opens = [] as any;\r\n for (let item of _data[\"opens\"])\r\n this.opens!.push(RampOpenDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"locks\"])) {\r\n this.locks = [] as any;\r\n for (let item of _data[\"locks\"])\r\n this.locks!.push(RampLockDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"rampItems\"])) {\r\n this.rampItems = [] as any;\r\n for (let item of _data[\"rampItems\"])\r\n this.rampItems!.push(RampItemDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"translations\"])) {\r\n this.translations = [] as any;\r\n for (let item of _data[\"translations\"])\r\n this.translations!.push(NameTranslationDto.fromJS(item));\r\n }\r\n this.deleted = _data[\"deleted\"];\r\n this.ignoreGlobalOpenTimes = _data[\"ignoreGlobalOpenTimes\"];\r\n this.ignoreGlobalCloseTimes = _data[\"ignoreGlobalCloseTimes\"];\r\n this.allowParallelTimeSlots = _data[\"allowParallelTimeSlots\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RampDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RampDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"clientId\"] = this.clientId;\r\n data[\"groupClientId\"] = this.groupClientId;\r\n data[\"linkedRampClientId\"] = this.linkedRampClientId;\r\n data[\"order\"] = this.order;\r\n data[\"name\"] = this.name;\r\n data[\"groupId\"] = this.groupId;\r\n if (Array.isArray(this.groupIds)) {\r\n data[\"groupIds\"] = [];\r\n for (let item of this.groupIds)\r\n data[\"groupIds\"].push(item);\r\n }\r\n if (Array.isArray(this.opens)) {\r\n data[\"opens\"] = [];\r\n for (let item of this.opens)\r\n data[\"opens\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.locks)) {\r\n data[\"locks\"] = [];\r\n for (let item of this.locks)\r\n data[\"locks\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.rampItems)) {\r\n data[\"rampItems\"] = [];\r\n for (let item of this.rampItems)\r\n data[\"rampItems\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.translations)) {\r\n data[\"translations\"] = [];\r\n for (let item of this.translations)\r\n data[\"translations\"].push(item.toJSON());\r\n }\r\n data[\"deleted\"] = this.deleted;\r\n data[\"ignoreGlobalOpenTimes\"] = this.ignoreGlobalOpenTimes;\r\n data[\"ignoreGlobalCloseTimes\"] = this.ignoreGlobalCloseTimes;\r\n data[\"allowParallelTimeSlots\"] = this.allowParallelTimeSlots;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRampDto {\r\n id: string;\r\n clientId: number;\r\n groupClientId: number;\r\n linkedRampClientId?: number | undefined;\r\n order: number;\r\n name?: string | undefined;\r\n groupId: string;\r\n groupIds?: string[] | undefined;\r\n opens?: RampOpenDto[] | undefined;\r\n locks?: RampLockDto[] | undefined;\r\n rampItems?: RampItemDto[] | undefined;\r\n translations?: NameTranslationDto[] | undefined;\r\n deleted: boolean;\r\n ignoreGlobalOpenTimes: boolean;\r\n ignoreGlobalCloseTimes: boolean;\r\n allowParallelTimeSlots: boolean;\r\n}\r\n\r\nexport class TimeIntervalDto implements ITimeIntervalDto {\r\n fromDate!: Date;\r\n untilDate!: Date;\r\n repetitionType!: RepetitionType;\r\n isRepetitive!: boolean;\r\n name?: string | undefined;\r\n translations?: NameTranslationDto[] | undefined;\r\n repetitionEndDate?: Date | undefined;\r\n\r\n constructor(data?: ITimeIntervalDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.fromDate = _data[\"fromDate\"] ? new Date(_data[\"fromDate\"].toString()) : undefined;\r\n this.untilDate = _data[\"untilDate\"] ? new Date(_data[\"untilDate\"].toString()) : undefined;\r\n this.repetitionType = _data[\"repetitionType\"];\r\n this.isRepetitive = _data[\"isRepetitive\"];\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"translations\"])) {\r\n this.translations = [] as any;\r\n for (let item of _data[\"translations\"])\r\n this.translations!.push(NameTranslationDto.fromJS(item));\r\n }\r\n this.repetitionEndDate = _data[\"repetitionEndDate\"] ? new Date(_data[\"repetitionEndDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeIntervalDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeIntervalDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"fromDate\"] = this.fromDate ? this.fromDate.toISOString() : undefined;\r\n data[\"untilDate\"] = this.untilDate ? this.untilDate.toISOString() : undefined;\r\n data[\"repetitionType\"] = this.repetitionType;\r\n data[\"isRepetitive\"] = this.isRepetitive;\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.translations)) {\r\n data[\"translations\"] = [];\r\n for (let item of this.translations)\r\n data[\"translations\"].push(item.toJSON());\r\n }\r\n data[\"repetitionEndDate\"] = this.repetitionEndDate ? this.repetitionEndDate.toISOString() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeIntervalDto {\r\n fromDate: Date;\r\n untilDate: Date;\r\n repetitionType: RepetitionType;\r\n isRepetitive: boolean;\r\n name?: string | undefined;\r\n translations?: NameTranslationDto[] | undefined;\r\n repetitionEndDate?: Date | undefined;\r\n}\r\n\r\nexport class RampOpenDto extends TimeIntervalDto implements IRampOpenDto {\r\n id!: string;\r\n\r\n constructor(data?: IRampOpenDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RampOpenDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RampOpenDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRampOpenDto extends ITimeIntervalDto {\r\n id: string;\r\n}\r\n\r\nexport class RampLockDto extends TimeIntervalDto implements IRampLockDto {\r\n id!: string;\r\n lockType!: LockType;\r\n\r\n constructor(data?: IRampLockDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.lockType = _data[\"lockType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RampLockDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RampLockDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"lockType\"] = this.lockType;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRampLockDto extends ITimeIntervalDto {\r\n id: string;\r\n lockType: LockType;\r\n}\r\n\r\nexport enum LockType {\r\n Break = \"Break\",\r\n StatutoryHoliday = \"StatutoryHoliday\",\r\n Lock = \"Lock\",\r\n}\r\n\r\nexport class LocationRampDto implements ILocationRampDto {\r\n rampDto!: RampDto;\r\n locationName?: string | undefined;\r\n locationCode!: string;\r\n units?: UnitDto[] | undefined;\r\n groups?: GroupDto[] | undefined;\r\n raster!: number;\r\n\r\n constructor(data?: ILocationRampDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n if (!data) {\r\n this.rampDto = new RampDto();\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.rampDto = _data[\"rampDto\"] ? RampDto.fromJS(_data[\"rampDto\"]) : new RampDto();\r\n this.locationName = _data[\"locationName\"];\r\n this.locationCode = _data[\"locationCode\"];\r\n if (Array.isArray(_data[\"units\"])) {\r\n this.units = [] as any;\r\n for (let item of _data[\"units\"])\r\n this.units!.push(UnitDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"groups\"])) {\r\n this.groups = [] as any;\r\n for (let item of _data[\"groups\"])\r\n this.groups!.push(GroupDto.fromJS(item));\r\n }\r\n this.raster = _data[\"raster\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LocationRampDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LocationRampDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"rampDto\"] = this.rampDto ? this.rampDto.toJSON() : undefined;\r\n data[\"locationName\"] = this.locationName;\r\n data[\"locationCode\"] = this.locationCode;\r\n if (Array.isArray(this.units)) {\r\n data[\"units\"] = [];\r\n for (let item of this.units)\r\n data[\"units\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.groups)) {\r\n data[\"groups\"] = [];\r\n for (let item of this.groups)\r\n data[\"groups\"].push(item.toJSON());\r\n }\r\n data[\"raster\"] = this.raster;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILocationRampDto {\r\n rampDto: RampDto;\r\n locationName?: string | undefined;\r\n locationCode: string;\r\n units?: UnitDto[] | undefined;\r\n groups?: GroupDto[] | undefined;\r\n raster: number;\r\n}\r\n\r\nexport class TsmConfigurationDto implements ITsmConfigurationDto {\r\n id!: string;\r\n zfmId!: number;\r\n locationCode?: string | undefined;\r\n locationName?: string | undefined;\r\n opens?: ZfmOpenDto[] | undefined;\r\n locks?: ZfmLockDto[] | undefined;\r\n emailResources?: EmailResourceDto[] | undefined;\r\n status_Open?: string | undefined;\r\n status_Processing?: string | undefined;\r\n status_Done?: string | undefined;\r\n status_Replaced?: string | undefined;\r\n status_Late?: string | undefined;\r\n standardRaster!: number;\r\n earliestPossibleBookInterval!: number;\r\n latestPossibleBookInterval!: number;\r\n slotGap!: number;\r\n changePeriod!: number;\r\n timeZone?: string | undefined;\r\n agendaHiddenColumns?: string | undefined;\r\n agendaColumnsOrder?: string | undefined;\r\n\r\n constructor(data?: ITsmConfigurationDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.zfmId = _data[\"zfmId\"];\r\n this.locationCode = _data[\"locationCode\"];\r\n this.locationName = _data[\"locationName\"];\r\n if (Array.isArray(_data[\"opens\"])) {\r\n this.opens = [] as any;\r\n for (let item of _data[\"opens\"])\r\n this.opens!.push(ZfmOpenDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"locks\"])) {\r\n this.locks = [] as any;\r\n for (let item of _data[\"locks\"])\r\n this.locks!.push(ZfmLockDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"emailResources\"])) {\r\n this.emailResources = [] as any;\r\n for (let item of _data[\"emailResources\"])\r\n this.emailResources!.push(EmailResourceDto.fromJS(item));\r\n }\r\n this.status_Open = _data[\"status_Open\"];\r\n this.status_Processing = _data[\"status_Processing\"];\r\n this.status_Done = _data[\"status_Done\"];\r\n this.status_Replaced = _data[\"status_Replaced\"];\r\n this.status_Late = _data[\"status_Late\"];\r\n this.standardRaster = _data[\"standardRaster\"];\r\n this.earliestPossibleBookInterval = _data[\"earliestPossibleBookInterval\"];\r\n this.latestPossibleBookInterval = _data[\"latestPossibleBookInterval\"];\r\n this.slotGap = _data[\"slotGap\"];\r\n this.changePeriod = _data[\"changePeriod\"];\r\n this.timeZone = _data[\"timeZone\"];\r\n this.agendaHiddenColumns = _data[\"agendaHiddenColumns\"];\r\n this.agendaColumnsOrder = _data[\"agendaColumnsOrder\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TsmConfigurationDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TsmConfigurationDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"zfmId\"] = this.zfmId;\r\n data[\"locationCode\"] = this.locationCode;\r\n data[\"locationName\"] = this.locationName;\r\n if (Array.isArray(this.opens)) {\r\n data[\"opens\"] = [];\r\n for (let item of this.opens)\r\n data[\"opens\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.locks)) {\r\n data[\"locks\"] = [];\r\n for (let item of this.locks)\r\n data[\"locks\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.emailResources)) {\r\n data[\"emailResources\"] = [];\r\n for (let item of this.emailResources)\r\n data[\"emailResources\"].push(item.toJSON());\r\n }\r\n data[\"status_Open\"] = this.status_Open;\r\n data[\"status_Processing\"] = this.status_Processing;\r\n data[\"status_Done\"] = this.status_Done;\r\n data[\"status_Replaced\"] = this.status_Replaced;\r\n data[\"status_Late\"] = this.status_Late;\r\n data[\"standardRaster\"] = this.standardRaster;\r\n data[\"earliestPossibleBookInterval\"] = this.earliestPossibleBookInterval;\r\n data[\"latestPossibleBookInterval\"] = this.latestPossibleBookInterval;\r\n data[\"slotGap\"] = this.slotGap;\r\n data[\"changePeriod\"] = this.changePeriod;\r\n data[\"timeZone\"] = this.timeZone;\r\n data[\"agendaHiddenColumns\"] = this.agendaHiddenColumns;\r\n data[\"agendaColumnsOrder\"] = this.agendaColumnsOrder;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITsmConfigurationDto {\r\n id: string;\r\n zfmId: number;\r\n locationCode?: string | undefined;\r\n locationName?: string | undefined;\r\n opens?: ZfmOpenDto[] | undefined;\r\n locks?: ZfmLockDto[] | undefined;\r\n emailResources?: EmailResourceDto[] | undefined;\r\n status_Open?: string | undefined;\r\n status_Processing?: string | undefined;\r\n status_Done?: string | undefined;\r\n status_Replaced?: string | undefined;\r\n status_Late?: string | undefined;\r\n standardRaster: number;\r\n earliestPossibleBookInterval: number;\r\n latestPossibleBookInterval: number;\r\n slotGap: number;\r\n changePeriod: number;\r\n timeZone?: string | undefined;\r\n agendaHiddenColumns?: string | undefined;\r\n agendaColumnsOrder?: string | undefined;\r\n}\r\n\r\nexport class ZfmOpenDto extends TimeIntervalDto implements IZfmOpenDto {\r\n id!: string;\r\n\r\n constructor(data?: IZfmOpenDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ZfmOpenDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ZfmOpenDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IZfmOpenDto extends ITimeIntervalDto {\r\n id: string;\r\n}\r\n\r\nexport class ZfmLockDto extends TimeIntervalDto implements IZfmLockDto {\r\n id!: string;\r\n lockType!: LockType;\r\n\r\n constructor(data?: IZfmLockDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.lockType = _data[\"lockType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ZfmLockDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ZfmLockDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"lockType\"] = this.lockType;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IZfmLockDto extends ITimeIntervalDto {\r\n id: string;\r\n lockType: LockType;\r\n}\r\n\r\nexport class EmailResourceDto implements IEmailResourceDto {\r\n languageCode?: string | undefined;\r\n body?: string | undefined;\r\n subject?: string | undefined;\r\n activationLinkText?: string | undefined;\r\n bodyParameters?: string | undefined;\r\n subjectParameters?: string | undefined;\r\n dateFormat?: string | undefined;\r\n emailType!: PEmailType;\r\n\r\n constructor(data?: IEmailResourceDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.languageCode = _data[\"languageCode\"];\r\n this.body = _data[\"body\"];\r\n this.subject = _data[\"subject\"];\r\n this.activationLinkText = _data[\"activationLinkText\"];\r\n this.bodyParameters = _data[\"bodyParameters\"];\r\n this.subjectParameters = _data[\"subjectParameters\"];\r\n this.dateFormat = _data[\"dateFormat\"];\r\n this.emailType = _data[\"emailType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EmailResourceDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EmailResourceDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"languageCode\"] = this.languageCode;\r\n data[\"body\"] = this.body;\r\n data[\"subject\"] = this.subject;\r\n data[\"activationLinkText\"] = this.activationLinkText;\r\n data[\"bodyParameters\"] = this.bodyParameters;\r\n data[\"subjectParameters\"] = this.subjectParameters;\r\n data[\"dateFormat\"] = this.dateFormat;\r\n data[\"emailType\"] = this.emailType;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEmailResourceDto {\r\n languageCode?: string | undefined;\r\n body?: string | undefined;\r\n subject?: string | undefined;\r\n activationLinkText?: string | undefined;\r\n bodyParameters?: string | undefined;\r\n subjectParameters?: string | undefined;\r\n dateFormat?: string | undefined;\r\n emailType: PEmailType;\r\n}\r\n\r\nexport enum PEmailType {\r\n NONE = \"NONE\",\r\n REGISTER = \"REGISTER\",\r\n PASSWORD_RESET = \"PASSWORD_RESET\",\r\n PASSWORD_RESET_CONFIRMATION = \"PASSWORD_RESET_CONFIRMATION\",\r\n RESEND_ACTIVATION_CODE = \"RESEND_ACTIVATION_CODE\",\r\n ZFM_TIME_SLOT_CREATED = \"ZFM_TIME_SLOT_CREATED\",\r\n ZFM_TIME_SLOT_DELETED = \"ZFM_TIME_SLOT_DELETED\",\r\n ZFM_TIME_SLOT_MOVED = \"ZFM_TIME_SLOT_MOVED\",\r\n ZFM_ACTIVATION_LINK = \"ZFM_ACTIVATION_LINK\",\r\n ZFM_TIME_SLOT_NOT_USED = \"ZFM_TIME_SLOT_NOT_USED\",\r\n CONTACT_FORM = \"CONTACT_FORM\",\r\n COMMON_MAIL = \"COMMON_MAIL\",\r\n GENERAL_USER_INVITATION = \"GENERAL_USER_INVITATION\",\r\n ROLE_PERMISSION_ADDED = \"ROLE_PERMISSION_ADDED\",\r\n ROLE_LOCATION_INVITATION_EMAIL = \"ROLE_LOCATION_INVITATION_EMAIL\",\r\n REPORT_MONTHLY_CLIENT_NOTIFICATION_USAGE = \"REPORT_MONTHLY_CLIENT_NOTIFICATION_USAGE\",\r\n}\r\n\r\nexport class SwaggerException extends Error {\r\n message: string;\r\n status: number;\r\n response: string;\r\n headers: { [key: string]: any; };\r\n result: any;\r\n\r\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\r\n super();\r\n\r\n this.message = message;\r\n this.status = status;\r\n this.response = response;\r\n this.headers = headers;\r\n this.result = result;\r\n }\r\n\r\n protected isSwaggerException = true;\r\n\r\n static isSwaggerException(obj: any): obj is SwaggerException {\r\n return obj.isSwaggerException === true;\r\n }\r\n}\r\n\r\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): Observable {\r\n if (result !== null && result !== undefined)\r\n return _observableThrow(result);\r\n else\r\n return _observableThrow(new SwaggerException(message, status, response, headers, null));\r\n}\r\n\r\nfunction blobToText(blob: any): Observable {\r\n return new Observable((observer: any) => {\r\n if (!blob) {\r\n observer.next(\"\");\r\n observer.complete();\r\n } else {\r\n let reader = new FileReader();\r\n reader.onload = event => {\r\n observer.next((event.target as any).result);\r\n observer.complete();\r\n };\r\n reader.readAsText(blob);\r\n }\r\n });\r\n}\r\n","export default \":host .search-container {\\n position: relative;\\n}\\n\\n:host .search-container .search-btn {\\n border-radius: 0 15px 15px 0;\\n background-color: #fdc628;\\n}\\n\\n:host .search-container .search-input {\\n border-radius: 15px 0 0 15px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbGF5b3V0L2lucHV0cy9wYWFyaS1pbnB1dC1zZWFyY2gvcGFhcmktaW5wdXQtc2VhcmNoLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksa0JBQUE7QUFDSjs7QUFDRTtFQUNFLDRCQUFBO0VBQ0EseUJBQUE7QUFFSjs7QUFBRTtFQUNFLDRCQUFBO0FBR0oiLCJmaWxlIjoic3JjL2FwcC9sYXlvdXQvaW5wdXRzL3BhYXJpLWlucHV0LXNlYXJjaC9wYWFyaS1pbnB1dC1zZWFyY2guY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCAuc2VhcmNoLWNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgfVxyXG4gIDpob3N0IC5zZWFyY2gtY29udGFpbmVyIC5zZWFyY2gtYnRue1xyXG4gICAgYm9yZGVyLXJhZGl1czogMCAxNXB4IDE1cHggMDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGM2Mjg7XHJcbiAgfVxyXG4gIDpob3N0IC5zZWFyY2gtY29udGFpbmVyIC5zZWFyY2gtaW5wdXR7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4IDAgMCAxNXB4O1xyXG4gIH0iXX0= */\";","import { Injectable, OnDestroy } from \"@angular/core\";\r\nimport { MatDatepickerIntl } from \"@angular/material/datepicker\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Injectable()\r\nexport class CustomDatepickerIntl extends MatDatepickerIntl implements OnDestroy {\r\n\r\n readonly languageChange = this.translate.onLangChange.subscribe(() => this.setLabels());\r\n\r\n constructor(private translate: TranslateService) {\r\n super();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.languageChange.unsubscribe();\r\n }\r\n\r\n setLabels(): void {\r\n this.calendarLabel = this.translate.instant('Shared.Datepicker.Calendar');\r\n this.openCalendarLabel = this.translate.instant('Shared.Datepicker.OpenCalendar');\r\n this.prevMonthLabel = this.translate.instant('Shared.Datepicker.PrevMonth');\r\n this.nextMonthLabel = this.translate.instant('Shared.Datepicker.NextMonth');\r\n this.prevYearLabel = this.translate.instant('Shared.Datepicker.PrevYear');\r\n this.nextYearLabel = this.translate.instant('Shared.Datepicker.NextYear');\r\n this.prevMultiYearLabel = this.translate.instant('Shared.Datepicker.PrevMultiYears');\r\n this.nextMultiYearLabel = this.translate.instant('Shared.Datepicker.NextMultiYears');\r\n this.switchToMonthViewLabel = this.translate.instant('Shared.Datepicker.SwitchToMonthView');\r\n this.switchToMultiYearViewLabel = this.translate.instant('Shared.Datepicker.SwitchToMultiYearView');\r\n this.changes.next();\r\n }\r\n}\r\n","export default \".bottom-space {\\n margin-bottom: 25px;\\n}\\n\\n.top-space {\\n margin-top: 10px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbGF5b3V0L3BhYXJpLWVkaXRvci9wYWFyaS1lZGl0b3IuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxtQkFBQTtBQUNKOztBQUVBO0VBQ0ksZ0JBQUE7QUFDSiIsImZpbGUiOiJzcmMvYXBwL2xheW91dC9wYWFyaS1lZGl0b3IvcGFhcmktZWRpdG9yLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmJvdHRvbS1zcGFjZSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG59XHJcblxyXG4udG9wLXNwYWNlIHtcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbn0iXX0= */\";","export default \"\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\";","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\nexport interface QuantityPipeInput {\r\n amount: string | number;\r\n unit: string;\r\n}\r\n\r\n@Pipe({ name: 'quantity' })\r\nexport class QuantityPipe implements PipeTransform {\r\n transform(value: QuantityPipeInput): string {\r\n return [value.amount, value.unit].join(' ');\r\n }\r\n}\r\n","export default \"section {\\n color: #dcdcdb;\\n font-size: 12px;\\n line-height: 1.5em;\\n text-align: center;\\n}\\n\\n.copyright {\\n color: #fdc628;\\n letter-spacing: 1px;\\n}\\n\\n@media only screen and (max-width: 599px) {\\n section {\\n font-size: 10px;\\n }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29yZS9jb21wb25lbnRzL2Zvb3Rlci9mb290ZXItc2l0ZS1pbmZvL2Zvb3Rlci1zaXRlLWluZm8uY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxjQUFBO0VBQ0EsZUFBQTtFQUNBLGtCQUFBO0VBQ0Esa0JBQUE7QUFDRjs7QUFFQTtFQUNFLGNBQUE7RUFDQSxtQkFBQTtBQUNGOztBQUVBO0VBQ0U7SUFDRSxlQUFBO0VBQ0Y7QUFDRiIsImZpbGUiOiJzcmMvYXBwL2NvcmUvY29tcG9uZW50cy9mb290ZXIvZm9vdGVyLXNpdGUtaW5mby9mb290ZXItc2l0ZS1pbmZvLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsic2VjdGlvbiB7XHJcbiAgY29sb3I6ICNkY2RjZGI7XHJcbiAgZm9udC1zaXplOiAxMnB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjVlbTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5jb3B5cmlnaHQge1xyXG4gIGNvbG9yOiAjZmRjNjI4O1xyXG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcclxuICBzZWN0aW9uIHtcclxuICAgIGZvbnQtc2l6ZTogMTBweDtcclxuICB9XHJcbn1cclxuIl19 */\";","export default \"
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n {{validator.errorMessage | translate}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\";","export default \"
\\r\\n \\r\\n
\";","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2xheW91dC9tb2RhbHMvc2VhcmNoLXJvbGUtbW9kYWwvc2VhcmNoLXJvbGUtbW9kYWwuY29tcG9uZW50LnNjc3MifQ== */\";","import { Component, OnInit, AfterViewInit } from '@angular/core';\r\nimport * as fromShared from 'src/app/shared/state';\r\nimport { Store, select } from '@ngrx/store';\r\nimport { AcceptCookieConsent } from 'src/app/shared/state/shared.actions';\r\n\r\n@Component({\r\n selector: 'app-paari-cookie-consent',\r\n templateUrl: './paari-cookie-consent.component.html',\r\n styleUrls: ['./paari-cookie-consent.component.scss']\r\n})\r\nexport class PaariCookieConsentComponent implements OnInit {\r\n\r\n consentAccepted = false;\r\n\r\n constructor(\r\n private store: Store,\r\n\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.store.pipe(select(fromShared.getCookieConsent)).subscribe(state => this.consentAccepted = state);\r\n }\r\n\r\n acceptConsent() {\r\n this.store.dispatch(new AcceptCookieConsent());\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-alert-single-warning-message',\r\n templateUrl: './alert-single-warning-message.component.html',\r\n styleUrls: ['./alert-single-warning-message.component.scss']\r\n})\r\nexport class AlertSingleWarningMessageComponent {\r\n\r\n @Input() message!: string;\r\n}\r\n","export default \".app-title {\\n font-size: 16px;\\n letter-spacing: 0.5px;\\n line-height: 24px;\\n color: #3c434d;\\n}\\n\\n.app-image {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-pack: center;\\n -ms-flex-pack: center;\\n justify-content: center;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n width: 100px;\\n height: 100px;\\n border-radius: 50%;\\n background-color: #3c434d;\\n}\\n\\n.app-image:hover {\\n background-color: #fdc628;\\n}\\n\\n.app-button {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n -ms-flex-direction: column;\\n flex-direction: column;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n gap: 16px;\\n}\\n\\n.apps-list {\\n --item-width: 143px;\\n display: grid;\\n grid-template-columns: repeat(auto-fill, minmax(var(--item-width), 1fr));\\n justify-items: center;\\n padding: 0;\\n}\\n\\n.app-list-item {\\n list-style: none;\\n width: var(--item-width);\\n padding: 16px;\\n text-align: center;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9hcHBzL2FwcHMtbGlzdC9hcHBzLWxpc3QuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxlQUFBO0VBQ0EscUJBQUE7RUFDQSxpQkFBQTtFQUNBLGNBQUE7QUFDSjs7QUFFQTtFQUNJLG9CQUFBO0VBQUEsb0JBQUE7RUFBQSxhQUFBO0VBQ0Esd0JBQUE7TUFBQSxxQkFBQTtVQUFBLHVCQUFBO0VBQ0EseUJBQUE7TUFBQSxzQkFBQTtVQUFBLG1CQUFBO0VBQ0EsWUFBQTtFQUNBLGFBQUE7RUFDQSxrQkFBQTtFQUNBLHlCQUFBO0FBQ0o7O0FBRUE7RUFDSSx5QkFBQTtBQUNKOztBQUVBO0VBQ0ksb0JBQUE7RUFBQSxvQkFBQTtFQUFBLGFBQUE7RUFDQSw0QkFBQTtFQUFBLDZCQUFBO01BQUEsMEJBQUE7VUFBQSxzQkFBQTtFQUNBLHlCQUFBO01BQUEsc0JBQUE7VUFBQSxtQkFBQTtFQUNBLFNBQUE7QUFDSjs7QUFFQTtFQUNJLG1CQUFBO0VBRUEsYUFBQTtFQUNBLHdFQUFBO0VBQ0EscUJBQUE7RUFDQSxVQUFBO0FBQUo7O0FBR0E7RUFDSSxnQkFBQTtFQUNBLHdCQUFBO0VBQ0EsYUFBQTtFQUNBLGtCQUFBO0FBQUoiLCJmaWxlIjoic3JjL2FwcC9tb2R1bGVzL2FwcHMvYXBwcy1saXN0L2FwcHMtbGlzdC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5hcHAtdGl0bGUge1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XHJcbiAgICBjb2xvcjogIzNjNDM0ZDtcclxufVxyXG5cclxuLmFwcC1pbWFnZSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgaGVpZ2h0OiAxMDBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYzQzNGQ7XHJcbn1cclxuXHJcbi5hcHAtaW1hZ2U6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkYzYyODtcclxufVxyXG5cclxuLmFwcC1idXR0b24ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZ2FwOiAxNnB4O1xyXG59XHJcblxyXG4uYXBwcy1saXN0IHtcclxuICAgIC0taXRlbS13aWR0aDogMTQzcHg7XHJcblxyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KHZhcigtLWl0ZW0td2lkdGgpLCAxZnIpKTtcclxuICAgIGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi5hcHAtbGlzdC1pdGVtIHtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICB3aWR0aDogdmFyKC0taXRlbS13aWR0aCk7XHJcbiAgICBwYWRkaW5nOiAxNnB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcbiJdfQ== */\";","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { AcceptInvitationInputModel, AnnouncementClient, AnnouncementDto, DeclineInvitationInputModel, RoleDto, RoleListDto, RoleLocationsDto, RoleTsmSettingsDto, RoleUserMailSettingsDto, RoleV2Client, SimpleRoleInputModel, SimpleRoleWithMailSettingsInputModel, UserRoleInvitationsDto } from 'src/app/shared/generated/AccountClient';\r\nimport { RolesClient } from 'src/app/shared/generated/FrontClient';\r\nimport { ChangeSecuritySettingsRequest, GetProfileResponse, GetSecurityDataResponse, UserClient as IdentityClient, SaveProfileRequest } from 'src/app/shared/generated/IdentityClient';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AccountApiService {\r\n\r\n constructor(\r\n private roleClient: RoleV2Client,\r\n private frontRolesClient: RolesClient,\r\n private announcementClient: AnnouncementClient,\r\n private identityClient: IdentityClient\r\n ) { }\r\n\r\n getRoleList(): Observable {\r\n return this.frontRolesClient.index();\r\n }\r\n\r\n getRole(id: string): Observable {\r\n return this.roleClient.getRole(id);\r\n }\r\n\r\n saveRole(role: RoleDto): Observable {\r\n return this.roleClient.save(role);\r\n }\r\n\r\n saveSimpleRole(role: SimpleRoleInputModel): Observable {\r\n return this.roleClient.saveSimpleRole(role);\r\n }\r\n\r\n saveSimpleRoleWithMailSettings(role: SimpleRoleWithMailSettingsInputModel): Observable {\r\n return this.roleClient.saveSimpleRoleWithMailSettings(role);\r\n }\r\n\r\n validateCode(code: string): Observable {\r\n return this.roleClient.validateCode(code);\r\n }\r\n\r\n deleteRole(id: string): Observable {\r\n return this.roleClient.delete(id);\r\n }\r\n\r\n getRoleTsmSettings(id: string): Observable {\r\n return this.roleClient.getRoleTsmSettings(id);\r\n }\r\n\r\n setRoleTsmSettings(inputModel: RoleTsmSettingsDto): Observable {\r\n return this.roleClient.setRoleTsmSettings(inputModel);\r\n }\r\n\r\n getRoleUserMailSettings(id: string): Observable {\r\n return this.roleClient.getRoleUserMailSettings(id);\r\n }\r\n\r\n setRoleUserMailSettings(inputModel: RoleUserMailSettingsDto): Observable {\r\n return this.roleClient.setRoleUserMailSettings(inputModel);\r\n }\r\n\r\n getRoleLocations(id: string): Observable {\r\n return this.roleClient.getRoleLocations(id);\r\n }\r\n\r\n setRoleLocations(inputModel: RoleLocationsDto): Observable {\r\n return this.roleClient.setRoleLocations(inputModel);\r\n }\r\n\r\n getUserLocationRoleInvitations(): Observable {\r\n return this.roleClient.getUserLocationRoleInvitations();\r\n }\r\n\r\n acceptInvitation(inputModel: AcceptInvitationInputModel): Observable {\r\n return this.roleClient.acceptInvitation(inputModel);\r\n }\r\n\r\n declineInvitation(inputModel: DeclineInvitationInputModel): Observable {\r\n return this.roleClient.declineInvitation(inputModel);\r\n }\r\n\r\n getAnnouncementList(): Observable {\r\n return this.announcementClient.getList();\r\n }\r\n\r\n getUserProfile(): Observable {\r\n return this.identityClient.getProfile()\r\n }\r\n\r\n saveUserProfile(inputModel: SaveProfileRequest): Observable {\r\n return this.identityClient.saveProfile(inputModel);\r\n }\r\n\r\n getSecurityData(): Observable {\r\n return this.identityClient.getSecurityData();\r\n }\r\n\r\n changeSecuritySettings(inputModel: ChangeSecuritySettingsRequest): Observable {\r\n return this.identityClient.changeSecuritySettings(inputModel);\r\n }\r\n}\r\n","export default \"
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{ option }}\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ validator.errorMessage | translate }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\";","import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\r\nimport { ValidatorModel } from '../../shared/validator.model';\r\nimport { BaseInputComponent } from '../paari-base-input/base-input.component';\r\n\r\n@Component({\r\n selector: 'paari-input-number-coordinates',\r\n templateUrl: './paari-input-number-coordinates.component.html',\r\n styleUrls: ['./paari-input-number-coordinates.component.scss']\r\n})\r\nexport class PaariInputNumberCoordinatesComponent implements BaseInputComponent {\r\n @Input() id!: string;\r\n @Input() label!: string;\r\n @Input() bottomSpace!: string;\r\n @Input() validators!: ValidatorModel[];\r\n @Input() disabled: boolean = false;\r\n @ViewChild(\"inputField\", { static: true }) inputField!: ElementRef;\r\n public formGroupValid: boolean = true;\r\n private _model!: number;\r\n\r\n @Output() modelChange = new EventEmitter();\r\n @Input(\"model\")\r\n set model(value: number) {\r\n if (this._model == value) return;\r\n this._model = value;\r\n this.modelChange.emit(this._model);\r\n if (this.inputField.nativeElement.classList.contains(\"ng-touched\")) {\r\n this.validateForm();\r\n }\r\n }\r\n get model() {\r\n return this._model;\r\n }\r\n\r\n public validateForm() {\r\n let classesList = this.inputField.nativeElement.classList;\r\n if (classesList.contains(\"ng-untouched\")) {\r\n classesList.remove(\"ng-untouched\");\r\n classesList.add(\"ng-touched\");\r\n this.validateForm();\r\n }\r\n let result: boolean = true;\r\n if (this.validators != null) {\r\n this.validators.forEach(validator => {\r\n if (!validator.validate(this.model)) {\r\n result = false;\r\n }\r\n });\r\n }\r\n this.formGroupValid = result;\r\n return result;\r\n }\r\n isDirty(): boolean {\r\n return this.inputField.nativeElement.classList.contains(\"ng-dirty\");\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { MenuItemModel } from 'src/app/shared/models/menu-item.model';\r\n\r\n@Component({\r\n selector: 'app-side-nav-sub-menu',\r\n templateUrl: './side-nav-sub-menu.component.html',\r\n styleUrls: ['./side-nav-sub-menu.component.scss']\r\n})\r\nexport class SideNavSubMenuComponent {\r\n\r\n @Input() expanded!: boolean;\r\n @Input() name!: string;\r\n @Input() subItems!: MenuItemModel[];\r\n @Input() rootUrl!: string;\r\n}\r\n","export default \"
\\r\\n
\\r\\n ×\\r\\n {{ alert.genericMessage | translate }}\\r\\n \\r\\n
\\r\\n
\";","/* tslint:disable */\r\n/* eslint-disable */\r\n//----------------------\r\n// \r\n// Generated using the NSwag toolchain v13.7.4.0 (NJsonSchema v10.1.26.0 (Newtonsoft.Json v12.0.0.0)) (http://NSwag.org)\r\n// \r\n//----------------------\r\n// ReSharper disable InconsistentNaming\r\n\r\nimport { HttpClient, HttpHeaders, HttpResponse, HttpResponseBase } from '@angular/common/http';\r\nimport { Inject, Injectable, InjectionToken, Optional } from '@angular/core';\r\nimport { Observable, of as _observableOf, throwError as _observableThrow } from 'rxjs';\r\nimport { catchError as _observableCatch, mergeMap as _observableMergeMap } from 'rxjs/operators';\r\n\r\nexport const API_BASE_URL_NOTIFICATION = new InjectionToken('API_BASE_URL_NOTIFICATION');\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LocationNotificationSettingsClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_NOTIFICATION) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl ? baseUrl : \"https://localhost/NotificationApi\";\r\n }\r\n\r\n get(locationId: number): Observable {\r\n let url_ = this.baseUrl + \"/v1/LocationNotificationSettings/Get?\";\r\n if (locationId === undefined || locationId === null)\r\n throw new Error(\"The parameter 'locationId' must be defined and cannot be null.\");\r\n else\r\n url_ += \"locationId=\" + encodeURIComponent(\"\" + locationId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGet(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGet(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGet(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = LocationNotificationSettingsDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n set(inputModel: LocationNotificationSettingsDto | null): Observable {\r\n let url_ = this.baseUrl + \"/v1/LocationNotificationSettings/Set\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processSet(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSet(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processSet(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoggerClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_NOTIFICATION) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl ? baseUrl : \"https://localhost/NotificationApi\";\r\n }\r\n\r\n currentLogLevel(): Observable {\r\n let url_ = this.baseUrl + \"/api/logger/CurrentLogLevel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processCurrentLogLevel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCurrentLogLevel(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processCurrentLogLevel(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n changeLogLevel(newLevel: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/logger/ChangeLogLevel?\";\r\n if (newLevel === undefined)\r\n throw new Error(\"The parameter 'newLevel' must be defined.\");\r\n else if (newLevel !== null)\r\n url_ += \"newLevel=\" + encodeURIComponent(\"\" + newLevel) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processChangeLogLevel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processChangeLogLevel(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processChangeLogLevel(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PushClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_NOTIFICATION) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl ?? \"https://localhost/NotificationApi\";\r\n }\r\n\r\n updateToken(token: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/Push/UpdateToken?\";\r\n if (token === undefined)\r\n throw new Error(\"The parameter 'token' must be defined.\");\r\n else if (token !== null)\r\n url_ += \"token=\" + encodeURIComponent(\"\" + token) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processUpdateToken(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpdateToken(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processUpdateToken(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n deleteToken(token: string | null): Observable {\r\n let url_ = this.baseUrl + \"/api/Push/DeleteToken?\";\r\n if (token === undefined)\r\n throw new Error(\"The parameter 'token' must be defined.\");\r\n else if (token !== null)\r\n url_ += \"token=\" + encodeURIComponent(\"\" + token) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processDeleteToken(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDeleteToken(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDeleteToken(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport class LocationNotificationSettingsDto implements ILocationNotificationSettingsDto {\r\n id!: number;\r\n smsQuotaEnabled!: boolean;\r\n smsQuotaFrom?: Date | undefined;\r\n smsQuotaUntil?: Date | undefined;\r\n smsQuota?: number | undefined;\r\n callQuotaEnabled!: boolean;\r\n callQuotaFrom?: Date | undefined;\r\n callQuotaUntil?: Date | undefined;\r\n callQuota?: number | undefined;\r\n\r\n constructor(data?: ILocationNotificationSettingsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.smsQuotaEnabled = _data[\"smsQuotaEnabled\"];\r\n this.smsQuotaFrom = _data[\"smsQuotaFrom\"] ? new Date(_data[\"smsQuotaFrom\"].toString()) : undefined;\r\n this.smsQuotaUntil = _data[\"smsQuotaUntil\"] ? new Date(_data[\"smsQuotaUntil\"].toString()) : undefined;\r\n this.smsQuota = _data[\"smsQuota\"];\r\n this.callQuotaEnabled = _data[\"callQuotaEnabled\"];\r\n this.callQuotaFrom = _data[\"callQuotaFrom\"] ? new Date(_data[\"callQuotaFrom\"].toString()) : undefined;\r\n this.callQuotaUntil = _data[\"callQuotaUntil\"] ? new Date(_data[\"callQuotaUntil\"].toString()) : undefined;\r\n this.callQuota = _data[\"callQuota\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LocationNotificationSettingsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LocationNotificationSettingsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"smsQuotaEnabled\"] = this.smsQuotaEnabled;\r\n data[\"smsQuotaFrom\"] = this.smsQuotaFrom ? this.smsQuotaFrom.toISOString() : undefined;\r\n data[\"smsQuotaUntil\"] = this.smsQuotaUntil ? this.smsQuotaUntil.toISOString() : undefined;\r\n data[\"smsQuota\"] = this.smsQuota;\r\n data[\"callQuotaEnabled\"] = this.callQuotaEnabled;\r\n data[\"callQuotaFrom\"] = this.callQuotaFrom ? this.callQuotaFrom.toISOString() : undefined;\r\n data[\"callQuotaUntil\"] = this.callQuotaUntil ? this.callQuotaUntil.toISOString() : undefined;\r\n data[\"callQuota\"] = this.callQuota;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILocationNotificationSettingsDto {\r\n id: number;\r\n smsQuotaEnabled: boolean;\r\n smsQuotaFrom?: Date | undefined;\r\n smsQuotaUntil?: Date | undefined;\r\n smsQuota?: number | undefined;\r\n callQuotaEnabled: boolean;\r\n callQuotaFrom?: Date | undefined;\r\n callQuotaUntil?: Date | undefined;\r\n callQuota?: number | undefined;\r\n}\r\n\r\n/** Specifies the meaning and relative importance of a log event. */\r\nexport enum LogEventLevel {\r\n Verbose = \"Verbose\",\r\n Debug = \"Debug\",\r\n Information = \"Information\",\r\n Warning = \"Warning\",\r\n Error = \"Error\",\r\n Fatal = \"Fatal\",\r\n}\r\n\r\nexport class SwaggerException extends Error {\r\n message: string;\r\n status: number;\r\n response: string;\r\n headers: { [key: string]: any; };\r\n result: any;\r\n\r\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\r\n super();\r\n\r\n this.message = message;\r\n this.status = status;\r\n this.response = response;\r\n this.headers = headers;\r\n this.result = result;\r\n }\r\n\r\n protected isSwaggerException = true;\r\n\r\n static isSwaggerException(obj: any): obj is SwaggerException {\r\n return obj.isSwaggerException === true;\r\n }\r\n}\r\n\r\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): Observable {\r\n if (result !== null && result !== undefined)\r\n return _observableThrow(result);\r\n else\r\n return _observableThrow(new SwaggerException(message, status, response, headers, null));\r\n}\r\n\r\nfunction blobToText(blob: any): Observable {\r\n return new Observable((observer: any) => {\r\n if (!blob) {\r\n observer.next(\"\");\r\n observer.complete();\r\n } else {\r\n let reader = new FileReader();\r\n reader.onload = event => {\r\n observer.next((event.target).result);\r\n observer.complete();\r\n };\r\n reader.readAsText(blob);\r\n }\r\n });\r\n}\r\n","import { Component, DoCheck, EventEmitter, Input, isDevMode, OnDestroy, Output } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { cloneDeep, isEqual } from 'lodash';\r\nimport { YesNoCancelModalComponent } from '../../../layout/modals/yes-no-cancel-modal/yes-no-cancel-modal.component';\r\n\r\n\r\n@Component({\r\n selector: 'app-change-tracker',\r\n templateUrl: './change-tracker.component.html',\r\n styleUrls: ['./change-tracker.component.scss']\r\n})\r\nexport class ChangeTrackerComponent implements DoCheck, OnDestroy {\r\n\r\n dataChanged = false\r\n @Input() model: any\r\n initialModel: any\r\n comparisonModel: any\r\n @Output() confirm: EventEmitter = new EventEmitter();\r\n @Output() cancel = new EventEmitter();\r\n @Input() title!: string;\r\n @Input() titles!: string[];\r\n @Input() bigtitle!: string;\r\n @Input() bigtitles!: string[];\r\n @Input() description!: string;\r\n @Input() backButton!: boolean;\r\n\r\n constructor(private dialog: MatDialog) { }\r\n\r\n onConfirm() {\r\n try {\r\n this.confirm.emit(this.model);\r\n }\r\n catch (err) {\r\n if (isDevMode()) {\r\n console.error(\"onConfirm\", err)\r\n }\r\n }\r\n }\r\n\r\n cancelForm() {\r\n try {\r\n if (this.dataChanged) {\r\n const bsModalRef = this.dialog.open(YesNoCancelModalComponent);\r\n bsModalRef.componentInstance.onYes.subscribe(() => {\r\n this.onConfirm()\r\n })\r\n\r\n bsModalRef.componentInstance.onNo.subscribe(() => {\r\n this.cancel.emit();\r\n })\r\n }\r\n else {\r\n this.cancel.emit();\r\n }\r\n }\r\n catch (err) {\r\n if (isDevMode()) {\r\n console.error(\"cancelForm\", err)\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n try {\r\n this.model = null\r\n this.dataChanged = false\r\n this.initialModel = null\r\n }\r\n catch (err) {\r\n if (isDevMode()) {\r\n console.error(\"ngOnDestroy\", err)\r\n }\r\n }\r\n }\r\n\r\n setModelAfterSaving(model: any) {\r\n if (model) {\r\n this.initialModel = cloneDeep(model);\r\n }\r\n }\r\n\r\n ngDoCheck(): void {\r\n try {\r\n if (!this.model) return\r\n\r\n if (!this.initialModel) {\r\n this.initialModel = cloneDeep(this.model);\r\n }\r\n\r\n if (this.isEqual(this.model, this.initialModel)) {\r\n this.dataChanged = false\r\n if (isDevMode()) {\r\n console.log(\"Model resetted\")\r\n }\r\n }\r\n else {\r\n this.dataChanged = true\r\n if (isDevMode()) {\r\n console.log(\"Model changed\")\r\n }\r\n }\r\n }\r\n catch (err) {\r\n if (isDevMode()) {\r\n console.error(\"ngDoCheck\", err)\r\n }\r\n }\r\n }\r\n\r\n isEqual(currentObj: any, initalObj: any): boolean {\r\n return Object.keys(currentObj).reduce((prev: boolean, current: string) => {\r\n if (Array.isArray(currentObj[current])) {\r\n if (currentObj[current].length !== initalObj[current].length) {\r\n return false\r\n }\r\n else {\r\n for (let value in currentObj[current]) {\r\n if (!this.isEqual(currentObj[current][value], initalObj[current][value])) {\r\n return false\r\n }\r\n }\r\n }\r\n }\r\n else if (typeof currentObj[current] === 'string') {\r\n if (!currentObj[current] && !initalObj[current]) {\r\n return prev\r\n }\r\n else if (currentObj[current] !== initalObj[current]) {\r\n return false\r\n }\r\n }\r\n else if (!isEqual(currentObj[current], initalObj[current])) {\r\n return false\r\n }\r\n return prev\r\n }, true)\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { Subject } from 'rxjs';\r\nimport { RoleUserDto } from 'src/app/shared/generated/AccountClient';\r\nimport { SharedApiService } from 'src/app/shared/services/shared-api.service';\r\n\r\n@Component({\r\n selector: 'app-search-user-modal',\r\n templateUrl: './search-user-modal.component.html',\r\n styleUrls: ['./search-user-modal.component.scss']\r\n})\r\nexport class SearchUserModalComponent implements OnInit {\r\n\r\n searchResults!: RoleUserDto[];\r\n onSave = new Subject();\r\n\r\n loading = false;\r\n selectedUser!: RoleUserDto;\r\n dtOptions: DataTables.Settings = {\r\n pagingType: 'simple',\r\n info: false,\r\n scrollX: true,\r\n lengthChange: false,\r\n paging: false,\r\n search: false,\r\n searching: false,\r\n order: [[0, 'asc']]\r\n };\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n private apiService: SharedApiService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n }\r\n onCancel() {\r\n this.dialogRef.close();\r\n }\r\n onConfirm() {\r\n this.onSave.next(this.selectedUser);\r\n this.dialogRef.close();\r\n }\r\n select(selected: RoleUserDto) {\r\n if (this.selectedUser === selected) {\r\n this.selectedUser = undefined!;\r\n } else {\r\n this.selectedUser = selected;\r\n }\r\n }\r\n performSearch(phrase: string) {\r\n this.loading = true;\r\n this.selectedUser = undefined!;\r\n\r\n this.apiService.searchUser(phrase).subscribe(\r\n result => this.searchResults = result.items!,\r\n (error: any) => this.actionCompleted(),\r\n () => this.actionCompleted()\r\n );\r\n }\r\n actionCompleted() {\r\n this.loading = false;\r\n }\r\n}\r\n","import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\r\nimport { ValidatorModel } from '../../shared/validator.model';\r\n\r\n@Component({\r\n selector: 'app-paari-input-colorpicker',\r\n templateUrl: './paari-input-colorpicker.component.html',\r\n styleUrls: ['./paari-input-colorpicker.component.scss']\r\n})\r\nexport class PaariInputColorpickerComponent {\r\n\r\n @Input() id!: string;\r\n @Input() label!: string;\r\n @Input() bottomSpace!: string;\r\n @Input() icon!: string;\r\n @Input() validators!: ValidatorModel[];\r\n @Input() disabled: boolean = false;\r\n @ViewChild('inputField', { static: true }) inputField!: ElementRef;\r\n public formGroupValid: boolean = true;\r\n private _model!: string;\r\n\r\n @Output() modelChange = new EventEmitter();\r\n @Input('model')\r\n set model(value: string | undefined) {\r\n if (this._model == value) return;\r\n this._model = value ?? '';\r\n this.modelChange.emit(this._model);\r\n if (this.inputField.nativeElement.classList.contains('ng-touched')) {\r\n this.validateForm();\r\n }\r\n }\r\n get model() {\r\n return this._model;\r\n }\r\n\r\n public validateForm() {\r\n let classesList = this.inputField.nativeElement.classList;\r\n if (classesList.contains('ng-untouched')) {\r\n classesList.remove('ng-untouched');\r\n classesList.add('ng-touched');\r\n this.validateForm();\r\n }\r\n let result: boolean = true;\r\n if (this.validators != null) {\r\n this.validators.forEach(validator => {\r\n if (!validator.validate(this.model)) {\r\n result = false;\r\n }\r\n });\r\n }\r\n this.formGroupValid = result;\r\n return result;\r\n }\r\n isDirty(): boolean {\r\n return this.inputField.nativeElement.classList.contains('ng-dirty');\r\n }\r\n\r\n onColorPickerChange(value: string) {\r\n this.model = value;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport * as moment from 'moment';\r\n\r\n@Pipe({\r\n name: 'datex'\r\n})\r\nexport class DatexPipe implements PipeTransform {\r\n\r\n transform(value: any, format: string = \"\"): string {\r\n var momentDate = moment(value);\r\n if (!momentDate.isValid()) return value;\r\n return momentDate.format(format);\r\n}\r\n\r\n}","export default \"
\\r\\n
\\r\\n {{ message | translate }}\\r\\n
\\r\\n
\";","export default \".headlines {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-pack: justify;\\n -ms-flex-pack: justify;\\n justify-content: space-between;\\n color: #3c434d;\\n margin-top: 34px;\\n}\\n\\n.headlines--text-container {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n -ms-flex-direction: column;\\n flex-direction: column;\\n gap: 12px;\\n}\\n\\n.headlines--title-container {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n gap: 4px;\\n}\\n\\n.headlines--back-button {\\n border: 0;\\n font-size: 20px;\\n}\\n\\n.headlines--back-button-icon {\\n display: block;\\n}\\n\\n.headlines--title {\\n font-weight: bold;\\n font-size: 22px;\\n line-height: 1em;\\n}\\n\\n.headlines--bigtitle {\\n font-weight: 400;\\n font-size: 34px;\\n letter-spacing: 0.25px;\\n line-height: 40px;\\n}\\n\\n.headlines--description {\\n font-size: 16px;\\n font-weight: 400;\\n letter-spacing: 0.5px;\\n line-height: 24px;\\n}\\n\\n.headlines--image {\\n max-inline-size: 300px;\\n max-block-size: 300px;\\n}\\n\\n@media (max-width: 962px) {\\n .headlines--image {\\n display: none;\\n }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbGF5b3V0L3BhYXJpLWhlYWRsaW5lcy9wYWFyaS1oZWFkbGluZXMuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxvQkFBQTtFQUFBLG9CQUFBO0VBQUEsYUFBQTtFQUNBLHlCQUFBO01BQUEsc0JBQUE7VUFBQSw4QkFBQTtFQUNBLGNBQUE7RUFDQSxnQkFBQTtBQUNGOztBQUVBO0VBQ0Usb0JBQUE7RUFBQSxvQkFBQTtFQUFBLGFBQUE7RUFDQSw0QkFBQTtFQUFBLDZCQUFBO01BQUEsMEJBQUE7VUFBQSxzQkFBQTtFQUNBLFNBQUE7QUFDRjs7QUFFQTtFQUNFLG9CQUFBO0VBQUEsb0JBQUE7RUFBQSxhQUFBO0VBQ0EseUJBQUE7TUFBQSxzQkFBQTtVQUFBLG1CQUFBO0VBQ0EsUUFBQTtBQUNGOztBQUVBO0VBQ0UsU0FBQTtFQUNBLGVBQUE7QUFDRjs7QUFFQTtFQUNFLGNBQUE7QUFDRjs7QUFFQTtFQUNFLGlCQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0FBQ0Y7O0FBRUE7RUFDRSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxzQkFBQTtFQUNBLGlCQUFBO0FBQ0Y7O0FBRUE7RUFDRSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxxQkFBQTtFQUNBLGlCQUFBO0FBQ0Y7O0FBRUE7RUFDRSxzQkFBQTtFQUNBLHFCQUFBO0FBQ0Y7O0FBRUE7RUFDRTtJQUNFLGFBQUE7RUFDRjtBQUNGIiwiZmlsZSI6InNyYy9hcHAvbGF5b3V0L3BhYXJpLWhlYWRsaW5lcy9wYWFyaS1oZWFkbGluZXMuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuaGVhZGxpbmVzIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICBjb2xvcjogIzNjNDM0ZDtcclxuICBtYXJnaW4tdG9wOiAzNHB4O1xyXG59XHJcblxyXG4uaGVhZGxpbmVzLS10ZXh0LWNvbnRhaW5lciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGdhcDogMTJweDtcclxufVxyXG5cclxuLmhlYWRsaW5lcy0tdGl0bGUtY29udGFpbmVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgZ2FwOiA0cHg7XHJcbn1cclxuXHJcbi5oZWFkbGluZXMtLWJhY2stYnV0dG9uIHtcclxuICBib3JkZXI6IDA7XHJcbiAgZm9udC1zaXplOiAyMHB4O1xyXG59XHJcblxyXG4uaGVhZGxpbmVzLS1iYWNrLWJ1dHRvbi1pY29uIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLmhlYWRsaW5lcy0tdGl0bGUge1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIGZvbnQtc2l6ZTogMjJweDtcclxuICBsaW5lLWhlaWdodDogMWVtO1xyXG59XHJcblxyXG4uaGVhZGxpbmVzLS1iaWd0aXRsZSB7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICBmb250LXNpemU6IDM0cHg7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMjVweDtcclxuICBsaW5lLWhlaWdodDogNDBweDtcclxufVxyXG5cclxuLmhlYWRsaW5lcy0tZGVzY3JpcHRpb24ge1xyXG4gIGZvbnQtc2l6ZTogMTZweDtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG4gIGxldHRlci1zcGFjaW5nOiAwLjVweDtcclxuICBsaW5lLWhlaWdodDogMjRweDtcclxufVxyXG5cclxuLmhlYWRsaW5lcy0taW1hZ2Uge1xyXG4gIG1heC1pbmxpbmUtc2l6ZTogMzAwcHg7XHJcbiAgbWF4LWJsb2NrLXNpemU6IDMwMHB4O1xyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogOTYycHgpIHtcclxuICAuaGVhZGxpbmVzLS1pbWFnZSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxufVxyXG4iXX0= */\";","import { Component, Input } from '@angular/core';\r\nimport { ConfigurationModel } from 'src/app/shared/generated/FrontClient';\r\n\r\n@Component({\r\n selector: 'app-top-nav-impersonation-button',\r\n templateUrl: './top-nav-impersonation-button.component.html',\r\n styleUrls: ['./top-nav-impersonation-button.component.scss']\r\n})\r\nexport class TopNavImpersonationButtonComponent {\r\n\r\n @Input() config!: ConfigurationModel;\r\n\r\n endImpersonation() {\r\n const url = '/Api/Impersonation/End';\r\n localStorage.clear();\r\n window.location.assign(url);\r\n }\r\n}\r\n","export default \"
\\r\\n
\\r\\n \\r\\n
{{ title | translate }}
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\";","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { Subject } from 'rxjs';\r\nimport { SearchRoleResultDto } from 'src/app/shared/generated/AccountClient';\r\nimport { SharedApiService } from 'src/app/shared/services/shared-api.service';\r\n\r\n@Component({\r\n selector: 'app-search-role-modal',\r\n templateUrl: './search-role-modal.component.html',\r\n styleUrls: ['./search-role-modal.component.scss']\r\n})\r\nexport class SearchRoleModalComponent implements OnInit {\r\n\r\n searchResults!: SearchRoleResultDto[];\r\n onSave = new Subject();\r\n\r\n loading = false;\r\n selected!: SearchRoleResultDto;\r\n dtOptions: DataTables.Settings = {\r\n pagingType: 'simple',\r\n info: false,\r\n scrollX: true,\r\n lengthChange: false,\r\n paging: false,\r\n search: false,\r\n searching: false,\r\n order: [[0, 'asc']]\r\n };\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n private apiService: SharedApiService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n }\r\n onCancel() {\r\n this.dialogRef.close();\r\n }\r\n onConfirm() {\r\n this.onSave.next(this.selected);\r\n this.dialogRef.close();\r\n }\r\n select(selected: SearchRoleResultDto) {\r\n if (this.selected === selected) {\r\n this.selected = undefined!;\r\n } else {\r\n this.selected = selected;\r\n }\r\n }\r\n performSearch(phrase: string) {\r\n this.loading = true;\r\n this.selected = undefined!;\r\n\r\n this.apiService.searchRole(phrase).subscribe(\r\n result => this.searchResults = result.items!,\r\n (error: any) => this.actionCompleted(),\r\n () => this.actionCompleted()\r\n );\r\n }\r\n actionCompleted() {\r\n this.loading = false;\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule, Optional, SkipSelf } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { FooterMediaIconsComponent } from './components/footer/footer-media-icons/footer-media-icons.component';\r\nimport { FooterPaariLinksComponent } from './components/footer/footer-paari-links/footer-paari-links.component';\r\nimport { FooterSiteInfoComponent } from './components/footer/footer-site-info/footer-site-info.component';\r\nimport { FooterComponent } from './components/footer/footer.component';\r\nimport { SideNavMenuItemComponent } from './components/side-nav/side-nav-menu-item/side-nav-menu-item.component';\r\nimport { SideNavMenuNameComponent } from './components/side-nav/side-nav-menu-name/side-nav-menu-name.component';\r\nimport { SideNavSubMenuComponent } from './components/side-nav/side-nav-sub-menu/side-nav-sub-menu.component';\r\nimport { SideNavComponent } from './components/side-nav/side-nav.component';\r\nimport { TopNavAccountButtonComponent } from './components/top-nav/top-nav-account-button/top-nav-account-button.component';\r\nimport { TopNavContextMenuComponent } from './components/top-nav/top-nav-context-menu/top-nav-context-menu.component';\r\nimport { TopNavHelpButtonComponent } from './components/top-nav/top-nav-help-button/top-nav-help-button.component';\r\nimport { TopNavImpersonationButtonComponent } from './components/top-nav/top-nav-impersonation-button/top-nav-impersonation-button.component';\r\nimport { TopNavLogoButtonComponent } from './components/top-nav/top-nav-logo-button/top-nav-logo-button.component';\r\nimport { TopNavMenuButtonComponent } from './components/top-nav/top-nav-menu-button/top-nav-menu-button.component';\r\nimport { TopNavNotificationButtonComponent } from './components/top-nav/top-nav-notification-button/top-nav-notification-button.component';\r\nimport { TopNavPreviewDescriptionComponent } from './components/top-nav/top-nav-preview-description/top-nav-preview-description.component';\r\nimport { TopNavComponent } from './components/top-nav/top-nav.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n SharedModule\r\n ],\r\n declarations: [\r\n TopNavComponent,\r\n TopNavImpersonationButtonComponent,\r\n TopNavPreviewDescriptionComponent,\r\n TopNavLogoButtonComponent,\r\n TopNavHelpButtonComponent,\r\n TopNavNotificationButtonComponent,\r\n TopNavAccountButtonComponent,\r\n TopNavContextMenuComponent,\r\n TopNavMenuButtonComponent,\r\n SideNavComponent,\r\n SideNavMenuNameComponent,\r\n SideNavMenuItemComponent,\r\n SideNavSubMenuComponent,\r\n FooterComponent,\r\n FooterMediaIconsComponent,\r\n FooterSiteInfoComponent,\r\n FooterPaariLinksComponent\r\n ],\r\n exports: [\r\n TopNavComponent,\r\n SideNavComponent,\r\n FooterComponent\r\n ]\r\n})\r\nexport class CoreModule {\r\n\r\n constructor(@Optional() @SkipSelf() parentModule?: CoreModule) {\r\n if (parentModule) {\r\n throw new Error(`${parentModule.constructor.name} has already been loaded. Import this module in the AppModule only.`);\r\n }\r\n }\r\n}\r\n","import { Component, Inject } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-image-preview-modal',\r\n templateUrl: './image-preview-modal.component.html',\r\n styleUrls: ['./image-preview-modal.component.scss']\r\n})\r\nexport class ImagePreviewModalComponent {\r\n\r\n onSave = new Subject();\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: { content: string; },\r\n public dialogRef: MatDialogRef\r\n ) { }\r\n\r\n save($event: any): void {\r\n this.data.content = $event;\r\n this.onSave.next(this.data.content);\r\n this.dialogRef.close();\r\n }\r\n\r\n onCancel(): void {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","export default \".color-wrapper {\\n width: 100%;\\n padding: 8px 15px;\\n background-color: #dcdcdb;\\n border: none;\\n border-radius: 15px;\\n height: 39px;\\n}\\n\\n.color-preview {\\n height: 100%;\\n width: 100%;\\n margin-left: auto;\\n border-radius: 5px;\\n}\\n\\nlabel {\\n position: relative;\\n margin-bottom: 0px;\\n margin-bottom: -40px;\\n}\\n\\n.bottom-space {\\n margin-bottom: 25px;\\n}\\n\\n.ng-touched.form-invalid {\\n border-color: rgba(238, 95, 91, 0.8);\\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(238, 95, 91, 0.6);\\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(238, 95, 91, 0.6);\\n outline: 0 none;\\n}\\n\\n.validation-error-alert {\\n margin-top: 10px;\\n border-radius: 15px;\\n line-height: 1.4em;\\n}\\n\\ni.label-icon {\\n margin-right: 3px;\\n}\\n\\n.form-group {\\n cursor: pointer;\\n}\\n\\n.disabled {\\n cursor: not-allowed;\\n opacity: 0.7;\\n}\\n\\n@media (min-width: 768px) {\\n label {\\n top: 24px;\\n left: 15px;\\n }\\n\\n .color-wrapper {\\n text-indent: 250px;\\n }\\n\\n .form-group {\\n line-height: 10px;\\n margin-bottom: 0px;\\n }\\n\\n .color-preview {\\n width: 23px;\\n }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbGF5b3V0L2lucHV0cy9wYWFyaS1pbnB1dC1jb2xvcnBpY2tlci9wYWFyaS1pbnB1dC1jb2xvcnBpY2tlci5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFdBQUE7RUFDQSxpQkFBQTtFQUNBLHlCQUFBO0VBQ0EsWUFBQTtFQUNBLG1CQUFBO0VBQ0EsWUFBQTtBQUNKOztBQUVBO0VBQ0ksWUFBQTtFQUNBLFdBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0FBQ0o7O0FBRUE7RUFDSSxrQkFBQTtFQUNBLGtCQUFBO0VBQ0Esb0JBQUE7QUFDSjs7QUFFQTtFQUNJLG1CQUFBO0FBQ0o7O0FBRUE7RUFDSSxvQ0FBQTtFQUNBLHdGQUFBO1VBQUEsZ0ZBQUE7RUFDQSxlQUFBO0FBQ0o7O0FBRUE7RUFDSSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7QUFDSjs7QUFFQTtFQUNJLGlCQUFBO0FBQ0o7O0FBQ0E7RUFDSSxlQUFBO0FBRUo7O0FBQ0E7RUFDSSxtQkFBQTtFQUNBLFlBQUE7QUFFSjs7QUFDQTtFQUNJO0lBQ0ksU0FBQTtJQUNBLFVBQUE7RUFFTjs7RUFBRTtJQUNJLGtCQUFBO0VBR047O0VBREU7SUFDSSxpQkFBQTtJQUNBLGtCQUFBO0VBSU47O0VBRkU7SUFDSSxXQUFBO0VBS047QUFDRiIsImZpbGUiOiJzcmMvYXBwL2xheW91dC9pbnB1dHMvcGFhcmktaW5wdXQtY29sb3JwaWNrZXIvcGFhcmktaW5wdXQtY29sb3JwaWNrZXIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY29sb3Itd3JhcHBlciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBhZGRpbmc6IDhweCAxNXB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RjZGNkYjtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XHJcbiAgICBoZWlnaHQ6IDM5cHg7XHJcbn1cclxuXHJcbi5jb2xvci1wcmV2aWV3IHtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbn1cclxuXHJcbmxhYmVsIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbi1ib3R0b206IDBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IC00MHB4O1xyXG59XHJcblxyXG4uYm90dG9tLXNwYWNlIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbn1cclxuXHJcbi5uZy10b3VjaGVkLmZvcm0taW52YWxpZCB7XHJcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjM4LCA5NSwgOTEsIC44KTtcclxuICAgIGJveC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KSBpbnNldCwgMCAwIDhweCByZ2JhKDIzOCwgOTUsIDkxLCAuNik7XHJcbiAgICBvdXRsaW5lOiAwIG5vbmU7XHJcbn1cclxuXHJcbi52YWxpZGF0aW9uLWVycm9yLWFsZXJ0IHtcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNGVtO1xyXG59XHJcblxyXG5pLmxhYmVsLWljb24ge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAzcHg7XHJcbn1cclxuLmZvcm0tZ3JvdXB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5kaXNhYmxlZCB7XHJcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgb3BhY2l0eTogMC43O1xyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgIGxhYmVsIHtcclxuICAgICAgICB0b3A6IDI0cHg7XHJcbiAgICAgICAgbGVmdDogMTVweDtcclxuICAgIH1cclxuICAgIC5jb2xvci13cmFwcGVyIHtcclxuICAgICAgICB0ZXh0LWluZGVudDogMjUwcHg7XHJcbiAgICB9XHJcbiAgICAuZm9ybS1ncm91cCB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG4gICAgfVxyXG4gICAgLmNvbG9yLXByZXZpZXcge1xyXG4gICAgICAgIHdpZHRoOiAyM3B4O1xyXG4gICAgfVxyXG59Il19 */\";","export default \"button {\\n margin-top: 8px;\\n position: relative;\\n overflow: hidden;\\n min-width: 64px;\\n min-height: 32px;\\n}\\nbutton input[type=file] {\\n width: 100%;\\n position: absolute;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n opacity: 0;\\n outline: none;\\n}\\nbutton input[type=file]:not(:disabled) {\\n cursor: pointer;\\n}\\nbutton input[type=file]:disabled {\\n cursor: not-allowed;\\n}\\n.btn-group-mobile {\\n margin: 4px 0;\\n}\\n.image-container {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-wrap: wrap;\\n flex-wrap: wrap;\\n background-color: #fdfdfd;\\n padding: 0 10px;\\n margin-top: 15px;\\n gap: 10px;\\n}\\n.image-container > div {\\n position: relative;\\n width: 132px;\\n}\\n.image {\\n background: center no-repeat;\\n background-size: contain;\\n display: inline-block;\\n position: relative;\\n height: 120px;\\n width: 120px;\\n margin: 6px;\\n border-color: #3c434d !important;\\n border: 1px;\\n border-width: 3px;\\n border-style: solid;\\n border-radius: 15px;\\n}\\n.image-remove {\\n min-width: 0 !important;\\n position: absolute;\\n right: -12px;\\n top: -20px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbGF5b3V0L2lucHV0cy9wYWFyaS1pbnB1dC1pbWFnZXMvcGFhcmktaW5wdXQtaW1hZ2VzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsZUFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7QUFDRjtBQUNFO0VBQ0UsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBQ0EsT0FBQTtFQUNBLFVBQUE7RUFDQSxhQUFBO0FBQ0o7QUFDSTtFQUNFLGVBQUE7QUFDTjtBQUVJO0VBQ0UsbUJBQUE7QUFBTjtBQUtBO0VBQ0UsYUFBQTtBQUZGO0FBS0E7RUFDRSxvQkFBQTtFQUFBLG9CQUFBO0VBQUEsYUFBQTtFQUNBLG1CQUFBO01BQUEsZUFBQTtFQUNBLHlCQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsU0FBQTtBQUZGO0FBSUU7RUFDRSxrQkFBQTtFQUNBLFlBQUE7QUFGSjtBQU1BO0VBQ0UsNEJBQUE7RUFDQSx3QkFBQTtFQUNBLHFCQUFBO0VBQ0Esa0JBQUE7RUFDQSxhQUFBO0VBQ0EsWUFBQTtFQUNBLFdBQUE7RUFDQSxnQ0FBQTtFQUNBLFdBQUE7RUFDQSxpQkFBQTtFQUNBLG1CQUFBO0VBQ0EsbUJBQUE7QUFIRjtBQU1BO0VBQ0UsdUJBQUE7RUFDQSxrQkFBQTtFQUNBLFlBQUE7RUFDQSxVQUFBO0FBSEYiLCJmaWxlIjoic3JjL2FwcC9sYXlvdXQvaW5wdXRzL3BhYXJpLWlucHV0LWltYWdlcy9wYWFyaS1pbnB1dC1pbWFnZXMuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJidXR0b24ge1xyXG4gIG1hcmdpbi10b3A6IDhweDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBtaW4td2lkdGg6IDY0cHg7XHJcbiAgbWluLWhlaWdodDogMzJweDtcclxuXHJcbiAgaW5wdXRbdHlwZT1maWxlXSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG5cclxuICAgICY6bm90KDpkaXNhYmxlZCkge1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgJjpkaXNhYmxlZCB7XHJcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uYnRuLWdyb3VwLW1vYmlsZSB7XHJcbiAgbWFyZ2luOiA0cHggMDtcclxufVxyXG5cclxuLmltYWdlLWNvbnRhaW5lciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZmRmZDtcclxuICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgbWFyZ2luLXRvcDogMTVweDtcclxuICBnYXA6IDEwcHg7XHJcblxyXG4gID4gZGl2IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiAxMzJweDtcclxuICB9XHJcbn1cclxuXHJcbi5pbWFnZSB7XHJcbiAgYmFja2dyb3VuZDogY2VudGVyIG5vLXJlcGVhdDtcclxuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBoZWlnaHQ6IDEyMHB4O1xyXG4gIHdpZHRoOiAxMjBweDtcclxuICBtYXJnaW46IDZweDtcclxuICBib3JkZXItY29sb3I6ICMzYzQzNGQgIWltcG9ydGFudDtcclxuICBib3JkZXI6IDFweDtcclxuICBib3JkZXItd2lkdGg6IDNweDtcclxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gIGJvcmRlci1yYWRpdXM6IDE1cHg7XHJcbn1cclxuXHJcbi5pbWFnZS1yZW1vdmUge1xyXG4gIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICByaWdodDogLTEycHg7XHJcbiAgdG9wOiAtMjBweDtcclxufVxyXG4iXX0= */\";","export default \"
\\r\\n {{ text | translate }}\\r\\n {{ postfix }}\\r\\n
\\r\\n\";","import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\r\nimport * as moment from 'moment';\r\nimport { Moment } from 'moment';\r\nimport { ValidatorModel } from '../../shared/validator.model';\r\nimport { BaseInputComponent } from '../paari-base-input/base-input.component';\r\n\r\n@Component({\r\n // tslint:disable-next-line: component-selector\r\n selector: 'paari-input-datepicker',\r\n templateUrl: './paari-input-datepicker.component.html',\r\n styleUrls: ['./paari-input-datepicker.component.scss']\r\n})\r\nexport class PaariInputDatepickerComponent implements BaseInputComponent {\r\n public formGroupValid = true;\r\n private _model!: Moment;\r\n @Input() id!: string;\r\n @Input() label!: string;\r\n @Input() bottomSpace!: string;\r\n @Input() validators!: ValidatorModel[];\r\n @Input() disabled = false;\r\n @Input('model')\r\n set model(value: string | Date | Moment) {\r\n const parsed = value ? moment(value) : undefined;\r\n\r\n if (this._model === parsed) {\r\n return;\r\n }\r\n\r\n if (this._model && parsed && this._model.format() === parsed.format()) {\r\n return;\r\n }\r\n\r\n this._model = parsed!;\r\n const valToEmit = parsed ? moment(this._model).toDate() : null;\r\n this.modelChange.emit(valToEmit);\r\n\r\n if (this.inputField.nativeElement.classList.contains('ng-touched')) {\r\n this.validateForm();\r\n }\r\n }\r\n get model() {\r\n return this._model ? this._model.format(moment.HTML5_FMT.DATE) : undefined!;\r\n }\r\n @Output() modelChange = new EventEmitter();\r\n @ViewChild('inputField', { static: true }) inputField!: ElementRef;\r\n\r\n public validateForm() {\r\n const classesList = this.inputField.nativeElement.classList;\r\n let result = true;\r\n\r\n if (classesList.contains('ng-untouched')) {\r\n classesList.remove('ng-untouched');\r\n classesList.add('ng-touched');\r\n this.validateForm();\r\n }\r\n\r\n if (this.validators != null) {\r\n this.validators.forEach(validator => {\r\n if (!validator.validate(this.model)) {\r\n result = false;\r\n }\r\n });\r\n }\r\n\r\n this.formGroupValid = result;\r\n return result;\r\n }\r\n\r\n isDirty(): boolean {\r\n return this.inputField.nativeElement.classList.contains('ng-dirty');\r\n }\r\n}\r\n","export default \"select {\\n width: 100%;\\n padding: 8px 15px;\\n background-color: #dcdcdb;\\n border: none;\\n border-radius: 15px;\\n height: 39px;\\n}\\n\\nlabel {\\n position: relative;\\n margin-bottom: 0px;\\n margin-bottom: -40px;\\n pointer-events: none;\\n}\\n\\n.bottom-space {\\n margin-bottom: 25px;\\n}\\n\\n.ng-touched.form-invalid {\\n border-color: rgba(238, 95, 91, 0.8);\\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(238, 95, 91, 0.6);\\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(238, 95, 91, 0.6);\\n outline: 0 none;\\n}\\n\\n.validation-error-alert {\\n margin-top: 10px;\\n border-radius: 15px;\\n line-height: 1.4em;\\n}\\n\\n.paari-no-radius-right {\\n border-bottom-right-radius: 0;\\n border-top-right-radius: 0;\\n}\\n\\n@media (min-width: 768px) {\\n label {\\n top: 24px;\\n left: 15px;\\n }\\n\\n :host select {\\n padding-left: 250px;\\n }\\n\\n .form-group {\\n line-height: 10px;\\n margin-bottom: 0px;\\n }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbGF5b3V0L2lucHV0cy9wYWFyaS1pbnB1dC1kcm9wZG93bi9wYWFyaS1pbnB1dC1kcm9wZG93bi5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLFdBQUE7RUFDQSxpQkFBQTtFQUNBLHlCQUFBO0VBQ0EsWUFBQTtFQUNBLG1CQUFBO0VBQ0EsWUFBQTtBQUNGOztBQUVBO0VBQ0Usa0JBQUE7RUFDQSxrQkFBQTtFQUNBLG9CQUFBO0VBQ0Esb0JBQUE7QUFDRjs7QUFFQTtFQUNFLG1CQUFBO0FBQ0Y7O0FBRUE7RUFDRSxvQ0FBQTtFQUNBLHdGQUFBO1VBQUEsZ0ZBQUE7RUFDQSxlQUFBO0FBQ0Y7O0FBRUE7RUFDRSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7QUFDRjs7QUFFQTtFQUNFLDZCQUFBO0VBQ0EsMEJBQUE7QUFDRjs7QUFFQTtFQUVFO0lBQ0UsU0FBQTtJQUNBLFVBQUE7RUFBRjs7RUFHQTtJQUNFLG1CQUFBO0VBQUY7O0VBR0E7SUFDRSxpQkFBQTtJQUNBLGtCQUFBO0VBQUY7QUFDRiIsImZpbGUiOiJzcmMvYXBwL2xheW91dC9pbnB1dHMvcGFhcmktaW5wdXQtZHJvcGRvd24vcGFhcmktaW5wdXQtZHJvcGRvd24uY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJzZWxlY3Qge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHBhZGRpbmc6IDhweCAxNXB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNkY2RjZGI7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIGJvcmRlci1yYWRpdXM6IDE1cHg7XHJcbiAgaGVpZ2h0OiAzOXB4O1xyXG59XHJcblxyXG5sYWJlbCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1hcmdpbi1ib3R0b206IDBweDtcclxuICBtYXJnaW4tYm90dG9tOiAtNDBweDtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG5cclxuLmJvdHRvbS1zcGFjZSB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxufVxyXG5cclxuLm5nLXRvdWNoZWQuZm9ybS1pbnZhbGlkIHtcclxuICBib3JkZXItY29sb3I6IHJnYmEoMjM4LCA5NSwgOTEsIC44KTtcclxuICBib3gtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSkgaW5zZXQsIDAgMCA4cHggcmdiYSgyMzgsIDk1LCA5MSwgLjYpO1xyXG4gIG91dGxpbmU6IDAgbm9uZTtcclxufVxyXG5cclxuLnZhbGlkYXRpb24tZXJyb3ItYWxlcnQge1xyXG4gIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgYm9yZGVyLXJhZGl1czogMTVweDtcclxuICBsaW5lLWhlaWdodDogMS40ZW07XHJcbn1cclxuXHJcbi5wYWFyaS1uby1yYWRpdXMtcmlnaHQge1xyXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xyXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuXHJcbiAgbGFiZWwge1xyXG4gICAgdG9wOiAyNHB4O1xyXG4gICAgbGVmdDogMTVweDtcclxuICB9XHJcblxyXG4gIDpob3N0IHNlbGVjdCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDI1MHB4O1xyXG4gIH1cclxuXHJcbiAgLmZvcm0tZ3JvdXAge1xyXG4gICAgbGluZS1oZWlnaHQ6IDEwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbiAgfVxyXG59XHJcbiJdfQ== */\";","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'truncate'\r\n})\r\nexport class TruncatePipe implements PipeTransform {\r\n\r\n transform(value: string, limit = 25, completeWords = false, ellipsis = '...') {\r\n if (value.length <= limit) {\r\n return value;\r\n }\r\n\r\n if (completeWords) {\r\n limit = value.substr(0, limit).lastIndexOf(' ');\r\n }\r\n\r\n return value.length > limit ? value.substr(0, limit) + ellipsis : value;\r\n }\r\n}\r\n","export default \".menu-name-container {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-pack: justify;\\n -ms-flex-pack: justify;\\n justify-content: space-between;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n}\\n\\n.menu-name {\\n text-align: center;\\n -webkit-box-flex: 1;\\n -ms-flex-positive: 1;\\n flex-grow: 1;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29yZS9jb21wb25lbnRzL3NpZGUtbmF2L3NpZGUtbmF2LW1lbnUtbmFtZS9zaWRlLW5hdi1tZW51LW5hbWUuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxvQkFBQTtFQUFBLG9CQUFBO0VBQUEsYUFBQTtFQUNBLHlCQUFBO01BQUEsc0JBQUE7VUFBQSw4QkFBQTtFQUNBLHlCQUFBO01BQUEsc0JBQUE7VUFBQSxtQkFBQTtBQUNGOztBQUVBO0VBQ0Usa0JBQUE7RUFDQSxtQkFBQTtNQUFBLG9CQUFBO1VBQUEsWUFBQTtBQUNGIiwiZmlsZSI6InNyYy9hcHAvY29yZS9jb21wb25lbnRzL3NpZGUtbmF2L3NpZGUtbmF2LW1lbnUtbmFtZS9zaWRlLW5hdi1tZW51LW5hbWUuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubWVudS1uYW1lLWNvbnRhaW5lciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLm1lbnUtbmFtZSB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGZsZXgtZ3JvdzogMTtcclxufVxyXG4iXX0= */\";","//----------------------\r\n// \r\n// Generated using the NSwag toolchain v13.16.1.0 (NJsonSchema v10.7.2.0 (Newtonsoft.Json v12.0.0.0)) (http://NSwag.org)\r\n// \r\n//----------------------\r\n\r\n/* tslint:disable */\r\n/* eslint-disable */\r\n// ReSharper disable InconsistentNaming\r\n\r\nimport { HttpClient, HttpHeaders, HttpResponse, HttpResponseBase } from '@angular/common/http';\r\nimport { Inject, Injectable, InjectionToken, Optional } from '@angular/core';\r\nimport { Observable, of as _observableOf, throwError as _observableThrow } from 'rxjs';\r\nimport { catchError as _observableCatch, mergeMap as _observableMergeMap } from 'rxjs/operators';\r\n\r\nexport const API_BASE_URL_LOGISTIC = new InjectionToken('API_BASE_URL_LOGISTIC');\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ControlAdminClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_LOGISTIC) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost/LogisticManagement.Api\";\r\n }\r\n\r\n getControlTemplatesList(locationId: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/ControlAdmin/GetControlTemplatesList?\";\r\n if (locationId === null)\r\n throw new Error(\"The parameter 'locationId' cannot be null.\");\r\n else if (locationId !== undefined)\r\n url_ += \"locationId=\" + encodeURIComponent(\"\" + locationId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetControlTemplatesList(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetControlTemplatesList(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetControlTemplatesList(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ControlTemplateListItemDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getControlTemplate(locationId: number | undefined, templateId: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/ControlAdmin/GetControlTemplate?\";\r\n if (locationId === null)\r\n throw new Error(\"The parameter 'locationId' cannot be null.\");\r\n else if (locationId !== undefined)\r\n url_ += \"locationId=\" + encodeURIComponent(\"\" + locationId) + \"&\";\r\n if (templateId === null)\r\n throw new Error(\"The parameter 'templateId' cannot be null.\");\r\n else if (templateId !== undefined)\r\n url_ += \"templateId=\" + encodeURIComponent(\"\" + templateId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetControlTemplate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetControlTemplate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetControlTemplate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ControlTemplateDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getNewControlTemplate(locationId: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/ControlAdmin/GetNewControlTemplate?\";\r\n if (locationId === null)\r\n throw new Error(\"The parameter 'locationId' cannot be null.\");\r\n else if (locationId !== undefined)\r\n url_ += \"locationId=\" + encodeURIComponent(\"\" + locationId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetNewControlTemplate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetNewControlTemplate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetNewControlTemplate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ControlTemplateDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n createControlTemplate(locationId: number | undefined, inputModel: ControlTemplateDto): Observable {\r\n let url_ = this.baseUrl + \"/api/ControlAdmin/CreateControlTemplate?\";\r\n if (locationId === null)\r\n throw new Error(\"The parameter 'locationId' cannot be null.\");\r\n else if (locationId !== undefined)\r\n url_ += \"locationId=\" + encodeURIComponent(\"\" + locationId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processCreateControlTemplate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCreateControlTemplate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processCreateControlTemplate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n updateControlTemplate(locationId: number | undefined, inputModel: ControlTemplateDto): Observable {\r\n let url_ = this.baseUrl + \"/api/ControlAdmin/UpdateControlTemplate?\";\r\n if (locationId === null)\r\n throw new Error(\"The parameter 'locationId' cannot be null.\");\r\n else if (locationId !== undefined)\r\n url_ += \"locationId=\" + encodeURIComponent(\"\" + locationId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processUpdateControlTemplate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpdateControlTemplate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processUpdateControlTemplate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n deleteControlTemplate(locationId: number | undefined, templateId: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/ControlAdmin/DeleteControlTemplate?\";\r\n if (locationId === null)\r\n throw new Error(\"The parameter 'locationId' cannot be null.\");\r\n else if (locationId !== undefined)\r\n url_ += \"locationId=\" + encodeURIComponent(\"\" + locationId) + \"&\";\r\n if (templateId === null)\r\n throw new Error(\"The parameter 'templateId' cannot be null.\");\r\n else if (templateId !== undefined)\r\n url_ += \"templateId=\" + encodeURIComponent(\"\" + templateId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processDeleteControlTemplate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDeleteControlTemplate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDeleteControlTemplate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ControlClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_LOGISTIC) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost/LogisticManagement.Api\";\r\n }\r\n\r\n getStations(locationId: number): Observable {\r\n let url_ = this.baseUrl + \"/api/Control/GetStations/{locationId}\";\r\n if (locationId === undefined || locationId === null)\r\n throw new Error(\"The parameter 'locationId' must be defined.\");\r\n url_ = url_.replace(\"{locationId}\", encodeURIComponent(\"\" + locationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetStations(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetStations(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetStations(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(LogisticStationDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n controlTemplateTypes(locationId: number, stationId: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Control/ControlTemplateTypes/{locationId}?\";\r\n if (locationId === undefined || locationId === null)\r\n throw new Error(\"The parameter 'locationId' must be defined.\");\r\n url_ = url_.replace(\"{locationId}\", encodeURIComponent(\"\" + locationId));\r\n if (stationId === null)\r\n throw new Error(\"The parameter 'stationId' cannot be null.\");\r\n else if (stationId !== undefined)\r\n url_ += \"stationId=\" + encodeURIComponent(\"\" + stationId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processControlTemplateTypes(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processControlTemplateTypes(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processControlTemplateTypes(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ControlTypeDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n logisticActivities(locationId: number): Observable {\r\n let url_ = this.baseUrl + \"/api/Control/LogisticActivities/{locationId}\";\r\n if (locationId === undefined || locationId === null)\r\n throw new Error(\"The parameter 'locationId' must be defined.\");\r\n url_ = url_.replace(\"{locationId}\", encodeURIComponent(\"\" + locationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processLogisticActivities(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processLogisticActivities(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processLogisticActivities(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(LogisticActivityDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n createLogisticActivity(inputModel: LogisticActivityDto, locationId: number): Observable {\r\n let url_ = this.baseUrl + \"/api/Control/CreateLogisticActivity/{locationId}\";\r\n if (locationId === undefined || locationId === null)\r\n throw new Error(\"The parameter 'locationId' must be defined.\");\r\n url_ = url_.replace(\"{locationId}\", encodeURIComponent(\"\" + locationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processCreateLogisticActivity(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCreateLogisticActivity(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processCreateLogisticActivity(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n finishLogisticActivity(activityId: string | undefined, locationId: number): Observable {\r\n let url_ = this.baseUrl + \"/api/Control/FinishLogisticActivity/{locationId}?\";\r\n if (locationId === undefined || locationId === null)\r\n throw new Error(\"The parameter 'locationId' must be defined.\");\r\n url_ = url_.replace(\"{locationId}\", encodeURIComponent(\"\" + locationId));\r\n if (activityId === null)\r\n throw new Error(\"The parameter 'activityId' cannot be null.\");\r\n else if (activityId !== undefined)\r\n url_ += \"activityId=\" + encodeURIComponent(\"\" + activityId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processFinishLogisticActivity(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processFinishLogisticActivity(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processFinishLogisticActivity(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getControlForms(activityId: string | undefined, stationId: string | undefined, templateId: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Control/GetControlForms?\";\r\n if (activityId === null)\r\n throw new Error(\"The parameter 'activityId' cannot be null.\");\r\n else if (activityId !== undefined)\r\n url_ += \"activityId=\" + encodeURIComponent(\"\" + activityId) + \"&\";\r\n if (stationId === null)\r\n throw new Error(\"The parameter 'stationId' cannot be null.\");\r\n else if (stationId !== undefined)\r\n url_ += \"stationId=\" + encodeURIComponent(\"\" + stationId) + \"&\";\r\n if (templateId === null)\r\n throw new Error(\"The parameter 'templateId' cannot be null.\");\r\n else if (templateId !== undefined)\r\n url_ += \"templateId=\" + encodeURIComponent(\"\" + templateId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetControlForms(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetControlForms(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetControlForms(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ControlFormListItemDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n createNewForm(activityId: string | undefined, stationId: string | undefined, templateId: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Control/CreateNewForm?\";\r\n if (activityId === null)\r\n throw new Error(\"The parameter 'activityId' cannot be null.\");\r\n else if (activityId !== undefined)\r\n url_ += \"activityId=\" + encodeURIComponent(\"\" + activityId) + \"&\";\r\n if (stationId === null)\r\n throw new Error(\"The parameter 'stationId' cannot be null.\");\r\n else if (stationId !== undefined)\r\n url_ += \"stationId=\" + encodeURIComponent(\"\" + stationId) + \"&\";\r\n if (templateId === null)\r\n throw new Error(\"The parameter 'templateId' cannot be null.\");\r\n else if (templateId !== undefined)\r\n url_ += \"templateId=\" + encodeURIComponent(\"\" + templateId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processCreateNewForm(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCreateNewForm(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processCreateNewForm(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ControlFormDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n submitNewForm(locationId: number | undefined, inputModel: ControlFormDto): Observable {\r\n let url_ = this.baseUrl + \"/api/Control/SubmitNewForm?\";\r\n if (locationId === null)\r\n throw new Error(\"The parameter 'locationId' cannot be null.\");\r\n else if (locationId !== undefined)\r\n url_ += \"locationId=\" + encodeURIComponent(\"\" + locationId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processSubmitNewForm(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSubmitNewForm(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processSubmitNewForm(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n uploadImage(inputModel: ControlFormImageDto, locationId: number): Observable {\r\n let url_ = this.baseUrl + \"/api/Control/UploadImage/{locationId}\";\r\n if (locationId === undefined || locationId === null)\r\n throw new Error(\"The parameter 'locationId' must be defined.\");\r\n url_ = url_.replace(\"{locationId}\", encodeURIComponent(\"\" + locationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputModel);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processUploadImage(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUploadImage(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processUploadImage(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getControlForm(activityId: string | undefined, stationId: string | undefined, templateId: string | undefined, formId: string | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Control/GetControlForm?\";\r\n if (activityId === null)\r\n throw new Error(\"The parameter 'activityId' cannot be null.\");\r\n else if (activityId !== undefined)\r\n url_ += \"activityId=\" + encodeURIComponent(\"\" + activityId) + \"&\";\r\n if (stationId === null)\r\n throw new Error(\"The parameter 'stationId' cannot be null.\");\r\n else if (stationId !== undefined)\r\n url_ += \"stationId=\" + encodeURIComponent(\"\" + stationId) + \"&\";\r\n if (templateId === null)\r\n throw new Error(\"The parameter 'templateId' cannot be null.\");\r\n else if (templateId !== undefined)\r\n url_ += \"templateId=\" + encodeURIComponent(\"\" + templateId) + \"&\";\r\n if (formId === null)\r\n throw new Error(\"The parameter 'formId' cannot be null.\");\r\n else if (formId !== undefined)\r\n url_ += \"formId=\" + encodeURIComponent(\"\" + formId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetControlForm(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetControlForm(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetControlForm(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ControlFormDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n saveControlForm(form: ControlFormDto): Observable {\r\n let url_ = this.baseUrl + \"/api/Control/SaveControlForm\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(form);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processSaveControlForm(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSaveControlForm(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processSaveControlForm(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LocationSelectionClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_LOGISTIC) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost/LogisticManagement.Api\";\r\n }\r\n\r\n userLocations(): Observable {\r\n let url_ = this.baseUrl + \"/api/LocationSelection/UserLocations\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processUserLocations(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUserLocations(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processUserLocations(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(LocationSelectionItemDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n locationAdminLocations(): Observable {\r\n let url_ = this.baseUrl + \"/api/LocationSelection/LocationAdminLocations\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processLocationAdminLocations(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processLocationAdminLocations(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processLocationAdminLocations(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(LocationAdminSelectLocationItemDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoggerClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_LOGISTIC) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost/LogisticManagement.Api\";\r\n }\r\n\r\n currentLogLevel(): Observable {\r\n let url_ = this.baseUrl + \"/api/Logger/CurrentLogLevel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processCurrentLogLevel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCurrentLogLevel(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processCurrentLogLevel(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n changeLogLevel(newLevel: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Logger/ChangeLogLevel?\";\r\n if (newLevel !== undefined && newLevel !== null)\r\n url_ += \"newLevel=\" + encodeURIComponent(\"\" + newLevel) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processChangeLogLevel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processChangeLogLevel(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processChangeLogLevel(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LogisticManagerClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_LOGISTIC) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost/LogisticManagement.Api\";\r\n }\r\n\r\n createLogisticManager(locationId: number | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/LogisticManager/CreateLogisticManager?\";\r\n if (locationId === null)\r\n throw new Error(\"The parameter 'locationId' cannot be null.\");\r\n else if (locationId !== undefined)\r\n url_ += \"locationId=\" + encodeURIComponent(\"\" + locationId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processCreateLogisticManager(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCreateLogisticManager(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processCreateLogisticManager(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StationsClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_LOGISTIC) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost/LogisticManagement.Api\";\r\n }\r\n\r\n get(locationId: number): Observable {\r\n let url_ = this.baseUrl + \"/api/Stations/{locationId}\";\r\n if (locationId === undefined || locationId === null)\r\n throw new Error(\"The parameter 'locationId' must be defined.\");\r\n url_ = url_.replace(\"{locationId}\", encodeURIComponent(\"\" + locationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGet(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGet(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGet(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(LogisticStationDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getForLocationAdmin(locationId: number): Observable {\r\n let url_ = this.baseUrl + \"/api/Stations/GetForLocationAdmin/{locationId}\";\r\n if (locationId === undefined || locationId === null)\r\n throw new Error(\"The parameter 'locationId' must be defined.\");\r\n url_ = url_.replace(\"{locationId}\", encodeURIComponent(\"\" + locationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetForLocationAdmin(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetForLocationAdmin(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetForLocationAdmin(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(LogisticStationDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getStationById(stationId: string): Observable {\r\n let url_ = this.baseUrl + \"/api/Stations/GetStationById/{stationId}\";\r\n if (stationId === undefined || stationId === null)\r\n throw new Error(\"The parameter 'stationId' must be defined.\");\r\n url_ = url_.replace(\"{stationId}\", encodeURIComponent(\"\" + stationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processGetStationById(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetStationById(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetStationById(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = LogisticStationDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n create(dto: NewLogisticStationDto): Observable {\r\n let url_ = this.baseUrl + \"/api/Stations\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(dto);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processCreate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCreate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processCreate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n update(dto: LogisticStationDto): Observable {\r\n let url_ = this.baseUrl + \"/api/Stations\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(dto);\r\n\r\n let options_: any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processUpdate(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpdate(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processUpdate(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n delete(id: string): Observable {\r\n let url_ = this.baseUrl + \"/api/Stations/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_: any) => {\r\n return this.processDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDelete(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport class ControlTemplateListItemDto implements IControlTemplateListItemDto {\r\n id!: string;\r\n logisticManagerId!: number;\r\n order!: number;\r\n translations?: NameTranslationDto[] | undefined;\r\n\r\n constructor(data?: IControlTemplateListItemDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.logisticManagerId = _data[\"logisticManagerId\"];\r\n this.order = _data[\"order\"];\r\n if (Array.isArray(_data[\"translations\"])) {\r\n this.translations = [] as any;\r\n for (let item of _data[\"translations\"])\r\n this.translations!.push(NameTranslationDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ControlTemplateListItemDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ControlTemplateListItemDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"logisticManagerId\"] = this.logisticManagerId;\r\n data[\"order\"] = this.order;\r\n if (Array.isArray(this.translations)) {\r\n data[\"translations\"] = [];\r\n for (let item of this.translations)\r\n data[\"translations\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IControlTemplateListItemDto {\r\n id: string;\r\n logisticManagerId: number;\r\n order: number;\r\n translations?: NameTranslationDto[] | undefined;\r\n}\r\n\r\nexport class NameTranslationDto implements INameTranslationDto {\r\n languageCode!: string;\r\n name?: string | undefined;\r\n\r\n constructor(data?: INameTranslationDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.languageCode = _data[\"languageCode\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): NameTranslationDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NameTranslationDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"languageCode\"] = this.languageCode;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface INameTranslationDto {\r\n languageCode: string;\r\n name?: string | undefined;\r\n}\r\n\r\nexport class ProblemDetails implements IProblemDetails {\r\n type?: string | undefined;\r\n title?: string | undefined;\r\n status?: number | undefined;\r\n detail?: string | undefined;\r\n instance?: string | undefined;\r\n extensions?: { [key: string]: any; } | undefined;\r\n\r\n constructor(data?: IProblemDetails) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.type = _data[\"type\"];\r\n this.title = _data[\"title\"];\r\n this.status = _data[\"status\"];\r\n this.detail = _data[\"detail\"];\r\n this.instance = _data[\"instance\"];\r\n if (_data[\"extensions\"]) {\r\n this.extensions = {} as any;\r\n for (let key in _data[\"extensions\"]) {\r\n if (_data[\"extensions\"].hasOwnProperty(key))\r\n (this.extensions)![key] = _data[\"extensions\"][key];\r\n }\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProblemDetails {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProblemDetails();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"type\"] = this.type;\r\n data[\"title\"] = this.title;\r\n data[\"status\"] = this.status;\r\n data[\"detail\"] = this.detail;\r\n data[\"instance\"] = this.instance;\r\n if (this.extensions) {\r\n data[\"extensions\"] = {};\r\n for (let key in this.extensions) {\r\n if (this.extensions.hasOwnProperty(key))\r\n (data[\"extensions\"])[key] = (this.extensions)[key];\r\n }\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProblemDetails {\r\n type?: string | undefined;\r\n title?: string | undefined;\r\n status?: number | undefined;\r\n detail?: string | undefined;\r\n instance?: string | undefined;\r\n extensions?: { [key: string]: any; } | undefined;\r\n}\r\n\r\nexport class ControlTemplateDto implements IControlTemplateDto {\r\n id!: string;\r\n logisticManagerId!: number;\r\n order!: number;\r\n category!: ControlCategoryType;\r\n type!: ControlType;\r\n signAction!: ControlSignActionType;\r\n actionType!: ControlActionType;\r\n translations?: NameTranslationDto[] | undefined;\r\n formInputs?: ControlTemplateFormFieldDto[] | undefined;\r\n stations?: ControlTemplateStationDto[] | undefined;\r\n availableStations?: ControlTemplateStationDto[] | undefined;\r\n\r\n constructor(data?: IControlTemplateDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.logisticManagerId = _data[\"logisticManagerId\"];\r\n this.order = _data[\"order\"];\r\n this.category = _data[\"category\"];\r\n this.type = _data[\"type\"];\r\n this.signAction = _data[\"signAction\"];\r\n this.actionType = _data[\"actionType\"];\r\n if (Array.isArray(_data[\"translations\"])) {\r\n this.translations = [] as any;\r\n for (let item of _data[\"translations\"])\r\n this.translations!.push(NameTranslationDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"formInputs\"])) {\r\n this.formInputs = [] as any;\r\n for (let item of _data[\"formInputs\"])\r\n this.formInputs!.push(ControlTemplateFormFieldDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"stations\"])) {\r\n this.stations = [] as any;\r\n for (let item of _data[\"stations\"])\r\n this.stations!.push(ControlTemplateStationDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"availableStations\"])) {\r\n this.availableStations = [] as any;\r\n for (let item of _data[\"availableStations\"])\r\n this.availableStations!.push(ControlTemplateStationDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ControlTemplateDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ControlTemplateDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"logisticManagerId\"] = this.logisticManagerId;\r\n data[\"order\"] = this.order;\r\n data[\"category\"] = this.category;\r\n data[\"type\"] = this.type;\r\n data[\"signAction\"] = this.signAction;\r\n data[\"actionType\"] = this.actionType;\r\n if (Array.isArray(this.translations)) {\r\n data[\"translations\"] = [];\r\n for (let item of this.translations)\r\n data[\"translations\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.formInputs)) {\r\n data[\"formInputs\"] = [];\r\n for (let item of this.formInputs)\r\n data[\"formInputs\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.stations)) {\r\n data[\"stations\"] = [];\r\n for (let item of this.stations)\r\n data[\"stations\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.availableStations)) {\r\n data[\"availableStations\"] = [];\r\n for (let item of this.availableStations)\r\n data[\"availableStations\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IControlTemplateDto {\r\n id: string;\r\n logisticManagerId: number;\r\n order: number;\r\n category: ControlCategoryType;\r\n type: ControlType;\r\n signAction: ControlSignActionType;\r\n actionType: ControlActionType;\r\n translations?: NameTranslationDto[] | undefined;\r\n formInputs?: ControlTemplateFormFieldDto[] | undefined;\r\n stations?: ControlTemplateStationDto[] | undefined;\r\n availableStations?: ControlTemplateStationDto[] | undefined;\r\n}\r\n\r\nexport enum ControlCategoryType {\r\n DANGEROUS_GOODS = \"DANGEROUS_GOODS\",\r\n LOAD_SECURITY = \"LOAD_SECURITY\",\r\n ENTRY_INSPECTION = \"ENTRY_INSPECTION\",\r\n}\r\n\r\nexport enum ControlType {\r\n ENTRY = \"ENTRY\",\r\n EXIT = \"EXIT\",\r\n}\r\n\r\nexport enum ControlSignActionType {\r\n NEVER = \"NEVER\",\r\n ALWAYS = \"ALWAYS\",\r\n ON_APPROVED = \"ON_APPROVED\",\r\n ON_FAILED = \"ON_FAILED\",\r\n}\r\n\r\nexport enum ControlActionType {\r\n SAVE = \"SAVE\",\r\n PRINT = \"PRINT\",\r\n SAVE_AND_PRINT = \"SAVE_AND_PRINT\",\r\n}\r\n\r\nexport class ControlTemplateFormFieldDto implements IControlTemplateFormFieldDto {\r\n id!: string;\r\n order!: number;\r\n required!: boolean;\r\n type!: ControlTemplateFormFieldType;\r\n translations?: NameTranslationDto[] | undefined;\r\n selectListValues?: ControlTemplateFormFieldSelectListValueDto[] | undefined;\r\n\r\n constructor(data?: IControlTemplateFormFieldDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.order = _data[\"order\"];\r\n this.required = _data[\"required\"];\r\n this.type = _data[\"type\"];\r\n if (Array.isArray(_data[\"translations\"])) {\r\n this.translations = [] as any;\r\n for (let item of _data[\"translations\"])\r\n this.translations!.push(NameTranslationDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"selectListValues\"])) {\r\n this.selectListValues = [] as any;\r\n for (let item of _data[\"selectListValues\"])\r\n this.selectListValues!.push(ControlTemplateFormFieldSelectListValueDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ControlTemplateFormFieldDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ControlTemplateFormFieldDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"order\"] = this.order;\r\n data[\"required\"] = this.required;\r\n data[\"type\"] = this.type;\r\n if (Array.isArray(this.translations)) {\r\n data[\"translations\"] = [];\r\n for (let item of this.translations)\r\n data[\"translations\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.selectListValues)) {\r\n data[\"selectListValues\"] = [];\r\n for (let item of this.selectListValues)\r\n data[\"selectListValues\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IControlTemplateFormFieldDto {\r\n id: string;\r\n order: number;\r\n required: boolean;\r\n type: ControlTemplateFormFieldType;\r\n translations?: NameTranslationDto[] | undefined;\r\n selectListValues?: ControlTemplateFormFieldSelectListValueDto[] | undefined;\r\n}\r\n\r\nexport enum ControlTemplateFormFieldType {\r\n Undefined = \"Undefined\",\r\n Text = \"Text\",\r\n SelectList = \"SelectList\",\r\n Number = \"Number\",\r\n Bool = \"Bool\",\r\n Date = \"Date\",\r\n Hour = \"Hour\",\r\n Present = \"Present\",\r\n}\r\n\r\nexport class ControlTemplateFormFieldSelectListValueDto implements IControlTemplateFormFieldSelectListValueDto {\r\n translations?: NameTranslationDto[] | undefined;\r\n\r\n constructor(data?: IControlTemplateFormFieldSelectListValueDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"translations\"])) {\r\n this.translations = [] as any;\r\n for (let item of _data[\"translations\"])\r\n this.translations!.push(NameTranslationDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ControlTemplateFormFieldSelectListValueDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ControlTemplateFormFieldSelectListValueDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.translations)) {\r\n data[\"translations\"] = [];\r\n for (let item of this.translations)\r\n data[\"translations\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IControlTemplateFormFieldSelectListValueDto {\r\n translations?: NameTranslationDto[] | undefined;\r\n}\r\n\r\nexport class ControlTemplateStationDto implements IControlTemplateStationDto {\r\n id!: string;\r\n translations?: NameTranslationDto[] | undefined;\r\n\r\n constructor(data?: IControlTemplateStationDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n if (Array.isArray(_data[\"translations\"])) {\r\n this.translations = [] as any;\r\n for (let item of _data[\"translations\"])\r\n this.translations!.push(NameTranslationDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ControlTemplateStationDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ControlTemplateStationDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n if (Array.isArray(this.translations)) {\r\n data[\"translations\"] = [];\r\n for (let item of this.translations)\r\n data[\"translations\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IControlTemplateStationDto {\r\n id: string;\r\n translations?: NameTranslationDto[] | undefined;\r\n}\r\n\r\nexport class LogisticStationDto implements ILogisticStationDto {\r\n id!: string;\r\n order!: number;\r\n translations!: NameTranslationDto[];\r\n\r\n constructor(data?: ILogisticStationDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n if (!data) {\r\n this.translations = [];\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.order = _data[\"order\"];\r\n if (Array.isArray(_data[\"translations\"])) {\r\n this.translations = [] as any;\r\n for (let item of _data[\"translations\"])\r\n this.translations!.push(NameTranslationDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): LogisticStationDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LogisticStationDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"order\"] = this.order;\r\n if (Array.isArray(this.translations)) {\r\n data[\"translations\"] = [];\r\n for (let item of this.translations)\r\n data[\"translations\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILogisticStationDto {\r\n id: string;\r\n order: number;\r\n translations: NameTranslationDto[];\r\n}\r\n\r\nexport class ControlTypeDto implements IControlTypeDto {\r\n templateId!: string;\r\n nameTranslations?: NameTranslationDto[] | undefined;\r\n typeName!: ControlType;\r\n\r\n constructor(data?: IControlTypeDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.templateId = _data[\"templateId\"];\r\n if (Array.isArray(_data[\"nameTranslations\"])) {\r\n this.nameTranslations = [] as any;\r\n for (let item of _data[\"nameTranslations\"])\r\n this.nameTranslations!.push(NameTranslationDto.fromJS(item));\r\n }\r\n this.typeName = _data[\"typeName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ControlTypeDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ControlTypeDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"templateId\"] = this.templateId;\r\n if (Array.isArray(this.nameTranslations)) {\r\n data[\"nameTranslations\"] = [];\r\n for (let item of this.nameTranslations)\r\n data[\"nameTranslations\"].push(item.toJSON());\r\n }\r\n data[\"typeName\"] = this.typeName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IControlTypeDto {\r\n templateId: string;\r\n nameTranslations?: NameTranslationDto[] | undefined;\r\n typeName: ControlType;\r\n}\r\n\r\nexport class LogisticActivityDto implements ILogisticActivityDto {\r\n id!: string;\r\n licensePlate!: string;\r\n createDate!: Date;\r\n finished!: boolean;\r\n\r\n constructor(data?: ILogisticActivityDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.licensePlate = _data[\"licensePlate\"];\r\n this.createDate = _data[\"createDate\"] ? new Date(_data[\"createDate\"].toString()) : undefined;\r\n this.finished = _data[\"finished\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LogisticActivityDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LogisticActivityDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"licensePlate\"] = this.licensePlate;\r\n data[\"createDate\"] = this.createDate ? this.createDate.toISOString() : undefined;\r\n data[\"finished\"] = this.finished;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILogisticActivityDto {\r\n id: string;\r\n licensePlate: string;\r\n createDate: Date;\r\n finished: boolean;\r\n}\r\n\r\nexport class ControlFormListItemDto implements IControlFormListItemDto {\r\n id!: string;\r\n createDate!: Date;\r\n approved!: boolean;\r\n\r\n constructor(data?: IControlFormListItemDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.createDate = _data[\"createDate\"] ? new Date(_data[\"createDate\"].toString()) : undefined;\r\n this.approved = _data[\"approved\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ControlFormListItemDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ControlFormListItemDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"createDate\"] = this.createDate ? this.createDate.toISOString() : undefined;\r\n data[\"approved\"] = this.approved;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IControlFormListItemDto {\r\n id: string;\r\n createDate: Date;\r\n approved: boolean;\r\n}\r\n\r\nexport class ControlFormDto implements IControlFormDto {\r\n id!: string;\r\n templateId!: string;\r\n logisticActivityId!: string;\r\n stationId!: string;\r\n createDate!: Date;\r\n approved!: boolean;\r\n category!: ControlCategoryType;\r\n type!: ControlType;\r\n signAction!: ControlSignActionType;\r\n actionType!: ControlActionType;\r\n inputs?: ControlFormInputDto[] | undefined;\r\n signature?: string | undefined;\r\n\r\n constructor(data?: IControlFormDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.templateId = _data[\"templateId\"];\r\n this.logisticActivityId = _data[\"logisticActivityId\"];\r\n this.stationId = _data[\"stationId\"];\r\n this.createDate = _data[\"createDate\"] ? new Date(_data[\"createDate\"].toString()) : undefined;\r\n this.approved = _data[\"approved\"];\r\n this.category = _data[\"category\"];\r\n this.type = _data[\"type\"];\r\n this.signAction = _data[\"signAction\"];\r\n this.actionType = _data[\"actionType\"];\r\n if (Array.isArray(_data[\"inputs\"])) {\r\n this.inputs = [] as any;\r\n for (let item of _data[\"inputs\"])\r\n this.inputs!.push(ControlFormInputDto.fromJS(item));\r\n }\r\n this.signature = _data[\"signature\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ControlFormDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ControlFormDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"templateId\"] = this.templateId;\r\n data[\"logisticActivityId\"] = this.logisticActivityId;\r\n data[\"stationId\"] = this.stationId;\r\n data[\"createDate\"] = this.createDate ? this.createDate.toISOString() : undefined;\r\n data[\"approved\"] = this.approved;\r\n data[\"category\"] = this.category;\r\n data[\"type\"] = this.type;\r\n data[\"signAction\"] = this.signAction;\r\n data[\"actionType\"] = this.actionType;\r\n if (Array.isArray(this.inputs)) {\r\n data[\"inputs\"] = [];\r\n for (let item of this.inputs)\r\n data[\"inputs\"].push(item.toJSON());\r\n }\r\n data[\"signature\"] = this.signature;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IControlFormDto {\r\n id: string;\r\n templateId: string;\r\n logisticActivityId: string;\r\n stationId: string;\r\n createDate: Date;\r\n approved: boolean;\r\n category: ControlCategoryType;\r\n type: ControlType;\r\n signAction: ControlSignActionType;\r\n actionType: ControlActionType;\r\n inputs?: ControlFormInputDto[] | undefined;\r\n signature?: string | undefined;\r\n}\r\n\r\nexport class ControlFormInputDto implements IControlFormInputDto {\r\n fieldId!: string;\r\n value?: string | undefined;\r\n images?: string[] | undefined;\r\n note?: string | undefined;\r\n fieldTemplate?: ControlTemplateFormFieldDto | undefined;\r\n\r\n constructor(data?: IControlFormInputDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.fieldId = _data[\"fieldId\"];\r\n this.value = _data[\"value\"];\r\n if (Array.isArray(_data[\"images\"])) {\r\n this.images = [] as any;\r\n for (let item of _data[\"images\"])\r\n this.images!.push(item);\r\n }\r\n this.note = _data[\"note\"];\r\n this.fieldTemplate = _data[\"fieldTemplate\"] ? ControlTemplateFormFieldDto.fromJS(_data[\"fieldTemplate\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ControlFormInputDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ControlFormInputDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"fieldId\"] = this.fieldId;\r\n data[\"value\"] = this.value;\r\n if (Array.isArray(this.images)) {\r\n data[\"images\"] = [];\r\n for (let item of this.images)\r\n data[\"images\"].push(item);\r\n }\r\n data[\"note\"] = this.note;\r\n data[\"fieldTemplate\"] = this.fieldTemplate ? this.fieldTemplate.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IControlFormInputDto {\r\n fieldId: string;\r\n value?: string | undefined;\r\n images?: string[] | undefined;\r\n note?: string | undefined;\r\n fieldTemplate?: ControlTemplateFormFieldDto | undefined;\r\n}\r\n\r\nexport class ControlFormImageDto implements IControlFormImageDto {\r\n content?: string | undefined;\r\n type?: string | undefined;\r\n\r\n constructor(data?: IControlFormImageDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.content = _data[\"content\"];\r\n this.type = _data[\"type\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ControlFormImageDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ControlFormImageDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"content\"] = this.content;\r\n data[\"type\"] = this.type;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IControlFormImageDto {\r\n content?: string | undefined;\r\n type?: string | undefined;\r\n}\r\n\r\nexport class LocationSelectionItemDto implements ILocationSelectionItemDto {\r\n locationId!: number;\r\n locationName!: string;\r\n locationCode!: string;\r\n isLocationAdmin!: boolean;\r\n\r\n constructor(data?: ILocationSelectionItemDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.locationId = _data[\"locationId\"];\r\n this.locationName = _data[\"locationName\"];\r\n this.locationCode = _data[\"locationCode\"];\r\n this.isLocationAdmin = _data[\"isLocationAdmin\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LocationSelectionItemDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LocationSelectionItemDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"locationId\"] = this.locationId;\r\n data[\"locationName\"] = this.locationName;\r\n data[\"locationCode\"] = this.locationCode;\r\n data[\"isLocationAdmin\"] = this.isLocationAdmin;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILocationSelectionItemDto {\r\n locationId: number;\r\n locationName: string;\r\n locationCode: string;\r\n isLocationAdmin: boolean;\r\n}\r\n\r\nexport class LocationAdminSelectLocationItemDto implements ILocationAdminSelectLocationItemDto {\r\n locationId!: number;\r\n locationName!: string;\r\n locationCode!: string;\r\n permissions!: ModulePermissions;\r\n locationType!: LocationType;\r\n\r\n constructor(data?: ILocationAdminSelectLocationItemDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.locationId = _data[\"locationId\"];\r\n this.locationName = _data[\"locationName\"];\r\n this.locationCode = _data[\"locationCode\"];\r\n this.permissions = _data[\"permissions\"];\r\n this.locationType = _data[\"locationType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LocationAdminSelectLocationItemDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LocationAdminSelectLocationItemDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"locationId\"] = this.locationId;\r\n data[\"locationName\"] = this.locationName;\r\n data[\"locationCode\"] = this.locationCode;\r\n data[\"permissions\"] = this.permissions;\r\n data[\"locationType\"] = this.locationType;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILocationAdminSelectLocationItemDto {\r\n locationId: number;\r\n locationName: string;\r\n locationCode: string;\r\n permissions: ModulePermissions;\r\n locationType: LocationType;\r\n}\r\n\r\nexport enum ModulePermissions {\r\n None = \"None\",\r\n Wfb = \"Wfb\",\r\n Statistic = \"Statistic\",\r\n Semper = \"Semper\",\r\n Zfm = \"Zfm\",\r\n Control = \"Control\",\r\n Tac = \"Tac\",\r\n SafetyBriefing = \"SafetyBriefing\",\r\n Attachments = \"Attachments\",\r\n}\r\n\r\nexport enum LocationType {\r\n Undefined = \"Undefined\",\r\n Libra = \"Libra\",\r\n Cloud = \"Cloud\",\r\n}\r\n\r\nexport enum LogEventLevel {\r\n Verbose = \"Verbose\",\r\n Debug = \"Debug\",\r\n Information = \"Information\",\r\n Warning = \"Warning\",\r\n Error = \"Error\",\r\n Fatal = \"Fatal\",\r\n}\r\n\r\nexport class NewLogisticStationDto implements INewLogisticStationDto {\r\n locationId!: number;\r\n order!: number;\r\n translations!: NameTranslationDto[];\r\n\r\n constructor(data?: INewLogisticStationDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n if (!data) {\r\n this.translations = [];\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.locationId = _data[\"locationId\"];\r\n this.order = _data[\"order\"];\r\n if (Array.isArray(_data[\"translations\"])) {\r\n this.translations = [] as any;\r\n for (let item of _data[\"translations\"])\r\n this.translations!.push(NameTranslationDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): NewLogisticStationDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NewLogisticStationDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"locationId\"] = this.locationId;\r\n data[\"order\"] = this.order;\r\n if (Array.isArray(this.translations)) {\r\n data[\"translations\"] = [];\r\n for (let item of this.translations)\r\n data[\"translations\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface INewLogisticStationDto {\r\n locationId: number;\r\n order: number;\r\n translations: NameTranslationDto[];\r\n}\r\n\r\nexport class SwaggerException extends Error {\r\n message: string;\r\n status: number;\r\n response: string;\r\n headers: { [key: string]: any; };\r\n result: any;\r\n\r\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\r\n super();\r\n\r\n this.message = message;\r\n this.status = status;\r\n this.response = response;\r\n this.headers = headers;\r\n this.result = result;\r\n }\r\n\r\n protected isSwaggerException = true;\r\n\r\n static isSwaggerException(obj: any): obj is SwaggerException {\r\n return obj.isSwaggerException === true;\r\n }\r\n}\r\n\r\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): Observable {\r\n if (result !== null && result !== undefined)\r\n return _observableThrow(result);\r\n else\r\n return _observableThrow(new SwaggerException(message, status, response, headers, null));\r\n}\r\n\r\nfunction blobToText(blob: any): Observable {\r\n return new Observable((observer: any) => {\r\n if (!blob) {\r\n observer.next(\"\");\r\n observer.complete();\r\n } else {\r\n let reader = new FileReader();\r\n reader.onload = event => {\r\n observer.next((event.target as any).result);\r\n observer.complete();\r\n };\r\n reader.readAsText(blob);\r\n }\r\n });\r\n}\r\n","export default \"input {\\n width: 100%;\\n padding: 8px 15px;\\n background-color: #dcdcdb;\\n border: none;\\n border-radius: 15px;\\n height: 39px;\\n}\\n\\nlabel {\\n position: relative;\\n margin-bottom: 0px;\\n margin-bottom: -40px;\\n}\\n\\n.bottom-space {\\n margin-bottom: 25px;\\n}\\n\\n.ng-touched.form-invalid {\\n border-color: rgba(238, 95, 91, 0.8);\\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(238, 95, 91, 0.6);\\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(238, 95, 91, 0.6);\\n outline: 0 none;\\n}\\n\\n.validation-error-alert {\\n margin-top: 10px;\\n border-radius: 15px;\\n line-height: 1.4em;\\n}\\n\\n@media (min-width: 768px) {\\n label {\\n top: 24px;\\n left: 15px;\\n }\\n\\n input {\\n text-indent: 70px;\\n }\\n}\\n\\n@media screen and (min-width: 768px) and (min--moz-device-pixel-ratio: 0) {\\n input {\\n text-indent: 100px;\\n }\\n}\\n\\n@media (min-width: 768px) {\\n .form-group {\\n line-height: 10px;\\n margin-bottom: 0px;\\n }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbGF5b3V0L2lucHV0cy9wYWFyaS1pbnB1dC10aW1lcGlja2VyL3BhYXJpLWlucHV0LXRpbWVwaWNrZXIuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxXQUFBO0VBQ0EsaUJBQUE7RUFDQSx5QkFBQTtFQUNBLFlBQUE7RUFDQSxtQkFBQTtFQUNBLFlBQUE7QUFDRjs7QUFFQTtFQUNFLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxvQkFBQTtBQUNGOztBQUVBO0VBQ0UsbUJBQUE7QUFDRjs7QUFFQTtFQUNFLG9DQUFBO0VBQ0Esd0ZBQUE7VUFBQSxnRkFBQTtFQUNBLGVBQUE7QUFDRjs7QUFFQTtFQUNFLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtBQUNGOztBQUVBO0VBQ0U7SUFDRSxTQUFBO0lBQ0EsVUFBQTtFQUNGOztFQUVBO0lBQ0UsaUJBQUE7RUFDRjtBQUNGOztBQUFJO0VBSEY7SUFJSSxrQkFBQTtFQUdKO0FBQ0Y7O0FBZEE7RUFjRTtJQUNFLGlCQUFBO0lBQ0Esa0JBQUE7RUFHRjtBQUNGIiwiZmlsZSI6InNyYy9hcHAvbGF5b3V0L2lucHV0cy9wYWFyaS1pbnB1dC10aW1lcGlja2VyL3BhYXJpLWlucHV0LXRpbWVwaWNrZXIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJpbnB1dCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgcGFkZGluZzogOHB4IDE1cHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjZGNkYjtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgYm9yZGVyLXJhZGl1czogMTVweDtcclxuICBoZWlnaHQ6IDM5cHg7XHJcbn1cclxuXHJcbmxhYmVsIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IC00MHB4O1xyXG59XHJcblxyXG4uYm90dG9tLXNwYWNlIHtcclxuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG59XHJcblxyXG4ubmctdG91Y2hlZC5mb3JtLWludmFsaWQge1xyXG4gIGJvcmRlci1jb2xvcjogcmdiYSgyMzgsIDk1LCA5MSwgMC44KTtcclxuICBib3gtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSkgaW5zZXQsIDAgMCA4cHggcmdiYSgyMzgsIDk1LCA5MSwgMC42KTtcclxuICBvdXRsaW5lOiAwIG5vbmU7XHJcbn1cclxuXHJcbi52YWxpZGF0aW9uLWVycm9yLWFsZXJ0IHtcclxuICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDE1cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDEuNGVtO1xyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICBsYWJlbCB7XHJcbiAgICB0b3A6IDI0cHg7XHJcbiAgICBsZWZ0OiAxNXB4O1xyXG4gIH1cclxuXHJcbiAgaW5wdXQge1xyXG4gICAgdGV4dC1pbmRlbnQ6IDcwcHg7XHJcblxyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMCkge1xyXG4gICAgICB0ZXh0LWluZGVudDogMTAwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZm9ybS1ncm91cCB7XHJcbiAgICBsaW5lLWhlaWdodDogMTBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDBweDtcclxuICB9XHJcbn1cclxuIl19 */\";","import { Component, Input } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"paari-loader\",\r\n templateUrl: \"./paari-loader.component.html\",\r\n styleUrls: [\"./paari-loader.component.scss\"]\r\n})\r\nexport class PaariLoaderComponent {\r\n @Input() absolute!: boolean;\r\n @Input() fixed!: boolean;\r\n @Input() show!: boolean;\r\n}\r\n","//----------------------\r\n// \r\n// Generated using the NSwag toolchain v14.2.0.0 (NJsonSchema v11.1.0.0 (Newtonsoft.Json v13.0.0.0)) (http://NSwag.org)\r\n// \r\n//----------------------\r\n\r\n/* tslint:disable */\r\n/* eslint-disable */\r\n// ReSharper disable InconsistentNaming\r\n\r\nimport { mergeMap as _observableMergeMap, catchError as _observableCatch } from 'rxjs/operators';\r\nimport { Observable, throwError as _observableThrow, of as _observableOf } from 'rxjs';\r\nimport { Injectable, Inject, Optional, InjectionToken } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpResponse, HttpResponseBase } from '@angular/common/http';\r\n\r\nexport const API_BASE_URL_FRONT = new InjectionToken('API_BASE_URL_FRONT');\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AccountClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_FRONT) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl ?? \"https://localhost:7000\";\r\n }\r\n\r\n /**\r\n * Get configuration for the current user.\r\n */\r\n getUserConfiguration(): Observable {\r\n let url_ = this.baseUrl + \"/Api/Account/GetUserConfiguration\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetUserConfiguration(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetUserConfiguration(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGetUserConfiguration(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ConfigurationModel.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DeliveryNotesClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_FRONT) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl ?? \"https://localhost:7000\";\r\n }\r\n\r\n /**\r\n * Get a list of delivery notes accessible to the current user.\r\n * @param roleCode (optional) Filters by role\r\n * @param locationCode (optional) Filters by location\r\n */\r\n index(roleCode: string | null | undefined, locationCode: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/DeliveryNotes?\";\r\n if (roleCode !== undefined && roleCode !== null)\r\n url_ += \"roleCode=\" + encodeURIComponent(\"\" + roleCode) + \"&\";\r\n if (locationCode !== undefined && locationCode !== null)\r\n url_ += \"locationCode=\" + encodeURIComponent(\"\" + locationCode) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processIndex(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processIndex(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processIndex(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ListDtoOfDeliveryNoteListItemDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * Get a delivery note.\r\n * @param id ID of the delivery note\r\n */\r\n show(id: string): Observable {\r\n let url_ = this.baseUrl + \"/api/DeliveryNotes/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processShow(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processShow(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processShow(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DeliveryNoteDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * Download an attachment of a delivery note.\r\n * @param preview (optional) \r\n */\r\n download(deliveryNoteId: string, attachmentId: string, preview: boolean | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/DeliveryNotes/{deliveryNoteId}/Download/{attachmentId}?\";\r\n if (deliveryNoteId === undefined || deliveryNoteId === null)\r\n throw new Error(\"The parameter 'deliveryNoteId' must be defined.\");\r\n url_ = url_.replace(\"{deliveryNoteId}\", encodeURIComponent(\"\" + deliveryNoteId));\r\n if (attachmentId === undefined || attachmentId === null)\r\n throw new Error(\"The parameter 'attachmentId' must be defined.\");\r\n url_ = url_.replace(\"{attachmentId}\", encodeURIComponent(\"\" + attachmentId));\r\n if (preview === null)\r\n throw new Error(\"The parameter 'preview' cannot be null.\");\r\n else if (preview !== undefined)\r\n url_ += \"preview=\" + encodeURIComponent(\"\" + preview) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/octet-stream\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDownload(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDownload(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDownload(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return _observableOf({ fileName: fileName, data: responseBlob as any, status: status, headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * Share a delivery note by SMS.\r\n */\r\n shareBySms(deliveryNoteId: string, inputDto: ShareBySmsInputDto): Observable {\r\n let url_ = this.baseUrl + \"/api/DeliveryNotes/{deliveryNoteId}/ShareBySms\";\r\n if (deliveryNoteId === undefined || deliveryNoteId === null)\r\n throw new Error(\"The parameter 'deliveryNoteId' must be defined.\");\r\n url_ = url_.replace(\"{deliveryNoteId}\", encodeURIComponent(\"\" + deliveryNoteId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(inputDto);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processShareBySms(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processShareBySms(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processShareBySms(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 201) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result201: any = null;\r\n let resultData201 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result201 = resultData201 !== undefined ? resultData201 : null;\r\n \r\n return _observableOf(result201);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DeliveryNotesShareClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_FRONT) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl ?? \"https://localhost:7000\";\r\n }\r\n\r\n /**\r\n * Get a delivery note by its share token.\r\n * @param token Share token for the delivery note\r\n */\r\n show(token: string): Observable {\r\n let url_ = this.baseUrl + \"/api/DeliveryNotes/Share/{token}\";\r\n if (token === undefined || token === null)\r\n throw new Error(\"The parameter 'token' must be defined.\");\r\n url_ = url_.replace(\"{token}\", encodeURIComponent(\"\" + token));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processShow(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processShow(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processShow(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DeliveryNoteDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n /**\r\n * Download an attachment of a delivery note.\r\n * @param preview (optional) \r\n */\r\n download(token: string, attachmentId: string, preview: boolean | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/DeliveryNotes/Share/{token}/Download/{attachmentId}?\";\r\n if (token === undefined || token === null)\r\n throw new Error(\"The parameter 'token' must be defined.\");\r\n url_ = url_.replace(\"{token}\", encodeURIComponent(\"\" + token));\r\n if (attachmentId === undefined || attachmentId === null)\r\n throw new Error(\"The parameter 'attachmentId' must be defined.\");\r\n url_ = url_.replace(\"{attachmentId}\", encodeURIComponent(\"\" + attachmentId));\r\n if (preview === null)\r\n throw new Error(\"The parameter 'preview' cannot be null.\");\r\n else if (preview !== undefined)\r\n url_ += \"preview=\" + encodeURIComponent(\"\" + preview) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/octet-stream\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDownload(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDownload(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDownload(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return _observableOf({ fileName: fileName, data: responseBlob as any, status: status, headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LocationsClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_FRONT) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl ?? \"https://localhost:7000\";\r\n }\r\n\r\n /**\r\n * Get all locations for the current user.\r\n * @param roleCode (optional) Filters by role\r\n */\r\n index(roleCode: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/api/Locations?\";\r\n if (roleCode !== undefined && roleCode !== null)\r\n url_ += \"roleCode=\" + encodeURIComponent(\"\" + roleCode) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processIndex(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processIndex(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processIndex(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ListDtoOfLocationListItemDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RolesClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_FRONT) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl ?? \"https://localhost:7000\";\r\n }\r\n\r\n /**\r\n * Get all roles for the current user.\r\n */\r\n index(): Observable {\r\n let url_ = this.baseUrl + \"/api/Roles\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processIndex(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processIndex(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processIndex(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ListDtoOfRoleListItemDto.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FileConfigurationClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_FRONT) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl ?? \"https://localhost:7000\";\r\n }\r\n\r\n get(): Observable {\r\n let url_ = this.baseUrl + \"/configuration\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/octet-stream\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGet(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGet(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processGet(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return _observableOf({ fileName: fileName, data: responseBlob as any, status: status, headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n post(fileConfiguration: FileConfiguration): Observable {\r\n let url_ = this.baseUrl + \"/configuration\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(fileConfiguration);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processPost(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processPost(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processPost(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return _observableOf({ fileName: fileName, data: responseBlob as any, status: status, headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OutputCacheClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL_FRONT) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl ?? \"https://localhost:7000\";\r\n }\r\n\r\n delete(region: string): Observable {\r\n let url_ = this.baseUrl + \"/outputcache/{region}\";\r\n if (region === undefined || region === null)\r\n throw new Error(\"The parameter 'region' must be defined.\");\r\n url_ = url_.replace(\"{region}\", encodeURIComponent(\"\" + region));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/octet-stream\"\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDelete(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDelete(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable;\r\n }));\r\n }\r\n\r\n protected processDelete(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return _observableOf({ fileName: fileName, data: responseBlob as any, status: status, headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport class ConfigurationModel implements IConfigurationModel {\r\n environment!: string;\r\n version!: string;\r\n sessionId?: string | undefined;\r\n loggedIn!: boolean;\r\n userId?: string | undefined;\r\n email?: string | undefined;\r\n givenName?: string | undefined;\r\n familyName?: string | undefined;\r\n language?: string | undefined;\r\n isImpersonating?: boolean | undefined;\r\n isAdmin?: boolean | undefined;\r\n isLocationAdmin?: boolean | undefined;\r\n deliveryNotesEnabled!: boolean;\r\n\r\n constructor(data?: IConfigurationModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.environment = _data[\"environment\"];\r\n this.version = _data[\"version\"];\r\n this.sessionId = _data[\"sessionId\"];\r\n this.loggedIn = _data[\"loggedIn\"];\r\n this.userId = _data[\"userId\"];\r\n this.email = _data[\"email\"];\r\n this.givenName = _data[\"givenName\"];\r\n this.familyName = _data[\"familyName\"];\r\n this.language = _data[\"language\"];\r\n this.isImpersonating = _data[\"isImpersonating\"];\r\n this.isAdmin = _data[\"isAdmin\"];\r\n this.isLocationAdmin = _data[\"isLocationAdmin\"];\r\n this.deliveryNotesEnabled = _data[\"deliveryNotesEnabled\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ConfigurationModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ConfigurationModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"environment\"] = this.environment;\r\n data[\"version\"] = this.version;\r\n data[\"sessionId\"] = this.sessionId;\r\n data[\"loggedIn\"] = this.loggedIn;\r\n data[\"userId\"] = this.userId;\r\n data[\"email\"] = this.email;\r\n data[\"givenName\"] = this.givenName;\r\n data[\"familyName\"] = this.familyName;\r\n data[\"language\"] = this.language;\r\n data[\"isImpersonating\"] = this.isImpersonating;\r\n data[\"isAdmin\"] = this.isAdmin;\r\n data[\"isLocationAdmin\"] = this.isLocationAdmin;\r\n data[\"deliveryNotesEnabled\"] = this.deliveryNotesEnabled;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IConfigurationModel {\r\n environment: string;\r\n version: string;\r\n sessionId?: string | undefined;\r\n loggedIn: boolean;\r\n userId?: string | undefined;\r\n email?: string | undefined;\r\n givenName?: string | undefined;\r\n familyName?: string | undefined;\r\n language?: string | undefined;\r\n isImpersonating?: boolean | undefined;\r\n isAdmin?: boolean | undefined;\r\n isLocationAdmin?: boolean | undefined;\r\n deliveryNotesEnabled: boolean;\r\n}\r\n\r\nexport class ListDtoOfDeliveryNoteListItemDto implements IListDtoOfDeliveryNoteListItemDto {\r\n items!: DeliveryNoteListItemDto[];\r\n\r\n constructor(data?: IListDtoOfDeliveryNoteListItemDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n if (!data) {\r\n this.items = [];\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"items\"])) {\r\n this.items = [] as any;\r\n for (let item of _data[\"items\"])\r\n this.items!.push(DeliveryNoteListItemDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ListDtoOfDeliveryNoteListItemDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ListDtoOfDeliveryNoteListItemDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.items)) {\r\n data[\"items\"] = [];\r\n for (let item of this.items)\r\n data[\"items\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IListDtoOfDeliveryNoteListItemDto {\r\n items: DeliveryNoteListItemDto[];\r\n}\r\n\r\nexport class DeliveryNoteListItemDto implements IDeliveryNoteListItemDto {\r\n id!: string;\r\n number!: string;\r\n date!: Date;\r\n numberOfPositions!: number;\r\n licensePlate!: string;\r\n clientName!: string;\r\n speditionName!: string;\r\n supplierName!: string;\r\n\r\n constructor(data?: IDeliveryNoteListItemDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.number = _data[\"number\"];\r\n this.date = _data[\"date\"] ? new Date(_data[\"date\"].toString()) : undefined;\r\n this.numberOfPositions = _data[\"numberOfPositions\"];\r\n this.licensePlate = _data[\"licensePlate\"];\r\n this.clientName = _data[\"clientName\"];\r\n this.speditionName = _data[\"speditionName\"];\r\n this.supplierName = _data[\"supplierName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DeliveryNoteListItemDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DeliveryNoteListItemDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"number\"] = this.number;\r\n data[\"date\"] = this.date ? this.date.toISOString() : undefined;\r\n data[\"numberOfPositions\"] = this.numberOfPositions;\r\n data[\"licensePlate\"] = this.licensePlate;\r\n data[\"clientName\"] = this.clientName;\r\n data[\"speditionName\"] = this.speditionName;\r\n data[\"supplierName\"] = this.supplierName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDeliveryNoteListItemDto {\r\n id: string;\r\n number: string;\r\n date: Date;\r\n numberOfPositions: number;\r\n licensePlate: string;\r\n clientName: string;\r\n speditionName: string;\r\n supplierName: string;\r\n}\r\n\r\nexport class DeliveryNoteDto implements IDeliveryNoteDto {\r\n id!: string;\r\n identifier!: string;\r\n deliveryDate!: Date;\r\n licensePlate!: string;\r\n driverFirstName!: string;\r\n driverLastName!: string;\r\n driverPhoneNumber!: string;\r\n client!: ContactDto;\r\n spedition!: ContactDto;\r\n supplier!: ContactDto;\r\n positions!: DeliveryNoteItemDto[];\r\n attachments!: AttachmentDto[];\r\n sharingInformation!: DeliveryNoteSharingInformationDto;\r\n\r\n constructor(data?: IDeliveryNoteDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n if (!data) {\r\n this.client = new ContactDto();\r\n this.spedition = new ContactDto();\r\n this.supplier = new ContactDto();\r\n this.positions = [];\r\n this.attachments = [];\r\n this.sharingInformation = new DeliveryNoteSharingInformationDto();\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.identifier = _data[\"identifier\"];\r\n this.deliveryDate = _data[\"deliveryDate\"] ? new Date(_data[\"deliveryDate\"].toString()) : undefined;\r\n this.licensePlate = _data[\"licensePlate\"];\r\n this.driverFirstName = _data[\"driverFirstName\"];\r\n this.driverLastName = _data[\"driverLastName\"];\r\n this.driverPhoneNumber = _data[\"driverPhoneNumber\"];\r\n this.client = _data[\"client\"] ? ContactDto.fromJS(_data[\"client\"]) : new ContactDto();\r\n this.spedition = _data[\"spedition\"] ? ContactDto.fromJS(_data[\"spedition\"]) : new ContactDto();\r\n this.supplier = _data[\"supplier\"] ? ContactDto.fromJS(_data[\"supplier\"]) : new ContactDto();\r\n if (Array.isArray(_data[\"positions\"])) {\r\n this.positions = [] as any;\r\n for (let item of _data[\"positions\"])\r\n this.positions!.push(DeliveryNoteItemDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"attachments\"])) {\r\n this.attachments = [] as any;\r\n for (let item of _data[\"attachments\"])\r\n this.attachments!.push(AttachmentDto.fromJS(item));\r\n }\r\n this.sharingInformation = _data[\"sharingInformation\"] ? DeliveryNoteSharingInformationDto.fromJS(_data[\"sharingInformation\"]) : new DeliveryNoteSharingInformationDto();\r\n }\r\n }\r\n\r\n static fromJS(data: any): DeliveryNoteDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DeliveryNoteDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"identifier\"] = this.identifier;\r\n data[\"deliveryDate\"] = this.deliveryDate ? this.deliveryDate.toISOString() : undefined;\r\n data[\"licensePlate\"] = this.licensePlate;\r\n data[\"driverFirstName\"] = this.driverFirstName;\r\n data[\"driverLastName\"] = this.driverLastName;\r\n data[\"driverPhoneNumber\"] = this.driverPhoneNumber;\r\n data[\"client\"] = this.client ? this.client.toJSON() : undefined;\r\n data[\"spedition\"] = this.spedition ? this.spedition.toJSON() : undefined;\r\n data[\"supplier\"] = this.supplier ? this.supplier.toJSON() : undefined;\r\n if (Array.isArray(this.positions)) {\r\n data[\"positions\"] = [];\r\n for (let item of this.positions)\r\n data[\"positions\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.attachments)) {\r\n data[\"attachments\"] = [];\r\n for (let item of this.attachments)\r\n data[\"attachments\"].push(item.toJSON());\r\n }\r\n data[\"sharingInformation\"] = this.sharingInformation ? this.sharingInformation.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDeliveryNoteDto {\r\n id: string;\r\n identifier: string;\r\n deliveryDate: Date;\r\n licensePlate: string;\r\n driverFirstName: string;\r\n driverLastName: string;\r\n driverPhoneNumber: string;\r\n client: ContactDto;\r\n spedition: ContactDto;\r\n supplier: ContactDto;\r\n positions: DeliveryNoteItemDto[];\r\n attachments: AttachmentDto[];\r\n sharingInformation: DeliveryNoteSharingInformationDto;\r\n}\r\n\r\nexport class ContactDto implements IContactDto {\r\n name!: string;\r\n street!: string;\r\n streetNumber!: string;\r\n postalCode!: string;\r\n city!: string;\r\n countryCode!: string;\r\n\r\n constructor(data?: IContactDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.street = _data[\"street\"];\r\n this.streetNumber = _data[\"streetNumber\"];\r\n this.postalCode = _data[\"postalCode\"];\r\n this.city = _data[\"city\"];\r\n this.countryCode = _data[\"countryCode\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ContactDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ContactDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"street\"] = this.street;\r\n data[\"streetNumber\"] = this.streetNumber;\r\n data[\"postalCode\"] = this.postalCode;\r\n data[\"city\"] = this.city;\r\n data[\"countryCode\"] = this.countryCode;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IContactDto {\r\n name: string;\r\n street: string;\r\n streetNumber: string;\r\n postalCode: string;\r\n city: string;\r\n countryCode: string;\r\n}\r\n\r\nexport class DeliveryNoteItemDto implements IDeliveryNoteItemDto {\r\n id!: string;\r\n contractNumber!: string;\r\n productNumber!: string;\r\n productName!: string;\r\n productName2!: string;\r\n rampNumber!: string;\r\n rampName!: string;\r\n rampExternalName!: string;\r\n targetQuantity!: QuantityDto;\r\n firstWeighing!: QuantityDto;\r\n secondWeighing!: QuantityDto;\r\n netWeight!: QuantityDto;\r\n\r\n constructor(data?: IDeliveryNoteItemDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n if (!data) {\r\n this.targetQuantity = new QuantityDto();\r\n this.firstWeighing = new QuantityDto();\r\n this.secondWeighing = new QuantityDto();\r\n this.netWeight = new QuantityDto();\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.contractNumber = _data[\"contractNumber\"];\r\n this.productNumber = _data[\"productNumber\"];\r\n this.productName = _data[\"productName\"];\r\n this.productName2 = _data[\"productName2\"];\r\n this.rampNumber = _data[\"rampNumber\"];\r\n this.rampName = _data[\"rampName\"];\r\n this.rampExternalName = _data[\"rampExternalName\"];\r\n this.targetQuantity = _data[\"targetQuantity\"] ? QuantityDto.fromJS(_data[\"targetQuantity\"]) : new QuantityDto();\r\n this.firstWeighing = _data[\"firstWeighing\"] ? QuantityDto.fromJS(_data[\"firstWeighing\"]) : new QuantityDto();\r\n this.secondWeighing = _data[\"secondWeighing\"] ? QuantityDto.fromJS(_data[\"secondWeighing\"]) : new QuantityDto();\r\n this.netWeight = _data[\"netWeight\"] ? QuantityDto.fromJS(_data[\"netWeight\"]) : new QuantityDto();\r\n }\r\n }\r\n\r\n static fromJS(data: any): DeliveryNoteItemDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DeliveryNoteItemDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"contractNumber\"] = this.contractNumber;\r\n data[\"productNumber\"] = this.productNumber;\r\n data[\"productName\"] = this.productName;\r\n data[\"productName2\"] = this.productName2;\r\n data[\"rampNumber\"] = this.rampNumber;\r\n data[\"rampName\"] = this.rampName;\r\n data[\"rampExternalName\"] = this.rampExternalName;\r\n data[\"targetQuantity\"] = this.targetQuantity ? this.targetQuantity.toJSON() : undefined;\r\n data[\"firstWeighing\"] = this.firstWeighing ? this.firstWeighing.toJSON() : undefined;\r\n data[\"secondWeighing\"] = this.secondWeighing ? this.secondWeighing.toJSON() : undefined;\r\n data[\"netWeight\"] = this.netWeight ? this.netWeight.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDeliveryNoteItemDto {\r\n id: string;\r\n contractNumber: string;\r\n productNumber: string;\r\n productName: string;\r\n productName2: string;\r\n rampNumber: string;\r\n rampName: string;\r\n rampExternalName: string;\r\n targetQuantity: QuantityDto;\r\n firstWeighing: QuantityDto;\r\n secondWeighing: QuantityDto;\r\n netWeight: QuantityDto;\r\n}\r\n\r\nexport class QuantityDto implements IQuantityDto {\r\n amount!: number;\r\n unit!: string;\r\n\r\n constructor(data?: IQuantityDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.amount = _data[\"amount\"];\r\n this.unit = _data[\"unit\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): QuantityDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new QuantityDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"amount\"] = this.amount;\r\n data[\"unit\"] = this.unit;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IQuantityDto {\r\n amount: number;\r\n unit: string;\r\n}\r\n\r\nexport class AttachmentDto implements IAttachmentDto {\r\n id!: string;\r\n fileName!: string;\r\n\r\n constructor(data?: IAttachmentDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.fileName = _data[\"fileName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AttachmentDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AttachmentDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"fileName\"] = this.fileName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAttachmentDto {\r\n id: string;\r\n fileName: string;\r\n}\r\n\r\nexport class DeliveryNoteSharingInformationDto implements IDeliveryNoteSharingInformationDto {\r\n shareToken!: string;\r\n locationPasswordSet!: boolean;\r\n smsAllowedByAdmin!: boolean;\r\n smsAllowedByLocationAdmin!: boolean;\r\n\r\n constructor(data?: IDeliveryNoteSharingInformationDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.shareToken = _data[\"shareToken\"];\r\n this.locationPasswordSet = _data[\"locationPasswordSet\"];\r\n this.smsAllowedByAdmin = _data[\"smsAllowedByAdmin\"];\r\n this.smsAllowedByLocationAdmin = _data[\"smsAllowedByLocationAdmin\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DeliveryNoteSharingInformationDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DeliveryNoteSharingInformationDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"shareToken\"] = this.shareToken;\r\n data[\"locationPasswordSet\"] = this.locationPasswordSet;\r\n data[\"smsAllowedByAdmin\"] = this.smsAllowedByAdmin;\r\n data[\"smsAllowedByLocationAdmin\"] = this.smsAllowedByLocationAdmin;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDeliveryNoteSharingInformationDto {\r\n shareToken: string;\r\n locationPasswordSet: boolean;\r\n smsAllowedByAdmin: boolean;\r\n smsAllowedByLocationAdmin: boolean;\r\n}\r\n\r\nexport class ShareBySmsInputDto implements IShareBySmsInputDto {\r\n phoneNumber?: string;\r\n locale?: string;\r\n\r\n constructor(data?: IShareBySmsInputDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n this.locale = _data[\"locale\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ShareBySmsInputDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ShareBySmsInputDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n data[\"locale\"] = this.locale;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IShareBySmsInputDto {\r\n phoneNumber?: string;\r\n locale?: string;\r\n}\r\n\r\nexport class ListDtoOfLocationListItemDto implements IListDtoOfLocationListItemDto {\r\n items!: LocationListItemDto[];\r\n\r\n constructor(data?: IListDtoOfLocationListItemDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n if (!data) {\r\n this.items = [];\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"items\"])) {\r\n this.items = [] as any;\r\n for (let item of _data[\"items\"])\r\n this.items!.push(LocationListItemDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ListDtoOfLocationListItemDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ListDtoOfLocationListItemDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.items)) {\r\n data[\"items\"] = [];\r\n for (let item of this.items)\r\n data[\"items\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IListDtoOfLocationListItemDto {\r\n items: LocationListItemDto[];\r\n}\r\n\r\nexport class LocationListItemDto implements ILocationListItemDto {\r\n id!: number;\r\n code!: string;\r\n name!: string;\r\n\r\n constructor(data?: ILocationListItemDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.code = _data[\"code\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LocationListItemDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LocationListItemDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"code\"] = this.code;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILocationListItemDto {\r\n id: number;\r\n code: string;\r\n name: string;\r\n}\r\n\r\nexport class ListDtoOfRoleListItemDto implements IListDtoOfRoleListItemDto {\r\n items!: RoleListItemDto[];\r\n\r\n constructor(data?: IListDtoOfRoleListItemDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n if (!data) {\r\n this.items = [];\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"items\"])) {\r\n this.items = [] as any;\r\n for (let item of _data[\"items\"])\r\n this.items!.push(RoleListItemDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ListDtoOfRoleListItemDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ListDtoOfRoleListItemDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.items)) {\r\n data[\"items\"] = [];\r\n for (let item of this.items)\r\n data[\"items\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IListDtoOfRoleListItemDto {\r\n items: RoleListItemDto[];\r\n}\r\n\r\nexport class RoleListItemDto implements IRoleListItemDto {\r\n id!: string;\r\n code!: string;\r\n name!: string;\r\n isAdministrated!: boolean;\r\n\r\n constructor(data?: IRoleListItemDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.code = _data[\"code\"];\r\n this.name = _data[\"name\"];\r\n this.isAdministrated = _data[\"isAdministrated\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RoleListItemDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RoleListItemDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"code\"] = this.code;\r\n data[\"name\"] = this.name;\r\n data[\"isAdministrated\"] = this.isAdministrated;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRoleListItemDto {\r\n id: string;\r\n code: string;\r\n name: string;\r\n isAdministrated: boolean;\r\n}\r\n\r\nexport class FileConfiguration implements IFileConfiguration {\r\n routes?: FileRoute[] | undefined;\r\n dynamicRoutes?: FileDynamicRoute[] | undefined;\r\n aggregates?: FileAggregateRoute[] | undefined;\r\n globalConfiguration?: FileGlobalConfiguration | undefined;\r\n\r\n constructor(data?: IFileConfiguration) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"routes\"])) {\r\n this.routes = [] as any;\r\n for (let item of _data[\"routes\"])\r\n this.routes!.push(FileRoute.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"dynamicRoutes\"])) {\r\n this.dynamicRoutes = [] as any;\r\n for (let item of _data[\"dynamicRoutes\"])\r\n this.dynamicRoutes!.push(FileDynamicRoute.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"aggregates\"])) {\r\n this.aggregates = [] as any;\r\n for (let item of _data[\"aggregates\"])\r\n this.aggregates!.push(FileAggregateRoute.fromJS(item));\r\n }\r\n this.globalConfiguration = _data[\"globalConfiguration\"] ? FileGlobalConfiguration.fromJS(_data[\"globalConfiguration\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): FileConfiguration {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FileConfiguration();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.routes)) {\r\n data[\"routes\"] = [];\r\n for (let item of this.routes)\r\n data[\"routes\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.dynamicRoutes)) {\r\n data[\"dynamicRoutes\"] = [];\r\n for (let item of this.dynamicRoutes)\r\n data[\"dynamicRoutes\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.aggregates)) {\r\n data[\"aggregates\"] = [];\r\n for (let item of this.aggregates)\r\n data[\"aggregates\"].push(item.toJSON());\r\n }\r\n data[\"globalConfiguration\"] = this.globalConfiguration ? this.globalConfiguration.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFileConfiguration {\r\n routes?: FileRoute[] | undefined;\r\n dynamicRoutes?: FileDynamicRoute[] | undefined;\r\n aggregates?: FileAggregateRoute[] | undefined;\r\n globalConfiguration?: FileGlobalConfiguration | undefined;\r\n}\r\n\r\nexport class FileRoute implements IFileRoute {\r\n downstreamPathTemplate?: string | undefined;\r\n upstreamPathTemplate?: string | undefined;\r\n upstreamHttpMethod?: string[] | undefined;\r\n downstreamHttpMethod?: string | undefined;\r\n addHeadersToRequest?: { [key: string]: string; } | undefined;\r\n upstreamHeaderTransform?: { [key: string]: string; } | undefined;\r\n downstreamHeaderTransform?: { [key: string]: string; } | undefined;\r\n addClaimsToRequest?: { [key: string]: string; } | undefined;\r\n routeClaimsRequirement?: { [key: string]: string; } | undefined;\r\n addQueriesToRequest?: { [key: string]: string; } | undefined;\r\n changeDownstreamPathTemplate?: { [key: string]: string; } | undefined;\r\n requestIdKey?: string | undefined;\r\n fileCacheOptions?: FileCacheOptions | undefined;\r\n routeIsCaseSensitive?: boolean;\r\n serviceName?: string | undefined;\r\n serviceNamespace?: string | undefined;\r\n downstreamScheme?: string | undefined;\r\n qoSOptions?: FileQoSOptions | undefined;\r\n loadBalancerOptions?: FileLoadBalancerOptions | undefined;\r\n rateLimitOptions?: FileRateLimitRule | undefined;\r\n authenticationOptions?: FileAuthenticationOptions | undefined;\r\n httpHandlerOptions?: FileHttpHandlerOptions | undefined;\r\n downstreamHostAndPorts?: FileHostAndPort[] | undefined;\r\n upstreamHost?: string | undefined;\r\n key?: string | undefined;\r\n delegatingHandlers?: string[] | undefined;\r\n priority?: number;\r\n timeout?: number;\r\n dangerousAcceptAnyServerCertificateValidator?: boolean;\r\n securityOptions?: FileSecurityOptions | undefined;\r\n downstreamHttpVersion?: string | undefined;\r\n\r\n constructor(data?: IFileRoute) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.downstreamPathTemplate = _data[\"downstreamPathTemplate\"];\r\n this.upstreamPathTemplate = _data[\"upstreamPathTemplate\"];\r\n if (Array.isArray(_data[\"upstreamHttpMethod\"])) {\r\n this.upstreamHttpMethod = [] as any;\r\n for (let item of _data[\"upstreamHttpMethod\"])\r\n this.upstreamHttpMethod!.push(item);\r\n }\r\n this.downstreamHttpMethod = _data[\"downstreamHttpMethod\"];\r\n if (_data[\"addHeadersToRequest\"]) {\r\n this.addHeadersToRequest = {} as any;\r\n for (let key in _data[\"addHeadersToRequest\"]) {\r\n if (_data[\"addHeadersToRequest\"].hasOwnProperty(key))\r\n (this.addHeadersToRequest)![key] = _data[\"addHeadersToRequest\"][key];\r\n }\r\n }\r\n if (_data[\"upstreamHeaderTransform\"]) {\r\n this.upstreamHeaderTransform = {} as any;\r\n for (let key in _data[\"upstreamHeaderTransform\"]) {\r\n if (_data[\"upstreamHeaderTransform\"].hasOwnProperty(key))\r\n (this.upstreamHeaderTransform)![key] = _data[\"upstreamHeaderTransform\"][key];\r\n }\r\n }\r\n if (_data[\"downstreamHeaderTransform\"]) {\r\n this.downstreamHeaderTransform = {} as any;\r\n for (let key in _data[\"downstreamHeaderTransform\"]) {\r\n if (_data[\"downstreamHeaderTransform\"].hasOwnProperty(key))\r\n (this.downstreamHeaderTransform)![key] = _data[\"downstreamHeaderTransform\"][key];\r\n }\r\n }\r\n if (_data[\"addClaimsToRequest\"]) {\r\n this.addClaimsToRequest = {} as any;\r\n for (let key in _data[\"addClaimsToRequest\"]) {\r\n if (_data[\"addClaimsToRequest\"].hasOwnProperty(key))\r\n (this.addClaimsToRequest)![key] = _data[\"addClaimsToRequest\"][key];\r\n }\r\n }\r\n if (_data[\"routeClaimsRequirement\"]) {\r\n this.routeClaimsRequirement = {} as any;\r\n for (let key in _data[\"routeClaimsRequirement\"]) {\r\n if (_data[\"routeClaimsRequirement\"].hasOwnProperty(key))\r\n (this.routeClaimsRequirement)![key] = _data[\"routeClaimsRequirement\"][key];\r\n }\r\n }\r\n if (_data[\"addQueriesToRequest\"]) {\r\n this.addQueriesToRequest = {} as any;\r\n for (let key in _data[\"addQueriesToRequest\"]) {\r\n if (_data[\"addQueriesToRequest\"].hasOwnProperty(key))\r\n (this.addQueriesToRequest)![key] = _data[\"addQueriesToRequest\"][key];\r\n }\r\n }\r\n if (_data[\"changeDownstreamPathTemplate\"]) {\r\n this.changeDownstreamPathTemplate = {} as any;\r\n for (let key in _data[\"changeDownstreamPathTemplate\"]) {\r\n if (_data[\"changeDownstreamPathTemplate\"].hasOwnProperty(key))\r\n (this.changeDownstreamPathTemplate)![key] = _data[\"changeDownstreamPathTemplate\"][key];\r\n }\r\n }\r\n this.requestIdKey = _data[\"requestIdKey\"];\r\n this.fileCacheOptions = _data[\"fileCacheOptions\"] ? FileCacheOptions.fromJS(_data[\"fileCacheOptions\"]) : undefined;\r\n this.routeIsCaseSensitive = _data[\"routeIsCaseSensitive\"];\r\n this.serviceName = _data[\"serviceName\"];\r\n this.serviceNamespace = _data[\"serviceNamespace\"];\r\n this.downstreamScheme = _data[\"downstreamScheme\"];\r\n this.qoSOptions = _data[\"qoSOptions\"] ? FileQoSOptions.fromJS(_data[\"qoSOptions\"]) : undefined;\r\n this.loadBalancerOptions = _data[\"loadBalancerOptions\"] ? FileLoadBalancerOptions.fromJS(_data[\"loadBalancerOptions\"]) : undefined;\r\n this.rateLimitOptions = _data[\"rateLimitOptions\"] ? FileRateLimitRule.fromJS(_data[\"rateLimitOptions\"]) : undefined;\r\n this.authenticationOptions = _data[\"authenticationOptions\"] ? FileAuthenticationOptions.fromJS(_data[\"authenticationOptions\"]) : undefined;\r\n this.httpHandlerOptions = _data[\"httpHandlerOptions\"] ? FileHttpHandlerOptions.fromJS(_data[\"httpHandlerOptions\"]) : undefined;\r\n if (Array.isArray(_data[\"downstreamHostAndPorts\"])) {\r\n this.downstreamHostAndPorts = [] as any;\r\n for (let item of _data[\"downstreamHostAndPorts\"])\r\n this.downstreamHostAndPorts!.push(FileHostAndPort.fromJS(item));\r\n }\r\n this.upstreamHost = _data[\"upstreamHost\"];\r\n this.key = _data[\"key\"];\r\n if (Array.isArray(_data[\"delegatingHandlers\"])) {\r\n this.delegatingHandlers = [] as any;\r\n for (let item of _data[\"delegatingHandlers\"])\r\n this.delegatingHandlers!.push(item);\r\n }\r\n this.priority = _data[\"priority\"];\r\n this.timeout = _data[\"timeout\"];\r\n this.dangerousAcceptAnyServerCertificateValidator = _data[\"dangerousAcceptAnyServerCertificateValidator\"];\r\n this.securityOptions = _data[\"securityOptions\"] ? FileSecurityOptions.fromJS(_data[\"securityOptions\"]) : undefined;\r\n this.downstreamHttpVersion = _data[\"downstreamHttpVersion\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FileRoute {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FileRoute();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"downstreamPathTemplate\"] = this.downstreamPathTemplate;\r\n data[\"upstreamPathTemplate\"] = this.upstreamPathTemplate;\r\n if (Array.isArray(this.upstreamHttpMethod)) {\r\n data[\"upstreamHttpMethod\"] = [];\r\n for (let item of this.upstreamHttpMethod)\r\n data[\"upstreamHttpMethod\"].push(item);\r\n }\r\n data[\"downstreamHttpMethod\"] = this.downstreamHttpMethod;\r\n if (this.addHeadersToRequest) {\r\n data[\"addHeadersToRequest\"] = {};\r\n for (let key in this.addHeadersToRequest) {\r\n if (this.addHeadersToRequest.hasOwnProperty(key))\r\n (data[\"addHeadersToRequest\"])[key] = (this.addHeadersToRequest)[key];\r\n }\r\n }\r\n if (this.upstreamHeaderTransform) {\r\n data[\"upstreamHeaderTransform\"] = {};\r\n for (let key in this.upstreamHeaderTransform) {\r\n if (this.upstreamHeaderTransform.hasOwnProperty(key))\r\n (data[\"upstreamHeaderTransform\"])[key] = (this.upstreamHeaderTransform)[key];\r\n }\r\n }\r\n if (this.downstreamHeaderTransform) {\r\n data[\"downstreamHeaderTransform\"] = {};\r\n for (let key in this.downstreamHeaderTransform) {\r\n if (this.downstreamHeaderTransform.hasOwnProperty(key))\r\n (data[\"downstreamHeaderTransform\"])[key] = (this.downstreamHeaderTransform)[key];\r\n }\r\n }\r\n if (this.addClaimsToRequest) {\r\n data[\"addClaimsToRequest\"] = {};\r\n for (let key in this.addClaimsToRequest) {\r\n if (this.addClaimsToRequest.hasOwnProperty(key))\r\n (data[\"addClaimsToRequest\"])[key] = (this.addClaimsToRequest)[key];\r\n }\r\n }\r\n if (this.routeClaimsRequirement) {\r\n data[\"routeClaimsRequirement\"] = {};\r\n for (let key in this.routeClaimsRequirement) {\r\n if (this.routeClaimsRequirement.hasOwnProperty(key))\r\n (data[\"routeClaimsRequirement\"])[key] = (this.routeClaimsRequirement)[key];\r\n }\r\n }\r\n if (this.addQueriesToRequest) {\r\n data[\"addQueriesToRequest\"] = {};\r\n for (let key in this.addQueriesToRequest) {\r\n if (this.addQueriesToRequest.hasOwnProperty(key))\r\n (data[\"addQueriesToRequest\"])[key] = (this.addQueriesToRequest)[key];\r\n }\r\n }\r\n if (this.changeDownstreamPathTemplate) {\r\n data[\"changeDownstreamPathTemplate\"] = {};\r\n for (let key in this.changeDownstreamPathTemplate) {\r\n if (this.changeDownstreamPathTemplate.hasOwnProperty(key))\r\n (data[\"changeDownstreamPathTemplate\"])[key] = (this.changeDownstreamPathTemplate)[key];\r\n }\r\n }\r\n data[\"requestIdKey\"] = this.requestIdKey;\r\n data[\"fileCacheOptions\"] = this.fileCacheOptions ? this.fileCacheOptions.toJSON() : undefined;\r\n data[\"routeIsCaseSensitive\"] = this.routeIsCaseSensitive;\r\n data[\"serviceName\"] = this.serviceName;\r\n data[\"serviceNamespace\"] = this.serviceNamespace;\r\n data[\"downstreamScheme\"] = this.downstreamScheme;\r\n data[\"qoSOptions\"] = this.qoSOptions ? this.qoSOptions.toJSON() : undefined;\r\n data[\"loadBalancerOptions\"] = this.loadBalancerOptions ? this.loadBalancerOptions.toJSON() : undefined;\r\n data[\"rateLimitOptions\"] = this.rateLimitOptions ? this.rateLimitOptions.toJSON() : undefined;\r\n data[\"authenticationOptions\"] = this.authenticationOptions ? this.authenticationOptions.toJSON() : undefined;\r\n data[\"httpHandlerOptions\"] = this.httpHandlerOptions ? this.httpHandlerOptions.toJSON() : undefined;\r\n if (Array.isArray(this.downstreamHostAndPorts)) {\r\n data[\"downstreamHostAndPorts\"] = [];\r\n for (let item of this.downstreamHostAndPorts)\r\n data[\"downstreamHostAndPorts\"].push(item.toJSON());\r\n }\r\n data[\"upstreamHost\"] = this.upstreamHost;\r\n data[\"key\"] = this.key;\r\n if (Array.isArray(this.delegatingHandlers)) {\r\n data[\"delegatingHandlers\"] = [];\r\n for (let item of this.delegatingHandlers)\r\n data[\"delegatingHandlers\"].push(item);\r\n }\r\n data[\"priority\"] = this.priority;\r\n data[\"timeout\"] = this.timeout;\r\n data[\"dangerousAcceptAnyServerCertificateValidator\"] = this.dangerousAcceptAnyServerCertificateValidator;\r\n data[\"securityOptions\"] = this.securityOptions ? this.securityOptions.toJSON() : undefined;\r\n data[\"downstreamHttpVersion\"] = this.downstreamHttpVersion;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFileRoute {\r\n downstreamPathTemplate?: string | undefined;\r\n upstreamPathTemplate?: string | undefined;\r\n upstreamHttpMethod?: string[] | undefined;\r\n downstreamHttpMethod?: string | undefined;\r\n addHeadersToRequest?: { [key: string]: string; } | undefined;\r\n upstreamHeaderTransform?: { [key: string]: string; } | undefined;\r\n downstreamHeaderTransform?: { [key: string]: string; } | undefined;\r\n addClaimsToRequest?: { [key: string]: string; } | undefined;\r\n routeClaimsRequirement?: { [key: string]: string; } | undefined;\r\n addQueriesToRequest?: { [key: string]: string; } | undefined;\r\n changeDownstreamPathTemplate?: { [key: string]: string; } | undefined;\r\n requestIdKey?: string | undefined;\r\n fileCacheOptions?: FileCacheOptions | undefined;\r\n routeIsCaseSensitive?: boolean;\r\n serviceName?: string | undefined;\r\n serviceNamespace?: string | undefined;\r\n downstreamScheme?: string | undefined;\r\n qoSOptions?: FileQoSOptions | undefined;\r\n loadBalancerOptions?: FileLoadBalancerOptions | undefined;\r\n rateLimitOptions?: FileRateLimitRule | undefined;\r\n authenticationOptions?: FileAuthenticationOptions | undefined;\r\n httpHandlerOptions?: FileHttpHandlerOptions | undefined;\r\n downstreamHostAndPorts?: FileHostAndPort[] | undefined;\r\n upstreamHost?: string | undefined;\r\n key?: string | undefined;\r\n delegatingHandlers?: string[] | undefined;\r\n priority?: number;\r\n timeout?: number;\r\n dangerousAcceptAnyServerCertificateValidator?: boolean;\r\n securityOptions?: FileSecurityOptions | undefined;\r\n downstreamHttpVersion?: string | undefined;\r\n}\r\n\r\nexport class FileCacheOptions implements IFileCacheOptions {\r\n ttlSeconds?: number;\r\n region?: string | undefined;\r\n\r\n constructor(data?: IFileCacheOptions) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.ttlSeconds = _data[\"ttlSeconds\"];\r\n this.region = _data[\"region\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FileCacheOptions {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FileCacheOptions();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"ttlSeconds\"] = this.ttlSeconds;\r\n data[\"region\"] = this.region;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFileCacheOptions {\r\n ttlSeconds?: number;\r\n region?: string | undefined;\r\n}\r\n\r\nexport class FileQoSOptions implements IFileQoSOptions {\r\n exceptionsAllowedBeforeBreaking?: number;\r\n durationOfBreak?: number;\r\n timeoutValue?: number;\r\n\r\n constructor(data?: IFileQoSOptions) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.exceptionsAllowedBeforeBreaking = _data[\"exceptionsAllowedBeforeBreaking\"];\r\n this.durationOfBreak = _data[\"durationOfBreak\"];\r\n this.timeoutValue = _data[\"timeoutValue\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FileQoSOptions {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FileQoSOptions();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"exceptionsAllowedBeforeBreaking\"] = this.exceptionsAllowedBeforeBreaking;\r\n data[\"durationOfBreak\"] = this.durationOfBreak;\r\n data[\"timeoutValue\"] = this.timeoutValue;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFileQoSOptions {\r\n exceptionsAllowedBeforeBreaking?: number;\r\n durationOfBreak?: number;\r\n timeoutValue?: number;\r\n}\r\n\r\nexport class FileLoadBalancerOptions implements IFileLoadBalancerOptions {\r\n type?: string | undefined;\r\n key?: string | undefined;\r\n expiry?: number;\r\n\r\n constructor(data?: IFileLoadBalancerOptions) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.type = _data[\"type\"];\r\n this.key = _data[\"key\"];\r\n this.expiry = _data[\"expiry\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FileLoadBalancerOptions {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FileLoadBalancerOptions();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"type\"] = this.type;\r\n data[\"key\"] = this.key;\r\n data[\"expiry\"] = this.expiry;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFileLoadBalancerOptions {\r\n type?: string | undefined;\r\n key?: string | undefined;\r\n expiry?: number;\r\n}\r\n\r\nexport class FileRateLimitRule implements IFileRateLimitRule {\r\n clientWhitelist?: string[] | undefined;\r\n enableRateLimiting?: boolean;\r\n period?: string | undefined;\r\n periodTimespan?: number;\r\n limit?: number;\r\n\r\n constructor(data?: IFileRateLimitRule) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"clientWhitelist\"])) {\r\n this.clientWhitelist = [] as any;\r\n for (let item of _data[\"clientWhitelist\"])\r\n this.clientWhitelist!.push(item);\r\n }\r\n this.enableRateLimiting = _data[\"enableRateLimiting\"];\r\n this.period = _data[\"period\"];\r\n this.periodTimespan = _data[\"periodTimespan\"];\r\n this.limit = _data[\"limit\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FileRateLimitRule {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FileRateLimitRule();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.clientWhitelist)) {\r\n data[\"clientWhitelist\"] = [];\r\n for (let item of this.clientWhitelist)\r\n data[\"clientWhitelist\"].push(item);\r\n }\r\n data[\"enableRateLimiting\"] = this.enableRateLimiting;\r\n data[\"period\"] = this.period;\r\n data[\"periodTimespan\"] = this.periodTimespan;\r\n data[\"limit\"] = this.limit;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFileRateLimitRule {\r\n clientWhitelist?: string[] | undefined;\r\n enableRateLimiting?: boolean;\r\n period?: string | undefined;\r\n periodTimespan?: number;\r\n limit?: number;\r\n}\r\n\r\nexport class FileAuthenticationOptions implements IFileAuthenticationOptions {\r\n authenticationProviderKey?: string | undefined;\r\n allowedScopes?: string[] | undefined;\r\n\r\n constructor(data?: IFileAuthenticationOptions) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.authenticationProviderKey = _data[\"authenticationProviderKey\"];\r\n if (Array.isArray(_data[\"allowedScopes\"])) {\r\n this.allowedScopes = [] as any;\r\n for (let item of _data[\"allowedScopes\"])\r\n this.allowedScopes!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): FileAuthenticationOptions {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FileAuthenticationOptions();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"authenticationProviderKey\"] = this.authenticationProviderKey;\r\n if (Array.isArray(this.allowedScopes)) {\r\n data[\"allowedScopes\"] = [];\r\n for (let item of this.allowedScopes)\r\n data[\"allowedScopes\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFileAuthenticationOptions {\r\n authenticationProviderKey?: string | undefined;\r\n allowedScopes?: string[] | undefined;\r\n}\r\n\r\nexport class FileHttpHandlerOptions implements IFileHttpHandlerOptions {\r\n allowAutoRedirect?: boolean;\r\n useCookieContainer?: boolean;\r\n useTracing?: boolean;\r\n useProxy?: boolean;\r\n maxConnectionsPerServer?: number;\r\n\r\n constructor(data?: IFileHttpHandlerOptions) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.allowAutoRedirect = _data[\"allowAutoRedirect\"];\r\n this.useCookieContainer = _data[\"useCookieContainer\"];\r\n this.useTracing = _data[\"useTracing\"];\r\n this.useProxy = _data[\"useProxy\"];\r\n this.maxConnectionsPerServer = _data[\"maxConnectionsPerServer\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FileHttpHandlerOptions {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FileHttpHandlerOptions();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"allowAutoRedirect\"] = this.allowAutoRedirect;\r\n data[\"useCookieContainer\"] = this.useCookieContainer;\r\n data[\"useTracing\"] = this.useTracing;\r\n data[\"useProxy\"] = this.useProxy;\r\n data[\"maxConnectionsPerServer\"] = this.maxConnectionsPerServer;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFileHttpHandlerOptions {\r\n allowAutoRedirect?: boolean;\r\n useCookieContainer?: boolean;\r\n useTracing?: boolean;\r\n useProxy?: boolean;\r\n maxConnectionsPerServer?: number;\r\n}\r\n\r\nexport class FileHostAndPort implements IFileHostAndPort {\r\n host?: string | undefined;\r\n port?: number;\r\n\r\n constructor(data?: IFileHostAndPort) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.host = _data[\"host\"];\r\n this.port = _data[\"port\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FileHostAndPort {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FileHostAndPort();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"host\"] = this.host;\r\n data[\"port\"] = this.port;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFileHostAndPort {\r\n host?: string | undefined;\r\n port?: number;\r\n}\r\n\r\nexport class FileSecurityOptions implements IFileSecurityOptions {\r\n ipAllowedList?: string[] | undefined;\r\n ipBlockedList?: string[] | undefined;\r\n\r\n constructor(data?: IFileSecurityOptions) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"ipAllowedList\"])) {\r\n this.ipAllowedList = [] as any;\r\n for (let item of _data[\"ipAllowedList\"])\r\n this.ipAllowedList!.push(item);\r\n }\r\n if (Array.isArray(_data[\"ipBlockedList\"])) {\r\n this.ipBlockedList = [] as any;\r\n for (let item of _data[\"ipBlockedList\"])\r\n this.ipBlockedList!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): FileSecurityOptions {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FileSecurityOptions();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.ipAllowedList)) {\r\n data[\"ipAllowedList\"] = [];\r\n for (let item of this.ipAllowedList)\r\n data[\"ipAllowedList\"].push(item);\r\n }\r\n if (Array.isArray(this.ipBlockedList)) {\r\n data[\"ipBlockedList\"] = [];\r\n for (let item of this.ipBlockedList)\r\n data[\"ipBlockedList\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFileSecurityOptions {\r\n ipAllowedList?: string[] | undefined;\r\n ipBlockedList?: string[] | undefined;\r\n}\r\n\r\nexport class FileDynamicRoute implements IFileDynamicRoute {\r\n serviceName?: string | undefined;\r\n rateLimitRule?: FileRateLimitRule | undefined;\r\n downstreamHttpVersion?: string | undefined;\r\n\r\n constructor(data?: IFileDynamicRoute) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.serviceName = _data[\"serviceName\"];\r\n this.rateLimitRule = _data[\"rateLimitRule\"] ? FileRateLimitRule.fromJS(_data[\"rateLimitRule\"]) : undefined;\r\n this.downstreamHttpVersion = _data[\"downstreamHttpVersion\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FileDynamicRoute {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FileDynamicRoute();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"serviceName\"] = this.serviceName;\r\n data[\"rateLimitRule\"] = this.rateLimitRule ? this.rateLimitRule.toJSON() : undefined;\r\n data[\"downstreamHttpVersion\"] = this.downstreamHttpVersion;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFileDynamicRoute {\r\n serviceName?: string | undefined;\r\n rateLimitRule?: FileRateLimitRule | undefined;\r\n downstreamHttpVersion?: string | undefined;\r\n}\r\n\r\nexport class FileAggregateRoute implements IFileAggregateRoute {\r\n routeKeys?: string[] | undefined;\r\n routeKeysConfig?: AggregateRouteConfig[] | undefined;\r\n upstreamPathTemplate?: string | undefined;\r\n upstreamHost?: string | undefined;\r\n routeIsCaseSensitive?: boolean;\r\n aggregator?: string | undefined;\r\n upstreamHttpMethod?: string[] | undefined;\r\n priority?: number;\r\n\r\n constructor(data?: IFileAggregateRoute) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"routeKeys\"])) {\r\n this.routeKeys = [] as any;\r\n for (let item of _data[\"routeKeys\"])\r\n this.routeKeys!.push(item);\r\n }\r\n if (Array.isArray(_data[\"routeKeysConfig\"])) {\r\n this.routeKeysConfig = [] as any;\r\n for (let item of _data[\"routeKeysConfig\"])\r\n this.routeKeysConfig!.push(AggregateRouteConfig.fromJS(item));\r\n }\r\n this.upstreamPathTemplate = _data[\"upstreamPathTemplate\"];\r\n this.upstreamHost = _data[\"upstreamHost\"];\r\n this.routeIsCaseSensitive = _data[\"routeIsCaseSensitive\"];\r\n this.aggregator = _data[\"aggregator\"];\r\n if (Array.isArray(_data[\"upstreamHttpMethod\"])) {\r\n this.upstreamHttpMethod = [] as any;\r\n for (let item of _data[\"upstreamHttpMethod\"])\r\n this.upstreamHttpMethod!.push(item);\r\n }\r\n this.priority = _data[\"priority\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FileAggregateRoute {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FileAggregateRoute();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.routeKeys)) {\r\n data[\"routeKeys\"] = [];\r\n for (let item of this.routeKeys)\r\n data[\"routeKeys\"].push(item);\r\n }\r\n if (Array.isArray(this.routeKeysConfig)) {\r\n data[\"routeKeysConfig\"] = [];\r\n for (let item of this.routeKeysConfig)\r\n data[\"routeKeysConfig\"].push(item.toJSON());\r\n }\r\n data[\"upstreamPathTemplate\"] = this.upstreamPathTemplate;\r\n data[\"upstreamHost\"] = this.upstreamHost;\r\n data[\"routeIsCaseSensitive\"] = this.routeIsCaseSensitive;\r\n data[\"aggregator\"] = this.aggregator;\r\n if (Array.isArray(this.upstreamHttpMethod)) {\r\n data[\"upstreamHttpMethod\"] = [];\r\n for (let item of this.upstreamHttpMethod)\r\n data[\"upstreamHttpMethod\"].push(item);\r\n }\r\n data[\"priority\"] = this.priority;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFileAggregateRoute {\r\n routeKeys?: string[] | undefined;\r\n routeKeysConfig?: AggregateRouteConfig[] | undefined;\r\n upstreamPathTemplate?: string | undefined;\r\n upstreamHost?: string | undefined;\r\n routeIsCaseSensitive?: boolean;\r\n aggregator?: string | undefined;\r\n upstreamHttpMethod?: string[] | undefined;\r\n priority?: number;\r\n}\r\n\r\nexport class AggregateRouteConfig implements IAggregateRouteConfig {\r\n routeKey?: string | undefined;\r\n parameter?: string | undefined;\r\n jsonPath?: string | undefined;\r\n\r\n constructor(data?: IAggregateRouteConfig) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.routeKey = _data[\"routeKey\"];\r\n this.parameter = _data[\"parameter\"];\r\n this.jsonPath = _data[\"jsonPath\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AggregateRouteConfig {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AggregateRouteConfig();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"routeKey\"] = this.routeKey;\r\n data[\"parameter\"] = this.parameter;\r\n data[\"jsonPath\"] = this.jsonPath;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAggregateRouteConfig {\r\n routeKey?: string | undefined;\r\n parameter?: string | undefined;\r\n jsonPath?: string | undefined;\r\n}\r\n\r\nexport class FileGlobalConfiguration implements IFileGlobalConfiguration {\r\n requestIdKey?: string | undefined;\r\n serviceDiscoveryProvider?: FileServiceDiscoveryProvider | undefined;\r\n rateLimitOptions?: FileRateLimitOptions | undefined;\r\n qoSOptions?: FileQoSOptions | undefined;\r\n baseUrl?: string | undefined;\r\n loadBalancerOptions?: FileLoadBalancerOptions | undefined;\r\n downstreamScheme?: string | undefined;\r\n httpHandlerOptions?: FileHttpHandlerOptions | undefined;\r\n downstreamHttpVersion?: string | undefined;\r\n\r\n constructor(data?: IFileGlobalConfiguration) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.requestIdKey = _data[\"requestIdKey\"];\r\n this.serviceDiscoveryProvider = _data[\"serviceDiscoveryProvider\"] ? FileServiceDiscoveryProvider.fromJS(_data[\"serviceDiscoveryProvider\"]) : undefined;\r\n this.rateLimitOptions = _data[\"rateLimitOptions\"] ? FileRateLimitOptions.fromJS(_data[\"rateLimitOptions\"]) : undefined;\r\n this.qoSOptions = _data[\"qoSOptions\"] ? FileQoSOptions.fromJS(_data[\"qoSOptions\"]) : undefined;\r\n this.baseUrl = _data[\"baseUrl\"];\r\n this.loadBalancerOptions = _data[\"loadBalancerOptions\"] ? FileLoadBalancerOptions.fromJS(_data[\"loadBalancerOptions\"]) : undefined;\r\n this.downstreamScheme = _data[\"downstreamScheme\"];\r\n this.httpHandlerOptions = _data[\"httpHandlerOptions\"] ? FileHttpHandlerOptions.fromJS(_data[\"httpHandlerOptions\"]) : undefined;\r\n this.downstreamHttpVersion = _data[\"downstreamHttpVersion\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FileGlobalConfiguration {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FileGlobalConfiguration();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"requestIdKey\"] = this.requestIdKey;\r\n data[\"serviceDiscoveryProvider\"] = this.serviceDiscoveryProvider ? this.serviceDiscoveryProvider.toJSON() : undefined;\r\n data[\"rateLimitOptions\"] = this.rateLimitOptions ? this.rateLimitOptions.toJSON() : undefined;\r\n data[\"qoSOptions\"] = this.qoSOptions ? this.qoSOptions.toJSON() : undefined;\r\n data[\"baseUrl\"] = this.baseUrl;\r\n data[\"loadBalancerOptions\"] = this.loadBalancerOptions ? this.loadBalancerOptions.toJSON() : undefined;\r\n data[\"downstreamScheme\"] = this.downstreamScheme;\r\n data[\"httpHandlerOptions\"] = this.httpHandlerOptions ? this.httpHandlerOptions.toJSON() : undefined;\r\n data[\"downstreamHttpVersion\"] = this.downstreamHttpVersion;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFileGlobalConfiguration {\r\n requestIdKey?: string | undefined;\r\n serviceDiscoveryProvider?: FileServiceDiscoveryProvider | undefined;\r\n rateLimitOptions?: FileRateLimitOptions | undefined;\r\n qoSOptions?: FileQoSOptions | undefined;\r\n baseUrl?: string | undefined;\r\n loadBalancerOptions?: FileLoadBalancerOptions | undefined;\r\n downstreamScheme?: string | undefined;\r\n httpHandlerOptions?: FileHttpHandlerOptions | undefined;\r\n downstreamHttpVersion?: string | undefined;\r\n}\r\n\r\nexport class FileServiceDiscoveryProvider implements IFileServiceDiscoveryProvider {\r\n scheme?: string | undefined;\r\n host?: string | undefined;\r\n port?: number;\r\n type?: string | undefined;\r\n token?: string | undefined;\r\n configurationKey?: string | undefined;\r\n pollingInterval?: number;\r\n namespace?: string | undefined;\r\n\r\n constructor(data?: IFileServiceDiscoveryProvider) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.scheme = _data[\"scheme\"];\r\n this.host = _data[\"host\"];\r\n this.port = _data[\"port\"];\r\n this.type = _data[\"type\"];\r\n this.token = _data[\"token\"];\r\n this.configurationKey = _data[\"configurationKey\"];\r\n this.pollingInterval = _data[\"pollingInterval\"];\r\n this.namespace = _data[\"namespace\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FileServiceDiscoveryProvider {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FileServiceDiscoveryProvider();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"scheme\"] = this.scheme;\r\n data[\"host\"] = this.host;\r\n data[\"port\"] = this.port;\r\n data[\"type\"] = this.type;\r\n data[\"token\"] = this.token;\r\n data[\"configurationKey\"] = this.configurationKey;\r\n data[\"pollingInterval\"] = this.pollingInterval;\r\n data[\"namespace\"] = this.namespace;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFileServiceDiscoveryProvider {\r\n scheme?: string | undefined;\r\n host?: string | undefined;\r\n port?: number;\r\n type?: string | undefined;\r\n token?: string | undefined;\r\n configurationKey?: string | undefined;\r\n pollingInterval?: number;\r\n namespace?: string | undefined;\r\n}\r\n\r\nexport class FileRateLimitOptions implements IFileRateLimitOptions {\r\n clientIdHeader?: string | undefined;\r\n quotaExceededMessage?: string | undefined;\r\n rateLimitCounterPrefix?: string | undefined;\r\n disableRateLimitHeaders?: boolean;\r\n httpStatusCode?: number;\r\n\r\n constructor(data?: IFileRateLimitOptions) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.clientIdHeader = _data[\"clientIdHeader\"];\r\n this.quotaExceededMessage = _data[\"quotaExceededMessage\"];\r\n this.rateLimitCounterPrefix = _data[\"rateLimitCounterPrefix\"];\r\n this.disableRateLimitHeaders = _data[\"disableRateLimitHeaders\"];\r\n this.httpStatusCode = _data[\"httpStatusCode\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FileRateLimitOptions {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FileRateLimitOptions();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"clientIdHeader\"] = this.clientIdHeader;\r\n data[\"quotaExceededMessage\"] = this.quotaExceededMessage;\r\n data[\"rateLimitCounterPrefix\"] = this.rateLimitCounterPrefix;\r\n data[\"disableRateLimitHeaders\"] = this.disableRateLimitHeaders;\r\n data[\"httpStatusCode\"] = this.httpStatusCode;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFileRateLimitOptions {\r\n clientIdHeader?: string | undefined;\r\n quotaExceededMessage?: string | undefined;\r\n rateLimitCounterPrefix?: string | undefined;\r\n disableRateLimitHeaders?: boolean;\r\n httpStatusCode?: number;\r\n}\r\n\r\nexport interface FileResponse {\r\n data: Blob;\r\n status: number;\r\n fileName?: string;\r\n headers?: { [name: string]: any };\r\n}\r\n\r\nexport class ApiException extends Error {\r\n message: string;\r\n status: number;\r\n response: string;\r\n headers: { [key: string]: any; };\r\n result: any;\r\n\r\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\r\n super();\r\n\r\n this.message = message;\r\n this.status = status;\r\n this.response = response;\r\n this.headers = headers;\r\n this.result = result;\r\n }\r\n\r\n protected isApiException = true;\r\n\r\n static isApiException(obj: any): obj is ApiException {\r\n return obj.isApiException === true;\r\n }\r\n}\r\n\r\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): Observable {\r\n if (result !== null && result !== undefined)\r\n return _observableThrow(result);\r\n else\r\n return _observableThrow(new ApiException(message, status, response, headers, null));\r\n}\r\n\r\nfunction blobToText(blob: any): Observable {\r\n return new Observable((observer: any) => {\r\n if (!blob) {\r\n observer.next(\"\");\r\n observer.complete();\r\n } else {\r\n let reader = new FileReader();\r\n reader.onload = event => {\r\n observer.next((event.target as any).result);\r\n observer.complete();\r\n };\r\n reader.readAsText(blob);\r\n }\r\n });\r\n}","export default \"ul,\\nli {\\n font-size: 12px;\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n line-height: 2em;\\n}\\nul a,\\nli a {\\n color: #dcdcdb;\\n display: block;\\n padding: 1px 0;\\n text-align: right;\\n}\\nul a:hover,\\nli a:hover {\\n color: #fdc628;\\n}\\n@media only screen and (max-width: 599px) {\\n ul {\\n -webkit-column-count: 4;\\n -moz-column-count: 4;\\n column-count: 4;\\n margin-top: 30px;\\n }\\n ul li {\\n font-size: 10px;\\n text-align: center;\\n }\\n ul a {\\n text-align: center;\\n }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29yZS9jb21wb25lbnRzL2Zvb3Rlci9mb290ZXItcGFhcmktbGlua3MvZm9vdGVyLXBhYXJpLWxpbmtzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztFQUVFLGVBQUE7RUFDQSxnQkFBQTtFQUNBLFNBQUE7RUFDQSxVQUFBO0VBQ0EsZ0JBQUE7QUFDRjtBQUNFOztFQUNFLGNBQUE7RUFDQSxjQUFBO0VBQ0EsY0FBQTtFQUNBLGlCQUFBO0FBRUo7QUFDRTs7RUFDRSxjQUFBO0FBRUo7QUFFQTtFQUNFO0lBQ0UsdUJBQUE7T0FBQSxvQkFBQTtZQUFBLGVBQUE7SUFDQSxnQkFBQTtFQUNGO0VBQ0U7SUFDRSxlQUFBO0lBQ0Esa0JBQUE7RUFDSjtFQUVFO0lBQ0Usa0JBQUE7RUFBSjtBQUNGIiwiZmlsZSI6InNyYy9hcHAvY29yZS9jb21wb25lbnRzL2Zvb3Rlci9mb290ZXItcGFhcmktbGlua3MvZm9vdGVyLXBhYXJpLWxpbmtzLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsidWwsXHJcbmxpIHtcclxuICBmb250LXNpemU6IDEycHg7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBsaW5lLWhlaWdodDogMmVtO1xyXG5cclxuICBhIHtcclxuICAgIGNvbG9yOiAjZGNkY2RiO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwYWRkaW5nOiAxcHggMDtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gIH1cclxuXHJcbiAgYTpob3ZlciB7XHJcbiAgICBjb2xvcjogI2ZkYzYyODtcclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcclxuICB1bCB7XHJcbiAgICBjb2x1bW4tY291bnQ6IDQ7XHJcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG5cclxuICAgIGxpIHtcclxuICAgICAgZm9udC1zaXplOiAxMHB4O1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgYSB7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19 */\";","import { Component } from '@angular/core';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-yes-no-cancel-modal',\r\n templateUrl: './yes-no-cancel-modal.component.html',\r\n styleUrls: ['./yes-no-cancel-modal.component.scss']\r\n})\r\nexport class YesNoCancelModalComponent {\r\n\r\n onYes = new Subject();\r\n onNo = new Subject();\r\n onCancel = new Subject();\r\n\r\n constructor(public dialogRef: MatDialogRef) { }\r\n\r\n onConfirm() {\r\n this.dialogRef.close();\r\n this.onYes.next();\r\n }\r\n\r\n onDecline() {\r\n this.dialogRef.close();\r\n this.onNo.next();\r\n }\r\n\r\n onAbort() {\r\n this.dialogRef.close();\r\n this.onCancel.next();\r\n }\r\n\r\n}\r\n","export default \"
\\r\\n

{{ 'Shared.Modals.SearchUser.Header' | translate}}

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{'Modules.UserSettings.Role.Edit.UserName' | translate}}{{'Modules.UserSettings.Role.Edit.UserEmail' | translate}}
{{user.firstName}} {{user.lastName}}{{user.email}}
\\r\\n
\\r\\n
\\r\\n\";","import { Component, Inject, OnInit, QueryList, ViewChildren } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { Subject } from 'rxjs';\r\nimport { NameTranslationDto } from 'src/app/shared/generated/LogisticManagementClient';\r\nimport { StringValidators } from 'src/app/shared/validators/string-validators';\r\nimport { BaseInputComponent } from '../../inputs/paari-base-input/base-input.component';\r\n\r\n@Component({\r\n selector: 'app-multilingual-name-modal',\r\n templateUrl: './multilingual-name-modal.component.html',\r\n styleUrls: ['./multilingual-name-modal.component.scss']\r\n})\r\nexport class MultilingualNameModalComponent implements OnInit {\r\n\r\n onSave = new Subject();\r\n @ViewChildren('formElement')\r\n formElements!: QueryList;\r\n strRequiredValidator = StringValidators.getIsRequiredValidator();\r\n\r\n textDe = '';\r\n textEn = '';\r\n textPl = '';\r\n textSk = '';\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: {\r\n translations: NameTranslationDto[];\r\n header: string;\r\n disabled: boolean;\r\n },\r\n public dialogRef: MatDialogRef\r\n ) { }\r\n\r\n ngOnInit() {\r\n\r\n this.data.translations.forEach(dto => {\r\n if (dto.languageCode.toLowerCase() === 'de') { this.textDe = dto.name!; }\r\n if (dto.languageCode.toLowerCase() === 'en') { this.textEn = dto.name!; }\r\n if (dto.languageCode.toLowerCase() === 'pl') { this.textPl = dto.name!; }\r\n if (dto.languageCode.toLowerCase() === 'sk') { this.textSk = dto.name!; }\r\n });\r\n }\r\n\r\n updateTranslationDto(languageCode: string, newName: string) {\r\n const translationDto = this.data.translations.find(t => t.languageCode.toLowerCase() === languageCode);\r\n if (translationDto) {\r\n translationDto.name = newName;\r\n } else {\r\n this.data.translations.push(new NameTranslationDto({ languageCode: languageCode, name: newName }));\r\n }\r\n }\r\n validateChildren(): boolean {\r\n let result = true;\r\n this.formElements.forEach(child => {\r\n if (!child.validateForm()) {\r\n result = false;\r\n }\r\n });\r\n return result;\r\n }\r\n onCancel() {\r\n this.dialogRef.close();\r\n }\r\n onConfirm() {\r\n if (this.validateChildren()) {\r\n this.onSave.next(this.data.translations);\r\n this.dialogRef.close();\r\n }\r\n }\r\n}\r\n","export default \"
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\";","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-paari-input-search',\r\n templateUrl: './paari-input-search.component.html',\r\n styleUrls: ['./paari-input-search.component.scss']\r\n})\r\nexport class PaariInputSearchComponent implements OnInit {\r\n\r\n @Input() placeholderKey!: string;\r\n @Input() disabled!: boolean;\r\n @Output() searchClick = new EventEmitter();\r\n searchPhrase = '';\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n search() {\r\n this.searchClick.emit(this.searchPhrase);\r\n }\r\n\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n ViewChild\r\n} from \"@angular/core\";\r\nimport { ListItemModel } from \"../../shared/list-item.model\";\r\nimport { ValidatorModel } from \"../../shared/validator.model\";\r\nimport { BaseInputComponent } from \"../paari-base-input/base-input.component\";\r\n\r\n@Component({\r\n selector: \"paari-input-dropdown\",\r\n templateUrl: \"./paari-input-dropdown.component.html\",\r\n styleUrls: [\"./paari-input-dropdown.component.scss\"]\r\n})\r\n/** paari-input-dropdown component*/\r\nexport class PaariInputDropdownComponent implements BaseInputComponent {\r\n @Input() id!: string;\r\n @Input() label!: string;\r\n @Input() bottomSpace!: string;\r\n @Input() validators!: ValidatorModel[];\r\n @Input() listItems!: ListItemModel[];\r\n @Input() disabled!: boolean;\r\n @Input() noBorderRadiusRight!: boolean;\r\n @ViewChild(\"inputField\", { static: true }) inputField!: ElementRef;\r\n public formGroupValid: boolean = true;\r\n private _model: any;\r\n\r\n @Output() modelChange = new EventEmitter();\r\n @Input(\"model\")\r\n set model(value: any) {\r\n if (this._model == value) return;\r\n this._model = value;\r\n this.modelChange.emit(this._model);\r\n if (this.inputField.nativeElement.classList.contains(\"ng-touched\")) {\r\n this.validateForm();\r\n }\r\n }\r\n get model() {\r\n return this._model;\r\n }\r\n\r\n public validateForm() {\r\n let classesList = this.inputField.nativeElement.classList;\r\n if (classesList.contains(\"ng-untouched\")) {\r\n classesList.remove(\"ng-untouched\");\r\n classesList.add(\"ng-touched\");\r\n this.validateForm();\r\n }\r\n let result: boolean = true;\r\n if (this.validators != null) {\r\n this.validators.forEach(validator => {\r\n if (!validator.validate(this.model)) {\r\n result = false;\r\n }\r\n });\r\n }\r\n this.formGroupValid = result;\r\n return result;\r\n }\r\n isDirty(): boolean {\r\n return this.inputField.nativeElement.classList.contains(\"ng-dirty\");\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2xheW91dC9hbGVydC1zaW5nbGUtbG9hZGluZy1lcnJvci9hbGVydC1zaW5nbGUtbG9hZGluZy1lcnJvci5jb21wb25lbnQuc2NzcyJ9 */\";","import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\r\nimport { ValidatorModel } from '../../shared/validator.model';\r\nimport { BaseInputComponent } from '../paari-base-input/base-input.component';\r\n\r\n@Component({\r\n selector: 'app-paari-input-textarea',\r\n templateUrl: './paari-input-textarea.component.html',\r\n styleUrls: ['./paari-input-textarea.component.scss']\r\n})\r\nexport class PaariInputTextareaComponent implements BaseInputComponent {\r\n\r\n @Input() id!: string;\r\n @Input() label!: string;\r\n @Input() placeholder!: string;\r\n @Input() bottomSpace!: string;\r\n @Input() validators!: ValidatorModel[];\r\n @Input() disabled: boolean = false;\r\n @Input() noBorderRadiusRight!: boolean;\r\n @Input() cols!: number;\r\n @Input() rows!: number;\r\n @ViewChild('inputField', { static: true }) inputField!: ElementRef;\r\n public formGroupValid: boolean = true;\r\n private _model!: string;\r\n\r\n @Output() modelChange = new EventEmitter();\r\n @Input('model')\r\n set model(value: string | undefined) {\r\n if (this._model == value) return;\r\n this._model = value ?? '';\r\n this.modelChange.emit(this._model);\r\n if (this.inputField.nativeElement.classList.contains('ng-touched')) {\r\n this.validateForm();\r\n }\r\n }\r\n get model() {\r\n return this._model;\r\n }\r\n\r\n public validateForm() {\r\n let classesList = this.inputField.nativeElement.classList;\r\n if (classesList.contains('ng-untouched')) {\r\n classesList.remove('ng-untouched');\r\n classesList.add('ng-touched');\r\n this.validateForm();\r\n }\r\n let result: boolean = true;\r\n if (this.validators != null) {\r\n this.validators.forEach(validator => {\r\n if (!validator.validate(this.model)) {\r\n result = false;\r\n }\r\n });\r\n }\r\n this.formGroupValid = result;\r\n return result;\r\n }\r\n isDirty(): boolean {\r\n return this.inputField.nativeElement.classList.contains('ng-dirty');\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { AppsListComponent } from './modules/apps/apps-list/apps-list.component';\r\nimport { AuthGuard } from './shared/guards/auth.guard';\r\n\r\nexport const routes: Routes = [\r\n {\r\n path: '',\r\n canActivate: [AuthGuard],\r\n canActivateChild: [AuthGuard],\r\n children: [\r\n { path: '', component: AppsListComponent },\r\n { path: 'check', loadChildren: () => import('./modules/control/control.module').then(m => m.ControlModule) },\r\n { path: 'location-admin', loadChildren: () => import('./modules/location-admin/location-admin.module').then(m => m.LocationAdminModule) },\r\n { path: 'settings', loadChildren: () => import('./modules/user-settings/user-settings.module').then(m => m.UserSettingsModule) },\r\n { path: 'admin', loadChildren: () => import('./modules/admin/admin.module').then(m => m.AdminModule) },\r\n { path: 'tsm', loadChildren: () => import('./modules/tsm/tsm.module').then(m => m.TsmModule) },\r\n { path: 'arrival-board', loadChildren: () => import('./modules/arrival-board/arrival.module').then(m => m.ArrivalModule) },\r\n { path: 'statistic', loadChildren: () => import('./modules/statistic/statistic.module').then(m => m.StatisticModule) },\r\n { path: 'transports-and-contracts', loadChildren: () => import('./modules/tac/tac.module').then(m => m.TacModule) },\r\n { path: 'help', loadChildren: () => import('./modules/help/help.module').then(m => m.HelpModule) },\r\n { path: 'safety', loadChildren: () => import('./modules/safety/safety.module').then(m => m.SafetyModule) },\r\n { path: 'delivery-notes', loadChildren: () => import('./modules/delivery-notes/delivery-notes.module').then(m => m.DeliveryNotesModule) },\r\n { path: '**', redirectTo: '' },\r\n ]\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { AccountClient, ConfigurationModel } from '../generated/FrontClient';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class ConfigService {\r\n constructor(\r\n private accountClient: AccountClient,\r\n ) {}\r\n\r\n public language: string | null = null;\r\n\r\n getConfiguration(): Observable {\r\n return this.accountClient.getUserConfiguration();\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-footer-paari-links',\r\n templateUrl: './footer-paari-links.component.html',\r\n styleUrls: ['./footer-paari-links.component.scss']\r\n})\r\nexport class FooterPaariLinksComponent { }\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Store, select } from '@ngrx/store';\r\nimport { ConfigurationModel } from 'src/app/shared/generated/FrontClient';\r\nimport { ModuleTypes } from 'src/app/shared/enums/module-types.enum';\r\nimport * as fromShared from 'src/app/shared/state';\r\nimport * as sharedActions from 'src/app/shared/state/shared.actions';\r\n\r\nexport interface Application {\r\n name: string;\r\n img: string;\r\n url: string;\r\n}\r\n\r\n@Component({\r\n selector: 'app-apps-list',\r\n templateUrl: './apps-list.component.html',\r\n styleUrls: ['./apps-list.component.scss']\r\n})\r\nexport class AppsListComponent implements OnInit {\r\n\r\n apps: Application[] = [];\r\n\r\n constructor(private store: Store) { }\r\n\r\n ngOnInit() {\r\n this.store.dispatch(new sharedActions.SetCurrentModule(ModuleTypes.APPS));\r\n this.store.pipe(select(fromShared.getConfiguration)).subscribe(config => this.setUpApps(config));\r\n }\r\n\r\n setUpApps(config: ConfigurationModel | null) {\r\n this.apps.push({ name: 'Statistic', img: 'assets/img/apps/statistic.svg', url: '/statistic' });\r\n this.apps.push({ name: 'Zfm', img: 'assets/img/apps/tsm.svg', url: '/tsm' });\r\n this.apps.push({ name: 'ArrivalBoard', img: 'assets/img/apps/arrivalBoard.svg', url: '/arrival-board' });\r\n this.apps.push({ name: 'Check', img: 'assets/img/apps/check.svg', url: '/check' });\r\n this.apps.push({ name: 'Tac', img: 'assets/img/apps/tac.svg', url: '/transports-and-contracts' });\r\n this.apps.push({ name: 'Safety', img: 'assets/img/apps/safety.svg', url: '/safety' });\r\n\r\n if (config?.deliveryNotesEnabled) {\r\n this.apps.push({ name: 'DeliveryNotes', img: 'assets/img/apps/deliveryNotes.svg', url: '/delivery-notes' });\r\n }\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Store, select } from '@ngrx/store';\r\nimport { Observable } from 'rxjs';\r\nimport { map, take } from 'rxjs/operators';\r\nimport * as fromShared from 'src/app/shared/state';\r\n\r\n@Component({\r\n selector: 'app-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.scss']\r\n})\r\nexport class FooterComponent implements OnInit {\r\n\r\n version$!: Observable;\r\n\r\n constructor(private store: Store) { }\r\n\r\n ngOnInit(): void {\r\n this.version$ = this.store.pipe(take(1), select(fromShared.getConfiguration), map(config => config!.version));\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'stringArrayIncludes'\r\n})\r\nexport class StringArrayIncludesPipe implements PipeTransform {\r\n\r\n transform(currentEnum: string, checkedValue: unknown): any {\r\n let value = typeof checkedValue === 'string' ? checkedValue : undefined;\r\n return value ? currentEnum.includes(value) : false;\r\n }\r\n}\r\n","export default \"\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\";","export default \"mat-expansion-panel {\\n border-radius: 0;\\n}\\n\\nmat-expansion-panel-header.mat-expanded {\\n background-color: #e8e8ea !important;\\n}\\n\\n.active-menu mat-expansion-panel-header {\\n font-weight: bold;\\n}\\n\\n.active-menu mat-expansion-panel-header:not(.mat-expanded):before {\\n content: \\\"\\\";\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n width: 6px;\\n background-color: #fdc628;\\n}\\n\\n.font-menu {\\n font-size: 15px !important;\\n z-index: 1;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29yZS9jb21wb25lbnRzL3NpZGUtbmF2L3NpZGUtbmF2LXN1Yi1tZW51L3NpZGUtbmF2LXN1Yi1tZW51LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsZ0JBQUE7QUFDRjs7QUFHRTtFQUNFLG9DQUFBO0FBQUo7O0FBS0U7RUFDRSxpQkFBQTtBQUZKOztBQU1JO0VBQ0UsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLFNBQUE7RUFDQSxPQUFBO0VBQ0EsVUFBQTtFQUNBLHlCQUFBO0FBSk47O0FBU0E7RUFDRSwwQkFBQTtFQUNBLFVBQUE7QUFORiIsImZpbGUiOiJzcmMvYXBwL2NvcmUvY29tcG9uZW50cy9zaWRlLW5hdi9zaWRlLW5hdi1zdWItbWVudS9zaWRlLW5hdi1zdWItbWVudS5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIm1hdC1leHBhbnNpb24tcGFuZWwge1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7XHJcbn1cclxuXHJcbm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIHtcclxuICAmLm1hdC1leHBhbmRlZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZThlOGVhICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4uYWN0aXZlLW1lbnUge1xyXG4gIG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIH1cclxuXHJcbiAgbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI6bm90KC5tYXQtZXhwYW5kZWQpIHtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgd2lkdGg6IDZweDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkYzYyODtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5mb250LW1lbnUge1xyXG4gIGZvbnQtc2l6ZTogMTVweCAhaW1wb3J0YW50O1xyXG4gIHotaW5kZXg6IDE7XHJcbn1cclxuIl19 */\";","export default \"div.header {\\n background: #3c434d;\\n color: #fdc628;\\n border-radius: 15px 15px 0 0;\\n font-weight: bold;\\n font-size: 15px;\\n line-height: 1em;\\n text-align: center;\\n padding: 8px 0;\\n position: relative;\\n}\\n\\nul,\\nli {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\nli a {\\n display: block;\\n padding: 8px 8px;\\n font-size: 14px;\\n line-height: 1em;\\n text-align: left;\\n margin-top: 1px;\\n overflow: hidden;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n}\\n\\nli a:focus {\\n text-decoration: none;\\n}\\n\\nli a:hover {\\n cursor: pointer;\\n text-decoration: none;\\n}\\n\\n.menu-item a {\\n color: #80858b;\\n background: #dcdcdb;\\n font-weight: bold;\\n}\\n\\n.menu-item a:hover {\\n color: #80858b;\\n background: #d1d1d1;\\n}\\n\\n.sub-menu-item a {\\n color: #3c434d;\\n background: #fff;\\n text-transform: none;\\n font-weight: bold;\\n padding-left: 24px;\\n border-bottom: 1px solid #dcdcdb;\\n}\\n\\n.sub-menu-item a:hover {\\n color: #3c434d;\\n background: #f5f5f5;\\n}\\n\\n.sub-menu-item.active > a::before {\\n content: \\\"\\\";\\n display: inline-block;\\n width: 8px;\\n height: 8px;\\n margin-left: -17px;\\n margin-right: 12px;\\n margin-top: 3px;\\n padding: 0;\\n border-radius: 4px;\\n background-color: #fdc628;\\n position: absolute;\\n}\\n\\nspan.menu-arrow {\\n display: block;\\n position: absolute;\\n font-size: 10px;\\n top: 10px;\\n right: 8px;\\n}\\n\\n.sub-menu-list {\\n display: none;\\n}\\n\\n.sub-menu-list.active {\\n display: block;\\n}\\n\\nli.menu-item.expanded > a,\\nli.menu-item.active > a {\\n color: #3c434d;\\n background: #fdc628;\\n}\\n\\nli.expanded > a > span {\\n -webkit-transform: rotate(90deg);\\n transform: rotate(90deg);\\n}\\n\\ndiv.wrapper {\\n margin-top: 100px;\\n max-width: 225px;\\n width: 225px;\\n margin-bottom: 10px;\\n}\\n\\n.back-button {\\n position: absolute;\\n left: 10px;\\n top: 9px;\\n}\\n\\n.back-button:hover {\\n cursor: pointer;\\n}\\n\\n.explorer-title {\\n margin-left: 30px;\\n margin-right: 30px;\\n}\\n\\n@media (max-width: 768px) {\\n div.wrapper {\\n display: none;\\n visibility: hidden;\\n height: 0px;\\n width: 0px;\\n }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbGF5b3V0L3BhYXJpLWV4cGxvcmVyL3BhYXJpLWV4cGxvcmVyLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksbUJBQUE7RUFDQSxjQUFBO0VBQ0EsNEJBQUE7RUFDQSxpQkFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsY0FBQTtFQUNBLGtCQUFBO0FBQ0o7O0FBRUE7O0VBRUksZ0JBQUE7RUFDQSxTQUFBO0VBQ0EsVUFBQTtBQUNKOztBQUVBO0VBQ0ksY0FBQTtFQUNBLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLHVCQUFBO0FBQ0o7O0FBRUE7RUFDSSxxQkFBQTtBQUNKOztBQUVBO0VBQ0ksZUFBQTtFQUNBLHFCQUFBO0FBQ0o7O0FBRUE7RUFDSSxjQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQkFBQTtBQUNKOztBQUVBO0VBQ0ksY0FBQTtFQUNBLG1CQUFBO0FBQ0o7O0FBRUE7RUFDSSxjQUFBO0VBQ0EsZ0JBQUE7RUFDQSxvQkFBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQ0FBQTtBQUNKOztBQUVBO0VBQ0ksY0FBQTtFQUNBLG1CQUFBO0FBQ0o7O0FBRUE7RUFDSSxXQUFBO0VBQ0EscUJBQUE7RUFDQSxVQUFBO0VBQ0EsV0FBQTtFQUNBLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxlQUFBO0VBQ0EsVUFBQTtFQUNBLGtCQUFBO0VBQ0EseUJBQUE7RUFDQSxrQkFBQTtBQUNKOztBQUVBO0VBQ0ksY0FBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtFQUNBLFNBQUE7RUFDQSxVQUFBO0FBQ0o7O0FBRUE7RUFDSSxhQUFBO0FBQ0o7O0FBRUE7RUFDSSxjQUFBO0FBQ0o7O0FBRUE7O0VBRUksY0FBQTtFQUNBLG1CQUFBO0FBQ0o7O0FBRUE7RUFDSSxnQ0FBQTtVQUFBLHdCQUFBO0FBQ0o7O0FBRUE7RUFDSSxpQkFBQTtFQUNBLGdCQUFBO0VBQ0EsWUFBQTtFQUNBLG1CQUFBO0FBQ0o7O0FBRUE7RUFDSSxrQkFBQTtFQUNBLFVBQUE7RUFDQSxRQUFBO0FBQ0o7O0FBRUE7RUFDSSxlQUFBO0FBQ0o7O0FBRUE7RUFDSSxpQkFBQTtFQUNBLGtCQUFBO0FBQ0o7O0FBRUE7RUFDSTtJQUNJLGFBQUE7SUFDQSxrQkFBQTtJQUNBLFdBQUE7SUFDQSxVQUFBO0VBQ047QUFDRiIsImZpbGUiOiJzcmMvYXBwL2xheW91dC9wYWFyaS1leHBsb3Jlci9wYWFyaS1leHBsb3Jlci5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbImRpdi5oZWFkZXIge1xyXG4gICAgYmFja2dyb3VuZDogIzNjNDM0ZDtcclxuICAgIGNvbG9yOiAjZmRjNjI4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTVweCAxNXB4IDAgMDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDhweCAwO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG51bCxcclxubGkge1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbmxpIGEge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwYWRkaW5nOiA4cHggOHB4O1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBtYXJnaW4tdG9wOiAxcHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG59XHJcblxyXG5saSBhOmZvY3VzIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG5cclxubGkgYTpob3ZlciB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHJcbi5tZW51LWl0ZW0gYSB7XHJcbiAgICBjb2xvcjogIzgwODU4YjtcclxuICAgIGJhY2tncm91bmQ6ICNkY2RjZGI7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLm1lbnUtaXRlbSBhOmhvdmVyIHtcclxuICAgIGNvbG9yOiAjODA4NThiO1xyXG4gICAgYmFja2dyb3VuZDogI2QxZDFkMTtcclxufVxyXG5cclxuLnN1Yi1tZW51LWl0ZW0gYSB7XHJcbiAgICBjb2xvcjogIzNjNDM0ZDtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkY2RjZGI7XHJcbn1cclxuXHJcbi5zdWItbWVudS1pdGVtIGE6aG92ZXIge1xyXG4gICAgY29sb3I6ICMzYzQzNGQ7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZjVmNWY1O1xyXG59XHJcblxyXG4uc3ViLW1lbnUtaXRlbS5hY3RpdmUgPiBhOjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHdpZHRoOiA4cHg7XHJcbiAgICBoZWlnaHQ6IDhweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAtMTdweDtcclxuICAgIG1hcmdpbi1yaWdodDogMTJweDtcclxuICAgIG1hcmdpbi10b3A6IDNweDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRjNjI4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG59XHJcblxyXG5zcGFuLm1lbnUtYXJyb3cge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBmb250LXNpemU6IDEwcHg7XHJcbiAgICB0b3A6IDEwcHg7XHJcbiAgICByaWdodDogOHB4O1xyXG59XHJcblxyXG4uc3ViLW1lbnUtbGlzdCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4uc3ViLW1lbnUtbGlzdC5hY3RpdmUge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbmxpLm1lbnUtaXRlbS5leHBhbmRlZCA+IGEsXHJcbmxpLm1lbnUtaXRlbS5hY3RpdmUgPiBhIHtcclxuICAgIGNvbG9yOiAjM2M0MzRkO1xyXG4gICAgYmFja2dyb3VuZDogI2ZkYzYyODtcclxufVxyXG5cclxubGkuZXhwYW5kZWQgPiBhID4gc3BhbiB7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcbn1cclxuXHJcbmRpdi53cmFwcGVyIHtcclxuICAgIG1hcmdpbi10b3A6IDEwMHB4O1xyXG4gICAgbWF4LXdpZHRoOiAyMjVweDtcclxuICAgIHdpZHRoOiAyMjVweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbi5iYWNrLWJ1dHRvbiB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAxMHB4O1xyXG4gICAgdG9wOiA5cHg7XHJcbn1cclxuXHJcbi5iYWNrLWJ1dHRvbjpob3ZlciB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5leHBsb3Jlci10aXRsZSB7XHJcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcclxuICAgIG1hcmdpbi1yaWdodDogMzBweDtcclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcbiAgICBkaXYud3JhcHBlciB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgaGVpZ2h0OiAwcHg7XHJcbiAgICAgICAgd2lkdGg6IDBweDtcclxuICAgIH1cclxufVxyXG4iXX0= */\";","export default \".header {\\n position: fixed;\\n top: 0;\\n left: 0;\\n right: 0;\\n z-index: 2;\\n -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.73);\\n box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.73);\\n}\\n\\n.header-items {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n width: 100%;\\n -webkit-box-pack: justify;\\n -ms-flex-pack: justify;\\n justify-content: space-between;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n}\\n\\n.top-nav-container {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29yZS9jb21wb25lbnRzL3RvcC1uYXYvdG9wLW5hdi5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGVBQUE7RUFDQSxNQUFBO0VBQ0EsT0FBQTtFQUNBLFFBQUE7RUFDQSxVQUFBO0VBQ0Esa0RBQUE7VUFBQSwwQ0FBQTtBQUNGOztBQUVBO0VBQ0Usb0JBQUE7RUFBQSxvQkFBQTtFQUFBLGFBQUE7RUFDQSxXQUFBO0VBQ0EseUJBQUE7TUFBQSxzQkFBQTtVQUFBLDhCQUFBO0VBQ0EseUJBQUE7TUFBQSxzQkFBQTtVQUFBLG1CQUFBO0FBQ0Y7O0FBRUE7RUFDRSxvQkFBQTtFQUFBLG9CQUFBO0VBQUEsYUFBQTtFQUNBLHlCQUFBO01BQUEsc0JBQUE7VUFBQSxtQkFBQTtBQUNGIiwiZmlsZSI6InNyYy9hcHAvY29yZS9jb21wb25lbnRzL3RvcC1uYXYvdG9wLW5hdi5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5oZWFkZXIge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICB6LWluZGV4OiAyO1xyXG4gIGJveC1zaGFkb3c6IDAgMCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjczKTtcclxufVxyXG5cclxuLmhlYWRlci1pdGVtcyB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICB3aWR0aDogMTAwJTtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLnRvcC1uYXYtY29udGFpbmVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuIl19 */\";","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2xheW91dC9tb2RhbHMveWVzLW5vLWNhbmNlbC1tb2RhbC95ZXMtbm8tY2FuY2VsLW1vZGFsLmNvbXBvbmVudC5zY3NzIn0= */\";","import {Directive, HostListener} from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[click-stop-propagation]\"\r\n})\r\nexport class ClickStopPropagation\r\n{\r\n @HostListener(\"click\", [\"$event\"])\r\n public onClick(event: any): void\r\n {\r\n event.stopPropagation();\r\n }\r\n}","export default \"
\\r\\n

{{ name | translate }}

\\r\\n
\\r\\n\";","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ImageService {\r\n\r\nconstructor() { }\r\n\r\n removeImage64Info(imageBase: string ): string {\r\n return imageBase.split(',')[1];\r\n }\r\n\r\n}\r\n","export default \"mat-nav-list {\\n padding-top: 0;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29yZS9jb21wb25lbnRzL3NpZGUtbmF2L3NpZGUtbmF2LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsY0FBQTtBQUNGIiwiZmlsZSI6InNyYy9hcHAvY29yZS9jb21wb25lbnRzL3NpZGUtbmF2L3NpZGUtbmF2LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsibWF0LW5hdi1saXN0IHtcclxuICBwYWRkaW5nLXRvcDogMDtcclxufVxyXG4iXX0= */\";","export default \"div.wrapper {\\n position: fixed;\\n z-index: 99999;\\n height: 100px;\\n width: 100%;\\n bottom: 0;\\n background-color: rgba(60, 67, 77, 0.9);\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n}\\n\\np {\\n color: white;\\n}\\n\\ndiv.text {\\n margin: 20px 50px;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n -ms-flex-direction: column;\\n flex-direction: column;\\n -webkit-box-pack: center;\\n -ms-flex-pack: center;\\n justify-content: center;\\n}\\n\\ndiv.button {\\n -webkit-box-flex: 1;\\n -ms-flex-positive: 1;\\n flex-grow: 1;\\n width: 140px;\\n max-width: 140px;\\n margin: 20px;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n -ms-flex-direction: column;\\n flex-direction: column;\\n -webkit-box-pack: center;\\n -ms-flex-pack: center;\\n justify-content: center;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbGF5b3V0L3BhYXJpLWNvb2tpZS1jb25zZW50L3BhYXJpLWNvb2tpZS1jb25zZW50LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksZUFBQTtFQUNBLGNBQUE7RUFDQSxhQUFBO0VBQ0EsV0FBQTtFQUNBLFNBQUE7RUFDQSx1Q0FBQTtFQUNBLG9CQUFBO0VBQUEsb0JBQUE7RUFBQSxhQUFBO0FBQ0o7O0FBRUE7RUFDSSxZQUFBO0FBQ0o7O0FBRUE7RUFDSSxpQkFBQTtFQUNBLG9CQUFBO0VBQUEsb0JBQUE7RUFBQSxhQUFBO0VBQ0EsNEJBQUE7RUFBQSw2QkFBQTtNQUFBLDBCQUFBO1VBQUEsc0JBQUE7RUFDQSx3QkFBQTtNQUFBLHFCQUFBO1VBQUEsdUJBQUE7QUFDSjs7QUFFQTtFQUNJLG1CQUFBO01BQUEsb0JBQUE7VUFBQSxZQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQUFBO0VBQ0EsWUFBQTtFQUNBLG9CQUFBO0VBQUEsb0JBQUE7RUFBQSxhQUFBO0VBQ0EsNEJBQUE7RUFBQSw2QkFBQTtNQUFBLDBCQUFBO1VBQUEsc0JBQUE7RUFDQSx3QkFBQTtNQUFBLHFCQUFBO1VBQUEsdUJBQUE7QUFDSiIsImZpbGUiOiJzcmMvYXBwL2xheW91dC9wYWFyaS1jb29raWUtY29uc2VudC9wYWFyaS1jb29raWUtY29uc2VudC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbImRpdi53cmFwcGVyIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHotaW5kZXg6IDk5OTk5O1xyXG4gICAgaGVpZ2h0OiAxMDBweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg2MCwgNjcsIDc3LCAwLjkpO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxufVxyXG5cclxucCB7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbn1cclxuXHJcbmRpdi50ZXh0IHtcclxuICAgIG1hcmdpbjogMjBweCA1MHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuZGl2LmJ1dHRvbiB7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICB3aWR0aDogMTQwcHg7XHJcbiAgICBtYXgtd2lkdGg6IDE0MHB4O1xyXG4gICAgbWFyZ2luOiAyMHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufSJdfQ== */\";","export default \"input {\\n width: calc(100% - 50px);\\n padding: 8px 15px;\\n background-color: #dcdcdb;\\n border: none;\\n border-radius: 15px 0px 0px 15px;\\n height: 39px;\\n display: inline;\\n}\\n\\nlabel {\\n position: relative;\\n margin-bottom: 0px;\\n margin-bottom: -40px;\\n}\\n\\n.reset-button {\\n width: 50px;\\n float: right;\\n border-radius: 0 15px 15px 0;\\n height: 39px;\\n}\\n\\n.bottom-space {\\n margin-bottom: 25px;\\n}\\n\\ni.label-icon {\\n margin-right: 3px;\\n}\\n\\n.imageFrame {\\n border: 3px #dcdcdb solid;\\n border-radius: 15px;\\n border-top: none;\\n float: none;\\n}\\n\\n.image {\\n max-width: 300px;\\n max-height: 300px;\\n margin: 2px auto;\\n display: block;\\n}\\n\\n@media (min-width: 768px) {\\n label {\\n top: 24px;\\n left: 15px;\\n }\\n\\n input {\\n padding-left: 265px;\\n }\\n\\n .form-group {\\n line-height: 10px;\\n margin-bottom: 0px;\\n }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbGF5b3V0L2lucHV0cy9wYWFyaS1pbnB1dC1pbWFnZS9wYWFyaS1pbnB1dC1pbWFnZS5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLHdCQUFBO0VBQ0EsaUJBQUE7RUFDQSx5QkFBQTtFQUNBLFlBQUE7RUFDQSxnQ0FBQTtFQUNBLFlBQUE7RUFDQSxlQUFBO0FBQ0Y7O0FBRUE7RUFDRSxrQkFBQTtFQUNBLGtCQUFBO0VBQ0Esb0JBQUE7QUFDRjs7QUFFQTtFQUNFLFdBQUE7RUFDQSxZQUFBO0VBQ0EsNEJBQUE7RUFDQSxZQUFBO0FBQ0Y7O0FBRUE7RUFDRSxtQkFBQTtBQUNGOztBQUVBO0VBQ0UsaUJBQUE7QUFDRjs7QUFFQTtFQUNFLHlCQUFBO0VBQ0EsbUJBQUE7RUFDQSxnQkFBQTtFQUNBLFdBQUE7QUFDRjs7QUFFQTtFQUNFLGdCQUFBO0VBQ0EsaUJBQUE7RUFDQSxnQkFBQTtFQUNBLGNBQUE7QUFDRjs7QUFFQTtFQUNFO0lBQ0UsU0FBQTtJQUNBLFVBQUE7RUFDRjs7RUFFQTtJQUNFLG1CQUFBO0VBQ0Y7O0VBRUE7SUFDRSxpQkFBQTtJQUNBLGtCQUFBO0VBQ0Y7QUFDRiIsImZpbGUiOiJzcmMvYXBwL2xheW91dC9pbnB1dHMvcGFhcmktaW5wdXQtaW1hZ2UvcGFhcmktaW5wdXQtaW1hZ2UuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJpbnB1dCB7XHJcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDUwcHgpO1xyXG4gIHBhZGRpbmc6IDhweCAxNXB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNkY2RjZGI7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIGJvcmRlci1yYWRpdXM6IDE1cHggMHB4IDBweCAxNXB4O1xyXG4gIGhlaWdodDogMzlweDtcclxuICBkaXNwbGF5OiBpbmxpbmU7XHJcbn1cclxuXHJcbmxhYmVsIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IC00MHB4O1xyXG59XHJcblxyXG4ucmVzZXQtYnV0dG9uIHtcclxuICB3aWR0aDogNTBweDtcclxuICBmbG9hdDogcmlnaHQ7XHJcbiAgYm9yZGVyLXJhZGl1czogMCAxNXB4IDE1cHggMDtcclxuICBoZWlnaHQ6IDM5cHg7XHJcbn1cclxuXHJcbi5ib3R0b20tc3BhY2Uge1xyXG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbn1cclxuXHJcbmkubGFiZWwtaWNvbiB7XHJcbiAgbWFyZ2luLXJpZ2h0OiAzcHg7XHJcbn1cclxuXHJcbi5pbWFnZUZyYW1lIHtcclxuICBib3JkZXI6IDNweCAjZGNkY2RiIHNvbGlkO1xyXG4gIGJvcmRlci1yYWRpdXM6IDE1cHg7XHJcbiAgYm9yZGVyLXRvcDogbm9uZTtcclxuICBmbG9hdDogbm9uZTtcclxufVxyXG5cclxuLmltYWdlIHtcclxuICBtYXgtd2lkdGg6IDMwMHB4O1xyXG4gIG1heC1oZWlnaHQ6IDMwMHB4O1xyXG4gIG1hcmdpbjogMnB4IGF1dG87XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gIGxhYmVsIHtcclxuICAgIHRvcDogMjRweDtcclxuICAgIGxlZnQ6IDE1cHg7XHJcbiAgfVxyXG5cclxuICBpbnB1dCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDI2NXB4O1xyXG4gIH1cclxuXHJcbiAgLmZvcm0tZ3JvdXAge1xyXG4gICAgbGluZS1oZWlnaHQ6IDEwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbiAgfVxyXG59XHJcbiJdfQ== */\";","export default \":host {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n -ms-flex-direction: column;\\n flex-direction: column;\\n width: 100%;\\n height: 100%;\\n}\\n\\n:host div.content {\\n -webkit-box-flex: 1;\\n -ms-flex: 1 0 auto;\\n flex: 1 0 auto;\\n min-height: 300px;\\n}\\n\\nmat-sidenav-container {\\n position: absolute;\\n top: 64px;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n}\\n\\nmat-sidenav {\\n position: fixed;\\n top: 64px;\\n width: 250px;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n -webkit-box-pack: center;\\n -ms-flex-pack: center;\\n justify-content: center;\\n}\\n\\n.wrapper {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n -ms-flex-direction: column;\\n flex-direction: column;\\n background-color: #e8e8ea;\\n height: 100%;\\n}\\n\\n.content {\\n -webkit-box-flex: 1;\\n -ms-flex: 1 0 auto;\\n flex: 1 0 auto;\\n padding: 20px;\\n width: 100%;\\n -ms-flex-positive: 1;\\n flex-grow: 1;\\n}\\n\\n.content-card {\\n height: 100%;\\n}\\n\\n@media screen and (max-width: 599px) {\\n mat-sidenav-container,\\nmat-sidenav {\\n top: 56px;\\n }\\n\\n .content {\\n padding: 0;\\n }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXBwLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0Usb0JBQUE7RUFBQSxvQkFBQTtFQUFBLGFBQUE7RUFDQSw0QkFBQTtFQUFBLDZCQUFBO01BQUEsMEJBQUE7VUFBQSxzQkFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0FBQ0Y7O0FBRUE7RUFDRSxtQkFBQTtNQUFBLGtCQUFBO1VBQUEsY0FBQTtFQUNBLGlCQUFBO0FBQ0Y7O0FBRUE7RUFDRSxrQkFBQTtFQUNBLFNBQUE7RUFDQSxTQUFBO0VBQ0EsT0FBQTtFQUNBLFFBQUE7QUFDRjs7QUFFQTtFQUNFLGVBQUE7RUFDQSxTQUFBO0VBQ0EsWUFBQTtFQUNBLG9CQUFBO0VBQUEsb0JBQUE7RUFBQSxhQUFBO0VBQ0EseUJBQUE7TUFBQSxzQkFBQTtVQUFBLG1CQUFBO0VBQ0Esd0JBQUE7TUFBQSxxQkFBQTtVQUFBLHVCQUFBO0FBQ0Y7O0FBRUE7RUFDRSxvQkFBQTtFQUFBLG9CQUFBO0VBQUEsYUFBQTtFQUNBLDRCQUFBO0VBQUEsNkJBQUE7TUFBQSwwQkFBQTtVQUFBLHNCQUFBO0VBQ0EseUJBQUE7RUFDQSxZQUFBO0FBQ0Y7O0FBRUE7RUFDRSxtQkFBQTtNQUFBLGtCQUFBO1VBQUEsY0FBQTtFQUNBLGFBQUE7RUFDQSxXQUFBO0VBQ0Esb0JBQUE7TUFBQSxZQUFBO0FBQ0Y7O0FBRUE7RUFDRSxZQUFBO0FBQ0Y7O0FBRUE7RUFFRTs7SUFFRSxTQUFBO0VBQUY7O0VBR0E7SUFDRSxVQUFBO0VBQUY7QUFDRiIsImZpbGUiOiJzcmMvYXBwL2FwcC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG46aG9zdCBkaXYuY29udGVudCB7XHJcbiAgZmxleDogMSAwIGF1dG87XHJcbiAgbWluLWhlaWdodDogMzAwcHg7XHJcbn1cclxuXHJcbm1hdC1zaWRlbmF2LWNvbnRhaW5lciB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogNjRweDtcclxuICBib3R0b206IDA7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxufVxyXG5cclxubWF0LXNpZGVuYXYge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IDY0cHg7XHJcbiAgd2lkdGg6IDI1MHB4O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLndyYXBwZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZThlOGVhO1xyXG4gIGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuLmNvbnRlbnQge1xyXG4gIGZsZXg6IDEgMCBhdXRvO1xyXG4gIHBhZGRpbmc6IDIwcHg7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZmxleC1ncm93OiAxO1xyXG59XHJcblxyXG4uY29udGVudC1jYXJkIHtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XHJcblxyXG4gIG1hdC1zaWRlbmF2LWNvbnRhaW5lcixcclxuICBtYXQtc2lkZW5hdiB7XHJcbiAgICB0b3A6IDU2cHg7XHJcbiAgfVxyXG5cclxuICAuY29udGVudCB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gIH1cclxufVxyXG4iXX0= */\";","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-side-nav-menu-name',\r\n templateUrl: './side-nav-menu-name.component.html',\r\n styleUrls: ['./side-nav-menu-name.component.scss']\r\n})\r\nexport class SideNavMenuNameComponent {\r\n\r\n @Input() name!: string;\r\n}\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic()\r\n .bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n","export default \"
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\";","import { Component, Input } from '@angular/core';\r\nimport { AlertModel } from \"../shared/Alert.model\";\r\n\r\n@Component({\r\n selector: 'alert-box',\r\n templateUrl: './alert.box.component.html',\r\n styleUrls: ['./alert.box.component.scss']\r\n})\r\nexport class AlertBoxComponent {\r\n @Input() alerts!: AlertModel[];\r\n @Input() ignoreGrid?: boolean;\r\n\r\n getAlertClasses(type: string) {\r\n if (type === \"success\") {\r\n return \"alert-success\";\r\n } else if (type === \"warning\") {\r\n return \"alert-warning\";\r\n } else {\r\n return \"alert-danger\";\r\n }\r\n }\r\n getwrapperClasses() {\r\n if (this.ignoreGrid) {\r\n return \"\"\r\n }\r\n return \"col-xs-12\";\r\n }\r\n}\r\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"zn8P\";","export enum ModuleTypes {\r\n ADMIN,\r\n APPS,\r\n CONTROL,\r\n LOCATIONADMIN,\r\n USERSETTINGS,\r\n TSM,\r\n ARRIVAL,\r\n STATISTIC,\r\n TAC,\r\n HELP\r\n}\r\n"],"sourceRoot":"webpack:///"}