{"version":3,"sources":["webpack:///$_lazy_route_resource lazy namespace object","webpack:///node_modules/moment/locale sync ^\\.\\/.*$","webpack:///src/app/app-routing.module.ts","webpack:///src/app/app.component.html","webpack:///src/app/app.component.ts","webpack:///src/app/app.module.ts","webpack:///src/app/core/_base/crud/index.ts","webpack:///src/app/core/_base/crud/models/_base.datasource.ts","webpack:///src/app/core/_base/crud/models/_base.model.ts","webpack:///src/app/core/_base/crud/models/http-extentsions-model.ts","webpack:///src/app/core/_base/crud/models/query-models/query-params.model.ts","webpack:///src/app/core/_base/crud/models/query-models/query-results.model.ts","webpack:///src/app/core/_base/crud/utils/http-utils.service.ts","webpack:///src/app/core/_base/crud/utils/intercept.service.ts","webpack:///src/app/core/_base/crud/utils/layout-utils.service.ts","webpack:///src/app/core/_base/crud/utils/regex-utils.ts","webpack:///src/app/core/_base/crud/utils/types-utils.service.ts","webpack:///src/app/core/_base/layout/directives/content-animate.directive.ts","webpack:///src/app/core/_base/layout/directives/header.directive.ts","webpack:///src/app/core/_base/layout/directives/menu.directive.ts","webpack:///src/app/core/_base/layout/directives/offcanvas.directive.ts","webpack:///src/app/core/_base/layout/directives/scroll-top.directive.ts","webpack:///src/app/core/_base/layout/directives/sparkline-chart.directive.ts","webpack:///src/app/core/_base/layout/directives/sticky.directive.ts","webpack:///src/app/core/_base/layout/directives/tab-click-event.directive.ts","webpack:///src/app/core/_base/layout/directives/toggle.directive.ts","webpack:///src/app/core/_base/layout/index.ts","webpack:///src/app/core/_base/layout/models/datatable-item.model.ts","webpack:///src/app/core/_base/layout/models/external-code-example.ts","webpack:///src/app/core/_base/layout/pipes/first-letter.pipe.ts","webpack:///src/app/core/_base/layout/pipes/get-object.pipe.ts","webpack:///src/app/core/_base/layout/pipes/join.pipe.ts","webpack:///src/app/core/_base/layout/pipes/safe.pipe.ts","webpack:///src/app/core/_base/layout/pipes/time-elapsed.pipe.ts","webpack:///src/app/core/_base/layout/server/fake-api/fake-api.service.ts","webpack:///src/app/core/_base/layout/server/fake-api/fake-db/cars.ts","webpack:///src/app/core/_base/layout/services/datatable.service.ts","webpack:///src/app/core/_base/layout/services/kt-dialog.service.ts","webpack:///src/app/core/_base/layout/services/layout-config.service.ts","webpack:///src/app/core/_base/layout/services/layout-ref.service.ts","webpack:///src/app/core/_base/layout/services/menu-aside.service.ts","webpack:///src/app/core/_base/layout/services/menu-config.service.ts","webpack:///src/app/core/_base/layout/services/menu-horizontal.service.ts","webpack:///src/app/core/_base/layout/services/page-config.service.ts","webpack:///src/app/core/_base/layout/services/splash-screen.service.ts","webpack:///src/app/core/_base/layout/services/subheader.service.ts","webpack:///src/app/core/_base/layout/services/translation.service.ts","webpack:///src/app/core/_config/i18n/ch.ts","webpack:///src/app/core/_config/i18n/de.ts","webpack:///src/app/core/_config/i18n/en.ts","webpack:///src/app/core/_config/i18n/es.ts","webpack:///src/app/core/_config/i18n/fr.ts","webpack:///src/app/core/_config/i18n/jp.ts","webpack:///src/app/core/_config/layout.config.ts","webpack:///src/app/core/_config/menu.config.ts","webpack:///src/app/core/_config/page.config.ts","webpack:///src/app/core/auth/_actions/auth.actions.ts","webpack:///src/app/core/auth/_actions/permission.actions.ts","webpack:///src/app/core/auth/_actions/role.actions.ts","webpack:///src/app/core/auth/_actions/user.actions.ts","webpack:///src/app/core/auth/_data-sources/roles.datasource.ts","webpack:///src/app/core/auth/_data-sources/users.datasource.ts","webpack:///src/app/core/auth/_effects/auth.effects.ts","webpack:///src/app/core/auth/_effects/permission.effects.ts","webpack:///src/app/core/auth/_effects/role.effects.ts","webpack:///src/app/core/auth/_effects/user.effects.ts","webpack:///src/app/core/auth/_guards/auth.guard.ts","webpack:///src/app/core/auth/_guards/child-module.guard.ts","webpack:///src/app/core/auth/_guards/module.guard.ts","webpack:///src/app/core/auth/_models/address.model.ts","webpack:///src/app/core/auth/_models/permission.model.ts","webpack:///src/app/core/auth/_models/role.model.ts","webpack:///src/app/core/auth/_models/social-networks.model.ts","webpack:///src/app/core/auth/_models/user.model.ts","webpack:///src/app/core/auth/_reducers/auth.reducers.ts","webpack:///src/app/core/auth/_reducers/permission.reducers.ts","webpack:///src/app/core/auth/_reducers/role.reducers.ts","webpack:///src/app/core/auth/_reducers/user.reducers.ts","webpack:///src/app/core/auth/_selectors/auth.selectors.ts","webpack:///src/app/core/auth/_selectors/permission.selectors.ts","webpack:///src/app/core/auth/_selectors/role.selectors.ts","webpack:///src/app/core/auth/_selectors/user.selectors.ts","webpack:///src/app/core/auth/_server/auth.data-context.ts","webpack:///src/app/core/auth/_server/permissions.table.ts","webpack:///src/app/core/auth/_server/roles.table.ts","webpack:///src/app/core/auth/_server/users.table.ts","webpack:///src/app/core/auth/_services/auth.service.ts","webpack:///src/app/core/auth/_services/index.ts","webpack:///src/app/core/auth/auth-notice/auth-notice.service.ts","webpack:///src/app/core/auth/index.ts","webpack:///src/app/core/core.module.ts","webpack:///src/app/core/models/coordinate.mode.ts","webpack:///src/app/core/models/customer.model.ts","webpack:///src/app/core/models/datasource-options.model.ts","webpack:///src/app/core/models/drone-model.model.ts","webpack:///src/app/core/models/drone-payload.model.ts","webpack:///src/app/core/models/drone-pilot.model.ts","webpack:///src/app/core/models/drone-route-model.ts","webpack:///src/app/core/models/drone.model.ts","webpack:///src/app/core/models/field.model.ts","webpack:///src/app/core/models/map-task.model.ts","webpack:///src/app/core/models/material.model.ts","webpack:///src/app/core/models/pilot-type.model.ts","webpack:///src/app/core/models/protocol.model.ts","webpack:///src/app/core/models/task.model.ts","webpack:///src/app/core/services/api.service.ts","webpack:///src/app/core/services/auth.service.ts","webpack:///src/app/core/services/customers.service.ts","webpack:///src/app/core/services/drone-pilots.service.ts","webpack:///src/app/core/services/drones.service.ts","webpack:///src/app/core/services/fields.service.ts","webpack:///src/app/core/services/materials.service.ts","webpack:///src/app/core/services/pilot-tasks.service.ts","webpack:///src/app/core/services/protocols.service.ts","webpack:///src/app/core/services/tasks.service.ts","webpack:///src/app/core/services/users.service.ts","webpack:///src/app/core/store/actions/auth.actions.ts","webpack:///src/app/core/store/actions/customer.actions.ts","webpack:///src/app/core/store/actions/drone-pilots.actions.ts","webpack:///src/app/core/store/actions/drones.actions.ts","webpack:///src/app/core/store/actions/field.actions.ts","webpack:///src/app/core/store/actions/material.actions.ts","webpack:///src/app/core/store/actions/pilot-tasks.actions.ts","webpack:///src/app/core/store/actions/protocol.actions.ts","webpack:///src/app/core/store/actions/task.actions.ts","webpack:///src/app/core/store/actions/user.actions.ts","webpack:///src/app/core/store/effects/auth.effects.ts","webpack:///src/app/core/store/effects/customer.effects.ts","webpack:///src/app/core/store/effects/drone-pilots.effects.ts","webpack:///src/app/core/store/effects/drones.effects.ts","webpack:///src/app/core/store/effects/field.effects.ts","webpack:///src/app/core/store/effects/material.effects.ts","webpack:///src/app/core/store/effects/pilot-tasks.effects.ts","webpack:///src/app/core/store/effects/protocol.effects.ts","webpack:///src/app/core/store/effects/task.effects.ts","webpack:///src/app/core/store/effects/user.effects.ts","webpack:///src/app/core/store/reducers/auth.reducer.ts","webpack:///src/app/core/store/reducers/customer.reducer.ts","webpack:///src/app/core/store/reducers/drone-pilots.reducer.ts","webpack:///src/app/core/store/reducers/drones.reducer.ts","webpack:///src/app/core/store/reducers/field.reducer.ts","webpack:///src/app/core/store/reducers/material.reducer.ts","webpack:///src/app/core/store/reducers/pilot-tasks.reducer.ts","webpack:///src/app/core/store/reducers/protocol.reducer.ts","webpack:///src/app/core/store/reducers/task.reducer.ts","webpack:///src/app/core/store/reducers/user.reducer.ts","webpack:///src/app/core/store/selectors/auth.selectors.ts","webpack:///src/app/core/store/selectors/customer.selectors.ts","webpack:///src/app/core/store/selectors/drone-pilots.selectors.ts","webpack:///src/app/core/store/selectors/drones.selectors.ts","webpack:///src/app/core/store/selectors/field.selectors.ts","webpack:///src/app/core/store/selectors/material.selectors.ts","webpack:///src/app/core/store/selectors/protocol.selectors.ts","webpack:///src/app/core/store/selectors/task.selectors.ts","webpack:///src/app/core/store/selectors/user.selectors.ts","webpack:///src/app/core/utils/mat-core.module.ts","webpack:///src/app/views/modules/entity-select/entity-select.component.html","webpack:///src/app/views/modules/entity-select/entity-select.component.ts","webpack:///src/app/views/modules/entity-select/entity-select.module.ts","webpack:///src/app/views/modules/entity-select/entity-select.service.ts","webpack:///src/app/views/pages/auth/auth-notice/auth-notice.component.html","webpack:///src/app/views/pages/auth/auth-notice/auth-notice.component.ts","webpack:///src/app/views/pages/auth/auth.component.html","webpack:///src/app/views/pages/auth/auth.component.ts","webpack:///src/app/views/pages/auth/auth.module.ts","webpack:///src/app/views/pages/auth/forgot-password/forgot-password.component.html","webpack:///src/app/views/pages/auth/forgot-password/forgot-password.component.ts","webpack:///src/app/views/pages/auth/login/login.component.html","webpack:///src/app/views/pages/auth/login/login.component.ts","webpack:///src/app/views/pages/auth/register/confirm-password.validator.ts","webpack:///src/app/views/pages/auth/register/register.component.html","webpack:///src/app/views/pages/auth/register/register.component.ts","webpack:///src/app/views/pages/customers/customers-list/customers-list.component.html","webpack:///src/app/views/pages/customers/customers-list/customers-list.component.ts","webpack:///src/app/views/pages/customers/customers-list/customers-table/customers-table.component.html","webpack:///src/app/views/pages/customers/customers-list/customers-table/customers-table.component.ts","webpack:///src/app/views/pages/customers/customers-routing.module.ts","webpack:///src/app/views/pages/customers/customers.component.html","webpack:///src/app/views/pages/customers/customers.component.ts","webpack:///src/app/views/pages/customers/customers.module.ts","webpack:///src/app/views/pages/customers/edit-customer/edit-customer.component.html","webpack:///src/app/views/pages/customers/edit-customer/edit-customer.component.ts","webpack:///src/app/views/pages/drone-pilots/drone-pilots-list/drone-pilots-list.component.html","webpack:///src/app/views/pages/drone-pilots/drone-pilots-list/drone-pilots-list.component.ts","webpack:///src/app/views/pages/drone-pilots/drone-pilots-list/drone-pilots-table/drone-pilots-table.component.html","webpack:///src/app/views/pages/drone-pilots/drone-pilots-list/drone-pilots-table/drone-pilots-table.component.ts","webpack:///src/app/views/pages/drone-pilots/drone-pilots.component.html","webpack:///src/app/views/pages/drone-pilots/drone-pilots.component.ts","webpack:///src/app/views/pages/drone-pilots/drone-pilots.module.ts","webpack:///src/app/views/pages/drone-pilots/edit-drone-pilot/edit-drone-pilot.component.html","webpack:///src/app/views/pages/drone-pilots/edit-drone-pilot/edit-drone-pilot.component.ts","webpack:///src/app/views/pages/drones/drones-list/drones-list.component.html","webpack:///src/app/views/pages/drones/drones-list/drones-list.component.ts","webpack:///src/app/views/pages/drones/drones-list/drones-table/drones-table.component.html","webpack:///src/app/views/pages/drones/drones-list/drones-table/drones-table.component.ts","webpack:///src/app/views/pages/drones/drones.component.html","webpack:///src/app/views/pages/drones/drones.component.ts","webpack:///src/app/views/pages/drones/drones.module.ts","webpack:///src/app/views/pages/drones/edit-drone/edit-drone.component.html","webpack:///src/app/views/pages/drones/edit-drone/edit-drone.component.ts","webpack:///src/app/views/pages/fields/edit-field/coordinates-list/coordinates-list.component.html","webpack:///src/app/views/pages/fields/edit-field/coordinates-list/coordinates-list.component.ts","webpack:///src/app/views/pages/fields/edit-field/edit-field.component.html","webpack:///src/app/views/pages/fields/edit-field/edit-field.component.ts","webpack:///src/app/views/pages/fields/field-map/field-map.component.html","webpack:///src/app/views/pages/fields/field-map/field-map.component.ts","webpack:///src/app/views/pages/fields/fields-list/fields-list.component.html","webpack:///src/app/views/pages/fields/fields-list/fields-list.component.ts","webpack:///src/app/views/pages/fields/fields-list/fields-table/fields-table.component.html","webpack:///src/app/views/pages/fields/fields-list/fields-table/fields-table.component.ts","webpack:///src/app/views/pages/fields/fields-routing.module.ts","webpack:///src/app/views/pages/fields/fields.component.html","webpack:///src/app/views/pages/fields/fields.component.ts","webpack:///src/app/views/pages/fields/fields.module.ts","webpack:///src/app/views/pages/fields/import-fields/import-fields.component.html","webpack:///src/app/views/pages/fields/import-fields/import-fields.component.ts","webpack:///src/app/views/pages/materials/edit-materials/edit-materials.component.html","webpack:///src/app/views/pages/materials/edit-materials/edit-materials.component.ts","webpack:///src/app/views/pages/materials/materials-list/materials-list.component.html","webpack:///src/app/views/pages/materials/materials-list/materials-list.component.ts","webpack:///src/app/views/pages/materials/materials-list/materials-table/materials-table.component.html","webpack:///src/app/views/pages/materials/materials-list/materials-table/materials-table.component.ts","webpack:///src/app/views/pages/materials/materials.component.html","webpack:///src/app/views/pages/materials/materials.component.ts","webpack:///src/app/views/pages/materials/materials.module.ts","webpack:///src/app/views/pages/pages.module.ts","webpack:///src/app/views/pages/protocols/edit-protocol/edit-protocol.component.html","webpack:///src/app/views/pages/protocols/edit-protocol/edit-protocol.component.ts","webpack:///src/app/views/pages/protocols/protocols-list/protocols-list.component.html","webpack:///src/app/views/pages/protocols/protocols-list/protocols-list.component.ts","webpack:///src/app/views/pages/protocols/protocols-list/protocols-table/protocols-table.component.html","webpack:///src/app/views/pages/protocols/protocols-list/protocols-table/protocols-table.component.ts","webpack:///src/app/views/pages/protocols/protocols.component.html","webpack:///src/app/views/pages/protocols/protocols.component.ts","webpack:///src/app/views/pages/protocols/protocols.module.ts","webpack:///src/app/views/pages/tasks/assign-tasks/assign-selected-form/assign-selected-form.component.html","webpack:///src/app/views/pages/tasks/assign-tasks/assign-selected-form/assign-selected-form.component.ts","webpack:///src/app/views/pages/tasks/assign-tasks/assign-tasks.component.html","webpack:///src/app/views/pages/tasks/assign-tasks/assign-tasks.component.ts","webpack:///src/app/views/pages/tasks/assign-tasks/task-fields-map/task-fields-map.component.html","webpack:///src/app/views/pages/tasks/assign-tasks/task-fields-map/task-fields-map.component.ts","webpack:///src/app/views/pages/tasks/assign-tasks/task-fields-table/task-fields-table.component.html","webpack:///src/app/views/pages/tasks/assign-tasks/task-fields-table/task-fields-table.component.ts","webpack:///src/app/views/pages/tasks/assign-tasks/tasks-filter/tasks-filter.component.html","webpack:///src/app/views/pages/tasks/assign-tasks/tasks-filter/tasks-filter.component.ts","webpack:///src/app/views/pages/tasks/completed-tasks/completed-tasks-filter/completed-tasks-filter.component.html","webpack:///src/app/views/pages/tasks/completed-tasks/completed-tasks-filter/completed-tasks-filter.component.ts","webpack:///src/app/views/pages/tasks/completed-tasks/completed-tasks-table/completed-tasks-table.component.html","webpack:///src/app/views/pages/tasks/completed-tasks/completed-tasks-table/completed-tasks-table.component.ts","webpack:///src/app/views/pages/tasks/completed-tasks/completed-tasks.component.html","webpack:///src/app/views/pages/tasks/completed-tasks/completed-tasks.component.ts","webpack:///src/app/views/pages/tasks/import-task/import-task.component.html","webpack:///src/app/views/pages/tasks/import-task/import-task.component.ts","webpack:///src/app/views/pages/tasks/task-controller/controller-assign-selected/controller-assign-selected.component.html","webpack:///src/app/views/pages/tasks/task-controller/controller-assign-selected/controller-assign-selected.component.ts","webpack:///src/app/views/pages/tasks/task-controller/controller-filter/controller-filter.component.html","webpack:///src/app/views/pages/tasks/task-controller/controller-filter/controller-filter.component.ts","webpack:///src/app/views/pages/tasks/task-controller/controller-map/controller-map.component.html","webpack:///src/app/views/pages/tasks/task-controller/controller-map/controller-map.component.ts","webpack:///src/app/views/pages/tasks/task-controller/controller-map/route-list/route-list.component.html","webpack:///src/app/views/pages/tasks/task-controller/controller-map/route-list/route-list.component.ts","webpack:///src/app/views/pages/tasks/task-controller/controller-table/controller-table.component.html","webpack:///src/app/views/pages/tasks/task-controller/controller-table/controller-table.component.ts","webpack:///src/app/views/pages/tasks/task-controller/task-controller.component.html","webpack:///src/app/views/pages/tasks/task-controller/task-controller.component.ts","webpack:///src/app/views/pages/tasks/task-edit/task-edit.component.html","webpack:///src/app/views/pages/tasks/task-edit/task-edit.component.ts","webpack:///src/app/views/pages/tasks/tasks-list/tasks-list.component.html","webpack:///src/app/views/pages/tasks/tasks-list/tasks-list.component.ts","webpack:///src/app/views/pages/tasks/tasks-list/tasks-table/tasks-table.component.html","webpack:///src/app/views/pages/tasks/tasks-list/tasks-table/tasks-table.component.ts","webpack:///src/app/views/pages/tasks/tasks-routing.module.ts","webpack:///src/app/views/pages/tasks/tasks.component.html","webpack:///src/app/views/pages/tasks/tasks.component.ts","webpack:///src/app/views/pages/tasks/tasks.module.ts","webpack:///src/app/views/pages/user-management/roles/role-edit/role-edit.dialog.component.html","webpack:///src/app/views/pages/user-management/roles/role-edit/role-edit.dialog.component.ts","webpack:///src/app/views/pages/user-management/roles/roles-list/roles-list.component.html","webpack:///src/app/views/pages/user-management/roles/roles-list/roles-list.component.ts","webpack:///src/app/views/pages/user-management/user-management.component.html","webpack:///src/app/views/pages/user-management/user-management.component.ts","webpack:///src/app/views/pages/user-management/user-management.module.ts","webpack:///src/app/views/pages/user-management/user-profile/user-profile.component.html","webpack:///src/app/views/pages/user-management/user-profile/user-profile.component.ts","webpack:///src/app/views/pages/user-management/users/user-edit/user-edit.component.html","webpack:///src/app/views/pages/user-management/users/user-edit/user-edit.component.ts","webpack:///src/app/views/pages/user-management/users/users-list/users-list.component.html","webpack:///src/app/views/pages/user-management/users/users-list/users-list.component.ts","webpack:///src/app/views/pages/user-management/users/users-list/users-table/users-table.component.html","webpack:///src/app/views/pages/user-management/users/users-list/users-table/users-table.component.ts","webpack:///src/app/views/partials/content/crud/action-natification/action-notification.component.html","webpack:///src/app/views/partials/content/crud/action-natification/action-notification.component.ts","webpack:///src/app/views/partials/content/crud/alert/alert.component.html","webpack:///src/app/views/partials/content/crud/alert/alert.component.ts","webpack:///src/app/views/partials/content/crud/delete-entity-dialog/delete-entity-dialog.component.html","webpack:///src/app/views/partials/content/crud/delete-entity-dialog/delete-entity-dialog.component.ts","webpack:///src/app/views/partials/content/crud/fetch-entity-dialog/fetch-entity-dialog.component.ts","webpack:///src/app/views/partials/content/crud/index.ts","webpack:///src/app/views/partials/content/crud/update-status-dialog/update-status-dialog.component.ts","webpack:///src/app/views/partials/content/general/datatable/datatable.component.html","webpack:///src/app/views/partials/content/general/datatable/datatable.component.ts","webpack:///src/app/views/partials/content/general/generic-portlet/generic-portlet.component.html","webpack:///src/app/views/partials/content/general/generic-portlet/generic-portlet.component.ts","webpack:///src/app/views/partials/content/general/portlet/portlet-body.component.ts.PortletBodyComponent.html","webpack:///src/app/views/partials/content/general/portlet/portlet-body.component.ts","webpack:///src/app/views/partials/content/general/portlet/portlet-header.html","webpack:///src/app/views/partials/content/general/portlet/portlet-header.component.ts","webpack:///src/app/views/partials/content/general/portlet/portlet.component.html","webpack:///src/app/views/partials/content/general/portlet/portlet.component.ts","webpack:///src/app/views/partials/content/general/portlet/portlet.module.ts","webpack:///src/app/views/partials/content/widgets/widget.module.ts","webpack:///src/app/views/partials/layout/mat-select-filter/mat-select-filter.component.html","webpack:///src/app/views/partials/layout/mat-select-filter/mat-select-filter.component.ts","webpack:///src/app/views/partials/layout/mat-select-search/mat-select-search.component.html","webpack:///src/app/views/partials/layout/mat-select-search/mat-select-search.component.ts","webpack:///src/app/views/partials/layout/quick-panel/quick-panel.component.html","webpack:///src/app/views/partials/layout/quick-panel/quick-panel.component.ts","webpack:///src/app/views/partials/layout/quick-user-panel/quick-user-panel.component.html","webpack:///src/app/views/partials/layout/quick-user-panel/quick-user-panel.component.ts","webpack:///src/app/views/partials/layout/scroll-top/scroll-top.component.html","webpack:///src/app/views/partials/layout/scroll-top/scroll-top.component.ts","webpack:///src/app/views/partials/layout/search-result/search-result.component.html","webpack:///src/app/views/partials/layout/search-result/search-result.component.ts","webpack:///src/app/views/partials/layout/splash-screen/splash-screen.component.html","webpack:///src/app/views/partials/layout/splash-screen/splash-screen.component.ts","webpack:///src/app/views/partials/layout/sticky-toolbar/sticky-toolbar.component.html","webpack:///src/app/views/partials/layout/sticky-toolbar/sticky-toolbar.component.ts","webpack:///src/app/views/partials/layout/topbar/language-selector/language-selector.component.html","webpack:///src/app/views/partials/layout/topbar/language-selector/language-selector.component.ts","webpack:///src/app/views/partials/layout/topbar/notification/notification.component.html","webpack:///src/app/views/partials/layout/topbar/notification/notification.component.ts","webpack:///src/app/views/partials/layout/topbar/quick-action/quick-action.component.html","webpack:///src/app/views/partials/layout/topbar/quick-action/quick-action.component.ts","webpack:///src/app/views/partials/layout/topbar/search-dropdown/search-dropdown.component.html","webpack:///src/app/views/partials/layout/topbar/search-dropdown/search-dropdown.component.ts","webpack:///src/app/views/partials/layout/topbar/user-profile/user-profile.component.html","webpack:///src/app/views/partials/layout/topbar/user-profile/user-profile.component.ts","webpack:///src/app/views/partials/layout/topbar/user-profile4/user-profile4.component.html","webpack:///src/app/views/partials/layout/topbar/user-profile4/user-profile4.component.ts","webpack:///src/app/views/partials/partials.module.ts","webpack:///src/app/views/theme/aside/aside-left.component.html","webpack:///src/app/views/theme/aside/aside-left.component.ts","webpack:///src/app/views/theme/base/base.component.html","webpack:///src/app/views/theme/base/base.component.ts","webpack:///src/app/views/theme/brand/brand.component.html","webpack:///src/app/views/theme/brand/brand.component.ts","webpack:///src/app/views/theme/footer/footer.component.html","webpack:///src/app/views/theme/footer/footer.component.ts","webpack:///src/app/views/theme/header/header-mobile/header-mobile.component.html","webpack:///src/app/views/theme/header/header-mobile/header-mobile.component.ts","webpack:///src/app/views/theme/header/header.component.html","webpack:///src/app/views/theme/header/header.component.ts","webpack:///src/app/views/theme/header/menu-horizontal/menu-horizontal.component.html","webpack:///src/app/views/theme/header/menu-horizontal/menu-horizontal.component.ts","webpack:///src/app/views/theme/header/topbar/topbar.component.html","webpack:///src/app/views/theme/header/topbar/topbar.component.ts","webpack:///src/app/views/theme/html-class.service.ts","webpack:///src/app/views/theme/theme.module.ts","webpack:///src/environments/environment.ts","webpack:///src/main.ts"],"names":["webpackEmptyAsyncContext","req","Promise","resolve","then","e","Error","code","keys","module","exports","id","map","webpackContext","webpackContextResolve","__webpack_require__","o","webpackContextKeys","Object","m","routes","path","loadChildren","component","canActivate","children","redirectTo","pathMatch","AppRoutingModule","AppComponent","translationService","router","layoutConfigService","splashScreenService","store","title","unsubscribe","loadTranslations","loader","getConfig","config","getSavedConfig","content","width","setConfig","routerSubscription","events","subscribe","event","hide","window","scrollTo","setTimeout","document","body","classList","add","push","forEach","sb","DEFAULT_PERFECT_SCROLLBAR_CONFIG","wheelSpeed","swipeEasing","minScrollbarLength","maxScrollbarLength","initializeLayoutConfig","appConfig","loadConfigs","configs","getHighlightLanguages","name","func","languages","AppModule","BaseDataSource","entitySubject","hasItems","isPreloadTextViewed$","paginatorTotalSubject","subscriptions","paginatorTotal$","asObservable","hasItemsSubscription","pipe","res","collectionViewer","complete","entities","queryParams","filtrationFields","httpExtension","baseFilter","incomingArray","sortField","sortOrder","sortArray","queryObj","searchInArray","BaseModel","_isEditMode","_userId","HttpExtenstionsModel","entitiesResult","filter","totalCount","length","initialPos","pageNumber","pageSize","slice","queryResults","items","result","sort","a","b","resultBuffer","indexes","firstIndexes","doSearch","item","element","index","key","searchText","toString","trim","toLowerCase","some","val","indexOf","ex","console","log","re","QueryParamsModel","QueryResultsModel","errorMessage","HttpUtilsService","set","InterceptService","http","auth","isRefreshingToken","tokenSubject","token","getToken","clone","setHeaders","Authorization","next","handle","addToken","error","status","handle400Error","handle401Error","logoutUser","dispatch","MessageType","LayoutUtilsService","snackBar","dialog","message","type","Create","duration","showCloseButton","showUndoButton","undoButtonDuration","verticalPosition","data","action","openFromComponent","description","waitDescription","open","statuses","messages","RegEx","TypesUtilsService","value","isNumber","isNaN","toInteger","parseInt","date","month","getMonth","day","getDate","year","getFullYear","stringDate","padNumber","dateInStr","dateParts","split","Date","getDay","setDate","setMonth","setFullYear","dateToday","ContentAnimateDirective","el","animationBuilder","initAnimate","player","play","destroy","build","transform","opacity","position","create","nativeElement","HeaderDirective","options","setupOptions","header","KTHeader","classic","desktop","mobile","getAttribute","on","MenuDirective","menu","KTMenu","menuDesktopMode","OffcanvasDirective","offcanvas","KTOffcanvas","ScrollTopDirective","scrollTop","KTScrolltop","SparklineChartDirective","initChart","color","border","fill","tooltip","src","labels","datasets","label","borderColor","borderWidth","pointHoverRadius","pointHoverBorderWidth","pointBackgroundColor","helpers","alpha","rgbString","pointBorderColor","pointHoverBackgroundColor","pointHoverBorderColor","display","tooltips","enabled","intersect","mode","xPadding","yPadding","caretPadding","legend","usePointStyle","responsive","maintainAspectRatio","hover","scales","xAxes","gridLines","scaleLabel","labelString","yAxes","ticks","beginAtZero","elements","point","radius","layout","padding","left","right","top","bottom","chart","StickyDirective","stickyElement","platformId","filterGate","marginTop$","marginBottom$","enable$","sticky","boundaryReached","scroll$","resize$","extraordinaryChange$","undefined","componentDestroyed","listener","upperScreenEdgeAt","target","pageYOffset","scrollThrottled$","resizeThrottled$","status$","checkEnabled","marginTop","marginBottom","determineStatus","determineElementOffsets","setSticky","getScrollTarget","addEventListener","removeEventListener","setupListener","removeListener","getBoundingClientRect","scrollContainer","querySelector","HTMLElement","originalVals","stickyElementHeight","getComputedStyle","height","reachedLowerEdge","boundaryElement","bottomBoundary","isSticky","offsetY","removeSticky","boundaryElementHeight","boundaryElementOffset","getPosition","y","offSet","style","backgroundColor","zIndex","spacerElement","spacerHeight","warn","makeSticky","offsetTop","offsetLeft","offsetParent","x","TabClickEventDirective","render","parent","closest","activeLink","removeClass","link","addClass","ToggleDirective","toggle","KTToggle","DataTableItemModel","ExternalCodeExample","isCodeVisible","FirstLetterPipe","args","n","join","GetObjectPipe","JoinPipe","Array","isArray","SafePipe","_sanitizer","bypassSecurityTrustHtml","bypassSecurityTrustStyle","bypassSecurityTrustScript","bypassSecurityTrustUrl","bypassSecurityTrustResourceUrl","TimeElapsedPipe","changeDetectorRef","ngZone","removeTimer","d","now","seconds","Math","round","abs","getTime","timeToUpdate","getSecondsUntilUpdate","timer","runOutsideAngular","run","markForCheck","minutes","hours","days","months","years","clearTimeout","min","hr","FakeApiService","db","roles","permissions","cars","CarsDb","cModel","cManufacture","cModelYear","cMileage","cDescription","cColor","cPrice","cCondition","createdDate","cStatus","cVINCode","API_DATATABLE_URL","DataTableService","get","KtDialogService","currentState","ktDialog","KTDialog","placement","show","LayoutConfigService","onConfigUpdated$","layoutConfig","localStorage","setItem","JSON","stringify","getItem","parse","removeItem","save","saveConfig","menuAsideLeftSkin","logoObject","logo","logos","getLogo","demo","LayoutRefService","layoutRefs$","layoutRefs","obj","assign","MenuAsideService","menuConfigService","menuList$","loadMenu","menuItems","getMenus","MenuConfigService","menuConfig","MenuHorizontalService","PageConfigService","configPath","cleanUrl","url","pageConfig","RegExp","test","urls","splice","charAt","substr","finalUrl","replace","substring","SplashScreenService","stopped","onDone","remove","SubheaderService","pageConfigService","title$","desc","breadcrumbs$","disabled$","manualBreadcrumbs","appendingBreadcrumbs","manualTitle","initBreadcrumb","getCurrentPageConfig","headerMenus","asideMenus","updateBreadcrumbs","setTitle","hideSubheader","setBreadcrumbs","appendBreadcrumbs","breadcrumbs","getBreadcrumbs","prev","getValue","concat","menus","menuPath","getPath","found","search","haystack","pop","TranslationService","translate","langIds","addLangs","setDefaultLang","locales","locale","setTranslation","lang","use","getDefaultLang","TRANSLATOR","SELECT","MENU","NEW","ACTIONS","CREATE_POST","PAGES","FEATURES","APPS","DASHBOARD","AUTH","GENERAL","OR","SUBMIT_BUTTON","NO_ACCOUNT","SIGNUP_BUTTON","FORGOT_BUTTON","BACK_BUTTON","PRIVACY","LEGAL","CONTACT","LOGIN","TITLE","BUTTON","FORGOT","DESC","SUCCESS","REGISTER","INPUT","EMAIL","FULLNAME","PASSWORD","CONFIRM_PASSWORD","USERNAME","VALIDATION","INVALID","REQUIRED","MIN_LENGTH","AGREEMENT_REQUIRED","NOT_FOUND","INVALID_LOGIN","REQUIRED_FIELD","MIN_LENGTH_FIELD","MAX_LENGTH_FIELD","INVALID_FIELD","ECOMMERCE","COMMON","SELECTED_RECORDS_COUNT","ALL","SUSPENDED","ACTIVE","FILTER","BY_STATUS","BY_TYPE","BUSINESS","INDIVIDUAL","SEARCH","IN_ALL_FIELDS","CUSTOMERS","CUSTOMERS_LIST","NEW_CUSTOMER","DELETE_CUSTOMER_SIMPLE","DESCRIPTION","WAIT_DESCRIPTION","MESSAGE","DELETE_CUSTOMER_MULTY","UPDATE_STATUS","EDIT","UPDATE_MESSAGE","ADD_MESSAGE","LayoutConfig","defaults","js","breakpoints","sm","md","lg","xl","xxl","colors","theme","base","white","primary","secondary","success","info","warning","danger","light","dark","inverse","gray","gray100","gray200","gray300","gray400","gray500","gray600","gray700","gray800","gray900","fontFamily","self","fixed","rootArrow","arrow","submenu","accordion","subheader","displayDesc","displayDaterangepicker","clear","brand","aside","minimize","hoverable","footer","dropdown","scroll","extras","direction","notifications","user","cart","chat","toolbar","scrolltop","MenuConfig","root","alignment","page","icon","bullet","section","pilotMenu","role","PageConfig","dashboard","ngbootstrap","alert","buttons","carousel","collapse","datepicker","modal","pagination","popover","progressbar","rating","tabs","timepicker","typehead","material","autocomplete","checkbox","radiobutton","formfield","input","select","slider","slidertoggle","navigation","sidenav","card","divider","list","stepper","tree","button","chips","snackbar","paginator","table","forms","mail","ecommerce","customers","products","edit","orders","users","builder","actions","profile","wizard","AuthActionTypes","Login","payload","Logout","Register","UserRequested","UserLoaded","PermissionActionTypes","AllPermissionsRequested","AllPermissionsLoaded","RoleActionTypes","RoleOnServerCreated","RoleCreated","RoleUpdated","RoleDeleted","RolesPageRequested","RolesPageLoaded","RolesPageCancelled","AllRolesRequested","AllRolesLoaded","RolesPageToggleLoading","RolesActionToggleLoading","UserActionTypes","UserOnServerCreated","UserCreated","UserUpdated","UserDeleted","UsersPageRequested","UsersPageLoaded","UsersPageCancelled","UsersPageToggleLoading","UsersActionToggleLoading","RolesDataSource","loading$","response","UsersDataSource","AuthEffects","actions$","login$","authTokenKey","authToken","logout$","navigate","returnUrl","location","reload","register$","init$","userToken","observableResult","PermissionEffects","RoleEffects","UserEffects","AuthGuard","route","state","loggedIn","navigateByUrl","ChildModuleGuard","permission","only","v","hasAccess","roleType","ModuleGuard","Address","addressLine","city","postCode","Permission","level","parentId","isSelected","_children","Role","isCoreRole","SocialNetworks","linkedIn","facebook","twitter","instagram","User","userId","username","password","email","accessToken","random","refreshToken","phone","roleTypeId","customerId","customer","pilotId","pilot","viewTasksFromAnyDateForPilot","viewFromAnyDate","RoleType","Pilot","Customer","initialAuthState","isUserLoaded","authReducer","adapter","initialPermissionsState","getInitialState","_isAllPermissionsLoaded","permissionsReducer","addAll","getRoleState","getSelectors","selectAll","selectEntities","selectIds","selectTotal","initialRolesState","isAllRolesLoaded","queryRowsCount","queryResult","lastCreatedRoleId","listLoading","actionsloading","lastQuery","showInitWaitingMessage","rolesReducer","isLoading","addOne","updateOne","partialrole","removeOne","addMany","initialUsersState","lastCreatedUserId","usersReducer","partialUser","getUserState","selectAuthState","isLoggedIn","isLoggedOut","currentAuthToken","currentUser","currentUserRoleIds","userRoleIds","allRoles","getPermissionsIdsFrom","currentUserPermissionsIds","checkHasUserPermission","permissionId","ids","permissionIds","allPermissions","userPermission","elem","currentUserPermissions","userRolesIds","userRoles","userRole","gid","selectPermissionsState","selectPermissionById","ps","selectAllPermissions","selectAllPermissionsIds","allPermissionsLoaded","selectRolesState","selectRoleById","roleId","rolesState","selectAllRoles","selectAllRolesIds","allRolesLoaded","selectRolesPageLoading","selectRolesActionLoading","selectLastCreatedRoleId","selectRolesShowInitWaitingMessage","selectQueryResult","selectUsersState","selectUserById","usersState","selectUsersPageLoading","selectUsersActionLoading","selectLastCreatedUserId","selectUsersPageLastQuery","selectUsersInStore","selectUsersShowInitWaitingMessage","selectHasUsersInStore","AuthDataContext","PermissionsTable","RolesTable","UsersTable","pic","fullname","occupation","companyName","address","socialNetworks","tokens","API_USERS_URL","API_PERMISSION_URL","API_ROLES_URL","AuthService","post","httpHeaders","headers","err","handleError","_user","put","operation","AuthNoticeService","onNoticeChanged$","notice","CoreModule","Coordinate","lat","lng","coor","dateCreated","DatasourceOptions","totalAmount","totalPages","perPage","sortBy","total_amount","total_pages","per_page","sort_by","sort_order","DroneModel","modelId","model","DronePayload","payloadId","DronePilot","pilotType","isLicenseGimel","isLicenseRT","PilotType","pilotTypeId","DroneRoute","routeChunks","tailNumber","chunk","coordinates","c","isOn","Drone","droneId","blackBoxId","Model","Payload","drone","Field","fieldId","cropName","plotNumber","plantingYear","moagId","areaSquareMeters","field","parseBack","MapTask","task","bounds","google","maps","LatLngBounds","extend","lats","northLat","max","north","find","Material","materialId","Protocol","protocolId","nozzle","marginSpace","rowSpace","dunamVolume","waterVolume","protocol","Task","taskId","createdAt","executionDate","scheduledDate","approvedExecutionDate","executionStatusId","executionStatus","approvedStatus","toDateString","statusId","approvedStatusId","Status","ApprovedStatus","ExecutionStatus","ApiService","httpUtils","params","api_url","api","CustomersService","DronePilotsService","drones","pilotTypes","p","DronesService","models","payloads","FieldsService","fields","fieldImportWrapper","file","formData","FormData","append","MaterialsService","materials","PilotTasksService","setTime","tasks","mapTasks","ProtocolsService","protocols","TasksService","parseBackUpdate","files","isPreview","taskFilterWrapper","t","taskAssignWrapper","tasksList","droneRoutes","UsersService","roleTypes","r","login","loginSuccess","loginFailure","logout","loadUserProfile","loadUserProfileSuccess","loadUserProfileFailure","loadCustomers","loadCustomersSuccess","loadCustomersFailure","loadCustomer","loadCustomerSuccess","loadCustomerFailure","addCustomer","addCustomerSuccess","addCustomerFailure","updateCustomer","updateCustomerSuccess","updateCustomerFailure","deleteCustomer","deleteCustomerSuccess","deleteCustomerFailure","loadDronePilots","loadDronePilotsSuccess","loadDronePilotsFailure","loadPilotTypes","loadPilotTypesSuccess","lloadPilotTypesFailure","loadDronePilot","loadDronePilotSuccess","loadDronePilotFailure","addDronePilot","addDronePilotSuccess","addDronePilotFailure","updateDronePilot","updateDronePilotSuccess","updateDronePilotFailure","deleteDronePilot","deleteDronePilotSuccess","deleteDronePilotFailure","loadDrones","loadDronesSuccess","loadDronesFailure","loadDroneModels","loadDroneModelsSuccess","loadDroneModelsFailure","loadDronePayloads","loadDronePayloadsSuccess","loadDronePayloadsFailure","loadDrone","loadDroneSuccess","loadDroneFailure","addDrone","addDroneSuccess","addDroneFailure","updateDrone","updateDroneSuccess","updateDroneFailure","deleteDrone","deleteDroneSuccess","deleteDroneFailure","loadFields","loadFieldsSuccess","loadFieldsFailure","loadField","loadFieldSuccess","loadFieldFailure","addField","addFieldSuccess","addFieldFailure","updateField","updateFieldSuccess","updateFieldFailure","deleteField","deleteFieldSuccess","deleteFieldFailure","importFields","importFieldsSuccess","importFieldsFailure","loadMaterials","loadMaterialsSuccess","loadMaterialsFailure","loadMaterial","loadMaterialSuccess","loadMaterialFailure","addMaterial","addMaterialSuccess","addMaterialFailure","updateMaterial","updateMaterialSuccess","updateMaterialFailure","deleteMaterial","deleteMaterialSuccess","deleteMaterialFailure","loadPilotTasks","loadPilotTasksSuccess","loadPilotTasksFailure","loadTaskById","loadTaskByIdSuccess","loadTaskByIdFailure","updateTask","updateTaskSuccess","updateTaskFailure","loadProtocols","loadProtocolsSuccess","loadProtocolsFailure","loadProtocol","loadProtocolSuccess","loadProtocolFailure","addProtocol","addProtocolSuccess","addProtocolFailure","updateProtocol","updateProtocolSuccess","updateProtocolFailure","deleteProtocol","deleteProtocolSuccess","deleteProtocolFailure","loadTasks","loadTasksSuccess","loadTasksFailure","deleteTask","loadTask","loadTaskSuccess","loadTaskFailure","deleteTaskSuccess","deleteTaskFailure","loadStatuses","loadStatusesSuccess","loadStatusesFailure","importTasks","importTasksSuccess","importTasksFailure","importTasksPreview","importTasksPreviewSuccess","importTasksPreviewFailure","filterTasks","filterTasksSuccess","filterTasksFailed","mapTaskSelected","controllerMapTaskSelected","mapTaskTableClick","assignTasks","assignTasksSuccess","assignTasksFailed","assignControllerTasks","assignControllerTasksSuccess","assignControllerTasksFailed","filterControllerTasks","filterControllerTasksSuccess","filterControllerTasksFailed","filterCompletedTasks","filterCompletedTasksSuccess","filterCompletedTasksFailed","loadUsers","loadUsersSuccess","loadUsersFailure","loadRoleTypes","loadRoleTypesSuccess","loadRoleTypesFailure","loadUser","loadUserSuccess","loadUserFailure","addUser","addUserSuccess","addUserFailure","updateUser","updateUserSuccess","updateUserFailure","deleteUser","deleteUserSuccess","deleteUserFailure","authService","layoutUtilsService","permissionService","Message","loginSuccess$","loadUserProfile$","getUserByToken","loadUserProfileSuccess$","loadPermissions","CustomerEffects","customersService","loadCustomers$","getAllCustomers","loadCustomer$","getCustomerById","addCustomer$","addCustomerSuccess$","showActionNotification","relativeTo","addCustomerFailed$","Read","updateCustomer$","updateCustomerSuccess$","Update","updateCustomerFailed$","deleteCustomer$","deleteCustomerSuccess$","Delete","DronePilotsEffects","dronePilotsService","loadDronePilots$","getAllDronePilots","loadPilotTypes$","getAllPilotTypes","loadDronePilot$","getPilotById","addDronePilot$","addDronePilotSuccess$","addDronePilotFailed$","updatePilot$","updatePilot","updatePilotSuccess$","deletePilot$","deletePilot","deletePilotSuccess$","DronesEffects","dronesService","loadDrones$","getAllDrones","loadDroneModels$","getAllModels","loadDronePayloads$","getAllPayloads","loadDrone$","getDroneById","addDrone$","addDroneSuccess$","addDroneFailed$","updateDrone$","updateDroneSuccess$","updateDroneFailed$","deleteDrone$","deleteDroneSuccess$","FieldEffects","fieldsService","loadFields$","getAllFields","loadField$","getFieldById","addField$","addFieldSuccess$","addFieldFailed$","updateField$","updateFieldSuccess$","updateFieldFailed$","deleteField$","deleteFieldSuccess$","importField$","importFieldsSuccess$","MaterialEffects","materialsService","loadMaterials$","getAllMaterials","loadMaterial$","getMaterialById","addMaterial$","addMaterialSuccess$","addMaterialFailed$","updateMaterial$","updateMaterialSuccess$","updateMaterialFailed$","deleteMaterial$","deleteMaterialSuccess$","PilotTasksEffects","pilotTasksService","tasksService","loadPilotTasks$","getPilotTasks","loadTaskById$","getTaskById","updateTask$","updateTaskSuccess$","ProtocolEffects","protocolsService","loadProtocols$","getAllProtocols","loadProtocol$","getProtocolById","addProtocol$","addProtocolSuccess$","addProtocolFailed$","updateProtocol$","updateProtocolSuccess$","updateProtocolFailed$","deleteProtocol$","deleteProtocolSuccess$","TaskEffects","store$","loadTasks$","getAllTasks","loadTask$","filterTasks$","filterTaskSuccess$","filterTaskControllerSuccess$","filterControllerTasks$","filterCompletedTasksSuccess$","filterCompletedTasks$","assignTasks$","assignControllerTasks$","assignTaskSuccess$","filterWrapper","assignControllerTaskSuccess$","loadStatuses$","getStauses","deleteTask$","deleteTaskSuccess$","importTasksPreview$","importTasks$","importTasksSuccess$","usersService","loadUsers$","getAllUsers","loadUser$","getUserById","loadRoleTypes$","getAllRoleTypes","addUser$","addUserSuccess$","addUserFailed$","updateUser$","updateUserSuccess$","updateUserFailed$","deleteUser$","deleteUserSuccess$","authFeatureKey","initialState","loading","reducer","customerFeatureKey","selectId","currentCustomer","setAll","customerReducer","dronePilotsFeatureKey","dronePilot","initialDronePilotState","currentDronePilot","dronePilotsReducer","dronesFeatureKey","initialDroneState","currentDrone","dronesReducer","fieldFeatureKey","currentField","fieldReducer","materialFeatureKey","initialMaterialState","currentMaterial","materialReducer","pilotTasksFeatureKey","allTasksAdapter","currentTask","selectedDate","findIndex","changes","pilotTasksReducer","protocolFeatureKey","currentProtocol","protocolReducer","taskFeatureKey","initialTaskState","modalLoading","controllerMapTasks","controllerFilterWrapper","completedTasksFilterWrapper","completedTasks","updateIndex","mapTask","updated","selected","taskReducer","userFeatureKey","userReducer","authError","authLoading","selectCustomerState","selectCustomersSelector","selectCustomersLoading","selectCurrentCustomer","selectCustomerById","selectDronePilotsState","selectPilotsSelector","selectPilotsLoading","selectPilotTypes","selectCurrentPilot","selectDronesState","selectDronesSelector","selectDrones","selectModelsSelector","selectPayloadsSelector","selectDronesLoading","selectCurrentDrone","selectDroneById","selectFieldState","selectFieldsSelector","selectFieldsLoading","selectCurrentField","selectFieldsByCustomerId","f","selectFieldById","selectMaterialState","selectMaterialsSelector","selectMaterialsLoading","selectCurrentMaterial","selectProtocolState","selectProtocolsSelector","selectProtocolsLoading","selectCurrentProtocol","selectTaskState","selectTasksSelector","selectTasksLoading","selectTasksModalLoading","selectCurrentTask","selectStatuses","selectMapTasks","selectSelectedMapTasks","selectControllerMapTasks","selectSelectedControllerMapTasks","selectTaskFilterWrapper","selectControllerFilterWrapper","selectDroneRoutes","selectTasksByFieldId","selectCompletedTasks","selectCompletedTasksFilterWrapper","selectUserState","selectUsersSelector","selectUsers","selectUsersLoading","selectCurrentUser","selectRoleTypes","MatCoreModule","EntitySelectComponent","service","valueProperty","formControl","hint","placeHolder","valueChanged","entityName","getEntity","EntitySelectModule","EntitySelectService","AuthNoticeComponent","authNoticeService","cdr","AuthComponent","today","setLanguage","getSelectedLanguage","headerLogo","styleUrl","reject","styleElement","createElement","href","rel","onload","appendChild","pathname","AuthModule","ngModule","providers","ForgotPasswordComponent","fb","errors","initRegistrationForm","forgotPasswordForm","group","compose","required","minLength","maxLength","controls","invalid","controlName","markAsTouched","requestPassword","setNotice","instant","validationType","control","hasError","dirty","touched","DEMO_PARAMS","LoginComponent","initLoginForm","loginForm","ConfirmPasswordValidator","confirmPassword","setErrors","ConfirmPassword","RegisterComponent","initRegisterForm","registerForm","agree","validator","MatchPassword","register","CustomersListComponent","_item","_title","_description","_waitDesciption","_deleteMessage","dialogRef","deleteElement","afterClosed","CustomersTableComponent","loadData","columns","serverFieldName","clientFieldName","displayNameKey","sortable","template","actionsTemplate","CustomersRoutingModule","CustomersComponent","CustomersModule","EditCustomerComponent","customerFB","isEdit","hasFormErrors","createEmpty","createForm","snapshot","customerForm","pattern","prepareCustomer","$event","DronePilotsListComponent","pilots","DronePilotsTableComponent","pilotTypeTemplate","licenseGimelTemplate","licenseRtTemplate","DronePilotsComponent","DronePilotsModule","EditDronePilotComponent","pilotFB","currentPilot","pilotForm","preparePilot","DronesListComponent","DronesTableComponent","modelTemplate","payloadTemplate","DronesComponent","DronesModule","EditDroneComponent","droneFB","droneModels","dronePayloads","droneForm","prepareDrone","CoordinatesListComponent","coorFb","coordinateAdded","coorForm","reset","emit","WeatherService","apiUrl","EditFieldComponent","fieldFB","dates","weatherData","maxEntriesPerDate","customersSelectFormControl","dateEntries","ts","time","formattedTime","processDataForDisplay","entries","entry","fieldForm","addControl","setValidators","setValue","prepareField","FieldMapComponent","zoom","center","FieldsListComponent","allFields","isFullyLoaded","FieldsTableComponent","isLoadedTemplate","customerTemplate","FieldsRoutingModule","FieldsComponent","FieldsModule","ImportFieldsComponent","filesControl","wrapper","EditMaterialsComponent","materialFB","materialForm","prepareMaterial","MaterialsListComponent","MaterialsTableComponent","MaterialsComponent","MaterialsModule","PagesModule","EditProtocolComponent","protocolFB","materialSelectControl","payloadSelectControl","protocolForm","materialsSelectControl","prepareProtocol","ProtocolsListComponent","ProtocolsTableComponent","materialTemplate","ProtocolsComponent","ProtocolsModule","AssignSelectedFormComponent","assignFb","submitting","pilotsSelectFormControl","selectedTasks","close","s","assignForm","assignTaskWrapper","prepareAssignTasks","taskIds","tasksToAssign","assignToPilotId","assignExecutionDateFormControl","AssignTasksComponent","selectedMapTasks","TaskFieldsMapComponent","south","west","east","currentValue","previousValue","fitBounds","allCoords","reduce","acc","lngs","maxLat","minLat","maxLng","minLng","infoWindow","selectedMapTask","selectedShape","northEeast","values","southWest","swLat","swLng","neLat","neLng","deleteSelectedShape","ControlPosition","TOP_LEFT","getElementById","initDrawingManager","drawingControl","drawingControlOptions","drawingModes","rectangleOptions","draggable","editable","drawingManager","drawing","DrawingManager","modeChanged","setMap","addListener","setDrawingMode","setOptions","newShape","overlay","setSelection","setEditable","shape","clearSelection","TaskFieldsTableComponent","cropNameTemplate","dunamTemplate","row","TasksFilterComponent","protocolsSelectFormControl","materialsSelectFormControl","statusSelectControl","prepareFilterWrapper","CompletedTasksFilterComponent","fromDateControl","fromDate","toDateControl","toDate","CompletedTasksTableComponent","protocolTemplate","fieldTemplate","pilotTemplate","statusTemplate","createdAtTemplate","CompletedTasksComponent","ImportTaskComponent","taskFB","preview","taskForm","valueChanges","valid","prepareTask","ControllerAssignSelectedComponent","ControllerFilterComponent","dronesSelectFormControl","dronesList","executionDateFormControl","toLocaleDateString","ControllerMapComponent","centerOnCoordinate","droneRouteWindow","selectedDroneRoute","coordinate","TOP_RIGHT","RouteListComponent","routeSelected","ControllerTableComponent","TaskControllerComponent","TaskEditComponent","approvedDate","TasksListComponent","TasksTableComponent","TasksRoutingModule","TasksComponent","TasksModule","RoleEditDialogComponent","viewLoading","loadingAfterSubmit","rolePermissions","role$","newRole","allPermissions$","componentSubscriptions","_allPermissions","mainPermissions","hasUserPermission","rootPermission","child","hasUserChildPermission","childPermission","_root","_child","_role","preparePermissionIds","isTitleValid","editedRole","prepareRole","updateRole","createRole","RolesListComponent","displayedColumns","selection","rolesResult","sortSubscription","sortChange","pageIndex","paginatorSubscriptions","loadRolesList","searchSubscription","searchInput","dataSource","entitiesSubscription","filterConfiguration","active","text","fetchElements","editRole","_saveMessage","_messageType","numSelected","numRows","userManagementPermissionId","UserManagementComponent","hasBackdrop","panelClass","UserManagementModule","UserProfileComponent","UserEditComponent","userFB","userForm","prepareUser","UsersListComponent","UsersTableComponent","roleTemplate","ActionNotificationComponent","delayForUndoButton","timeToDelay","dismiss","AlertComponent","alertShowing","closeAlert","DeleteEntityDialogComponent","FetchEntityDialogComponent","UpdateStatusDialogComponent","selectedStatusForUpdate","DatatableComponent","showFilter","showSelect","selectAllByDefault","rowClicked","selectionChanged","hasMasterToggle","columnsDict","datasource","datasourceOptions","matPaginator","dict","curr","colName","selectedItems","sortingDataAccessor","property","filterValue","GenericPortletComponent","PortletBodyComponent","PortletHeaderComponent","ktDialogService","classes","lastScrollTop","isScrollDown","stickyDirective","updateStickyPosition","st","documentElement","headerElement","subheaderElement","headerMobileElement","offsetHeight","contains","ngOnInit","hideIcon","refIcon","hideTools","refTools","ngAfterViewInit","viewLoading$","loadingSubscription","toggleLoading","_incomingValue","checkIsShown","ngOnDestroy","PortletComponent","PortletModule","WidgetModule","MatSelectFilterComponent","selectFormControl","multiple","primitiveValue","searchFormControl","filteredData","filterData","dataSet","filterBy","i","MatSelectSearchComponent","matSelect","placeholderLabel","noEntriesFoundLabel","overlayClassSet","change","onChange","_","onTouched","openedChange","opened","_focus","_reset","_options","keyManager","_keyManager","panelOpen","setFirstItemActive","detectChanges","setOverlayClass","keyCode","stopPropagation","_value","writeValue","fn","searchSelectInput","panel","focus","onInputChange","overlayClass","overlayDir","attach","parentElement","QuickPanelComponent","offcanvasOptions","baseClass","closeBy","toggleBy","QuickUserPanelComponent","user$","ScrollTopComponent","scrollTopOptions","offset","speed","SearchResultComponent","SplashScreenComponent","loaderConfig","loaderType","init","splashScreen","StickyToolbarComponent","demoPanelOptions","baseHref","LanguageSelectorComponent","flag","setSelectedLanguage","language","NotificationComponent","sanitizer","skin","bgImage","QuickActionComponent","documents","svgPath","members","imgPath","iconClasses","SearchDropdownComponent","userDropdownStyle","avatar","greeting","UserProfile4Component","PartialsModule","AsideLeftComponent","htmlClassService","menuAsideService","asideLogo","asideClasses","currentRouteUrl","menuCanvasOptions","menuOptions","tablet","expandAll","mobileMenuClose","setAttribute","asideMenu","getClasses","getAsideLogo","asideMenuOffcanvas","brandSelfTheme","isMenuRootItemIsActive","isActive","subItem","isMenuItemIsActive","outsideTm","insideTm","KTUtil","isInResponsiveRange","customClass","isBreakpointDown","BaseComponent","permissionsService","selfLayout","contentClasses","contentContainerClasses","subheaderDisplay","loadRolesWithPermissions","getConfigs","subscription","className","asideSelfDisplay","contentExtended","cfg","flushPermissions","currentUserPermissions$","pm","addPermission","BrandComponent","brandClasses","asideSelfMinimizeToggle","toggleOptions","targetState","toggleState","FooterComponent","uiClasses","footerClasses","footerContainerClasses","HeaderMobileComponent","uiService","headerMenuSelfDisplay","headerMobileClasses","getBody","getLogoUrl","headerSelfTheme","HeaderComponent","layoutRefService","headerClasses","headerContainerClasses","headerMenuClasses","headerAttributes","start","increment","getAttributes","addElement","ktHeader","MenuHorizontalComponent","menuHorService","slideSpeed","timeout","rootArrowEnabled","headerMenuOffcanvas","menuType","Symbol","iterator","TopbarComponent","searchDisplay","notificationsDisplay","quickActionsDisplay","cartDisplay","quickPanelDisplay","languagesDisplay","userDisplay","userLayout","HtmlClassService","loaded","onClassesUpdated$","preInit","header_container","header_mobile","header_menu","aside_menu","subheader_container","content_container","footer_container","attrs","initLayout","initLoader","initHeader","initSubheader","initContent","initAside","initFooter","initSkins","updatedLayout","subheaderFixed","headerSelfFixedDesktop","selfBodyBackgroundImage","backgroundImage","selfBodyClass","bodyClasses","cssClass","headerSelfFixedMobile","headerMenuSelfLayout","subheaderStyle","asideMenuDropdown","asideMenuSubmenuDropdownHoverTimout","ThemeModule","environment","production","isMockEnabled"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpFH;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;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA,4L,CAAA;AA0CA;AAaA;;;AACA,QAAMwB,gCAAgC,GAAoC;AACxEC,gBAAU,EAAE,GAD4D;AAExEC,iBAAW,EAAE,IAF2D;AAGxEC,wBAAkB,EAAE,EAHoD;AAIxEC,wBAAkB,EAAE;AAJoD,KAA1E;;AAOO,aAASC,sBAAT,CAAgCC,SAAhC,EAAgE;AACrE;AACA,aAAO,YAAM;AACX,YAAIA,SAAS,CAAC3B,SAAV,OAA0B,IAA9B,EAAoC;AAClC2B,mBAAS,CAACC,WAAV,CAAsB,IAAI,uEAAJ,GAAmBC,OAAzC;AACD;AACF,OAJD;AAKD;AAED;;;;;;AAIO,aAASC,qBAAT,GAAiC;AACtC,aAAO,CACL;AAAEC,YAAI,EAAE,YAAR;AAAsBC,YAAI,EAAE;AAA5B,OADK,EAEL;AAAED,YAAI,EAAE,MAAR;AAAgBC,YAAI,EAAE;AAAtB,OAFK,EAGL;AAAED,YAAI,EAAE,KAAR;AAAeC,YAAI,EAAE;AAArB,OAHK,EAIL;AAAED,YAAI,EAAE,MAAR;AAAgBC,YAAI,EAAE;AAAtB,OAJK,CAAP;AAMD;;aA8CeX,gC;QAAgC,KAehC;AACRY,eAAS,EAAEH;AADH,K;;QAqBHI,S;;;;;;;;;;;;;;;;;;;AChMb;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;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;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,O,CAAA;AAMA;;;;;;;;;;;;;;;;;;ACJA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,uD,CAAA;AAEA;AAOA;;AACA;;;;;;QAIaC,c;AAaX,gCAAc;AAAA;;AAAA;;AAZd,aAAAC,aAAA,GAAgB,IAAI,oDAAJ,CAA2B,EAA3B,CAAhB;AACA,aAAAC,QAAA,GAAW,IAAX,CAWc,CAXG;;AAIjB,aAAAC,oBAAA,GAA4C,gDAAG,IAAH,CAA5C,CAOc,CALd;;AACA,aAAAC,qBAAA,GAAwB,IAAI,oDAAJ,CAA4B,CAA5B,CAAxB;AAEA,aAAAC,aAAA,GAAgC,EAAhC;AAGE,aAAKC,eAAL,GAAuB,KAAKF,qBAAL,CAA2BG,YAA3B,EAAvB,CADY,CAGZ;;AACA,YAAMC,oBAAoB,GAAG,KAAKF,eAAL,CAAqBG,IAArB,CAC3B,6EAD2B,EAE3B,4DAAK,CAAL,CAF2B,EAG3BpC,SAH2B,CAGjB,UAAAqC,GAAG;AAAA,iBAAI,MAAI,CAACR,QAAL,GAAgBQ,GAAG,GAAG,CAA1B;AAAA,SAHc,CAA7B;AAIA,aAAKL,aAAL,CAAmBtB,IAAnB,CAAwByB,oBAAxB;AACD;;;;gCAEOG,gB,EAAkC;AACxC;AACA,iBAAO,KAAKV,aAAL,CAAmBM,YAAnB,EAAP;AACD;;;mCAEUI,gB,EAAkC;AAC3C;AACA,eAAKV,aAAL,CAAmBW,QAAnB;AACA,eAAKR,qBAAL,CAA2BQ,QAA3B;AACA,eAAKP,aAAL,CAAmBrB,OAAnB,CAA2B,UAAAC,EAAE;AAAA,mBAAIA,EAAE,CAACvB,WAAH,EAAJ;AAAA,WAA7B;AACD;;;mCAEUmD,Q,EAAiBC,W,EAA8D;AAAA,cAA/BC,gBAA+B,uEAAF,EAAE;AACxF,cAAMC,aAAa,GAAG,IAAI,4EAAJ,EAAtB;AACA,iBAAOA,aAAa,CAACC,UAAd,CAAyBJ,QAAzB,EAAmCC,WAAnC,EAAgDC,gBAAhD,CAAP;AACD;;;kCAESG,a,EAAuE;AAAA,cAAjDC,SAAiD,uEAA7B,EAA6B;AAAA,cAAzBC,SAAyB,uEAAL,KAAK;AAC/E,cAAMJ,aAAa,GAAG,IAAI,4EAAJ,EAAtB;AACA,iBAAOA,aAAa,CAACK,SAAd,CAAwBH,aAAxB,EAAuCC,SAAvC,EAAkDC,SAAlD,CAAP;AACD;;;sCAEaF,a,EAAsBI,Q,EAA8C;AAAA,cAA/BP,gBAA+B,uEAAF,EAAE;AAChF,cAAMC,aAAa,GAAG,IAAI,4EAAJ,EAAtB;AACA,iBAAOA,aAAa,CAACO,aAAd,CAA4BL,aAA5B,EAA2CI,QAA3C,EAAqDP,gBAArD,CAAP;AACD;;;;;;;;;;;;;;;;;;;;;ACjEH;AAAA;;;AAAA;AAAA;AAAA;;QAAaS,S,GAAb;AAAA;;AACE;AACA;AACA,WAAAC,WAAA,GAAc,KAAd,CAHF,CAIE;AACA;;AACA,WAAAC,OAAA,GAAU,CAAV,CANF,CAMe;AAKd,K;;;;;;;;;;;;;;;;;ACTD;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAEaC,oB;;;;;;;;AAEX;;;;;;;;mCAQWd,Q,EAAiBC,W,EAA8D;AAAA,cAA/BC,gBAA+B,uEAAF,EAAE;AACxF;AACA,cAAIa,cAAc,GAAG,KAAKL,aAAL,CAAmBV,QAAnB,EAA6BC,WAAW,CAACe,MAAzC,EAAiDd,gBAAjD,CAArB,CAFwF,CAIxF;AACA;;AACA,cAAID,WAAW,CAACK,SAAhB,EAA2B;AACzBS,0BAAc,GAAG,KAAKP,SAAL,CAAeO,cAAf,EAA+Bd,WAAW,CAACK,SAA3C,EAAsDL,WAAW,CAACM,SAAlE,CAAjB;AACD,WARuF,CASxF;AAEA;AACA;;;AACA,cAAMU,UAAU,GAAGF,cAAc,CAACG,MAAlC;AACA,cAAMC,UAAU,GAAGlB,WAAW,CAACmB,UAAZ,GAAyBnB,WAAW,CAACoB,QAAxD;AACAN,wBAAc,GAAGA,cAAc,CAACO,KAAf,CAAqBH,UAArB,EAAiCA,UAAU,GAAGlB,WAAW,CAACoB,QAA1D,CAAjB,CAfwF,CAgBxF;;AAEA,cAAME,YAAY,GAAG,IAAI,mFAAJ,EAArB;AACAA,sBAAY,CAACC,KAAb,GAAqBT,cAArB;AACAQ,sBAAY,CAACN,UAAb,GAA0BA,UAA1B;AACA,iBAAOM,YAAP;AACD;AAED;;;;;;;;;kCAMUlB,a,EAAuE;AAAA,cAAjDC,SAAiD,uEAA7B,EAA6B;AAAA,cAAzBC,SAAyB,uEAAL,KAAK;;AAC/E,cAAI,CAACD,SAAL,EAAgB;AACd,mBAAOD,aAAP;AACD;;AAED,cAAIoB,MAAM,GAAU,EAApB;AACAA,gBAAM,GAAGpB,aAAa,CAACqB,IAAd,CAAmB,UAACC,CAAD,EAAIC,CAAJ,EAAU;AACpC,gBAAID,CAAC,CAACrB,SAAD,CAAD,GAAesB,CAAC,CAACtB,SAAD,CAApB,EAAiC;AAC/B,qBAAOC,SAAS,KAAK,KAAd,GAAsB,CAAC,CAAvB,GAA2B,CAAlC;AACD;;AAED,gBAAIoB,CAAC,CAACrB,SAAD,CAAD,GAAesB,CAAC,CAACtB,SAAD,CAApB,EAAiC;AAC/B,qBAAOC,SAAS,KAAK,KAAd,GAAsB,CAAtB,GAA0B,CAAC,CAAlC;AACD;;AAED,mBAAO,CAAP;AACD,WAVQ,CAAT;AAWA,iBAAOkB,MAAP;AACD;AAED;;;;;;;;;;sCAOcpB,a,EAAsBI,Q,EAA8C;AAAA,cAA/BP,gBAA+B,uEAAF,EAAE;AAChF,cAAMuB,MAAM,GAAU,EAAtB;AACA,cAAII,YAAY,GAAU,EAA1B;AACA,cAAMC,OAAO,GAAa,EAA1B;AACA,cAAIC,YAAY,GAAa,EAA7B;AACA,cAAIC,QAAQ,GAAG,KAAf;AAEA9B,0BAAgB,CAAC/B,OAAjB,CAAyB,UAAA8D,IAAI,EAAI;AAC/B,gBAAIA,IAAI,IAAIxB,QAAZ,EAAsB;AACpBJ,2BAAa,CAAClC,OAAd,CAAsB,UAAC+D,OAAD,EAAUC,KAAV,EAAoB;AACxC,oBAAID,OAAO,CAACD,IAAD,CAAP,KAAkBxB,QAAQ,CAACwB,IAAD,CAA9B,EAAsC;AACpCF,8BAAY,CAAC7D,IAAb,CAAkBiE,KAAlB;AACD;AACF,eAJD;AAKAJ,0BAAY,CAAC5D,OAAb,CAAqB,UAAA+D,OAAO,EAAI;AAC9BL,4BAAY,CAAC3D,IAAb,CAAkBmC,aAAa,CAAC6B,OAAD,CAA/B;AACD,eAFD;AAGA7B,2BAAa,GAAGwB,YAAY,CAACP,KAAb,CAAmB,CAAnB,CAAhB;AACAO,0BAAY,GAAG,GAAGP,KAAH,CAAS,CAAT,CAAf;AACAS,0BAAY,GAAG,GAAGT,KAAH,CAAS,CAAT,CAAf;AACD;AACF,WAdD;AAgBA3F,gBAAM,CAACV,IAAP,CAAYwF,QAAZ,EAAsBtC,OAAtB,CAA8B,UAAAiE,GAAG,EAAI;AACnC,gBAAMC,UAAU,GAAG5B,QAAQ,CAAC2B,GAAD,CAAR,CAAcE,QAAd,GAAyBC,IAAzB,GAAgCC,WAAhC,EAAnB;;AACA,gBAAIJ,GAAG,IAAI,CAAClC,gBAAgB,CAACuC,IAAjB,CAAsB,UAAA3H,CAAC;AAAA,qBAAIA,CAAC,KAAKsH,GAAV;AAAA,aAAvB,CAAR,IAAiDC,UAArD,EAAiE;AAC/DL,sBAAQ,GAAG,IAAX;;AACA,kBAAI;AACF3B,6BAAa,CAAClC,OAAd,CAAsB,UAAC+D,OAAD,EAAUC,KAAV,EAAoB;AACxC,sBAAID,OAAO,CAACE,GAAD,CAAX,EAAkB;AAChB,wBAAMM,GAAG,GAAGR,OAAO,CAACE,GAAD,CAAP,CAAaE,QAAb,GAAwBC,IAAxB,GAA+BC,WAA/B,EAAZ;;AACA,wBAAIE,GAAG,CAACC,OAAJ,CAAYN,UAAZ,IAA0B,CAAC,CAA3B,IAAgCP,OAAO,CAACa,OAAR,CAAgBR,KAAhB,MAA2B,CAAC,CAAhE,EAAmE;AACjEL,6BAAO,CAAC5D,IAAR,CAAaiE,KAAb;AACD;AACF;AACF,iBAPD;AAQD,eATD,CASE,OAAOS,EAAP,EAAW;AACXC,uBAAO,CAACC,GAAR,CAAYF,EAAZ,EAAgBR,GAAhB,EAAqBC,UAArB;AACD;AACF;AACF,WAjBD;;AAmBA,cAAI,CAACL,QAAL,EAAe;AACb,mBAAO3B,aAAP;AACD;;AAEDyB,iBAAO,CAAC3D,OAAR,CAAgB,UAAA4E,EAAE,EAAI;AACpBtB,kBAAM,CAACvD,IAAP,CAAYmC,aAAa,CAAC0C,EAAD,CAAzB;AACD,WAFD;AAIA,iBAAOtB,MAAP;AACD;;;;;;;;;;;;;;;;;;;;;AC1HH;AAAA;;;AAAA;AAAA;AAAA;;QAAauB,gB,GAQX;AACA,8BAAYhC,MAAZ,EAAsF;AAAA,UAAlET,SAAkE,uEAAtD,KAAsD;AAAA,UAA/CD,SAA+C,uEAAnC,EAAmC;AAAA,UAA/Bc,UAA+B,uEAAlB,CAAkB;AAAA,UAAfC,QAAe,uEAAJ,EAAI;;AAAA;;AACpF,WAAKL,MAAL,GAAcA,MAAd;AACA,WAAKT,SAAL,GAAiBA,SAAjB;AACA,WAAKD,SAAL,GAAiBA,SAAjB;AACA,WAAKc,UAAL,GAAkBA,UAAlB;AACA,WAAKC,QAAL,GAAgBA,QAAhB;AACD,K;;;;;;;;;;;;;;;;;ACfH;AAAA;;;AAAA;AAAA;AAAA;;QAAa4B,iB,GAMX,6BAAkF;AAAA,UAAtEzB,KAAsE,uEAAvD,EAAuD;AAAA,UAAnDP,UAAmD,uEAA9B,CAA8B;AAAA,UAA3BiC,YAA2B,uEAAJ,EAAI;;AAAA;;AAChF,WAAK1B,KAAL,GAAaA,KAAb;AACA,WAAKP,UAAL,GAAkBA,UAAlB;AACD,K;;;;;;;;;;;;;;;;;ACPH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAOakC,gB;;;;;;;;AACX;;;;0CAIkBlD,W,EAAW;AAC3B,iBAAO,IAAI,+DAAJ,GACJmD,GADI,CACA,gBADA,EACkBnD,WAAW,CAACe,MAD9B,EAEJoC,GAFI,CAEA,WAFA,EAEanD,WAAW,CAACM,SAFzB,EAGJ6C,GAHI,CAGA,WAHA,EAGanD,WAAW,CAACK,SAHzB,EAIJ8C,GAJI,CAIA,YAJA,EAIcnD,WAAW,CAACmB,UAAZ,CAAuBkB,QAAvB,EAJd,EAKJc,GALI,CAKA,UALA,EAKYnD,WAAW,CAACoB,QAAZ,CAAqBiB,QAArB,EALZ,CAAP;AAMD;AAED;;;;;;yCAGc;AACZ,cAAIb,MAAM,GAAG,IAAI,gEAAJ,EAAb;AACAA,gBAAM,GAAGA,MAAM,CAAC2B,GAAP,CAAW,cAAX,EAA2B,kBAA3B,CAAT;AACA,iBAAO3B,MAAP;AACD;;;mCAEUzB,Q,EAAiBC,W,EAA8D;AAAA,cAA/BC,gBAA+B,uEAAF,EAAE;AACxF,cAAMC,aAAa,GAAG,IAAI,wFAAJ,EAAtB;AACA,iBAAOA,aAAa,CAACC,UAAd,CAAyBJ,QAAzB,EAAmCC,WAAnC,EAAgDC,gBAAhD,CAAP;AACD;;;kCAESG,a,EAAuE;AAAA,cAAjDC,SAAiD,uEAA7B,EAA6B;AAAA,cAAzBC,SAAyB,uEAAL,KAAK;AAC/E,cAAMJ,aAAa,GAAG,IAAI,wFAAJ,EAAtB;AACA,iBAAOA,aAAa,CAACK,SAAd,CAAwBH,aAAxB,EAAuCC,SAAvC,EAAkDC,SAAlD,CAAP;AACD;;;sCAEaF,a,EAAsBI,Q,EAA8C;AAAA,cAA/BP,gBAA+B,uEAAF,EAAE;AAChF,cAAMC,aAAa,GAAG,IAAI,wFAAJ,EAAtB;AACA,iBAAOA,aAAa,CAACO,aAAd,CAA4BL,aAA5B,EAA2CI,QAA3C,EAAqDP,gBAArD,CAAP;AACD;;;;;;;;;;;;;;;;;;;;;AC3CH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,oD,CACA;;AAQA;;;;;QAIamD,gB;AACX,gCACU1G,KADV,EAEU2G,IAFV,EAGUC,IAHV,EAG2B;AAAA;;AAFjB,aAAA5G,KAAA,GAAAA,KAAA;AACA,aAAA2G,IAAA,GAAAA,IAAA;AACA,aAAAC,IAAA,GAAAA,IAAA;AAGZ,aAAAC,iBAAA,GAA6B,KAA7B;AACA,aAAAC,YAAA,GAAwC,IAAI,oDAAJ,CAA4B,IAA5B,CAAxC;AAHI;;;;iCAKK/I,G,EAAqB;AAC1B;AACA,cAAIgJ,KAAK,GAAG,KAAKH,IAAL,CAAUI,QAAV,EAAZ;AACA,iBAAOD,KAAK,GAAGhJ,GAAG,CAACkJ,KAAJ,CAAU;AACrBC,sBAAU,EAAE;AACRC,2BAAa,EAAE,YAAYJ;AADnB;AADS,WAAV,CAAH,GAIPhJ,GAJL;AAKH;;;kCAESA,G,EAAuBqJ,I,EAAiB;AAAA;;AAC9C,iBAAOA,IAAI,CAACC,MAAL,CAAY,KAAKC,QAAL,CAAcvJ,GAAd,CAAZ,EAAgCkF,IAAhC,CACH,kEAAW,UAAAsE,KAAK,EAAI;AAChB,gBAAIA,KAAK,YAAY,sEAArB,EAAwC;AACpC,sBAA4BA,KAAM,CAACC,MAAnC;AACI,qBAAK,GAAL;AACI,yBAAO,MAAI,CAACC,cAAL,CAAoBF,KAApB,CAAP;;AACJ,qBAAK,GAAL;AACIrB,yBAAO,CAACC,GAAR,CAAY,YAAZ,EAA0BoB,KAA1B;AACA,yBAAO,MAAI,CAACG,cAAL,CAAoB3J,GAApB,EAAyBqJ,IAAzB,EAA+BG,KAA/B,CAAP;;AACJ;AACI,yBAAO,wDAAWA,KAAX,CAAP;AAPR;AASH,aAVD,MAUO;AACH,qBAAO,wDAAWA,KAAX,CAAP;AACH;AACJ,WAdD,CADG,CAAP;AAiBH;;;uCAEcA,K,EAAO;AAClB,cACIA,KAAK,IACLA,KAAK,CAACC,MAAN,KAAiB,GAFrB,EAGE;AACE;AACA,mBAAO,KAAKG,UAAL,CAAgBJ,KAAhB,CAAP;AACH;;AAED,iBAAO,wDAAWA,KAAX,CAAP;AACH;;;uCAEcxJ,G,EAAuBqJ,I,EAAmBG,K,EAAO;AAE9D,cAAIA,KAAK,IACPA,KAAK,CAACC,MAAN,KAAiB,GADnB,EACwB;AACpB,mBAAO,KAAKG,UAAL,CAAgBJ,KAAhB,CAAP;AACD;;AAGH,iBAAO,wDAAWA,KAAX,CAAP,CAR8D,CAS5D;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACH;;;mCAEUA,K,EAAO;AACdrB,iBAAO,CAACC,GAAR,CAAY,aAAZ;AACA,eAAKnG,KAAL,CAAW4H,QAAX,CAAoB,wFAApB;AACA,iBAAO,wDAAWL,KAAX,CAAP;AACH;;;;;;;;;;;;;;;;;;;;;AChHD;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,sD,CAAA;;;AAQA,QAAYM,WAAZ;;AAAA,eAAYA,WAAZ,EAAuB;AACrB;AACA;AACA;AACA;AACD,KALD,EAAYA,WAAW,KAAXA,WAAW,MAAvB;;QAQaC,kB;AACX;;;;;;AAMA,kCAAoBC,QAApB,EACoBC,MADpB,EACuC;AAAA;;AADnB,aAAAD,QAAA,GAAAA,QAAA;AACA,aAAAC,MAAA,GAAAA,MAAA;AACnB;AAED;;;;;;;;;;;;;;;+CAYEC,O,EAM6C;AAAA,cAL7CC,IAK6C,uEALzBL,WAAW,CAACM,MAKa;AAAA,cAJ7CC,QAI6C,uEAJ1B,KAI0B;AAAA,cAH7CC,eAG6C,uEAHlB,IAGkB;AAAA,cAF7CC,cAE6C,uEAFnB,IAEmB;AAAA,cAD7CC,kBAC6C,uEADhB,IACgB;AAAA,cAA7CC,gBAA6C,uEAAR,QAAQ;AAE7C,cAAMC,IAAI,GAAG;AACXR,mBAAO,EAAPA,OADW;AAEXF,oBAAQ,EAAE,KAAKA,QAFJ;AAGXM,2BAAe,EAAfA,eAHW;AAIXC,0BAAc,EAAdA,cAJW;AAKXC,8BAAkB,EAAlBA,kBALW;AAMXC,4BAAgB,EAAhBA,gBANW;AAOXN,gBAAI,EAAJA,IAPW;AAQXQ,kBAAM,EAAE;AARG,WAAb;AAUA,iBAAO,KAAKX,QAAL,CAAcY,iBAAd,CAAgC,wFAAhC,EAA6D;AAClEP,oBAAQ,EAARA,QADkE;AAElEK,gBAAI,EAAJA,IAFkE;AAGlED,4BAAgB,EAAhBA;AAHkE,WAA7D,CAAP;AAKD;AAED;;;;;;;;;;wCAO0F;AAAA,cAA5EvI,KAA4E,uEAA5D,EAA4D;AAAA,cAAxD2I,WAAwD,uEAAlC,EAAkC;AAAA,cAA9BC,eAA8B,uEAAJ,EAAI;AACxF,iBAAO,KAAKb,MAAL,CAAYc,IAAZ,CAAiB,wFAAjB,EAA8C;AACnDL,gBAAI,EAAE;AAACxI,mBAAK,EAALA,KAAD;AAAQ2I,yBAAW,EAAXA,WAAR;AAAqBC,6BAAe,EAAfA;AAArB,aAD6C;AAEnDpI,iBAAK,EAAE;AAF4C,WAA9C,CAAP;AAID;AAED;;;;;;;;sCAKcgI,I,EAAM;AAClB,iBAAO,KAAKT,MAAL,CAAYc,IAAZ,CAAiB,uFAAjB,EAA6C;AAClDL,gBAAI,EAAJA,IADkD;AAElDhI,iBAAK,EAAE;AAF2C,WAA7C,CAAP;AAID;AAED;;;;;;;;;;gDAOwBR,K,EAAO8I,Q,EAAUC,Q,EAAU;AACjD,iBAAO,KAAKhB,MAAL,CAAYc,IAAZ,CAAiB,wFAAjB,EAA8C;AACnDL,gBAAI,EAAE;AAACxI,mBAAK,EAALA,KAAD;AAAQ8I,sBAAQ,EAARA,QAAR;AAAkBC,sBAAQ,EAARA;AAAlB,aAD6C;AAEnDvI,iBAAK,EAAE;AAF4C,WAA9C,CAAP;AAID;;;;;;;;;;;;;;;;;;;;;AC1GH;AAAA;;;AAAA;AAAA;AAAA;;AAAA,QAAYwI,KAAZ;;AAAA,eAAYA,KAAZ,EAAiB;AACf;AACD,KAFD,EAAYA,KAAK,KAALA,KAAK,MAAjB;;;;;;;;;;;;;;;;;ACIA;AAAA;;;AAAA;AAAA;AAAA;;QAAaC,iB;;;;;;;;AACX;;;;;kCAKUC,K,EAAe;AACvB,cAAI,KAAKC,QAAL,CAAcD,KAAd,CAAJ,EAA0B;AACxB,mBAAO,WAAIA,KAAJ,EAAYxE,KAAZ,CAAkB,CAAC,CAAnB,CAAP;AACD,WAFD,MAEO;AACL,mBAAO,EAAP;AACD;AACF;AAED;;;;;;;;iCAKSwE,K,EAAU;AACjB,iBAAO,CAACE,KAAK,CAAC,KAAKC,SAAL,CAAeH,KAAf,CAAD,CAAb;AACD;AAED;;;;;;;;kCAKUA,K,EAAU;AAClB,iBAAOI,QAAQ,WAAIJ,KAAJ,GAAa,EAAb,CAAf;AACD;AAED;;;;;;;;mCAKWK,I,EAAU;AACnB,cAAMC,KAAK,GAAGD,IAAI,CAACE,QAAL,KAAkB,CAAhC;AACA,cAAMC,GAAG,GAAGH,IAAI,CAACI,OAAL,EAAZ;AACA,cAAMC,IAAI,GAAGL,IAAI,CAACM,WAAL,EAAb;;AACA,cAAIN,IAAJ,EAAU;AACR,6BAAUC,KAAV,cAAmBE,GAAnB,cAA0BE,IAA1B;AACD;;AAED,iBAAO,EAAP;AACD;AAED;;;;;;;;yCAKiBL,I,EAAS;AACxB,cAAIO,UAAU,GAAG,EAAjB;;AACA,cAAIP,IAAJ,EAAU;AACRO,sBAAU,IAAI,KAAKX,QAAL,CAAcI,IAAI,CAACC,KAAnB,IAA4B,KAAKO,SAAL,CAAeR,IAAI,CAACC,KAApB,IAA6B,GAAzD,GAA+D,EAA7E;AACAM,sBAAU,IAAI,KAAKX,QAAL,CAAcI,IAAI,CAACG,GAAnB,IAA0B,KAAKK,SAAL,CAAeR,IAAI,CAACG,GAApB,IAA2B,GAArD,GAA2D,EAAzE;AAEAI,sBAAU,IAAIP,IAAI,CAACK,IAAnB;AACD;;AACD,iBAAOE,UAAP;AACD;AAED;;;;;;;;mDAK2BE,S,EAAiB;AAC1C,cAAIA,SAAS,IAAIA,SAAS,CAAC1F,MAAV,GAAmB,CAApC,EAAuC;AACrC,gBAAM2F,SAAS,GAAGD,SAAS,CAACrE,IAAV,GAAiBuE,KAAjB,CAAuB,GAAvB,CAAlB;AACA,mBAAO,CACL;AACEN,kBAAI,EAAE,KAAKP,SAAL,CAAeY,SAAS,CAAC,CAAD,CAAxB,CADR;AAEET,mBAAK,EAAE,KAAKH,SAAL,CAAeY,SAAS,CAAC,CAAD,CAAxB,CAFT;AAGEP,iBAAG,EAAE,KAAKL,SAAL,CAAeY,SAAS,CAAC,CAAD,CAAxB;AAHP,aADK,CAAP;AAOD;;AAED,cAAMV,IAAI,GAAG,IAAIY,IAAJ,EAAb;AACA,iBAAO,CACL;AACEP,gBAAI,EAAEL,IAAI,CAACM,WAAL,EADR;AAEEL,iBAAK,EAAED,IAAI,CAACE,QAAL,KAAkB,CAF3B;AAGEC,eAAG,EAAEH,IAAI,CAACa,MAAL;AAHP,WADK,CAAP;AAOD;AAED;;;;;;;;4CAKwC;AAAA,cAAtBJ,SAAsB,uEAAF,EAAE;;AACtC,cAAIA,SAAS,IAAIA,SAAS,CAAC1F,MAAV,GAAmB,CAApC,EAAuC;AACrC,gBAAM2F,SAAS,GAAGD,SAAS,CAACrE,IAAV,GAAiBuE,KAAjB,CAAuB,GAAvB,CAAlB;AACA,gBAAMN,IAAI,GAAG,KAAKP,SAAL,CAAeY,SAAS,CAAC,CAAD,CAAxB,CAAb;AACA,gBAAMT,KAAK,GAAG,KAAKH,SAAL,CAAeY,SAAS,CAAC,CAAD,CAAxB,CAAd;AACA,gBAAMP,GAAG,GAAG,KAAKL,SAAL,CAAeY,SAAS,CAAC,CAAD,CAAxB,CAAZ,CAJqC,CAKrC;;AACA,gBAAIpF,MAAM,GAAG,IAAIsF,IAAJ,EAAb;AACAtF,kBAAM,CAACwF,OAAP,CAAeX,GAAf;AACA7E,kBAAM,CAACyF,QAAP,CAAgBd,KAAK,GAAG,CAAxB;AACA3E,kBAAM,CAAC0F,WAAP,CAAmBX,IAAnB;AACA,mBAAO/E,MAAP;AACD;;AAED,iBAAO,IAAIsF,IAAJ,EAAP;AACD;AAGD;;;;;;;gDAI6C;AAAA,cAAvBZ,IAAuB,uEAAV,IAAIY,IAAJ,EAAU;AAC3C,cAAMX,KAAK,GAAGD,IAAI,CAACE,QAAL,KAAkB,CAAhC;AACA,cAAMG,IAAI,GAAGL,IAAI,CAACM,WAAL,EAAb;AACA,cAAMW,SAAS,GAAGjB,IAAI,CAACI,OAAL,EAAlB;AACA,2BAAUH,KAAV,cAAmBgB,SAAnB,cAAgCZ,IAAhC;AACD;;;;;;;;;;;;;;;;;;;;;AC7HH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAKA;;;;;;QAOaa,uB;AAMX;;;;;;AAMA,uCACUC,EADV,EAEU9K,MAFV,EAGU+K,gBAHV,EAG8C;AAAA;;AAFpC,aAAAD,EAAA,GAAAA,EAAA;AACA,aAAA9K,MAAA,GAAAA,MAAA;AACA,aAAA+K,gBAAA,GAAAA,gBAAA;AACT;AAED;;;;AAIA;;;;;;;mCAGQ;AAAA;;AACN;AACA,eAAKC,WAAL,GAFM,CAGN;;AACA,eAAKjK,MAAL,GAAc,KAAKf,MAAL,CAAYe,MAAZ,CAAmBC,SAAnB,CAA6B,UAAAC,KAAK,EAAI;AAClD,gBAAIA,KAAK,YAAY,6DAArB,EAAoC;AAClC,oBAAI,CAACgK,MAAL,CAAYC,IAAZ;AACD;AACF,WAJa,CAAd;AAKD;AAED;;;;;;sCAGW;AACT,eAAKnK,MAAL,CAAYV,WAAZ;AACA,eAAK4K,MAAL,CAAYE,OAAZ;AACD;AAED;;;;;;sCAGc;AACZ,eAAKF,MAAL,GAAc,KAAKF,gBAAL,CACXK,KADW,CACL,CACL;AACA;AACA;AACA,4EAAM;AACJC,qBAAS,EAAE,iBADP;AAEJC,mBAAO,EAAE,CAFL;AAGJC,oBAAQ,EAAE;AAHN,WAAN,CAJK,EASL,oEACE,kBADF,EAEE,kEAAM;AAACF,qBAAS,EAAE,gBAAZ;AAA8BC,mBAAO,EAAE;AAAvC,WAAN,CAFF,CATK,CADK,EAeXE,MAfW,CAeJ,KAAKV,EAAL,CAAQW,aAfJ,CAAd;AAgBD;;;;;;;;;;;;;;;;;;;;;AC5EH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA,wI,CAAA;;AASA;;;;;QAOaC,e;AAGX;;;;AAIA,+BAAoBZ,EAApB,EAAoC;AAAA;;AAAhB,aAAAA,EAAA,GAAAA,EAAA;AANX,aAAAa,OAAA,GAAyB,EAAzB;AAOR;AAED;;;;AAIA;;;;;;;0CAGe;AACb,eAAKC,YAAL;AAEA,cAAMC,MAAM,GAAG,IAAIC,QAAJ,CAAa,KAAKhB,EAAL,CAAQW,aAArB,EAAoC,KAAKE,OAAzC,CAAf;AACD;AAED;;;;;;uCAGuB;AACrB,eAAKA,OAAL,GAAe;AACbI,mBAAO,EAAE;AACPC,qBAAO,EAAE,IADF;AAEPC,oBAAM,EAAE;AAFD;AADI,WAAf;;AAOA,cAAI,KAAKnB,EAAL,CAAQW,aAAR,CAAsBS,YAAtB,CAAmC,sBAAnC,MAA+D,GAAnE,EAAwE;AACtE,4DAAe,KAAKP,OAApB,EAA6B,UAA7B,EAAyC;AACvCK,qBAAO,EAAE;AACPG,kBAAE,EAAE;AADG,eAD8B;AAIvCF,oBAAM,EAAE;AACNE,kBAAE,EAAE;AADE;AAJ+B,aAAzC;AAQA,4DAAe,KAAKR,OAApB,EAA6B,QAA7B,EAAuC;AACrCK,qBAAO,EAAE,GAD4B;AAErCC,oBAAM,EAAE;AAF6B,aAAvC;AAID;AACF;;;;;;;;;;;;;;;;;;;;;AChEH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA,wI,CAAA;;AAUA;;;;;QAOaG,a;AAMX;;;;AAIA,6BAAoBtB,EAApB,EAAoC;AAAA;;AAAhB,aAAAA,EAAA,GAAAA,EAAA;AACnB;AAED;;;;AAIA;;;;;;;0CAGe;AACb,eAAKc,YAAL;AACA,eAAKS,IAAL,GAAY,IAAIC,MAAJ,CAAW,KAAKxB,EAAL,CAAQW,aAAnB,EAAkC,KAAKE,OAAvC,CAAZ;AACD;AAED;;;;;;kCAGU;AACR,iBAAO,KAAKU,IAAZ;AACD;AAED;;;;;;uCAGuB;AACrB;AACA,cAAIE,eAAe,GAAG,WAAtB;;AACA,cAAI,KAAKzB,EAAL,CAAQW,aAAR,CAAsBS,YAAtB,CAAmC,oBAAnC,MAA6D,GAAjE,EAAsE;AACpEK,2BAAe,GAAG,UAAlB;AACD;;AAED,cAAI,OAAO,gDAAe,KAAKZ,OAApB,EAA6B,iBAA7B,CAAP,KAA2D,QAA/D,EAAyE;AACvE,4DAAe,KAAKA,OAApB,EAA6B,iBAA7B,EAAgDY,eAAhD;AACD;AACF;;;;;;;;;;;;;;;;;;;;;ACrDH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;;;QAOaC,kB;AAMX;;;;AAIA,kCAAoB1B,EAApB,EAAoC;AAAA;;AAAhB,aAAAA,EAAA,GAAAA,EAAA;AACnB;AAED;;;;AAIA;;;;;;;0CAGe;AAAA;;AACbzJ,oBAAU,CAAC,YAAM;AACf,kBAAI,CAACoL,SAAL,GAAiB,IAAIC,WAAJ,CAAgB,MAAI,CAAC5B,EAAL,CAAQW,aAAxB,EAAuC,MAAI,CAACE,OAA5C,CAAjB;AACD,WAFS,CAAV;AAGD;AAED;;;;;;uCAGe;AACb,iBAAO,KAAKc,SAAZ;AACD;;;;;;;;;;;;;;;;;;;;;ACzCH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;;;QAMaE,kB;AAMX;;;;AAIA,kCAAoB7B,EAApB,EAAoC;AAAA;;AAAhB,aAAAA,EAAA,GAAAA,EAAA;AACnB;AAED;;;;AAIA;;;;;;;0CAGe;AACb,eAAK8B,SAAL,GAAiB,IAAIC,WAAJ,CAAgB,KAAK/B,EAAL,CAAQW,aAAxB,EAAuC,KAAKE,OAA5C,CAAjB;AACD;AAED;;;;;;uCAGe;AACb,iBAAO,KAAKiB,SAAZ;AACD;;;;;;;;;;;;;;;;;;;;;ACzCH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA,sK,CAAA;;AAgBA;;;;;QAOaE,uB;AAMX;;;;;;AAMA,uCAAoBhC,EAApB,EAA4C7K,mBAA5C,EAAsF;AAAA;;AAAlE,aAAA6K,EAAA,GAAAA,EAAA;AAAwB,aAAA7K,mBAAA,GAAAA,mBAAA;AAC3C;AAED;;;;AAIA;;;;;;;0CAGe;AACb,eAAK8M,SAAL,CAAe,KAAKjC,EAAL,CAAQW,aAAvB,EACI,KAAKE,OAAL,CAAa/C,IADjB,EAEI,KAAK+C,OAAL,CAAaqB,KAFjB,EAGI,KAAKrB,OAAL,CAAasB,MAHjB,EAII,KAAKtB,OAAL,CAAauB,IAJjB,EAKI,KAAKvB,OAAL,CAAawB,OALjB;AAMD;AAED;;;;;;;;;;;;kCASUC,G,EAAKxE,I,EAAMoE,K,EAAOC,M,EAAQC,I,EAAMC,O,EAAS;AACjD,cAAIC,GAAG,CAAC1I,MAAJ,KAAe,CAAnB,EAAsB;AACpB;AACD,WAHgD,CAKjD;;;AACAwI,cAAI,GAAI,OAAOA,IAAP,KAAgB,WAAjB,GAAgCA,IAAhC,GAAuC,KAA9C;AACAC,iBAAO,GAAI,OAAOA,OAAP,KAAmB,WAApB,GAAmCA,OAAnC,GAA6C,KAAvD;AAEA,cAAM1M,MAAM,GAAG;AACb4H,gBAAI,EAAE,MADO;AAEbO,gBAAI,EAAE;AACJyE,oBAAM,EAAE,CAAC,SAAD,EAAY,UAAZ,EAAwB,OAAxB,EAAiC,OAAjC,EAA0C,KAA1C,EAAiD,MAAjD,EAAyD,MAAzD,EAAiE,QAAjE,EAA2E,WAA3E,EAAwF,SAAxF,CADJ;AAEJC,sBAAQ,EAAE,CAAC;AACTC,qBAAK,EAAE,EADE;AAETC,2BAAW,EAAER,KAFJ;AAGTS,2BAAW,EAAER,MAHJ;AAKTS,gCAAgB,EAAE,CALT;AAMTC,qCAAqB,EAAE,EANd;AAOTC,oCAAoB,EAAE,iEAAMC,OAAN,CAAcb,KAAd,CAAoB,SAApB,EAA+Bc,KAA/B,CAAqC,CAArC,EAAwCC,SAAxC,EAPb;AAQTC,gCAAgB,EAAE,iEAAMH,OAAN,CAAcb,KAAd,CAAoB,SAApB,EAA+Bc,KAA/B,CAAqC,CAArC,EAAwCC,SAAxC,EART;AASTE,yCAAyB,EAAE,KAAKhO,mBAAL,CAAyBO,SAAzB,CAAmC,qBAAnC,CATlB;AAUT0N,qCAAqB,EAAE,iEAAML,OAAN,CAAcb,KAAd,CAAoB,SAApB,EAA+Bc,KAA/B,CAAqC,GAArC,EAA0CC,SAA1C,EAVd;AAWTb,oBAAI,EAAE,KAXG;AAYTtE,oBAAI,EAAJA;AAZS,eAAD;AAFN,aAFO;AAmBb+C,mBAAO,EAAE;AACPvL,mBAAK,EAAE;AACL+N,uBAAO,EAAE;AADJ,eADA;AAIPC,sBAAQ,EAAE;AACRC,uBAAO,EAAE,KADD;AAERC,yBAAS,EAAE,KAFH;AAGRC,oBAAI,EAAE,SAHE;AAIRC,wBAAQ,EAAE,EAJF;AAKRC,wBAAQ,EAAE,EALF;AAMRC,4BAAY,EAAE;AANN,eAJH;AAYPC,oBAAM,EAAE;AACNR,uBAAO,EAAE,KADH;AAENd,sBAAM,EAAE;AACNuB,+BAAa,EAAE;AADT;AAFF,eAZD;AAkBPC,wBAAU,EAAE,IAlBL;AAmBPC,iCAAmB,EAAE,IAnBd;AAoBPC,mBAAK,EAAE;AACLR,oBAAI,EAAE;AADD,eApBA;AAuBPS,oBAAM,EAAE;AACNC,qBAAK,EAAE,CAAC;AACNd,yBAAO,EAAE,KADH;AAENe,2BAAS,EAAE,KAFL;AAGNC,4BAAU,EAAE;AACVhB,2BAAO,EAAE,IADC;AAEViB,+BAAW,EAAE;AAFH;AAHN,iBAAD,CADD;AASNC,qBAAK,EAAE,CAAC;AACNlB,yBAAO,EAAE,KADH;AAENe,2BAAS,EAAE,KAFL;AAGNC,4BAAU,EAAE;AACVhB,2BAAO,EAAE,IADC;AAEViB,+BAAW,EAAE;AAFH,mBAHN;AAONE,uBAAK,EAAE;AACLC,+BAAW,EAAE;AADR;AAPD,iBAAD;AATD,eAvBD;AA6CPC,sBAAQ,EAAE;AACRC,qBAAK,EAAE;AACLC,wBAAM,EAAE,CADH;AAELjC,6BAAW,EAAE;AAFR;AADC,eA7CH;AAoDPkC,oBAAM,EAAE;AACNC,uBAAO,EAAE;AACPC,sBAAI,EAAE,CADC;AAEPC,uBAAK,EAAE,EAFA;AAGPC,qBAAG,EAAE,CAHE;AAIPC,wBAAM,EAAE;AAJD;AADH;AApDD;AAnBI,WAAf;AAkFA,eAAKC,KAAL,GAAa,IAAI,gEAAJ,CAAU7C,GAAV,EAAe3M,MAAf,CAAb;AACD;AAED;;;;;;mCAGW;AACT,iBAAO,KAAKwP,KAAZ;AACD;;;;;;;;;;;;;;;;;;;;;ACpKH;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;;QAsCaC,e;AA0BX,+BAAoBC,aAApB,EAA4EC,UAA5E,EAAgG;AAAA;;AAAA;;AAA5E,aAAAD,aAAA,GAAAA,aAAA;AAAwD,aAAAC,UAAA,GAAAA,UAAA;AAxB5E,aAAAC,UAAA,GAAa,KAAb;AACA,aAAAC,UAAA,GAAa,IAAI,oDAAJ,CAAoB,CAApB,CAAb;AACA,aAAAC,aAAA,GAAgB,IAAI,oDAAJ,CAAoB,CAApB,CAAhB;AACA,aAAAC,OAAA,GAAU,IAAI,oDAAJ,CAAoB,IAApB,CAAV;AAOgC,aAAAC,MAAA,GAAS,KAAT;AACO,aAAAC,eAAA,GAAkB,KAAlB;AACvC;;;;;AAIQ,aAAAC,OAAA,GAAU,IAAI,4CAAJ,EAAV;AAEA,aAAAC,OAAA,GAAU,IAAI,4CAAJ,EAAV;AAEA,aAAAC,oBAAA,GAAuB,IAAI,oDAAJ,CAA0BC,SAA1B,CAAvB;AAEA,aAAAC,kBAAA,GAAqB,IAAI,4CAAJ,EAArB;;AAqHR,aAAAC,QAAA,GAAW,UAAC1S,CAAD,EAAc;AACvB,cAAM2S,iBAAiB,GAAI3S,CAAC,CAAC4S,MAAF,CAAyBtE,SAAzB,IAAsCzL,MAAM,CAACgQ,WAAxE;;AACA,gBAAI,CAACR,OAAL,CAAapJ,IAAb,CAAkB0J,iBAAlB;AACD,SAHD;AAjHE;;;AACA,aAAKG,gBAAL,GAAwB,KAAKT,OAAL,CACrBvN,IADqB,CAEpB,oEAAa,CAAb,EAAgB,qFAAhB,CAFoB,EAGpB,8DAHoB,CAAxB;AAMA;;AACA,aAAKiO,gBAAL,GAAwB,KAAKT,OAAL,CACrBxN,IADqB,CAEpB,oEAAa,CAAb,EAAgB,qFAAhB,CAFoB,EAGpB;AACA,yEAAU,IAAV,CAJoB,EAKpB,8DALoB,CAAxB;AAQA,aAAKkO,OAAL,GAAe,2DACb,KAAKd,OADQ,EAEb,KAAKY,gBAFQ,EAGb,KAAKd,UAHQ,EAIb,KAAKC,aAJQ,EAKb,KAAKM,oBALQ,EAMb,KAAKQ,gBANQ,EAQZjO,IARY,CASX,8DAAO;AAAA;AAAA,cAAEiL,OAAF;;AAAA,iBAAe,MAAI,CAACkD,YAAL,CAAkBlD,OAAlB,CAAf;AAAA,SAAP,CATW,EAUX,2DAAI;AAAA;AAAA,cAAEA,OAAF;AAAA,cAAW8C,WAAX;AAAA,cAAwBK,SAAxB;AAAA,cAAmCC,YAAnC;;AAAA,iBACF,MAAI,CAACC,eAAL,CAAqB,MAAI,CAACC,uBAAL,EAArB,EAAqDR,WAArD,EAAkEK,SAAlE,EAA6EC,YAA7E,EAA2FpD,OAA3F,CADE;AAAA,SAAJ,CAVW,EAYX,8DAZW,CAAf;AAcD;;;;0CAcc;AAAA;;AACb,eAAKiD,OAAL,CACGlO,IADH,CACQ,iEAAU,KAAK2N,kBAAf,CADR,EAEG/P,SAFH,CAEa,UAAC2G,MAAD;AAAA,mBAAY,MAAI,CAACiK,SAAL,CAAejK,MAAf,CAAZ;AAAA,WAFb;AAGD;;;sCAEiB;AAAA;;AAChB,cAAI,0EAAkB,KAAKyI,UAAvB,CAAJ,EAAwC;AACtC;AACA/O,sBAAU,CAAC,YAAM;AACf,oBAAI,CAACwP,oBAAL,CAA0BtJ,IAA1B,CAA+BuJ,SAA/B;AACD,aAFS,EAEP,CAFO,CAAV;AAGD;AACF;AAGD;;;;;;;;;;;qCAQazC,O,EAAgB;AAE3B,cAAI,CAAC,0EAAkB,KAAK+B,UAAvB,CAAL,EAAyC;AACvC,mBAAO,KAAP;AACD;;AAED,cAAI/B,OAAJ,EAAa;AACX;AACA,iBAAKgC,UAAL,GAAkB,KAAlB;AACA,mBAAO,IAAP;AACD,WAJD,MAIO;AACL,gBAAI,KAAKA,UAAT,EAAqB;AACnB;AACA,qBAAO,KAAP;AACD,aAHD,MAGO;AACL;AACA;AACA;AACA,mBAAKA,UAAL,GAAkB,IAAlB;AACA,qBAAO,IAAP;AACD;AACF;AACF;;;yCAGa;AACZ,cAAI,0EAAkB,KAAKD,UAAvB,CAAJ,EAAwC;AACtC,iBAAKQ,OAAL,CAAarJ,IAAb;AACD;AACF;;;wCAEY;AACX,cAAI,0EAAkB,KAAK6I,UAAvB,CAAJ,EAAwC;AACtC,gBAAMc,MAAM,GAAG,KAAKW,eAAL,EAAf;AACAX,kBAAM,CAACY,gBAAP,CAAwB,QAAxB,EAAkC,KAAKd,QAAvC;AACD;AACF;;;yCAEgB;AACf,cAAI,0EAAkB,KAAKZ,UAAvB,CAAJ,EAAwC;AACtC,gBAAMc,MAAM,GAAG,KAAKW,eAAL,EAAf;AACAX,kBAAM,CAACa,mBAAP,CAA2B,QAA3B,EAAqC,KAAKf,QAA1C;AACD;AACF;;;mCAOO;AACN;AACA,eAAKgB,aAAL;AACD;;;sCAEU;AACT,eAAKjB,kBAAL,CAAwBxJ,IAAxB;AACA,eAAK0K,cAAL;AACD;;;yCAEgBnH,E,EAAe;AAC9B,iBAAOA,EAAE,CAACoH,qBAAH,EAAP;AACD;;;0CAEsB;AAErB,cAAIhB,MAAJ;;AAEA,cAAI,KAAKiB,eAAL,IAAwB,OAAO,KAAKA,eAAZ,KAAgC,QAA5D,EAAsE;AACpEjB,kBAAM,GAAG5P,QAAQ,CAAC8Q,aAAT,CAAuB,KAAKD,eAA5B,CAAT;AACD,WAFD,MAEO,IAAI,KAAKA,eAAL,IAAwB,KAAKA,eAAL,YAAgCE,WAA5D,EAAyE;AAC9EnB,kBAAM,GAAG,KAAKiB,eAAd;AACD,WAFM,MAEA;AACLjB,kBAAM,GAAG/P,MAAT;AACD;;AACD,iBAAO+P,MAAP;AACD;;;wCAEqBoB,Y,EACAnB,W,EACAK,S,EACAC,Y,EACApD,O,EAAgB;AACpC,cAAMkE,mBAAmB,GAAG,KAAKC,gBAAL,CAAsB,KAAKrC,aAAL,CAAmB1E,aAAzC,EAAwDgH,MAApF;AACA,cAAMC,gBAAgB,GAAG,KAAKC,eAAL,IACvBxR,MAAM,CAACgQ,WAAP,GAAqBoB,mBAArB,GAA2Cd,YAA3C,IAA4Da,YAAY,CAACM,cAAb,GAA8BpB,SAD5F;AAEA,iBAAO;AACLqB,oBAAQ,EAAExE,OAAO,IAAI8C,WAAW,GAAGmB,YAAY,CAACQ,OAD3C;AAELJ,4BAAgB,EAAhBA,gBAFK;AAGLjB,wBAAY,EAAZA,YAHK;AAILD,qBAAS,EAATA;AAJK,WAAP;AAMD;AAGD;;;;;;;;;kDAM+B;AAC7B,cAAI,KAAKf,MAAT,EAAiB;AACf,iBAAKsC,YAAL;AACD;;AAED,cAAIH,cAAc,GAAkB,IAApC;;AAEA,cAAI,KAAKD,eAAT,EAA0B;AACxB,gBAAMK,qBAAqB,GAAG,KAAKR,gBAAL,CAAsB,KAAKG,eAA3B,EAA4CF,MAA1E;AACA,gBAAMQ,qBAAqB,GAAGC,WAAW,CAAC,KAAKP,eAAN,CAAX,CAAkCQ,CAAhE;AACAP,0BAAc,GAAGI,qBAAqB,GAAGC,qBAAzC;AACD;;AAED,iBAAO;AAACH,mBAAO,EAAGI,WAAW,CAAC,KAAK/C,aAAL,CAAmB1E,aAApB,CAAX,CAA8C0H,CAA9C,GAAkD,KAAK7C,UAAL,CAAgBhH,KAA7E;AAAqFsJ,0BAAc,EAAdA;AAArF,WAAP;AACD;;;qCAE2F;AAAA,cAAzElC,eAAyE,uEAA9C,KAA8C;AAAA,cAAvCc,SAAuC;AAAA,cAApBC,YAAoB;AAE1F,eAAKf,eAAL,GAAuBA,eAAvB,CAF0F,CAI1F;;AAJ0F,sCAK5D,KAAK8B,gBAAL,CAAsB,KAAKrC,aAAL,CAAmB1E,aAAzC,CAL4D;AAAA,cAKnF7K,KALmF,yBAKnFA,KALmF;AAAA,cAK5E6R,MAL4E,yBAK5EA,MAL4E;AAAA,cAKpE5C,IALoE,yBAKpEA,IALoE;;AAM1F,cAAMuD,MAAM,GAAG1C,eAAe,GAC3B,KAAK8B,gBAAL,CAAsB,KAAKG,eAA3B,EAA4C3C,MAA5C,GAAqDyC,MAArD,GAA8D,KAAKlC,aAAL,CAAmBjH,KADtD,GAC+D,KAAKgH,UAAL,CAAgBhH,KAD7G;AAGA,eAAKmH,MAAL,GAAc,IAAd;AACA,eAAKN,aAAL,CAAmB1E,aAAnB,CAAiC4H,KAAjC,CAAuC9H,QAAvC,GAAkD,QAAlD;AACA,eAAK4E,aAAL,CAAmB1E,aAAnB,CAAiC4H,KAAjC,CAAuCC,eAAvC,GAAyD,MAAzD;AACA,eAAKnD,aAAL,CAAmB1E,aAAnB,CAAiC4H,KAAjC,CAAuCtD,GAAvC,GAA6C,KAAKO,UAAL,CAAgBhH,KAAhB,GAAwB,IAArE,CAZ0F,CAa1F;;AACA,eAAK6G,aAAL,CAAmB1E,aAAnB,CAAiC4H,KAAjC,CAAuCzS,KAAvC,aAAkDA,KAAlD;AACA,eAAKuP,aAAL,CAAmB1E,aAAnB,CAAiC4H,KAAjC,CAAuCE,MAAvC;;AACA,cAAI,KAAKC,aAAT,EAAwB;AACtB,gBAAMC,YAAY,GAAGhC,YAAY,GAAGgB,MAAf,GAAwBjB,SAA7C;AACA,iBAAKgC,aAAL,CAAmBH,KAAnB,CAAyBZ,MAAzB,aAAqCgB,YAArC;AACD;AACF;;;qCAEoB;AACnB,cAAI,qEAAe,CAAC,KAAKD,aAAzB,EAAwC;AACtCnN,mBAAO,CAACqN,IAAR;AAYD;AACF;;;kCAGiB/L,M,EAAoB;AACpC,cAAIA,MAAM,CAACkL,QAAX,EAAqB;AACnB,iBAAKc,UAAL,CAAgBhM,MAAM,CAAC+K,gBAAvB,EAAyC/K,MAAM,CAAC6J,SAAhD,EAA2D7J,MAAM,CAAC8J,YAAlE;AACD,WAFD,MAEO;AACL,iBAAKsB,YAAL;AACD;AACF;;;uCAEmB;AAElB,eAAKrC,eAAL,GAAuB,KAAvB;AACA,eAAKD,MAAL,GAAc,KAAd;AAEA,eAAKN,aAAL,CAAmB1E,aAAnB,CAAiC4H,KAAjC,CAAuC9H,QAAvC,GAAkD,EAAlD;AACA,eAAK4E,aAAL,CAAmB1E,aAAnB,CAAiC4H,KAAjC,CAAuCzS,KAAvC,GAA+C,MAA/C;AACA,eAAKuP,aAAL,CAAmB1E,aAAnB,CAAiC4H,KAAjC,CAAuCxD,IAAvC,GAA8C,MAA9C;AACA,eAAKM,aAAL,CAAmB1E,aAAnB,CAAiC4H,KAAjC,CAAuCtD,GAAvC,GAA6C,MAA7C;;AACA,cAAI,KAAKyD,aAAT,EAAwB;AACtB,iBAAKA,aAAL,CAAmBH,KAAnB,CAAyBZ,MAAzB,GAAkC,GAAlC;AACD;AACF;;;0BArNsBnJ,K,EAAe;AACpC,eAAKgH,UAAL,CAAgB/I,IAAhB,CAAqB+B,KAArB;AACD;;;0BAEyBA,K,EAAe;AACvC,eAAKiH,aAAL,CAAmBhJ,IAAnB,CAAwB+B,KAAxB;AACD;;;0BAEmBA,K,EAAgB;AAClC,eAAKkH,OAAL,CAAajJ,IAAb,CAAkB+B,KAAlB;AACD;;;;SA8MH;;;AACA,aAAS4J,WAAT,CAAqBpI,EAArB,EAAyB;AACvB,UAAIiF,GAAG,GAAG,CAAV;AACA,UAAIF,IAAI,GAAG,CAAX;AACA,UAAInK,OAAO,GAAGoF,EAAd,CAHuB,CAKvB;AACA;;AACA,SAAG;AACDiF,WAAG,IAAIrK,OAAO,CAACkO,SAAR,IAAqB,CAA5B;AACA/D,YAAI,IAAInK,OAAO,CAACmO,UAAR,IAAsB,CAA9B;AACAnO,eAAO,GAAGA,OAAO,CAACoO,YAAlB;AACD,OAJD,QAISpO,OAJT;;AAMA,aAAO;AACLyN,SAAC,EAAEpD,GADE;AAELgE,SAAC,EAAElE;AAFE,OAAP;AAID;;;;;;;;;;;;;;;;;AC1UD;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;;;QAMamE,sB;AACX;;;;;AAKA,sCAAoBlJ,EAApB,EAA4CmJ,MAA5C,EAA+D;AAAA;;AAA3C,aAAAnJ,EAAA,GAAAA,EAAA;AAAwB,aAAAmJ,MAAA,GAAAA,MAAA;AAC3C;AAED;;;;;;;;gCAKQ/C,M,EAAqB;AAC3B;AACA,cAAMgD,MAAM,GAAGhD,MAAM,CAACiD,OAAP,CAAe,kBAAf,CAAf;AACA,cAAMC,UAAU,GAAGF,MAAM,CAAC9B,aAAP,CAAqB,qBAArB,CAAnB;;AACA,cAAIgC,UAAJ,EAAgB;AACd,iBAAKH,MAAL,CAAYI,WAAZ,CAAwBD,UAAxB,EAAoC,QAApC;AACD,WAN0B,CAO3B;;;AACA,cAAME,IAAI,GAAGpD,MAAM,CAACiD,OAAP,CAAe,cAAf,CAAb;;AACA,cAAIG,IAAJ,EAAU;AACR,iBAAKL,MAAL,CAAYM,QAAZ,CAAqBD,IAArB,EAA2B,QAA3B;AACD;AACF;;;;;;;;;;;;;;;;;;;;;ACzBH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;;;QAOaE,e;AAKX;;;;AAIA,+BAAoB1J,EAApB,EAAoC;AAAA;;AAAhB,aAAAA,EAAA,GAAAA,EAAA;AACnB;AAED;;;;AAIA;;;;;;;0CAGe;AACb,eAAK2J,MAAL,GAAc,IAAIC,QAAJ,CAAa,KAAK5J,EAAL,CAAQW,aAArB,EAAoC,KAAKE,OAAzC,CAAd;AACD;;;;;;;;;;;;;;;;;;;;;ACrCH;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;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;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;;;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;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;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;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;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,O,CAAA;AAYA;AAUA;AAOA;AAcA;;;;;;;;;;;;;;;;;;AC3CA;AAAA;;;AAAA;AAAA;AAAA;;QAAagJ,kB;;;;;;;;;;;;;;;;;;;ACAb;AAAA;;;AAAA;AAAA;AAAA;;QAAcC,mB,GAAd;AAAA;;AAYE,WAAAC,aAAA,GAAgB,IAAhB;AAED,K;;;;;;;;;;;;;;;;;ACXD;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;;;QAMaC,e;;;;;;;;AAEX;;;;;;kCAMUxL,K,EAAYyL,I,EAAU;AAC9B,iBAAOzL,KAAK,CAACgB,KAAN,CAAY,GAAZ,EAAiBzL,GAAjB,CAAqB,UAAAmW,CAAC;AAAA,mBAAIA,CAAC,CAAC,CAAD,CAAL;AAAA,WAAtB,EAAgCC,IAAhC,CAAqC,EAArC,CAAP;AACD;;;;;;;;;;;;;;;;;;;;;ACjBH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA,wI,CAAA;;AAGA;;;;;QAMaC,a;;;;;;;;AACX;;;;;;kCAMU5L,K,EAAYyL,I,EAAU;AAC9B,iBAAO,gDAAezL,KAAf,EAAsByL,IAAtB,CAAP;AACD;;;;;;;;;;;;;;;;;;;;;ACjBH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;;;QAMaI,Q;;;;;;;;AACX;;;;;;kCAMU7L,K,EAAYyL,I,EAAU;AAC9B,cAAIK,KAAK,CAACC,OAAN,CAAc/L,KAAd,CAAJ,EAA0B;AACxB,mBAAOA,KAAK,CAAC2L,IAAN,CAAW,GAAX,CAAP;AACD;;AACD,iBAAO3L,KAAP;AACD;;;;;;;;;;;;;;;;;;;;;ACjBH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;;;QAMagM,Q;AACX;;;;;AAKA;AACA,wBAAsBC,UAAtB,EAAgD;AAAA;;AAA1B,aAAAA,UAAA,GAAAA,UAAA;AACrB;AAED;;;;;;;;;;kCAMUjM,K,EAAejB,I,EAAY;AACnC,kBAAQA,IAAR;AACE,iBAAK,MAAL;AACE,qBAAO,KAAKkN,UAAL,CAAgBC,uBAAhB,CAAwClM,KAAxC,CAAP;;AACF,iBAAK,OAAL;AACE,qBAAO,KAAKiM,UAAL,CAAgBE,wBAAhB,CAAyCnM,KAAzC,CAAP;;AACF,iBAAK,QAAL;AACE,qBAAO,KAAKiM,UAAL,CAAgBG,yBAAhB,CAA0CpM,KAA1C,CAAP;;AACF,iBAAK,KAAL;AACE,qBAAO,KAAKiM,UAAL,CAAgBI,sBAAhB,CAAuCrM,KAAvC,CAAP;;AACF,iBAAK,aAAL;AACE,qBAAO,KAAKiM,UAAL,CAAgBK,8BAAhB,CAA+CtM,KAA/C,CAAP;;AACF;AACE,qBAAO,KAAKiM,UAAL,CAAgBC,uBAAhB,CAAwClM,KAAxC,CAAP;AAZJ;AAcD;;;;;;;;;;;;;;;;;;;;;ACtCH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;;;;QAOauM,e;AAIX;;;;;;AAMA,+BACUC,iBADV,EAEUC,MAFV,EAEwB;AAAA;;AADd,aAAAD,iBAAA,GAAAA,iBAAA;AACA,aAAAC,MAAA,GAAAA,MAAA;AAET;AAED;;;;AAIA;;;;;;;sCAGW;AACT,eAAKC,WAAL;AACD;AAED;;;;;;;;kCAKU1M,K,EAAe;AAAA;;AACvB,eAAK0M,WAAL;AACA,cAAMC,CAAC,GAAG,IAAI1L,IAAJ,CAASjB,KAAT,CAAV;AACA,cAAM4M,GAAG,GAAG,IAAI3L,IAAJ,EAAZ;AACA,cAAM4L,OAAO,GAAGC,IAAI,CAACC,KAAL,CACdD,IAAI,CAACE,GAAL,CAAS,CAACJ,GAAG,CAACK,OAAJ,KAAgBN,CAAC,CAACM,OAAF,EAAjB,IAAgC,IAAzC,CADc,CAAhB;AAGA,cAAMC,YAAY,GAAG,KAAKC,qBAAL,CAA2BN,OAA3B,IAAsC,IAA3D;AACA,eAAKO,KAAL,GAAa,KAAKX,MAAL,CAAYY,iBAAZ,CAA8B,YAAM;AAC/C,gBAAI,OAAOxV,MAAP,KAAkB,WAAtB,EAAmC;AACjC,qBAAOA,MAAM,CAACE,UAAP,CAAkB,YAAM;AAC7B,sBAAI,CAAC0U,MAAL,CAAYa,GAAZ,CAAgB;AAAA,yBACd,MAAI,CAACd,iBAAL,CAAuBe,YAAvB,EADc;AAAA,iBAAhB;AAGD,eAJM,EAIJL,YAJI,CAAP;AAKD;;AACD,mBAAO,IAAP;AACD,WATY,CAAb;AAUA,cAAMM,OAAO,GAAGV,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,GAAL,CAASH,OAAO,GAAG,EAAnB,CAAX,CAAhB;AACA,cAAMY,KAAK,GAAGX,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,GAAL,CAASQ,OAAO,GAAG,EAAnB,CAAX,CAAd;AACA,cAAME,IAAI,GAAGZ,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,GAAL,CAASS,KAAK,GAAG,EAAjB,CAAX,CAAb;AACA,cAAME,MAAM,GAAGb,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,GAAL,CAASU,IAAI,GAAG,MAAhB,CAAX,CAAf;AACA,cAAME,KAAK,GAAGd,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,GAAL,CAASU,IAAI,GAAG,GAAhB,CAAX,CAAd;;AACA,cAAIb,OAAO,IAAI,EAAf,EAAmB;AACjB,mBAAO,UAAP;AACD,WAFD,MAEO,IAAIA,OAAO,IAAI,EAAf,EAAmB;AACxB,mBAAO,OAAP;AACD,WAFM,MAEA,IAAIW,OAAO,IAAI,EAAf,EAAmB;AACxB,mBAAOA,OAAO,GAAG,OAAjB;AACD,WAFM,MAEA,IAAIA,OAAO,IAAI,EAAf,EAAmB;AACxB,mBAAO,MAAP;AACD,WAFM,MAEA,IAAIC,KAAK,IAAI,EAAb,EAAiB;AACtB,mBAAOA,KAAK,GAAG,MAAf;AACD,WAFM,MAEA,IAAIA,KAAK,IAAI,EAAb,EAAiB;AACtB,mBAAO,OAAP;AACD,WAFM,MAEA,IAAIC,IAAI,IAAI,EAAZ,EAAgB;AACrB,mBAAOA,IAAI,GAAG,OAAd;AACD,WAFM,MAEA,IAAIA,IAAI,IAAI,EAAZ,EAAgB;AACrB,mBAAO,SAAP;AACD,WAFM,MAEA,IAAIA,IAAI,IAAI,GAAZ,EAAiB;AACtB,mBAAOC,MAAM,GAAG,SAAhB;AACD,WAFM,MAEA,IAAID,IAAI,IAAI,GAAZ,EAAiB;AACtB,mBAAO,QAAP;AACD,WAFM,MAEA;AACL;AACA,mBAAOE,KAAK,GAAG,QAAf;AACD;AACF;AAED;;;;;;sCAGsB;AACpB,cAAI,KAAKR,KAAT,EAAgB;AACdvV,kBAAM,CAACgW,YAAP,CAAoB,KAAKT,KAAzB;AACA,iBAAKA,KAAL,GAAa,IAAb;AACD;AACF;AAED;;;;;;;8CAI8BP,O,EAAiB;AAC7C,cAAMiB,GAAG,GAAG,EAAZ;AACA,cAAMC,EAAE,GAAGD,GAAG,GAAG,EAAjB;AACA,cAAMtN,GAAG,GAAGuN,EAAE,GAAG,EAAjB;;AACA,cAAIlB,OAAO,GAAGiB,GAAd,EAAmB;AACjB;AACA,mBAAO,CAAP;AACD,WAHD,MAGO,IAAIjB,OAAO,GAAGkB,EAAd,EAAkB;AACvB;AACA,mBAAO,EAAP;AACD,WAHM,MAGA,IAAIlB,OAAO,GAAGrM,GAAd,EAAmB;AACxB;AACA,mBAAO,GAAP;AACD,WAHM,MAGA;AACL;AACA,mBAAO,IAAP;AACD;AACF;;;;;;;;;;;;;;;;;;;;;ACpHH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,mE,CAAA;AAEA;AACA;AACA;;;QAIawN,c;AACX;;;AAGA,gCAAc;AAAA;AAAE;AAEhB;;;;;;;mCAGQ;AACN;AACA,cAAMC,EAAE,GAAG;AACT;AACA;AACAC,iBAAK,EAAE,sDAAgBA,KAHd;AAITC,uBAAW,EAAE,sDAAgBA,WAJpB;AAMT;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACAC,gBAAI,EAAE,qDAAOA;AAlBJ,WAAX;AAoBA,iBAAOH,EAAP;AACD;;;;;;;;;;;;;;;;;;;;;AC9CH;AAAA;;;AAAA;AAAA;AAAA;;QAAaI,M;;;;AACG,WAAAD,IAAA,GAAY,CACxB;AACE9Y,QAAE,EAAE,CADN;AAEEgZ,YAAM,EAAE,OAFV;AAGEC,kBAAY,EAAE,OAHhB;AAIEC,gBAAU,EAAE,IAJd;AAKEC,cAAQ,EAAE,MALZ;AAME;AACAC,kBAAY,mOAPd;AAQEC,YAAM,EAAE,KARV;AASEC,YAAM,EAAE,KATV;AAUEC,gBAAU,EAAE,CAVd;AAWEC,iBAAW,EAAE,YAXf;AAYEC,aAAO,EAAE,CAZX;AAaEC,cAAQ,EAAE;AAbZ,KADwB,EAerB;AACD1Z,QAAE,EAAE,CADH;AAEDgZ,YAAM,EAAE,SAFP;AAGDC,kBAAY,EAAE,SAHb;AAIDC,gBAAU,EAAE,IAJX;AAKDC,cAAQ,EAAE,KALT;AAMD;AACAC,kBAAY,ifAPX;AAQDC,YAAM,EAAE,OARP;AASDC,YAAM,EAAE,MATP;AAUDC,gBAAU,EAAE,CAVX;AAWDC,iBAAW,EAAE,YAXZ;AAYDC,aAAO,EAAE,CAZR;AAaDC,cAAQ,EAAE;AAbT,KAfqB,EA6BrB;AACD1Z,QAAE,EAAE,CADH;AAEDgZ,YAAM,EAAE,OAFP;AAGDC,kBAAY,EAAE,OAHb;AAIDC,gBAAU,EAAE,IAJX;AAKDC,cAAQ,EAAE,MALT;AAMD;AACAC,kBAAY,wgBAPX;AAQDC,YAAM,EAAE,YARP;AASDC,YAAM,EAAE,KATP;AAUDC,gBAAU,EAAE,CAVX;AAWDC,iBAAW,EAAE,YAXZ;AAYDC,aAAO,EAAE,CAZR;AAaDC,cAAQ,EAAE;AAbT,KA7BqB,EA2CrB;AACD1Z,QAAE,EAAE,CADH;AAEDgZ,YAAM,EAAE,IAFP;AAGDC,kBAAY,EAAE,OAHb;AAIDC,gBAAU,EAAE,IAJX;AAKDC,cAAQ,EAAE,MALT;AAMD;AACAC,kBAAY,ufAPX;AAQDC,YAAM,EAAE,MARP;AASDC,YAAM,EAAE,KATP;AAUDC,gBAAU,EAAE,CAVX;AAWDC,iBAAW,EAAE,YAXZ;AAYDC,aAAO,EAAE,CAZR;AAaDC,cAAQ,EAAE;AAbT,KA3CqB,EAyDrB;AACD1Z,QAAE,EAAE,CADH;AAEDgZ,YAAM,EAAE,OAFP;AAGDC,kBAAY,EAAE,QAHb;AAIDC,gBAAU,EAAE,IAJX;AAKDC,cAAQ,EAAE,KALT;AAMD;AACAC,kBAAY,igBAPX;AAQDC,YAAM,EAAE,MARP;AASDC,YAAM,EAAE,KATP;AAUDC,gBAAU,EAAE,CAVX;AAWDC,iBAAW,EAAE,YAXZ;AAYDC,aAAO,EAAE,CAZR;AAaDC,cAAQ,EAAE;AAbT,KAzDqB,EAuErB;AACD1Z,QAAE,EAAE,CADH;AAEDgZ,YAAM,EAAE,GAFP;AAGDC,kBAAY,EAAE,UAHb;AAIDC,gBAAU,EAAE,IAJX;AAKDC,cAAQ,EAAE,MALT;AAMD;AACAC,kBAAY,ghBAPX;AAQDC,YAAM,EAAE,MARP;AASDC,YAAM,EAAE,KATP;AAUDC,gBAAU,EAAE,CAVX;AAWDC,iBAAW,EAAE,YAXZ;AAYDC,aAAO,EAAE,CAZR;AAaDC,cAAQ,EAAE;AAbT,KAvEqB,EAqFrB;AACD1Z,QAAE,EAAE,CADH;AAEDgZ,YAAM,EAAE,SAFP;AAGDC,kBAAY,EAAE,aAHb;AAIDC,gBAAU,EAAE,IAJX;AAKDC,cAAQ,EAAE,MALT;AAMD;AACAC,kBAAY,mQAPX;AAQDC,YAAM,EAAE,QARP;AASDC,YAAM,EAAE,MATP;AAUDC,gBAAU,EAAE,CAVX;AAWDC,iBAAW,EAAE,YAXZ;AAYDC,aAAO,EAAE,CAZR;AAaDC,cAAQ,EAAE;AAbT,KArFqB,EAmGrB;AACD1Z,QAAE,EAAE,CADH;AAEDgZ,YAAM,EAAE,IAFP;AAGDC,kBAAY,EAAE,UAHb;AAIDC,gBAAU,EAAE,IAJX;AAKDC,cAAQ,EAAE,KALT;AAMD;AACAC,kBAAY,uhBAPX;AAQDC,YAAM,EAAE,OARP;AASDC,YAAM,EAAE,MATP;AAUDC,gBAAU,EAAE,CAVX;AAWDC,iBAAW,EAAE,YAXZ;AAYDC,aAAO,EAAE,CAZR;AAaDC,cAAQ,EAAE;AAbT,KAnGqB,EAiHrB;AACD1Z,QAAE,EAAE,CADH;AAEDgZ,YAAM,EAAE,SAFP;AAGDC,kBAAY,EAAE,OAHb;AAIDC,gBAAU,EAAE,IAJX;AAKDC,cAAQ,EAAE,IALT;AAMD;AACAC,kBAAY,ssBAPX;AAQDC,YAAM,EAAE,QARP;AASDC,YAAM,EAAE,MATP;AAUDC,gBAAU,EAAE,CAVX;AAWDC,iBAAW,EAAE,YAXZ;AAYDC,aAAO,EAAE,CAZR;AAaDC,cAAQ,EAAE;AAbT,KAjHqB,EA+HrB;AACD1Z,QAAE,EAAE,EADH;AAEDgZ,YAAM,EAAE,gBAFP;AAGDC,kBAAY,EAAE,WAHb;AAIDC,gBAAU,EAAE,IAJX;AAKDC,cAAQ,EAAE,MALT;AAMD;AACAC,kBAAY,0jBAPX;AAQDC,YAAM,EAAE,MARP;AASDC,YAAM,EAAE,KATP;AAUDC,gBAAU,EAAE,CAVX;AAWDC,iBAAW,EAAE,YAXZ;AAYDC,aAAO,EAAE,CAZR;AAaDC,cAAQ,EAAE;AAbT,KA/HqB,EA6IrB;AACD1Z,QAAE,EAAE,EADH;AAEDgZ,YAAM,EAAE,KAFP;AAGDC,kBAAY,EAAE,UAHb;AAIDC,gBAAU,EAAE,IAJX;AAKDC,cAAQ,EAAE,MALT;AAMD;AACAC,kBAAY,4wBAPX;AAQDC,YAAM,EAAE,SARP;AASDC,YAAM,EAAE,KATP;AAUDC,gBAAU,EAAE,CAVX;AAWDC,iBAAW,EAAE,YAXZ;AAYDC,aAAO,EAAE,CAZR;AAaDC,cAAQ,EAAE;AAbT,KA7IqB,EA2JrB;AACD1Z,QAAE,EAAE,EADH;AAEDgZ,YAAM,EAAE,OAFP;AAGDC,kBAAY,EAAE,WAHb;AAIDC,gBAAU,EAAE,IAJX;AAKDC,cAAQ,EAAE,MALT;AAMD;AACAC,kBAAY,ofAPX;AAQDC,YAAM,EAAE,MARP;AASDC,YAAM,EAAE,KATP;AAUDC,gBAAU,EAAE,CAVX;AAWDC,iBAAW,EAAE,YAXZ;AAYDC,aAAO,EAAE,CAZR;AAaDC,cAAQ,EAAE;AAbT,KA3JqB,EAyKrB;AACD1Z,QAAE,EAAE,EADH;AAEDgZ,YAAM,EAAE,KAFP;AAGDC,kBAAY,EAAE,QAHb;AAIDC,gBAAU,EAAE,IAJX;AAKDC,cAAQ,EAAE,MALT;AAMD;AACAC,kBAAY,wMAPX;AAQDC,YAAM,EAAE,MARP;AASDC,YAAM,EAAE,MATP;AAUDC,gBAAU,EAAE,CAVX;AAWDC,iBAAW,EAAE,YAXZ;AAYDC,aAAO,EAAE,CAZR;AAaDC,cAAQ,EAAE;AAbT,KAzKqB,EAuLrB;AACD1Z,QAAE,EAAE,EADH;AAEDgZ,YAAM,EAAE,QAFP;AAGDC,kBAAY,EAAE,QAHb;AAIDC,gBAAU,EAAE,IAJX;AAKDC,cAAQ,EAAE,MALT;AAMD;AACAC,kBAAY,42BAPX;AAQDC,YAAM,EAAE,QARP;AASDC,YAAM,EAAE,KATP;AAUDC,gBAAU,EAAE,CAVX;AAWDC,iBAAW,EAAE,YAXZ;AAYDC,aAAO,EAAE,CAZR;AAaDC,cAAQ,EAAE;AAbT,KAvLqB,EAqMrB;AACD1Z,QAAE,EAAE,EADH;AAEDgZ,YAAM,EAAE,UAFP;AAGDC,kBAAY,EAAE,MAHb;AAIDC,gBAAU,EAAE,IAJX;AAKDC,cAAQ,EAAE,KALT;AAMD;AACAC,kBAAY,soBAPX;AAQDC,YAAM,EAAE,YARP;AASDC,YAAM,EAAE,KATP;AAUDC,gBAAU,EAAE,CAVX;AAWDC,iBAAW,EAAE,YAXZ;AAYDC,aAAO,EAAE,CAZR;AAaDC,cAAQ,EAAE;AAbT,KArMqB,EAmNrB;AACD1Z,QAAE,EAAE,EADH;AAEDgZ,YAAM,EAAE,IAFP;AAGDC,kBAAY,EAAE,OAHb;AAIDC,gBAAU,EAAE,IAJX;AAKDC,cAAQ,EAAE,KALT;AAMD;AACAC,kBAAY,g2BAPX;AAQDC,YAAM,EAAE,QARP;AASDC,YAAM,EAAE,MATP;AAUDC,gBAAU,EAAE,CAVX;AAWDC,iBAAW,EAAE,YAXZ;AAYDC,aAAO,EAAE,CAZR;AAaDC,cAAQ,EAAE;AAbT,KAnNqB,EAiOrB;AACD1Z,QAAE,EAAE,EADH;AAEDgZ,YAAM,EAAE,cAFP;AAGDC,kBAAY,EAAE,QAHb;AAIDC,gBAAU,EAAE,IAJX;AAKDC,cAAQ,EAAE,MALT;AAMD;AACAC,kBAAY,qpBAPX;AAQDC,YAAM,EAAE,SARP;AASDC,YAAM,EAAE,KATP;AAUDC,gBAAU,EAAE,CAVX;AAWDC,iBAAW,EAAE,YAXZ;AAYDC,aAAO,EAAE,CAZR;AAaDC,cAAQ,EAAE;AAbT,KAjOqB,EA+OrB;AACD1Z,QAAE,EAAE,EADH;AAEDgZ,YAAM,EAAE,UAFP;AAGDC,kBAAY,EAAE,MAHb;AAIDC,gBAAU,EAAE,IAJX;AAKDC,cAAQ,EAAE,KALT;AAMD;AACAC,kBAAY,8UAPX;AAQDC,YAAM,EAAE,KARP;AASDC,YAAM,EAAE,MATP;AAUDC,gBAAU,EAAE,CAVX;AAWDC,iBAAW,EAAE,YAXZ;AAYDC,aAAO,EAAE,CAZR;AAaDC,cAAQ,EAAE;AAbT,KA/OqB,EA6PrB;AACD1Z,QAAE,EAAE,EADH;AAEDgZ,YAAM,EAAE,SAFP;AAGDC,kBAAY,EAAE,SAHb;AAIDC,gBAAU,EAAE,IAJX;AAKDC,cAAQ,EAAE,MALT;AAMD;AACAC,kBAAY,kfAPX;AAQDC,YAAM,EAAE,MARP;AASDC,YAAM,EAAE,MATP;AAUDC,gBAAU,EAAE,CAVX;AAWDC,iBAAW,EAAE,YAXZ;AAYDC,aAAO,EAAE,CAZR;AAaDC,cAAQ,EAAE;AAbT,KA7PqB,EA2QrB;AACD1Z,QAAE,EAAE,EADH;AAEDgZ,YAAM,EAAE,IAFP;AAGDC,kBAAY,EAAE,MAHb;AAIDC,gBAAU,EAAE,IAJX;AAKDC,cAAQ,EAAE,MALT;AAMD;AACAC,kBAAY,+eAPX;AAQDC,YAAM,EAAE,QARP;AASDC,YAAM,EAAE,MATP;AAUDC,gBAAU,EAAE,CAVX;AAWDC,iBAAW,EAAE,YAXZ;AAYDC,aAAO,EAAE,CAZR;AAaDC,cAAQ,EAAE;AAbT,KA3QqB,EAyRrB;AACD1Z,QAAE,EAAE,EADH;AAEDgZ,YAAM,EAAE,cAFP;AAGDC,kBAAY,EAAE,QAHb;AAIDC,gBAAU,EAAE,IAJX;AAKDC,cAAQ,EAAE,KALT;AAMD;AACAC,kBAAY,8oBAPX;AAQDC,YAAM,EAAE,OARP;AASDC,YAAM,EAAE,MATP;AAUDC,gBAAU,EAAE,CAVX;AAWDC,iBAAW,EAAE,YAXZ;AAYDC,aAAO,EAAE,CAZR;AAaDC,cAAQ,EAAE;AAbT,KAzRqB,EAuSrB;AACD1Z,QAAE,EAAE,EADH;AAEDgZ,YAAM,EAAE,SAFP;AAGDC,kBAAY,EAAE,QAHb;AAIDC,gBAAU,EAAE,IAJX;AAKDC,cAAQ,EAAE,MALT;AAMD;AACAC,kBAAY,okBAPX;AAQDC,YAAM,EAAE,QARP;AASDC,YAAM,EAAE,KATP;AAUDC,gBAAU,EAAE,CAVX;AAWDC,iBAAW,EAAE,YAXZ;AAYDC,aAAO,EAAE,CAZR;AAaDC,cAAQ,EAAE;AAbT,KAvSqB,EAqTrB;AACD1Z,QAAE,EAAE,EADH;AAEDgZ,YAAM,EAAE,iBAFP;AAGDC,kBAAY,EAAE,KAHb;AAIDC,gBAAU,EAAE,IAJX;AAKDC,cAAQ,EAAE,KALT;AAMD;AACAC,kBAAY,mWAPX;AAQDC,YAAM,EAAE,MARP;AASDC,YAAM,EAAE,KATP;AAUDC,gBAAU,EAAE,CAVX;AAWDC,iBAAW,EAAE,YAXZ;AAYDC,aAAO,EAAE,CAZR;AAaDC,cAAQ,EAAE;AAbT,KArTqB,EAmUrB;AACD1Z,QAAE,EAAE,EADH;AAEDgZ,YAAM,EAAE,UAFP;AAGDC,kBAAY,EAAE,SAHb;AAIDC,gBAAU,EAAE,IAJX;AAKDC,cAAQ,EAAE,KALT;AAMD;AACAC,kBAAY,yfAPX;AAQDC,YAAM,EAAE,MARP;AASDC,YAAM,EAAE,KATP;AAUDC,gBAAU,EAAE,CAVX;AAWDC,iBAAW,EAAE,YAXZ;AAYDC,aAAO,EAAE,CAZR;AAaDC,cAAQ,EAAE;AAbT,KAnUqB,EAiVrB;AACD1Z,QAAE,EAAE,EADH;AAEDgZ,YAAM,EAAE,MAFP;AAGDC,kBAAY,EAAE,QAHb;AAIDC,gBAAU,EAAE,IAJX;AAKDC,cAAQ,EAAE,KALT;AAMD;AACAC,kBAAY,0uBAPX;AAQDC,YAAM,EAAE,WARP;AASDC,YAAM,EAAE,KATP;AAUDC,gBAAU,EAAE,CAVX;AAWDC,iBAAW,EAAE,YAXZ;AAYDC,aAAO,EAAE,CAZR;AAaDC,cAAQ,EAAE;AAbT,KAjVqB,EA+VrB;AACD1Z,QAAE,EAAE,EADH;AAEDgZ,YAAM,EAAE,iBAFP;AAGDC,kBAAY,EAAE,KAHb;AAIDC,gBAAU,EAAE,IAJX;AAKDC,cAAQ,EAAE,MALT;AAMD;AACAC,kBAAY,+OAPX;AAQDC,YAAM,EAAE,QARP;AASDC,YAAM,EAAE,KATP;AAUDC,gBAAU,EAAE,CAVX;AAWDC,iBAAW,EAAE,YAXZ;AAYDC,aAAO,EAAE,CAZR;AAaDC,cAAQ,EAAE;AAbT,KA/VqB,EA6WrB;AACD1Z,QAAE,EAAE,EADH;AAEDgZ,YAAM,EAAE,KAFP;AAGDC,kBAAY,EAAE,OAHb;AAIDC,gBAAU,EAAE,IAJX;AAKDC,cAAQ,EAAE,KALT;AAMD;AACAC,kBAAY,kdAPX;AAQDC,YAAM,EAAE,WARP;AASDC,YAAM,EAAE,IATP;AAUDC,gBAAU,EAAE,CAVX;AAWDC,iBAAW,EAAE,YAXZ;AAYDC,aAAO,EAAE,CAZR;AAaDC,cAAQ,EAAE;AAbT,KA7WqB,EA2XrB;AACD1Z,QAAE,EAAE,EADH;AAEDgZ,YAAM,EAAE,eAFP;AAGDC,kBAAY,EAAE,SAHb;AAIDC,gBAAU,EAAE,IAJX;AAKDC,cAAQ,EAAE,MALT;AAMD;AACAC,kBAAY,whBAPX;AAQDC,YAAM,EAAE,WARP;AASDC,YAAM,EAAE,KATP;AAUDC,gBAAU,EAAE,CAVX;AAWDC,iBAAW,EAAE,YAXZ;AAYDC,aAAO,EAAE,CAZR;AAaDC,cAAQ,EAAE;AAbT,KA3XqB,EAyYrB;AACD1Z,QAAE,EAAE,EADH;AAEDgZ,YAAM,EAAE,OAFP;AAGDC,kBAAY,EAAE,OAHb;AAIDC,gBAAU,EAAE,IAJX;AAKDC,cAAQ,EAAE,MALT;AAMD;AACAC,kBAAY,moBAPX;AAQDC,YAAM,EAAE,MARP;AASDC,YAAM,EAAE,MATP;AAUDC,gBAAU,EAAE,CAVX;AAWDC,iBAAW,EAAE,YAXZ;AAYDC,aAAO,EAAE,CAZR;AAaDC,cAAQ,EAAE;AAbT,KAzYqB,EAuZrB;AACD1Z,QAAE,EAAE,EADH;AAEDgZ,YAAM,EAAE,UAFP;AAGDC,kBAAY,EAAE,OAHb;AAIDC,gBAAU,EAAE,IAJX;AAKDC,cAAQ,EAAE,IALT;AAMD;AACAC,kBAAY,8mBAPX;AAQDC,YAAM,EAAE,MARP;AASDC,YAAM,EAAE,KATP;AAUDC,gBAAU,EAAE,CAVX;AAWDC,iBAAW,EAAE,YAXZ;AAYDC,aAAO,EAAE,CAZR;AAaDC,cAAQ,EAAE;AAbT,KAvZqB,EAqarB;AACD1Z,QAAE,EAAE,EADH;AAEDgZ,YAAM,EAAE,IAFP;AAGDC,kBAAY,EAAE,QAHb;AAIDC,gBAAU,EAAE,IAJX;AAKDC,cAAQ,EAAE,MALT;AAMD;AACAC,kBAAY,ohBAPX;AAQDC,YAAM,EAAE,MARP;AASDC,YAAM,EAAE,MATP;AAUDC,gBAAU,EAAE,CAVX;AAWDC,iBAAW,EAAE,YAXZ;AAYDC,aAAO,EAAE,CAZR;AAaDC,cAAQ,EAAE;AAbT,KAraqB,EAmbrB;AACD1Z,QAAE,EAAE,EADH;AAEDgZ,YAAM,EAAE,UAFP;AAGDC,kBAAY,EAAE,MAHb;AAIDC,gBAAU,EAAE,IAJX;AAKDC,cAAQ,EAAE,KALT;AAMD;AACAC,kBAAY,0TAPX;AAQDC,YAAM,EAAE,MARP;AASDC,YAAM,EAAE,MATP;AAUDC,gBAAU,EAAE,CAVX;AAWDC,iBAAW,EAAE,YAXZ;AAYDC,aAAO,EAAE,CAZR;AAaDC,cAAQ,EAAE;AAbT,KAnbqB,EAicrB;AACD1Z,QAAE,EAAE,EADH;AAEDgZ,YAAM,EAAE,QAFP;AAGDC,kBAAY,EAAE,WAHb;AAIDC,gBAAU,EAAE,IAJX;AAKDC,cAAQ,EAAE,MALT;AAMD;AACAC,kBAAY,4aAPX;AAQDC,YAAM,EAAE,QARP;AASDC,YAAM,EAAE,MATP;AAUDC,gBAAU,EAAE,CAVX;AAWDC,iBAAW,EAAE,YAXZ;AAYDC,aAAO,EAAE,CAZR;AAaDC,cAAQ,EAAE;AAbT,KAjcqB,EA+crB;AACD1Z,QAAE,EAAE,EADH;AAEDgZ,YAAM,EAAE,WAFP;AAGDC,kBAAY,EAAE,KAHb;AAIDC,gBAAU,EAAE,IAJX;AAKDC,cAAQ,EAAE,MALT;AAMD;AACAC,kBAAY,8VAPX;AAQDC,YAAM,EAAE,WARP;AASDC,YAAM,EAAE,MATP;AAUDC,gBAAU,EAAE,CAVX;AAWDC,iBAAW,EAAE,YAXZ;AAYDC,aAAO,EAAE,CAZR;AAaDC,cAAQ,EAAE;AAbT,KA/cqB,CAAZ;;;;;;;;;;;;;;;;ACOhB;AAAA;;;AAAA;AAAA;AAAA;;AAAA,QAAMC,iBAAiB,GAAG,UAA1B;;QAGaC,gB;AACX;;;;;AAKA,gCAAoB1R,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AACnB;AAED;;;;;;;sCAGW;AACT,iBAAO,KAAKA,IAAL,CAAU2R,GAAV,CAAoCF,iBAApC,CAAP;AACD;;;;;;;;;;;;;;;;;;;;;ACvBH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,6C,CAAA;;;QAIaG,e;AAIX;AACA,iCAAc;AAAA;;AAHN,aAAAC,YAAA,GAAyC,IAAI,oDAAJ,CAAoB,KAApB,CAAzC;AAIN,aAAKC,QAAL,GAAgB,IAAIC,QAAJ,CAAa;AAACxQ,cAAI,EAAE,QAAP;AAAiByQ,mBAAS,EAAE,YAA5B;AAA0C1Q,iBAAO,EAAE;AAAnD,SAAb,CAAhB;AACD;;;;+BAEM;AACL,eAAKuQ,YAAL,CAAkBpR,IAAlB,CAAuB,IAAvB;AACA,eAAKqR,QAAL,CAAcG,IAAd;AACD;;;+BAEM;AACL,eAAKJ,YAAL,CAAkBpR,IAAlB,CAAuB,KAAvB;AACA,eAAKqR,QAAL,CAAc1X,IAAd;AACD;;;uCAEc;AACb,iBAAO,KAAKyX,YAAL,CAAkBrP,KAAzB;AACD;;;;;;;;;;;;;;;;;;;;;ACzBH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA,8H,CAAA;AAEA;AAEA;;;QAMa0P,mB;AAKX;;;AAGA,qCAAc;AAAA;;AACZ;AACA,aAAKC,gBAAL,GAAwB,IAAI,4CAAJ,EAAxB;AACD;AAED;;;;;;;;mCAIWC,Y,EAA+B;AACxC,cAAIA,YAAJ,EAAkB;AAChBC,wBAAY,CAACC,OAAb,CAAqB,cAArB,EAAqCC,IAAI,CAACC,SAAL,CAAeJ,YAAf,CAArC;AACD;AACF;AAED;;;;;;yCAGc;AACZ,cAAMzY,MAAM,GAAG0Y,YAAY,CAACI,OAAb,CAAqB,cAArB,CAAf;;AACA,cAAI;AACF,mBAAOF,IAAI,CAACG,KAAL,CAAW/Y,MAAX,CAAP;AACD,WAFD,CAEE,OAAOnC,CAAP,EAAU,CAAE;AACf;AAED;;;;;;sCAGW;AACT6a,sBAAY,CAACM,UAAb,CAAwB,cAAxB;AACD;AAED;;;;;;;kCAIUna,I,EAAa;AACrB;AACA;AACA,eAAK4Z,YAAL,GAAoB,KAAKxY,cAAL,EAApB;;AAEA,cAAIpB,IAAJ,EAAU;AACR;AACA,mBAAO,gDAAe,KAAK4Z,YAApB,EAAkC5Z,IAAlC,CAAP;AACD;;AAED,iBAAO,KAAK4Z,YAAZ;AACD;AAED;;;;;;;;kCAKU5P,K,EAAYoQ,I,EAAc;AAClC,eAAKR,YAAL,GAAoB,qDAAM,KAAKA,YAAX,EAAyB5P,KAAzB,CAApB;;AAEA,cAAIoQ,IAAJ,EAAU;AACR,iBAAKC,UAAL,CAAgB,KAAKT,YAArB;AACD,WALiC,CAOlC;;;AACA,eAAKD,gBAAL,CAAsB1R,IAAtB,CAA2B,KAAK2R,YAAhC;AACD;AAED;;;;;;kCAGO;AACL,cAAMU,iBAAiB,GAAG,gDACxB,KAAKV,YADmB,EAExB,kBAFwB,CAA1B,CADK,CAKL;;AACA,cAAMW,UAAU,GAAG,gDAAe,KAAKX,YAApB,EAAkC,WAAlC,CAAnB;AAEA,cAAIY,IAAJ;;AACA,cAAI,OAAOD,UAAP,KAAsB,QAA1B,EAAoC;AAClCC,gBAAI,GAAGD,UAAP;AACD;;AACD,cAAI,OAAOA,UAAP,KAAsB,QAA1B,EAAoC;AAClCC,gBAAI,GAAG,gDAAeD,UAAf,EAA2BD,iBAAiB,GAAG,EAA/C,CAAP;AACD;;AACD,cAAI,OAAOE,IAAP,KAAgB,WAApB,EAAiC;AAC/B,gBAAI;AACF,kBAAMC,KAAK,GAAG,gDAAe,KAAKb,YAApB,EAAkC,WAAlC,CAAd;AACAY,kBAAI,GAAGC,KAAK,CAAC5a,MAAM,CAACV,IAAP,CAAYsb,KAAZ,EAAmB,CAAnB,CAAD,CAAZ;AACD,aAHD,CAGE,OAAOzb,CAAP,EAAU,CAAE;AACf;;AACD,iBAAOwb,IAAP;AACD;AAED;;;;;;wCAGa;AACX,cAAIA,IAAI,GAAG,gDAAe,KAAKZ,YAApB,EAAkC,kBAAlC,CAAX;;AACA,cAAI,OAAOY,IAAP,KAAgB,WAApB,EAAiC;AAC/BA,gBAAI,GAAG,KAAKE,OAAL,EAAP;AACD;;AACD,iBAAOF,IAAI,GAAG,EAAd;AACD;AAED;;;;;;;oCAIYrZ,M,EAA2B;AACrC,eAAKyY,YAAL,GAAoB,KAAKxY,cAAL,EAApB,CADqC,CAErC;;AACA,cACE,CAAC,KAAKwY,YAAN,IACA,gDAAe,KAAKA,YAApB,EAAkC,MAAlC,MAA8CzY,MAAM,CAACwZ,IAFvD,EAGE;AACA,iBAAKf,YAAL,GAAoBzY,MAApB;AACD;;AACD,eAAKkZ,UAAL,CAAgB,KAAKT,YAArB;AACD;AAED;;;;;;wCAGa;AACX,eAAKA,YAAL,GAAoB,KAAKxY,cAAL,EAApB;AACA,eAAKuY,gBAAL,CAAsB1R,IAAtB,CAA2B,KAAK2R,YAAhC;AACA,iBAAO,KAAKA,YAAZ;AACD;;;;;;;;;;;;;;;;;;;;;AChJH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,6C,CAAA;;;QAIagB,gB;AADb;AAAA;;AAEE;AACA,aAAAC,WAAA,GAAoC,IAAI,oDAAJ,CAAyB,EAAzB,CAApC;AACA,aAAAC,UAAA,GAAkB,EAAlB;AAeD;AAbC;;;;;;;;;;mCAMW7X,I,EAAMmD,O,EAAS;AACxB,cAAM2U,GAAG,GAAG,EAAZ;AACAA,aAAG,CAAC9X,IAAD,CAAH,GAAYmD,OAAZ;AAEA,eAAK0U,UAAL,GAAkBjb,MAAM,CAACmb,MAAP,CAAc,EAAd,EAAkB,KAAKF,UAAvB,EAAmCC,GAAnC,CAAlB;AACA,eAAKF,WAAL,CAAiB5S,IAAjB,CAAsB,KAAK6S,UAA3B;AACD;;;;;;;;;;;;;;;;;;;;;ACrBH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA,wI,CAAA;AAEA;;;QAMaG,gB;AAIX;;;;;AAKA,gCAAoBC,iBAApB,EAA0D;AAAA;;AAAA;;AAAtC,aAAAA,iBAAA,GAAAA,iBAAA,CAAsC,CAR1D;;AACA,aAAAC,SAAA,GAAoC,IAAI,oDAAJ,CAA2B,EAA3B,CAApC;AAQE,aAAKC,QAAL;AACA,aAAKF,iBAAL,CAAuBvB,gBAAvB,CAAwCjY,SAAxC,CAAkD,YAAM;AACtD,iBAAI,CAAC0Z,QAAL;AACD,SAFD;AAGD;AAED;;;;;;;mCAGW;AACT;AACA,cAAMC,SAAS,GAAU,gDACvB,KAAKH,iBAAL,CAAuBI,QAAvB,EADuB,EAEvB,aAFuB,CAAzB;AAIA,eAAKH,SAAL,CAAelT,IAAf,CAAoBoT,SAApB;AACD;;;;;;;;;;;;;;;;;;;;;AClCH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,6C,CAAA;;;QAIaE,iB;AAMX;;;AAGA,mCAAc;AAAA;;AACZ;AACA,aAAK5B,gBAAL,GAAwB,IAAI,4CAAJ,EAAxB;AACD;AAED;;;;;;;mCAGW;AACT,iBAAO,KAAK6B,UAAZ;AACD;AAED;;;;;;;;oCAKYra,M,EAAa;AACvB,eAAKqa,UAAL,GAAkBra,MAAlB;AACA,eAAKwY,gBAAL,CAAsB1R,IAAtB,CAA2B,KAAKuT,UAAhC;AACD;;;;;;;;;;;;;;;;;;;;;ACjCH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA,wI,CAAA;AAEA;;;QAMaC,qB;AAIX;;;;;AAKA,qCAAoBP,iBAApB,EAA0D;AAAA;;AAAtC,aAAAA,iBAAA,GAAAA,iBAAA,CAAsC,CAR1D;;AACA,aAAAC,SAAA,GAAoC,IAAI,oDAAJ,CAA2B,EAA3B,CAApC;AAQE,aAAKC,QAAL;AACD;AAED;;;;;;;mCAGW;AACT;AACA,cAAMC,SAAS,GAAU,gDAAe,KAAKH,iBAAL,CAAuBI,QAAvB,EAAf,EAAkD,cAAlD,CAAzB;AACA,eAAKH,SAAL,CAAelT,IAAf,CAAoBoT,SAApB;AACD;;;;;;;;;;;;;;;;;;;;;AC3BH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA,8H,CAAA;AAEA;AAEA;;;QAIaK,iB;AAKX;;;;;AAKA,iCAAoBhb,MAApB,EAAoC;AAAA;;AAAhB,aAAAA,MAAA,GAAAA,MAAA,CAAgB,CAClC;;AACA,aAAKiZ,gBAAL,GAAwB,IAAI,4CAAJ,EAAxB;AACD;AAED;;;;;;;6CAGqB3Z,I,EAAa;AAChC,cAAI2b,UAAU,GAAG,KAAKC,QAAL,CAAc,KAAKlb,MAAL,CAAYmb,GAA1B,CAAjB;;AAEA,cAAI7b,IAAJ,EAAU;AACR2b,sBAAU,IAAI,MAAM3b,IAApB;AACD,WAL+B,CAOhC;;;AACA,iBAAO,gDAAe,KAAK8b,UAApB,EAAgCH,UAAhC,CAAP;AACD;AAED;;;;;;;;kCAKU3R,K,EAAYoQ,I,EAAc;AAClC,eAAK0B,UAAL,GAAkB,qDAAM,KAAKA,UAAX,EAAuB9R,KAAvB,CAAlB;;AAEA,cAAIoQ,IAAJ,EAAU,CAET,CAFD,CACE;AAGF;;;AACA,eAAKT,gBAAL,CAAsB1R,IAAtB,CAA2B,KAAK6T,UAAhC;AACD;AAED;;;;;;;;oCAKY3a,M,EAAa;AACvB,eAAK2a,UAAL,GAAkB3a,MAAlB;AACA,eAAKwY,gBAAL,CAAsB1R,IAAtB,CAA2B,KAAK6T,UAAhC;AACD;AAED;;;;;;;iCAISD,G,EAAW;AAClB;AACA,cAAI,IAAIE,MAAJ,CAAW,SAAX,EAAsBC,IAAtB,CAA2BH,GAA3B,CAAJ,EAAqC;AACnC,gBAAMI,IAAI,GAAGJ,GAAG,CAAC7Q,KAAJ,CAAU,GAAV,CAAb;AACAiR,gBAAI,CAACC,MAAL,CAAY,CAAZ,EAAe,CAAf;AACAL,eAAG,GAAGI,IAAI,CAACtG,IAAL,CAAU,GAAV,CAAN;AACD;;AAED,cAAIkG,GAAG,CAACM,MAAJ,CAAW,CAAX,MAAkB,GAAtB,EAA2B;AACzBN,eAAG,GAAGA,GAAG,CAACO,MAAJ,CAAW,CAAX,CAAN;AACD,WAViB,CAYlB;AACA;;;AACA,cAAIC,QAAQ,GAAGR,GAAG,CAACS,OAAJ,CAAY,KAAZ,EAAmB,GAAnB,CAAf;;AACA,cAAID,QAAQ,CAACxV,OAAT,CAAiB,GAAjB,MAA0B,CAAC,CAA/B,EAAkC;AAChCwV,oBAAQ,GAAGA,QAAQ,CAACE,SAAT,CAAmB,CAAnB,EAAsBF,QAAQ,CAACxV,OAAT,CAAiB,GAAjB,CAAtB,CAAX;AACD;;AAED,iBAAOwV,QAAP;AACD;;;;;;;;;;;;;;;;;;;;;ACxFH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAGaG,mB;AAKX;;;;;AAKA,mCAAoB/Q,gBAApB,EAAwD;AAAA;;AAApC,aAAAA,gBAAA,GAAAA,gBAAA;AACnB;AAED;;;;;;;;;6BAKKrF,O,EAAqB;AACxB,eAAKoF,EAAL,GAAUpF,OAAV;AACD;AAED;;;;;;+BAGO;AAAA;;AACL,cAAI,KAAKqW,OAAT,EAAkB;AAChB;AACD;;AAED,cAAM9Q,MAAM,GAAG,KAAKF,gBAAL,CAAsBK,KAAtB,CAA4B,CACzC,kEAAM;AAACE,mBAAO,EAAE;AAAV,WAAN,CADyC,EAEzC,oEAAQ,GAAR,EAAa,kEAAM;AAACA,mBAAO,EAAE;AAAV,WAAN,CAAb,CAFyC,CAA5B,EAGZE,MAHY,CAGL,KAAKV,EAAL,CAAQW,aAHH,CAAf;AAKAR,gBAAM,CAAC+Q,MAAP,CAAc,YAAM;AAClB,gBAAI,OAAO,OAAI,CAAClR,EAAL,CAAQW,aAAR,CAAsBwQ,MAA7B,KAAwC,UAA5C,EAAwD;AACtD,qBAAI,CAACnR,EAAL,CAAQW,aAAR,CAAsBwQ,MAAtB;AACD,aAFD,MAEO;AACL,qBAAI,CAACnR,EAAL,CAAQW,aAAR,CAAsB4H,KAAtB,CAA4BlF,OAA5B,GAAsC,MAAtC;AACD;;AACD,mBAAI,CAAC4N,OAAL,GAAe,IAAf;AACD,WAPD;AASA1a,oBAAU,CAAC;AAAA,mBAAM4J,MAAM,CAACC,IAAP,EAAN;AAAA,WAAD,EAAsB,GAAtB,CAAV;AACD;;;;;;;;;;;;;;;;;;;;;AChDH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA,wI,CACA;AAGA;;;QAiBagR,gB;AAeX;;;;;;;AAOA,gCACUlc,MADV,EAEUmc,iBAFV,EAGU3B,iBAHV,EAGgD;AAAA;;AAAA;;AAFtC,aAAAxa,MAAA,GAAAA,MAAA;AACA,aAAAmc,iBAAA,GAAAA,iBAAA;AACA,aAAA3B,iBAAA,GAAAA,iBAAA,CAAsC,CAxBhD;;AACA,aAAA4B,MAAA,GAA2C,IAAI,oDAAJ,CAAqC;AAAChc,eAAK,EAAE,EAAR;AAAYic,cAAI,EAAE;AAAlB,SAArC,CAA3C;AACA,aAAAC,YAAA,GAA8C,IAAI,oDAAJ,CAAkC,EAAlC,CAA9C;AACA,aAAAC,SAAA,GAA8B,IAAI,4CAAJ,EAA9B,CAqBgD,CAnBhD;;AACQ,aAAAC,iBAAA,GAAyB,EAAzB;AACA,aAAAC,oBAAA,GAA4B,EAA5B;AACA,aAAAC,WAAA,GAAmB,EAAnB;;AAiBN,YAAMC,cAAc,GAAG,SAAjBA,cAAiB,GAAM;AAC3B;AACA,iBAAI,CAACvB,UAAL,GAAkB,OAAI,CAACe,iBAAL,CAAuBS,oBAAvB,EAAlB;AAEA,iBAAI,CAACC,WAAL,GAAmB,gDAAe,OAAI,CAACrC,iBAAL,CAAuBI,QAAvB,EAAf,EAAkD,QAAlD,CAAnB;AACA,iBAAI,CAACkC,UAAL,GAAkB,gDAAe,OAAI,CAACtC,iBAAL,CAAuBI,QAAvB,EAAf,EAAkD,OAAlD,CAAlB,CAL2B,CAO3B;;AACA,iBAAI,CAACmC,iBAAL;;AAEA,cAAI,gDAAe,OAAI,CAACL,WAApB,EAAiC,OAAI,CAAC1c,MAAL,CAAYmb,GAA7C,CAAJ,EAAuD;AACrD,mBAAI,CAAC6B,QAAL,CAAc,OAAI,CAACN,WAAL,CAAiB,OAAI,CAAC1c,MAAL,CAAYmb,GAA7B,CAAd;AACD,WAFD,MAEO;AACL;AACA,mBAAI,CAACiB,MAAL,CAAY7U,IAAZ,CAAiB,gDAAe,OAAI,CAAC6T,UAApB,EAAgC,MAAhC,CAAjB,EAFK,CAIL;;;AACA,gBAAM6B,aAAa,GAAG,gDAAe,OAAI,CAAC7B,UAApB,EAAgC,gBAAhC,CAAtB;;AACA,mBAAI,CAACmB,SAAL,CAAehV,IAAf,CAAoB,OAAO0V,aAAP,KAAyB,WAAzB,IAAwC,CAACA,aAA7D;;AAEA,gBAAI,gDAAe,OAAI,CAACT,iBAApB,EAAuC,OAAI,CAACxc,MAAL,CAAYmb,GAAnD,CAAJ,EAA6D;AAC3D;AACA,qBAAI,CAAC+B,cAAL,CAAoB,OAAI,CAACV,iBAAL,CAAuB,OAAI,CAACxc,MAAL,CAAYmb,GAAnC,CAApB;AACD,aAHD,MAGO;AACL;AACA,qBAAI,CAAC4B,iBAAL,GAFK,CAGL;;;AACA,kBAAI,gDAAe,OAAI,CAACN,oBAApB,EAA0C,OAAI,CAACzc,MAAL,CAAYmb,GAAtD,CAAJ,EAAgE;AAC9D,uBAAI,CAACgC,iBAAL,CAAuB,OAAI,CAACV,oBAAL,CAA0B,OAAI,CAACzc,MAAL,CAAYmb,GAAtC,CAAvB;AACD;AACF;AACF;AACF,SAhCD;;AAkCAwB,sBAAc,GAnCgC,CAqC9C;;AACA,aAAK3c,MAAL,CAAYe,MAAZ,CACGqC,IADH,CACQ,8DAAO,UAAAnC,KAAK;AAAA,iBAAIA,KAAK,YAAY,6DAArB;AAAA,SAAZ,CADR,EAEGD,SAFH,CAEa2b,cAFb;AAGD;AAED;;;;;;;4CAGoB;AAClB;AACA,cAAIS,WAAW,GAAG,KAAKC,cAAL,CAAoB,KAAKR,WAAzB,CAAlB,CAFkB,CAGlB;;AACA,cAAIO,WAAW,CAAC1Y,MAAZ,KAAuB,CAA3B,EAA8B;AAC5B;AACA0Y,uBAAW,GAAG,KAAKC,cAAL,CAAoB,KAAKP,UAAzB,CAAd;AACD;;AAED,eACE;AACAM,qBAAW,CAAC1Y,MAAZ,KAAuB,CAAvB,IACA;AACA0Y,qBAAW,CAAC,CAAD,CAAX,CAAehd,KAAf,CAAqB+F,OAArB,CAA6B,gDAAe,KAAKiV,UAApB,EAAgC,YAAhC,CAA7B,MAAgF,CAAC,CAJnF,EAIsF;AACpF;AACAgC,uBAAW,GAAG,EAAd;AACD;;AAED,eAAKd,YAAL,CAAkB/U,IAAlB,CAAuB6V,WAAvB;AACD;AAED;;;;;;uCAGeA,W,EAAmC;AAChD,eAAKZ,iBAAL,CAAuB,KAAKxc,MAAL,CAAYmb,GAAnC,IAA0CiC,WAA1C;AACA,eAAKd,YAAL,CAAkB/U,IAAlB,CAAuB6V,WAAvB;AACD;AAED;;;;;;;0CAIkBA,W,EAAmC;AACnD,eAAKX,oBAAL,CAA0B,KAAKzc,MAAL,CAAYmb,GAAtC,IAA6CiC,WAA7C;AACA,cAAME,IAAI,GAAG,KAAKhB,YAAL,CAAkBiB,QAAlB,EAAb;AACA,eAAKjB,YAAL,CAAkB/U,IAAlB,CAAuB+V,IAAI,CAACE,MAAL,CAAYJ,WAAZ,CAAvB;AACD;AAED;;;;;;;uCAIeK,K,EAAY;AACzB,cAAItC,GAAG,GAAG,KAAKgB,iBAAL,CAAuBjB,QAAvB,CAAgC,KAAKlb,MAAL,CAAYmb,GAA5C,CAAV;AACAA,aAAG,GAAGA,GAAG,CAACS,OAAJ,CAAY,IAAIP,MAAJ,CAAW,IAAX,EAAiB,GAAjB,CAAZ,EAAmC,GAAnC,CAAN;AAEA,cAAM+B,WAAW,GAAG,EAApB;AACA,cAAMM,QAAQ,GAAG,KAAKC,OAAL,CAAaF,KAAb,EAAoBtC,GAApB,KAA4B,EAA7C;AACAuC,kBAAQ,CAAC/b,OAAT,CAAiB,UAAAiE,GAAG,EAAI;AACtB6X,iBAAK,GAAGA,KAAK,CAAC7X,GAAD,CAAb;;AACA,gBAAI,OAAO6X,KAAP,KAAiB,WAAjB,IAAgCA,KAAK,CAACrd,KAA1C,EAAiD;AAC/Cgd,yBAAW,CAAC1b,IAAZ,CAAiB+b,KAAjB;AACD;AACF,WALD;AAOA,iBAAOL,WAAP;AACD;AAED;;;;;;;;iCAKShd,K,EAAe;AACtB,eAAKsc,WAAL,CAAiB,KAAK1c,MAAL,CAAYmb,GAA7B,IAAoC/a,KAApC;AACA,eAAKgc,MAAL,CAAY7U,IAAZ,CAAiB;AAACnH,iBAAK,EAALA;AAAD,WAAjB;AACD;AAED;;;;;;;;gCAKQia,G,EAAK/Q,K,EAAO;AAClB,cAAI,OAAO+Q,GAAP,KAAe,QAAnB,EAA6B;AAC3B;AACD;;AACD,cAAM/a,IAAI,GAAG,EAAb;AACA,cAAIse,KAAK,GAAG,KAAZ;;AAEA,cAAMC,MAAM,GAAG,SAATA,MAAS,CAACC,QAAD,EAAc;AAC3B;AACA,iBAAK,IAAIlY,GAAT,IAAgBkY,QAAhB,EAA0B;AACxBxe,kBAAI,CAACoC,IAAL,CAAUkE,GAAV;;AACA,kBAAIkY,QAAQ,CAAClY,GAAD,CAAR,KAAkB0D,KAAtB,EAA6B;AAC3BsU,qBAAK,GAAG,IAAR;AACA;AACD;;AACD,kBAAI,OAAOE,QAAQ,CAAClY,GAAD,CAAf,KAAyB,QAA7B,EAAuC;AACrCiY,sBAAM,CAACC,QAAQ,CAAClY,GAAD,CAAT,CAAN;;AACA,oBAAIgY,KAAJ,EAAW;AACT;AACD;AACF;;AACDte,kBAAI,CAACye,GAAL;AACD;AACF,WAhBD;;AAkBAF,gBAAM,CAACxD,GAAD,CAAN;AACA,iBAAO/a,IAAP;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QCrLU0e,kB;AAIX;;;;;AAKA,kCAAoBC,SAApB,EAAiD;AAAA;;AAA7B,aAAAA,SAAA,GAAAA,SAAA,CAA6B,CARjD;;AACQ,aAAAC,OAAA,GAAe,EAAf,CAOyC,CAC/C;;AACA,aAAKD,SAAL,CAAeE,QAAf,CAAwB,CAAC,IAAD,CAAxB,EAF+C,CAI/C;;AACA,aAAKF,SAAL,CAAeG,cAAf,CAA8B,IAA9B;AACD;AAED;;;;;;;;;2CAKkC;AAAA;;AAAA,4CAAdrJ,IAAc;AAAdA,gBAAc;AAAA;;AAChC,cAAMsJ,OAAO,aAAOtJ,IAAP,CAAb;AAEAsJ,iBAAO,CAAC1c,OAAR,CAAgB,UAAA2c,MAAM,EAAI;AACxB;AACA;AACA,mBAAI,CAACL,SAAL,CAAeM,cAAf,CAA8BD,MAAM,CAACE,IAArC,EAA2CF,MAAM,CAAC1V,IAAlD,EAAwD,IAAxD;;AAEA,mBAAI,CAACsV,OAAL,CAAaxc,IAAb,CAAkB4c,MAAM,CAACE,IAAzB;AACD,WAND,EAHgC,CAWhC;;AACA,eAAKP,SAAL,CAAeE,QAAf,CAAwB,KAAKD,OAA7B;AACD;AAED;;;;;;;;oCAKYM,I,EAAM;AAChB,cAAIA,IAAJ,EAAU;AACR,iBAAKP,SAAL,CAAeQ,GAAf,CAAmB,KAAKR,SAAL,CAAeS,cAAf,EAAnB;AACA,iBAAKT,SAAL,CAAeQ,GAAf,CAAmBD,IAAnB;AACArF,wBAAY,CAACC,OAAb,CAAqB,UAArB,EAAiCoF,IAAjC;AACD;AACF;AAED;;;;;;8CAGmB;AACjB,iBAAOrF,YAAY,CAACI,OAAb,CAAqB,UAArB,KAAoC,KAAK0E,SAAL,CAAeS,cAAf,EAA3C;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aClEK;AACJC,gBAAU,EAAE;AACVC,cAAM,EAAE;AADE,OADR;AAIJC,UAAI,EAAE;AACJC,WAAG,EAAE,GADD;AAEJC,eAAO,EAAE,IAFL;AAGJC,mBAAW,EAAE,OAHT;AAIJC,aAAK,EAAE,OAJH;AAKJC,gBAAQ,EAAE,IALN;AAMJC,YAAI,EAAE,IANF;AAOJC,iBAAS,EAAE;AAPP,OAJF;AAaJC,UAAI,EAAE;AACJC,eAAO,EAAE;AACPC,YAAE,EAAE,IADG;AAEPC,uBAAa,EAAE,IAFR;AAGPC,oBAAU,EAAE,OAHL;AAIPC,uBAAa,EAAE,IAJR;AAKPC,uBAAa,EAAE,MALR;AAMPC,qBAAW,EAAE,IANN;AAOPC,iBAAO,EAAE,IAPF;AAQPC,eAAK,EAAE,IARA;AASPC,iBAAO,EAAE;AATF,SADL;AAYJC,aAAK,EAAE;AACLC,eAAK,EAAE,MADF;AAELC,gBAAM,EAAE;AAFH,SAZH;AAgBJC,cAAM,EAAE;AACNF,eAAK,EAAE,qBADD;AAENG,cAAI,EAAE,yCAFA;AAGNC,iBAAO,EAAE;AAHH,SAhBJ;AAqBJC,gBAAQ,EAAE;AACRL,eAAK,EAAE,SADC;AAERG,cAAI,EAAE,2CAFE;AAGRC,iBAAO,EAAE;AAHD,SArBN;AA0BJE,aAAK,EAAE;AACLC,eAAK,EAAE,OADF;AAELC,kBAAQ,EAAE,UAFL;AAGLC,kBAAQ,EAAE,UAHL;AAILC,0BAAgB,EAAE,kBAJb;AAKLC,kBAAQ,EAAE;AALL,SA1BH;AAiCJC,kBAAU,EAAE;AACVC,iBAAO,EAAE,uBADC;AAEVC,kBAAQ,EAAE,sBAFA;AAGVC,oBAAU,EAAE,oCAHF;AAIVC,4BAAkB,EAAE,2CAJV;AAKVC,mBAAS,EAAE,qCALD;AAMVC,uBAAa,EAAE,+BANL;AAOVC,wBAAc,EAAE,gBAPN;AAQVC,0BAAgB,EAAE,uBARR;AASVC,0BAAgB,EAAE,uBATR;AAUVC,uBAAa,EAAE;AAVL;AAjCR,OAbF;AA2DJC,eAAS,EAAE;AACTC,cAAM,EAAE;AACNC,gCAAsB,EAAE,0BADlB;AAENC,aAAG,EAAE,KAFC;AAGNC,mBAAS,EAAE,WAHL;AAINC,gBAAM,EAAE,QAJF;AAKNC,gBAAM,EAAE,QALF;AAMNC,mBAAS,EAAE,WANL;AAONC,iBAAO,EAAE,SAPH;AAQNC,kBAAQ,EAAE,UARJ;AASNC,oBAAU,EAAE,YATN;AAUNC,gBAAM,EAAE,QAVF;AAWNC,uBAAa,EAAE;AAXT,SADC;AAcTZ,iBAAS,EAAE,WAdF;AAeTa,iBAAS,EAAE;AACTA,mBAAS,EAAE,IADF;AAETC,wBAAc,EAAE,MAFP;AAGTC,sBAAY,EAAE,cAHL;AAITC,gCAAsB,EAAE;AACtBvC,iBAAK,EAAE,iBADe;AAEtBwC,uBAAW,EAAE,mDAFS;AAGtBC,4BAAgB,EAAE,yBAHI;AAItBC,mBAAO,EAAE;AAJa,WAJf;AAUTC,+BAAqB,EAAE;AACrB3C,iBAAK,EAAE,kBADc;AAErBwC,uBAAW,EAAE,wDAFQ;AAGrBC,4BAAgB,EAAE,2BAHG;AAIrBC,mBAAO,EAAE;AAJY,WAVd;AAgBTE,uBAAa,EAAE;AACb5C,iBAAK,EAAE,gDADM;AAEb0C,mBAAO,EAAE;AAFI,WAhBN;AAoBTG,cAAI,EAAE;AACJC,0BAAc,EAAE,2BADZ;AAEJC,uBAAW,EAAE;AAFT;AApBG;AAfF;AA3DP,K,EAHR;;AACO,QAAM1E,MAAM,GAAG;AACpBE,UAAI,EAAE,IADc;AAEpB5V,UAAI,EAAE;AAFc,KAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aCEC;AACJ+V,gBAAU,EAAE;AACVC,cAAM,EAAE;AADE,OADR;AAIJC,UAAI,EAAE;AACJC,WAAG,EAAE,KADD;AAEJC,eAAO,EAAE,UAFL;AAGJC,mBAAW,EAAE,mCAHT;AAIJC,aAAK,EAAE,OAJH;AAKJC,gBAAQ,EAAE,eALN;AAMJC,YAAI,EAAE,MANF;AAOJC,iBAAS,EAAE;AAPP,OAJF;AAaJC,UAAI,EAAE;AACJC,eAAO,EAAE;AACPC,YAAE,EAAE,MADG;AAEPC,uBAAa,EAAE,YAFR;AAGPC,oBAAU,EAAE,qBAHL;AAIPC,uBAAa,EAAE,UAJR;AAKPC,uBAAa,EAAE,oBALR;AAMPC,qBAAW,EAAE,QANN;AAOPC,iBAAO,EAAE,cAPF;AAQPC,eAAK,EAAE,OARA;AASPC,iBAAO,EAAE;AATF,SADL;AAYJC,aAAK,EAAE;AACLC,eAAK,EAAE,gBADF;AAELC,gBAAM,EAAE;AAFH,SAZH;AAgBJC,cAAM,EAAE;AACNF,eAAK,EAAE,qBADD;AAENG,cAAI,EAAE,yCAFA;AAGNC,iBAAO,EAAE;AAHH,SAhBJ;AAqBJC,gBAAQ,EAAE;AACRL,eAAK,EAAE,SADC;AAERG,cAAI,EAAE,2CAFE;AAGRC,iBAAO,EAAE;AAHD,SArBN;AA0BJE,aAAK,EAAE;AACLC,eAAK,EAAE,OADF;AAELC,kBAAQ,EAAE,UAFL;AAGLC,kBAAQ,EAAE,UAHL;AAILC,0BAAgB,EAAE,kBAJb;AAKLC,kBAAQ,EAAE;AALL,SA1BH;AAiCJC,kBAAU,EAAE;AACVC,iBAAO,EAAE,uBADC;AAEVC,kBAAQ,EAAE,sBAFA;AAGVC,oBAAU,EAAE,oCAHF;AAIVC,4BAAkB,EAAE,2CAJV;AAKVC,mBAAS,EAAE,qCALD;AAMVC,uBAAa,EAAE,+BANL;AAOVC,wBAAc,EAAE,gBAPN;AAQVC,0BAAgB,EAAE,uBARR;AASVC,0BAAgB,EAAE,uBATR;AAUVC,uBAAa,EAAE;AAVL;AAjCR,OAbF;AA2DJC,eAAS,EAAE;AACTC,cAAM,EAAE;AACNC,gCAAsB,EAAE,0BADlB;AAENC,aAAG,EAAE,KAFC;AAGNC,mBAAS,EAAE,WAHL;AAINC,gBAAM,EAAE,QAJF;AAKNC,gBAAM,EAAE,QALF;AAMNC,mBAAS,EAAE,WANL;AAONC,iBAAO,EAAE,SAPH;AAQNC,kBAAQ,EAAE,UARJ;AASNC,oBAAU,EAAE,YATN;AAUNC,gBAAM,EAAE,QAVF;AAWNC,uBAAa,EAAE;AAXT,SADC;AAcTZ,iBAAS,EAAE,WAdF;AAeTa,iBAAS,EAAE;AACTA,mBAAS,EAAE,WADF;AAETC,wBAAc,EAAE,gBAFP;AAGTC,sBAAY,EAAE,cAHL;AAITC,gCAAsB,EAAE;AACtBvC,iBAAK,EAAE,iBADe;AAEtBwC,uBAAW,EAAE,mDAFS;AAGtBC,4BAAgB,EAAE,yBAHI;AAItBC,mBAAO,EAAE;AAJa,WAJf;AAUTC,+BAAqB,EAAE;AACrB3C,iBAAK,EAAE,kBADc;AAErBwC,uBAAW,EAAE,wDAFQ;AAGrBC,4BAAgB,EAAE,2BAHG;AAIrBC,mBAAO,EAAE;AAJY,WAVd;AAgBTE,uBAAa,EAAE;AACb5C,iBAAK,EAAE,gDADM;AAEb0C,mBAAO,EAAE;AAFI,WAhBN;AAoBTG,cAAI,EAAE;AACJC,0BAAc,EAAE,2BADZ;AAEJC,uBAAW,EAAE;AAFT;AApBG;AAfF;AA3DP,K,EAHR;;AACO,QAAM1E,MAAM,GAAG;AACpBE,UAAI,EAAE,IADc;AAEpB5V,UAAI,EAAE;AAFc,KAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aCEC;AACJ+V,gBAAU,EAAE;AACVC,cAAM,EAAE;AADE,OADR;AAIJC,UAAI,EAAE;AACJC,WAAG,EAAE,KADD;AAEJC,eAAO,EAAE,SAFL;AAGJC,mBAAW,EAAE,iBAHT;AAIJC,aAAK,EAAE,OAJH;AAKJC,gBAAQ,EAAE,UALN;AAMJC,YAAI,EAAE,MANF;AAOJC,iBAAS,EAAE;AAPP,OAJF;AAaJC,UAAI,EAAE;AACJC,eAAO,EAAE;AACPC,YAAE,EAAE,IADG;AAEPC,uBAAa,EAAE,QAFR;AAGPC,oBAAU,EAAE,wBAHL;AAIPC,uBAAa,EAAE,SAJR;AAKPC,uBAAa,EAAE,iBALR;AAMPC,qBAAW,EAAE,MANN;AAOPC,iBAAO,EAAE,SAPF;AAQPC,eAAK,EAAE,OARA;AASPC,iBAAO,EAAE,YATF;AAUPE,eAAK,EAAE;AAVA,SADL;AAaJD,aAAK,EAAE;AACLC,eAAK,EAAE,eADF;AAELC,gBAAM,EAAE;AAFH,SAbH;AAiBJC,cAAM,EAAE;AACNF,eAAK,EAAE,qBADD;AAENG,cAAI,EAAE,yCAFA;AAGNC,iBAAO,EAAE;AAHH,SAjBJ;AAsBJC,gBAAQ,EAAE;AACRL,eAAK,EAAE,SADC;AAERG,cAAI,EAAE,2CAFE;AAGRC,iBAAO,EAAE;AAHD,SAtBN;AA2BJE,aAAK,EAAE;AACLC,eAAK,EAAE,OADF;AAELC,kBAAQ,EAAE,UAFL;AAGLC,kBAAQ,EAAE,UAHL;AAILC,0BAAgB,EAAE,kBAJb;AAKLC,kBAAQ,EAAE;AALL,SA3BH;AAkCJC,kBAAU,EAAE;AACVC,iBAAO,EAAE,uBADC;AAEVC,kBAAQ,EAAE,sBAFA;AAGVC,oBAAU,EAAE,oCAHF;AAIVC,4BAAkB,EAAE,2CAJV;AAKVC,mBAAS,EAAE,qCALD;AAMVC,uBAAa,EAAE,+BANL;AAOVC,wBAAc,EAAE,gBAPN;AAQVC,0BAAgB,EAAE,uBARR;AASVC,0BAAgB,EAAE,uBATR;AAUVC,uBAAa,EAAE;AAVL;AAlCR,OAbF;AA4DJC,eAAS,EAAE;AACTC,cAAM,EAAE;AACNC,gCAAsB,EAAE,0BADlB;AAENC,aAAG,EAAE,KAFC;AAGNC,mBAAS,EAAE,WAHL;AAINC,gBAAM,EAAE,QAJF;AAKNC,gBAAM,EAAE,QALF;AAMNC,mBAAS,EAAE,WANL;AAONC,iBAAO,EAAE,SAPH;AAQNC,kBAAQ,EAAE,UARJ;AASNC,oBAAU,EAAE,YATN;AAUNC,gBAAM,EAAE,QAVF;AAWNC,uBAAa,EAAE;AAXT,SADC;AAcTZ,iBAAS,EAAE,WAdF;AAeTa,iBAAS,EAAE;AACTA,mBAAS,EAAE,WADF;AAETC,wBAAc,EAAE,gBAFP;AAGTC,sBAAY,EAAE,cAHL;AAITC,gCAAsB,EAAE;AACtBvC,iBAAK,EAAE,iBADe;AAEtBwC,uBAAW,EAAE,mDAFS;AAGtBC,4BAAgB,EAAE,yBAHI;AAItBC,mBAAO,EAAE;AAJa,WAJf;AAUTC,+BAAqB,EAAE;AACrB3C,iBAAK,EAAE,kBADc;AAErBwC,uBAAW,EAAE,wDAFQ;AAGrBC,4BAAgB,EAAE,2BAHG;AAIrBC,mBAAO,EAAE;AAJY,WAVd;AAgBTE,uBAAa,EAAE;AACb5C,iBAAK,EAAE,gDADM;AAEb0C,mBAAO,EAAE;AAFI,WAhBN;AAoBTG,cAAI,EAAE;AACJC,0BAAc,EAAE,2BADZ;AAEJC,uBAAW,EAAE;AAFT;AApBG;AAfF;AA5DP,K,EAHR;;AACO,QAAM1E,MAAM,GAAG;AACpBE,UAAI,EAAE,IADc;AAEpB5V,UAAI,EAAE;AAFc,KAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aCEC;AACJ+V,gBAAU,EAAE;AACVC,cAAM,EAAE;AADE,OADR;AAIJC,UAAI,EAAE;AACJC,WAAG,EAAE,OADD;AAEJC,eAAO,EAAE,gBAFL;AAGJC,mBAAW,EAAE,yBAHT;AAIJC,aAAK,EAAE,OAJH;AAKJC,gBAAQ,EAAE,iBALN;AAMJC,YAAI,EAAE,cANF;AAOJC,iBAAS,EAAE;AAPP,OAJF;AAaJC,UAAI,EAAE;AACJC,eAAO,EAAE;AACPC,YAAE,EAAE,GADG;AAEPC,uBAAa,EAAE,QAFR;AAGPC,oBAAU,EAAE,uBAHL;AAIPC,uBAAa,EAAE,YAJR;AAKPC,uBAAa,EAAE,4BALR;AAMPC,qBAAW,EAAE,SANN;AAOPC,iBAAO,EAAE,WAPF;AAQPC,eAAK,EAAE,OARA;AASPC,iBAAO,EAAE;AATF,SADL;AAYJC,aAAK,EAAE;AACLC,eAAK,EAAE,kBADF;AAELC,gBAAM,EAAE;AAFH,SAZH;AAgBJC,cAAM,EAAE;AACNF,eAAK,EAAE,sBADD;AAENG,cAAI,EAAE,8DAFA;AAGNC,iBAAO,EAAE;AAHH,SAhBJ;AAqBJC,gBAAQ,EAAE;AACRL,eAAK,EAAE,SADC;AAERG,cAAI,EAAE,2CAFE;AAGRC,iBAAO,EAAE;AAHD,SArBN;AA0BJE,aAAK,EAAE;AACLC,eAAK,EAAE,OADF;AAELC,kBAAQ,EAAE,UAFL;AAGLC,kBAAQ,EAAE,UAHL;AAILC,0BAAgB,EAAE,kBAJb;AAKLC,kBAAQ,EAAE;AALL,SA1BH;AAiCJC,kBAAU,EAAE;AACVC,iBAAO,EAAE,uBADC;AAEVC,kBAAQ,EAAE,sBAFA;AAGVC,oBAAU,EAAE,oCAHF;AAIVC,4BAAkB,EAAE,2CAJV;AAKVC,mBAAS,EAAE,qCALD;AAMVC,uBAAa,EAAE,+BANL;AAOVC,wBAAc,EAAE,gBAPN;AAQVC,0BAAgB,EAAE,uBARR;AASVC,0BAAgB,EAAE,uBATR;AAUVC,uBAAa,EAAE;AAVL;AAjCR,OAbF;AA2DJC,eAAS,EAAE;AACTC,cAAM,EAAE;AACNC,gCAAsB,EAAE,0BADlB;AAENC,aAAG,EAAE,KAFC;AAGNC,mBAAS,EAAE,WAHL;AAINC,gBAAM,EAAE,QAJF;AAKNC,gBAAM,EAAE,QALF;AAMNC,mBAAS,EAAE,WANL;AAONC,iBAAO,EAAE,SAPH;AAQNC,kBAAQ,EAAE,UARJ;AASNC,oBAAU,EAAE,YATN;AAUNC,gBAAM,EAAE,QAVF;AAWNC,uBAAa,EAAE;AAXT,SADC;AAcTZ,iBAAS,EAAE,WAdF;AAeTa,iBAAS,EAAE;AACTA,mBAAS,EAAE,WADF;AAETC,wBAAc,EAAE,gBAFP;AAGTC,sBAAY,EAAE,cAHL;AAITC,gCAAsB,EAAE;AACtBvC,iBAAK,EAAE,iBADe;AAEtBwC,uBAAW,EAAE,mDAFS;AAGtBC,4BAAgB,EAAE,yBAHI;AAItBC,mBAAO,EAAE;AAJa,WAJf;AAUTC,+BAAqB,EAAE;AACrB3C,iBAAK,EAAE,kBADc;AAErBwC,uBAAW,EAAE,wDAFQ;AAGrBC,4BAAgB,EAAE,2BAHG;AAIrBC,mBAAO,EAAE;AAJY,WAVd;AAgBTE,uBAAa,EAAE;AACb5C,iBAAK,EAAE,gDADM;AAEb0C,mBAAO,EAAE;AAFI,WAhBN;AAoBTG,cAAI,EAAE;AACJC,0BAAc,EAAE,2BADZ;AAEJC,uBAAW,EAAE;AAFT;AApBG;AAfF;AA3DP,K,EAHR;;AACO,QAAM1E,MAAM,GAAG;AACpBE,UAAI,EAAE,IADc;AAEpB5V,UAAI,EAAE;AAFc,KAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aCEC;AACJ+V,gBAAU,EAAE;AACVC,cAAM,EAAE;AADE,OADR;AAIJC,UAAI,EAAE;AACJC,WAAG,EAAE,SADD;AAEJC,eAAO,EAAE,OAFL;AAGJC,mBAAW,EAAE,uBAHT;AAIJC,aAAK,EAAE,OAJH;AAKJC,gBAAQ,EAAE,iBALN;AAMJC,YAAI,EAAE,cANF;AAOJC,iBAAS,EAAE;AAPP,OAJF;AAaJC,UAAI,EAAE;AACJC,eAAO,EAAE;AACPC,YAAE,EAAE,IADG;AAEPC,uBAAa,EAAE,WAFR;AAGPC,oBAAU,EAAE,yBAHL;AAIPC,uBAAa,EAAE,UAJR;AAKPC,uBAAa,EAAE,qBALR;AAMPC,qBAAW,EAAE,MANN;AAOPC,iBAAO,EAAE,SAPF;AAQPC,eAAK,EAAE,OARA;AASPC,iBAAO,EAAE;AATF,SADL;AAYJC,aAAK,EAAE;AACLC,eAAK,EAAE,iBADF;AAELC,gBAAM,EAAE;AAFH,SAZH;AAgBJC,cAAM,EAAE;AACNF,eAAK,EAAE,qBADD;AAENG,cAAI,EAAE,yCAFA;AAGNC,iBAAO,EAAE;AAHH,SAhBJ;AAqBJC,gBAAQ,EAAE;AACRL,eAAK,EAAE,SADC;AAERG,cAAI,EAAE,2CAFE;AAGRC,iBAAO,EAAE;AAHD,SArBN;AA0BJE,aAAK,EAAE;AACLC,eAAK,EAAE,OADF;AAELC,kBAAQ,EAAE,UAFL;AAGLC,kBAAQ,EAAE,cAHL;AAILC,0BAAgB,EAAE,kBAJb;AAKLC,kBAAQ,EAAE;AALL,SA1BH;AAiCJC,kBAAU,EAAE;AACVC,iBAAO,EAAE,4BADC;AAEVC,kBAAQ,EAAE,qBAFA;AAGVC,oBAAU,EAAE,oCAHF;AAIVC,4BAAkB,EAAE,2CAJV;AAKVC,mBAAS,EAAE,qCALD;AAMVC,uBAAa,EAAE,+BANL;AAOVC,wBAAc,EAAE,gBAPN;AAQVC,0BAAgB,EAAE,uBARR;AASVC,0BAAgB,EAAE,uBATR;AAUVC,uBAAa,EAAE;AAVL;AAjCR,OAbF;AA2DJC,eAAS,EAAE;AACTC,cAAM,EAAE;AACNC,gCAAsB,EAAE,0CADlB;AAENC,aAAG,EAAE,KAFC;AAGNC,mBAAS,EAAE,WAHL;AAINC,gBAAM,EAAE,QAJF;AAKNC,gBAAM,EAAE,QALF;AAMNC,mBAAS,EAAE,WANL;AAONC,iBAAO,EAAE,SAPH;AAQNC,kBAAQ,EAAE,UARJ;AASNC,oBAAU,EAAE,YATN;AAUNC,gBAAM,EAAE,QAVF;AAWNC,uBAAa,EAAE;AAXT,SADC;AAcTZ,iBAAS,EAAE,WAdF;AAeTa,iBAAS,EAAE;AACTA,mBAAS,EAAE,aADF;AAETC,wBAAc,EAAE,mBAFP;AAGTC,sBAAY,EAAE,gBAHL;AAITC,gCAAsB,EAAE;AACtBvC,iBAAK,EAAE,uBADe;AAEtBwC,uBAAW,EAAE,sDAFS;AAGtBC,4BAAgB,EAAE,yCAHI;AAItBC,mBAAO,EAAE;AAJa,WAJf;AAUTC,+BAAqB,EAAE;AACrB3C,iBAAK,EAAE,uBADc;AAErBwC,uBAAW,EAAE,qEAFQ;AAGrBC,4BAAgB,EAAE,4BAHG;AAIrBC,mBAAO,EAAE;AAJY,WAVd;AAgBTE,uBAAa,EAAE;AACb5C,iBAAK,EAAE,0DADM;AAEb0C,mBAAO,EAAE;AAFI,WAhBN;AAoBTG,cAAI,EAAE;AACJC,0BAAc,EAAE,4BADZ;AAEJC,uBAAW,EAAE;AAFT;AApBG;AAfF;AA3DP,K,EAHR;;AACO,QAAM1E,MAAM,GAAG;AACpBE,UAAI,EAAE,IADc;AAEpB5V,UAAI,EAAE;AAFc,KAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aCEC;AACJ+V,gBAAU,EAAE;AACVC,cAAM,EAAE;AADE,OADR;AAIJC,UAAI,EAAE;AACJC,WAAG,EAAE,KADD;AAEJC,eAAO,EAAE,IAFL;AAGJC,mBAAW,EAAE,UAHT;AAIJC,aAAK,EAAE,OAJH;AAKJC,gBAAQ,EAAE,IALN;AAMJC,YAAI,EAAE,KANF;AAOJC,iBAAS,EAAE;AAPP,OAJF;AAaJC,UAAI,EAAE;AACJC,eAAO,EAAE;AACPC,YAAE,EAAE,KADG;AAEPC,uBAAa,EAAE,MAFR;AAGPC,oBAAU,EAAE,eAHL;AAIPC,uBAAa,EAAE,QAJR;AAKPC,uBAAa,EAAE,cALR;AAMPC,qBAAW,EAAE,KANN;AAOPC,iBAAO,EAAE,QAPF;AAQPC,eAAK,EAAE,IARA;AASPC,iBAAO,EAAE;AATF,SADL;AAYJC,aAAK,EAAE;AACLC,eAAK,EAAE,gBADF;AAELC,gBAAM,EAAE;AAFH,SAZH;AAgBJC,cAAM,EAAE;AACNF,eAAK,EAAE,qBADD;AAENG,cAAI,EAAE,yCAFA;AAGNC,iBAAO,EAAE;AAHH,SAhBJ;AAqBJC,gBAAQ,EAAE;AACRL,eAAK,EAAE,SADC;AAERG,cAAI,EAAE,2CAFE;AAGRC,iBAAO,EAAE;AAHD,SArBN;AA0BJE,aAAK,EAAE;AACLC,eAAK,EAAE,OADF;AAELC,kBAAQ,EAAE,UAFL;AAGLC,kBAAQ,EAAE,UAHL;AAILC,0BAAgB,EAAE,kBAJb;AAKLC,kBAAQ,EAAE;AALL,SA1BH;AAiCJC,kBAAU,EAAE;AACVC,iBAAO,EAAE,uBADC;AAEVC,kBAAQ,EAAE,sBAFA;AAGVC,oBAAU,EAAE,oCAHF;AAIVC,4BAAkB,EAAE,2CAJV;AAKVC,mBAAS,EAAE,qCALD;AAMVC,uBAAa,EAAE,+BANL;AAOVC,wBAAc,EAAE,gBAPN;AAQVC,0BAAgB,EAAE,uBARR;AASVC,0BAAgB,EAAE,uBATR;AAUVC,uBAAa,EAAE;AAVL;AAjCR,OAbF;AA2DJC,eAAS,EAAE;AACTC,cAAM,EAAE;AACNC,gCAAsB,EAAE,0BADlB;AAENC,aAAG,EAAE,KAFC;AAGNC,mBAAS,EAAE,WAHL;AAINC,gBAAM,EAAE,QAJF;AAKNC,gBAAM,EAAE,QALF;AAMNC,mBAAS,EAAE,WANL;AAONC,iBAAO,EAAE,SAPH;AAQNC,kBAAQ,EAAE,UARJ;AASNC,oBAAU,EAAE,YATN;AAUNC,gBAAM,EAAE,QAVF;AAWNC,uBAAa,EAAE;AAXT,SADC;AAcTZ,iBAAS,EAAE,WAdF;AAeTa,iBAAS,EAAE;AACTA,mBAAS,EAAE,WADF;AAETC,wBAAc,EAAE,gBAFP;AAGTC,sBAAY,EAAE,cAHL;AAITC,gCAAsB,EAAE;AACtBvC,iBAAK,EAAE,iBADe;AAEtBwC,uBAAW,EAAE,mDAFS;AAGtBC,4BAAgB,EAAE,yBAHI;AAItBC,mBAAO,EAAE;AAJa,WAJf;AAUTC,+BAAqB,EAAE;AACrB3C,iBAAK,EAAE,kBADc;AAErBwC,uBAAW,EAAE,wDAFQ;AAGrBC,4BAAgB,EAAE,2BAHG;AAIrBC,mBAAO,EAAE;AAJY,WAVd;AAgBTE,uBAAa,EAAE;AACb5C,iBAAK,EAAE,gDADM;AAEb0C,mBAAO,EAAE;AAFI,WAhBN;AAoBTG,cAAI,EAAE;AACJC,0BAAc,EAAE,2BADZ;AAEJC,uBAAW,EAAE;AAFT;AApBG;AAfF;AA3DP,K,EAHR;;AACO,QAAM1E,MAAM,GAAG;AACpBE,UAAI,EAAE,IADc;AAEpB5V,UAAI,EAAE;AAFc,KAAf;;;;;;;;;;;;;;;;ACCP;AAAA;;;AAAA;AAAA;AAAA;;QAAaqa,Y;AAAb;AAAA;;AACS,aAAAC,QAAA,GAA8B;AACnCjJ,cAAI,EAAE,OAD6B;AAEnCkJ,YAAE,EAAE;AACFC,uBAAW,EAAE;AACXC,gBAAE,EAAE,GADO;AAEXC,gBAAE,EAAE,GAFO;AAGXC,gBAAE,EAAE,GAHO;AAIXC,gBAAE,EAAE,IAJO;AAKXC,iBAAG,EAAE;AALM,aADX;AAQFC,kBAAM,EAAE;AACNC,mBAAK,EAAE;AACLC,oBAAI,EAAE;AACJC,uBAAK,EAAE,SADH;AAEJC,yBAAO,EAAE,SAFL;AAGJC,2BAAS,EAAE,SAHP;AAIJC,yBAAO,EAAE,SAJL;AAKJC,sBAAI,EAAE,SALF;AAMJC,yBAAO,EAAE,SANL;AAOJC,wBAAM,EAAE,SAPJ;AAQJC,uBAAK,EAAE,SARH;AASJC,sBAAI,EAAE;AATF,iBADD;AAYLD,qBAAK,EAAE;AACLP,uBAAK,EAAE,SADF;AAELC,yBAAO,EAAE,SAFJ;AAGLC,2BAAS,EAAE,SAHN;AAILC,yBAAO,EAAE,SAJJ;AAKLC,sBAAI,EAAE,SALD;AAMLC,yBAAO,EAAE,SANJ;AAOLC,wBAAM,EAAE,SAPH;AAQLC,uBAAK,EAAE,SARF;AASLC,sBAAI,EAAE;AATD,iBAZF;AAuBLC,uBAAO,EAAE;AACPT,uBAAK,EAAE,SADA;AAEPC,yBAAO,EAAE,SAFF;AAGPC,2BAAS,EAAE,SAHJ;AAIPC,yBAAO,EAAE,SAJF;AAKPC,sBAAI,EAAE,SALC;AAMPC,yBAAO,EAAE,SANF;AAOPC,wBAAM,EAAE,SAPD;AAQPC,uBAAK,EAAE,SARA;AASPC,sBAAI,EAAE;AATC;AAvBJ,eADD;AAoCNE,kBAAI,EAAE;AACJC,uBAAO,EAAE,SADL;AAEJC,uBAAO,EAAE,SAFL;AAGJC,uBAAO,EAAE,SAHL;AAIJC,uBAAO,EAAE,SAJL;AAKJC,uBAAO,EAAE,SALL;AAMJC,uBAAO,EAAE,SANL;AAOJC,uBAAO,EAAE,SAPL;AAQJC,uBAAO,EAAE,SARL;AASJC,uBAAO,EAAE;AATL;AApCA,aARN;AAwDFC,sBAAU,EAAE;AAxDV,WAF+B;AA4DnC;AACAC,cAAI,EAAE;AACJvV,kBAAM,EAAE;AADJ,WA7D6B;AAgEnC;AACA,yBAAe;AACbtH,gBAAI,EAAE;AADO,WAjEoB;AAoEnCwD,gBAAM,EAAE;AACNqZ,gBAAI,EAAE;AACJ/W,qBAAO,EAAE,IADL;AAEJvN,mBAAK,EAAE,OAFH;AAGJ+iB,mBAAK,EAAE,OAHH;AAIJwB,mBAAK,EAAE;AACLnZ,uBAAO,EAAE,IADJ;AAELC,sBAAM,EAAE;AAFH;AAJH,aADA;AAUNI,gBAAI,EAAE;AACJ6Y,kBAAI,EAAE;AACJ/W,uBAAO,EAAE,IADL;AAEJwB,sBAAM,EAAE,SAFJ;AAGJyV,yBAAS,EAAE,KAHP;AAIJ,8BAAc;AAJV,eADF;AAOJpZ,qBAAO,EAAE;AACPqZ,qBAAK,EAAE,IADA;AAEP5Q,sBAAM,EAAE,OAFD;AAGP6Q,uBAAO,EAAE;AACP3B,uBAAK,EAAE,OADA;AAEP0B,uBAAK,EAAE;AAFA;AAHF,eAPL;AAeJpZ,oBAAM,EAAE;AACNqZ,uBAAO,EAAE;AACP3B,uBAAK,EAAE,MADA;AAEP4B,2BAAS,EAAE;AAFJ;AADH;AAfJ;AAVA,WApE2B;AAqGnCC,mBAAS,EAAE;AACTrX,mBAAO,EAAE,IADA;AAETsX,uBAAW,EAAE,KAFJ;AAGTC,kCAAsB,EAAE,IAHf;AAIT/V,kBAAM,EAAE,cAJC;AAKTwV,iBAAK,EAAE,IALE;AAMTvkB,iBAAK,EAAE,OANE;AAOT+kB,iBAAK,EAAE,KAPE;AAQTtS,iBAAK,EAAE;AARE,WArGwB;AA+GnC1S,iBAAO,EAAE;AACPC,iBAAK,EAAE;AADA,WA/G0B;AAkHnCglB,eAAK,EAAE;AACLV,gBAAI,EAAE;AACJvB,mBAAK,EAAE;AADH;AADD,WAlH4B;AAuHnCkC,eAAK,EAAE;AACLX,gBAAI,EAAE;AACJvB,mBAAK,EAAE,MADH;AAEJxV,qBAAO,EAAE,IAFL;AAGJgX,mBAAK,EAAE,IAHH;AAIJW,sBAAQ,EAAE;AACRrR,sBAAM,EAAE,IADA;AAER,2BAAS,KAFD;AAGRsR,yBAAS,EAAE;AAHH;AAJN,aADD;AAWLC,kBAAM,EAAE;AACNd,kBAAI,EAAE;AACJ/W,uBAAO,EAAE;AADL;AADA,aAXH;AAgBL9B,gBAAI,EAAE;AACJ4Z,sBAAQ,EAAE,KADN;AAEJC,oBAAM,EAAE,KAFJ;AAGJ,4BAAc,SAHV;AAIJZ,qBAAO,EAAE;AACPC,yBAAS,EAAE,IADJ;AAEPU,wBAAQ,EAAE;AACRZ,uBAAK,EAAE,IADC;AAER,mCAAiB;AAFT;AAFH;AAJL;AAhBD,WAvH4B;AAoJnCW,gBAAM,EAAE;AACNplB,iBAAK,EAAE,OADD;AAENukB,iBAAK,EAAE;AAFD,WApJ2B;AAwJnCgB,gBAAM,EAAE;AACNtI,kBAAM,EAAE;AACN1P,qBAAO,EAAE,IADH;AAENwB,oBAAM,EAAE,UAFF;AAGNlD,uBAAS,EAAE;AACT2Z,yBAAS,EAAE;AADF;AAHL,aADF;AAQNC,yBAAa,EAAE;AACblY,qBAAO,EAAE,IADI;AAEbwB,oBAAM,EAAE,UAFK;AAGbsW,sBAAQ,EAAE;AACR5S,qBAAK,EAAE;AADC,eAHG;AAMb5G,uBAAS,EAAE;AACT2Z,yBAAS,EAAE;AADF;AANE,aART;AAkBNE,gBAAI,EAAE;AACJnY,qBAAO,EAAE,IADL;AAEJwB,oBAAM,EAAE,WAFJ;AAGJsW,sBAAQ,EAAE;AACR5S,qBAAK,EAAE;AADC,eAHN;AAMJ5G,uBAAS,EAAE;AACT2Z,yBAAS,EAAE;AADF;AANP,aAlBA;AA4BN3jB,qBAAS,EAAE;AACT0L,qBAAO,EAAE;AADA,aA5BL;AA+BNoY,gBAAI,EAAE;AACJpY,qBAAO,EAAE,IADL;AAEJ8X,sBAAQ,EAAE;AACR5S,qBAAK,EAAE;AADC;AAFN,aA/BA;AAqCN,6BAAiB;AACflF,qBAAO,EAAE,IADM;AAEfwB,oBAAM,EAAE,UAFO;AAGfsW,sBAAQ,EAAE;AACR5S,qBAAK,EAAE;AADC,eAHK;AAMf5G,uBAAS,EAAE;AACT2Z,yBAAS,EAAE;AADF;AANI,aArCX;AA+CN,2BAAe;AACbjY,qBAAO,EAAE,IADI;AAEb1B,uBAAS,EAAE;AACT2Z,yBAAS,EAAE;AADF;AAFE,aA/CT;AAqDNI,gBAAI,EAAE;AACJrY,qBAAO,EAAE;AADL,aArDA;AAwDNsY,mBAAO,EAAE;AACPtY,qBAAO,EAAE;AADF,aAxDH;AA2DNuY,qBAAS,EAAE;AACTvY,qBAAO,EAAE;AADA;AA3DL;AAxJ2B,SAA9B;AA+NR;AANC;;;;;;;4BAGkB;AAChB,iBAAO,KAAK+U,QAAZ;AACD;;;;;;;;;;;;;;;;;;;;;AChOH;AAAA;;;AAAA;AAAA;AAAA;;QAAayD,U;AAAb;AAAA;;AACS,aAAAzD,QAAA,GAAgB;AACrBrX,gBAAM,EAAE;AACNqZ,gBAAI,EAAE,EADA;AAENlgB,iBAAK,EAAE,CACL;AACE5E,mBAAK,EAAE,YADT;AAEEwmB,kBAAI,EAAE,IAFR;AAGEC,uBAAS,EAAE,MAHb;AAIEC,kBAAI,EAAE,YAJR;AAKE7I,uBAAS,EAAE;AALb,aADK;AAFD,WADa;AAmTrB4H,eAAK,EAAE;AACLX,gBAAI,EAAE,EADD;AAELlgB,iBAAK,EAAE,CACL;AACE5E,mBAAK,EAAE,WADT;AAEEwmB,kBAAI,EAAE,IAFR;AAGEG,kBAAI,EAAE,iCAHR;AAIED,kBAAI,EAAE,YAJR;AAKE7I,uBAAS,EAAE,gBALb;AAME+I,oBAAM,EAAE;AANV,aADK,EASL;AAAEC,qBAAO,EAAE;AAAX,aATK,EAWL;AACE7mB,mBAAK,EAAE,kBADT;AAEEwmB,kBAAI,EAAE,IAFR;AAGEI,oBAAM,EAAE,KAHV;AAIED,kBAAI,EAAE,+BAJR;AAKEzB,qBAAO,EAAE,CACP;AACEllB,qBAAK,EAAE,OADT;AAEE0mB,oBAAI,EAAE;AAFR,eADO,EAKP;AACE1mB,qBAAK,EAAE,YADT;AAEE0mB,oBAAI,EAAE;AAFR,eALO,EASP;AACE1mB,qBAAK,EAAE,wBADT;AAEE0mB,oBAAI,EAAE;AAFR,eATO;AALX,aAXK,EA+BL;AACE1mB,mBAAK,EAAE,UADT;AAEEwmB,kBAAI,EAAE,IAFR;AAGEG,kBAAI,EAAE,YAHR;AAIEzB,qBAAO,EAAE,CACP;AACEllB,qBAAK,EAAE,QADT;AAEEwmB,oBAAI,EAAE,IAFR;AAGEI,sBAAM,EAAE,KAHV;AAIED,oBAAI,EAAE,eAJR;AAKED,oBAAI,EAAE;AALR,eADO,EAQP;AACE1mB,qBAAK,EAAE,cADT;AAEEwmB,oBAAI,EAAE,IAFR;AAGEI,sBAAM,EAAE,KAHV;AAIEF,oBAAI,EAAE,eAJR;AAKEC,oBAAI,EAAE;AALR,eARO,EAeP;AACE3mB,qBAAK,EAAE,WADT;AAEEwmB,oBAAI,EAAE,IAFR;AAGEI,sBAAM,EAAE,KAHV;AAIED,oBAAI,EAAE,mBAJR;AAKED,oBAAI,EAAE;AALR,eAfO,EAsBP;AACE1mB,qBAAK,EAAE,WADT;AAEEwmB,oBAAI,EAAE,IAFR;AAGEI,sBAAM,EAAE,KAHV;AAIED,oBAAI,EAAE,eAJR;AAKED,oBAAI,EAAE;AALR,eAtBO;AAJX,aA/BK,EAmEL;AACE1mB,mBAAK,EAAE,YADT;AAEEwmB,kBAAI,EAAE,IAFR;AAGEI,oBAAM,EAAE,KAHV;AAIED,kBAAI,EAAE,oBAJR;AAKEzB,qBAAO,EAAE,CACP;AACEllB,qBAAK,EAAE,OADT;AAEE4mB,sBAAM,EAAE,KAFV;AAGE1B,uBAAO,EAAE,CACP;AACEllB,uBAAK,EAAE,YADT;AAEE0mB,sBAAI,EAAE;AAFR,iBADO,EAKP;AACE1mB,uBAAK,EAAE,eADT;AAEE0mB,sBAAI,EAAE;AAFR,iBALO,EASP;AACE1mB,uBAAK,EAAE,cADT;AAEE0mB,sBAAI,EAAE;AAFR,iBATO,EAaP;AACE1mB,uBAAK,EAAE,iBADT;AAEE0mB,sBAAI,EAAE;AAFR,iBAbO;AAHX,eADO,EAuBP;AACE1mB,qBAAK,EAAE,WADT;AAEE4mB,sBAAM,EAAE,KAFV;AAGEF,oBAAI,EAAE;AAHR,eAvBO,EA4BP;AACE1mB,qBAAK,EAAE,QADT;AAEE4mB,sBAAM,EAAE,KAFV;AAGEF,oBAAI,EAAE;AAHR,eA5BO;AALX,aAnEK;AAFF;AAnTc,SAAhB;AAoaA,aAAAI,SAAA,GAAiB;AACtBrb,gBAAM,EAAE;AACNqZ,gBAAI,EAAE,EADA;AAENlgB,iBAAK,EAAE,CACL;AACE5E,mBAAK,EAAE,YADT;AAEEwmB,kBAAI,EAAE,IAFR;AAGEC,uBAAS,EAAE,MAHb;AAIEC,kBAAI,EAAE,YAJR;AAKE7I,uBAAS,EAAE;AALb,aADK;AAFD,WADc;AAatB4H,eAAK,EAAE;AACLX,gBAAI,EAAE,EADD;AAELlgB,iBAAK,EAAE,CACL;AACE5E,mBAAK,EAAE,WADT;AAEEwmB,kBAAI,EAAE,IAFR;AAGEG,kBAAI,EAAE,iCAHR;AAIED,kBAAI,EAAE,YAJR;AAKE7I,uBAAS,EAAE,gBALb;AAME+I,oBAAM,EAAE;AANV,aADK,EASL;AACE5mB,mBAAK,EAAE,aADT;AAEEwmB,kBAAI,EAAE,IAFR;AAGEG,kBAAI,EAAE,cAHR;AAIED,kBAAI,EAAE,mBAJR;AAKEE,oBAAM,EAAE;AALV,aATK,EAgBL;AACE5mB,mBAAK,EAAE,YADT;AAEE0mB,kBAAI,EAAE,+BAFR;AAGEF,kBAAI,EAAE,IAHR;AAIEG,kBAAI,EAAE;AAJR,aAhBK;AAFF;AAbe,SAAjB;AAiDR;;;;mCARmBI,I,EAAc;AAC9B,kBAAQA,IAAI,CAAC5kB,IAAb;AACE,iBAAK,OAAL;AAAc;AACZ,uBAAO,KAAK2kB,SAAZ;AACD;AAHH;;AAKA,iBAAO,KAAKhE,QAAZ;AACD;;;;;;;;;;;;;;;;;;;;;ACtdH;AAAA;;;AAAA;AAAA;AAAA;;QAAakE,U;AAAb;AAAA;;AACS,aAAAlE,QAAA,GAAgB;AACrBmE,mBAAS,EAAE;AACTP,gBAAI,EAAE;AACJ1mB,mBAAK,EAAE,WADH;AAEJic,kBAAI,EAAE;AAFF;AADG,WADU;AAOrBiL,qBAAW,EAAE;AACX/B,qBAAS,EAAE;AACTuB,kBAAI,EAAE;AAAC1mB,qBAAK,EAAE,WAAR;AAAqBic,oBAAI,EAAE;AAA3B;AADG,aADA;AAIXkL,iBAAK,EAAE;AACLT,kBAAI,EAAE;AAAC1mB,qBAAK,EAAE,OAAR;AAAiBic,oBAAI,EAAE;AAAvB;AADD,aAJI;AAOXmL,mBAAO,EAAE;AACPV,kBAAI,EAAE;AAAC1mB,qBAAK,EAAE,SAAR;AAAmBic,oBAAI,EAAE;AAAzB;AADC,aAPE;AAUXoL,oBAAQ,EAAE;AACRX,kBAAI,EAAE;AAAC1mB,qBAAK,EAAE,UAAR;AAAoBic,oBAAI,EAAE;AAA1B;AADE,aAVC;AAaXqL,oBAAQ,EAAE;AACRZ,kBAAI,EAAE;AAAC1mB,qBAAK,EAAE,UAAR;AAAoBic,oBAAI,EAAE;AAA1B;AADE,aAbC;AAgBXsL,sBAAU,EAAE;AACVb,kBAAI,EAAE;AAAC1mB,qBAAK,EAAE,YAAR;AAAsBic,oBAAI,EAAE;AAA5B;AADI,aAhBD;AAmBX4J,oBAAQ,EAAE;AACRa,kBAAI,EAAE;AAAC1mB,qBAAK,EAAE,UAAR;AAAoBic,oBAAI,EAAE;AAA1B;AADE,aAnBC;AAsBXuL,iBAAK,EAAE;AACLd,kBAAI,EAAE;AAAC1mB,qBAAK,EAAE,OAAR;AAAiBic,oBAAI,EAAE;AAAvB;AADD,aAtBI;AAyBXwL,sBAAU,EAAE;AACVf,kBAAI,EAAE;AAAC1mB,qBAAK,EAAE,YAAR;AAAsBic,oBAAI,EAAE;AAA5B;AADI,aAzBD;AA4BXyL,mBAAO,EAAE;AACPhB,kBAAI,EAAE;AAAC1mB,qBAAK,EAAE,SAAR;AAAmBic,oBAAI,EAAE;AAAzB;AADC,aA5BE;AA+BX0L,uBAAW,EAAE;AACXjB,kBAAI,EAAE;AAAC1mB,qBAAK,EAAE,aAAR;AAAuBic,oBAAI,EAAE;AAA7B;AADK,aA/BF;AAkCX2L,kBAAM,EAAE;AACNlB,kBAAI,EAAE;AAAC1mB,qBAAK,EAAE,QAAR;AAAkBic,oBAAI,EAAE;AAAxB;AADA,aAlCG;AAqCX4L,gBAAI,EAAE;AACJnB,kBAAI,EAAE;AAAC1mB,qBAAK,EAAE,MAAR;AAAgBic,oBAAI,EAAE;AAAtB;AADF,aArCK;AAwCX6L,sBAAU,EAAE;AACVpB,kBAAI,EAAE;AAAC1mB,qBAAK,EAAE,YAAR;AAAsBic,oBAAI,EAAE;AAA5B;AADI,aAxCD;AA2CXlP,mBAAO,EAAE;AACP2Z,kBAAI,EAAE;AAAC1mB,qBAAK,EAAE,SAAR;AAAmBic,oBAAI,EAAE;AAAzB;AADC,aA3CE;AA8CX8L,oBAAQ,EAAE;AACRrB,kBAAI,EAAE;AAAC1mB,qBAAK,EAAE,UAAR;AAAoBic,oBAAI,EAAE;AAA1B;AADE;AA9CC,WAPQ;AAyDrB+L,kBAAQ,EAAE;AACR;AACA,6BAAiB;AACfC,0BAAY,EAAE;AACZvB,oBAAI,EAAE;AAAC1mB,uBAAK,EAAE,eAAR;AAAyBic,sBAAI,EAAE;AAA/B;AADM,eADC;AAIfiM,sBAAQ,EAAE;AACRxB,oBAAI,EAAE;AAAC1mB,uBAAK,EAAE,UAAR;AAAoBic,sBAAI,EAAE;AAA1B;AADE,eAJK;AAOfsL,wBAAU,EAAE;AACVb,oBAAI,EAAE;AAAC1mB,uBAAK,EAAE,YAAR;AAAsBic,sBAAI,EAAE;AAA5B;AADI,eAPG;AAUfkM,yBAAW,EAAE;AACXzB,oBAAI,EAAE;AAAC1mB,uBAAK,EAAE,cAAR;AAAwBic,sBAAI,EAAE;AAA9B;AADK,eAVE;AAafmM,uBAAS,EAAE;AACT1B,oBAAI,EAAE;AAAC1mB,uBAAK,EAAE,YAAR;AAAsBic,sBAAI,EAAE;AAA5B;AADG,eAbI;AAgBfoM,mBAAK,EAAE;AACL3B,oBAAI,EAAE;AAAC1mB,uBAAK,EAAE,OAAR;AAAiBic,sBAAI,EAAE;AAAvB;AADD,eAhBQ;AAmBfqM,oBAAM,EAAE;AACN5B,oBAAI,EAAE;AAAC1mB,uBAAK,EAAE,QAAR;AAAkBic,sBAAI,EAAE;AAAxB;AADA,eAnBO;AAsBfsM,oBAAM,EAAE;AACN7B,oBAAI,EAAE;AAAC1mB,uBAAK,EAAE,QAAR;AAAkBic,sBAAI,EAAE;AAAxB;AADA,eAtBO;AAyBfuM,0BAAY,EAAE;AACZ9B,oBAAI,EAAE;AAAC1mB,uBAAK,EAAE,eAAR;AAAyBic,sBAAI,EAAE;AAA/B;AADM;AAzBC,aAFT;AA+BR;AACAwM,sBAAU,EAAE;AACVxc,kBAAI,EAAE;AACJya,oBAAI,EAAE;AAAC1mB,uBAAK,EAAE,MAAR;AAAgBic,sBAAI,EAAE;AAAtB;AADF,eADI;AAIVyM,qBAAO,EAAE;AACPhC,oBAAI,EAAE;AAAC1mB,uBAAK,EAAE,SAAR;AAAmBic,sBAAI,EAAE;AAAzB;AADC,eAJC;AAOVoK,qBAAO,EAAE;AACPK,oBAAI,EAAE;AAAC1mB,uBAAK,EAAE,SAAR;AAAmBic,sBAAI,EAAE;AAAzB;AADC;AAPC,aAhCJ;AA2CR;AACA1M,kBAAM,EAAE;AACNoZ,kBAAI,EAAE;AACJjC,oBAAI,EAAE;AAAC1mB,uBAAK,EAAE,MAAR;AAAgBic,sBAAI,EAAE;AAAtB;AADF,eADA;AAIN2M,qBAAO,EAAE;AACPlC,oBAAI,EAAE;AAAC1mB,uBAAK,EAAE,SAAR;AAAmBic,sBAAI,EAAE;AAAzB;AADC,eAJH;AAON,iCAAmB;AACjByK,oBAAI,EAAE;AAAC1mB,uBAAK,EAAE,iBAAR;AAA2Bic,sBAAI,EAAE;AAAjC;AADW,eAPb;AAUN,2BAAa;AACXyK,oBAAI,EAAE;AAAC1mB,uBAAK,EAAE,WAAR;AAAqBic,sBAAI,EAAE;AAA3B;AADK,eAVP;AAaN4M,kBAAI,EAAE;AACJnC,oBAAI,EAAE;AAAC1mB,uBAAK,EAAE,MAAR;AAAgBic,sBAAI,EAAE;AAAtB;AADF,eAbA;AAgBN4L,kBAAI,EAAE;AACJnB,oBAAI,EAAE;AAAC1mB,uBAAK,EAAE,MAAR;AAAgBic,sBAAI,EAAE;AAAtB;AADF,eAhBA;AAmBN6M,qBAAO,EAAE;AACPpC,oBAAI,EAAE;AAAC1mB,uBAAK,EAAE,SAAR;AAAmBic,sBAAI,EAAE;AAAzB;AADC,eAnBH;AAsBN,+BAAiB;AACfyK,oBAAI,EAAE;AAAC1mB,uBAAK,EAAE,eAAR;AAAyBic,sBAAI,EAAE;AAA/B;AADS,eAtBX;AAyBN8M,kBAAI,EAAE;AACJrC,oBAAI,EAAE;AAAC1mB,uBAAK,EAAE,MAAR;AAAgBic,sBAAI,EAAE;AAAtB;AADF;AAzBA,aA5CA;AAyER;AACA,sCAA0B;AACxB+M,oBAAM,EAAE;AACNtC,oBAAI,EAAE;AAAC1mB,uBAAK,EAAE,QAAR;AAAkBic,sBAAI,EAAE;AAAxB;AADA,eADgB;AAIxB,+BAAiB;AACfyK,oBAAI,EAAE;AAAC1mB,uBAAK,EAAE,eAAR;AAAyBic,sBAAI,EAAE;AAA/B;AADS,eAJO;AAOxBgN,mBAAK,EAAE;AACLvC,oBAAI,EAAE;AAAC1mB,uBAAK,EAAE,OAAR;AAAiBic,sBAAI,EAAE;AAAvB;AADD,eAPiB;AAUxB0K,kBAAI,EAAE;AACJD,oBAAI,EAAE;AAAC1mB,uBAAK,EAAE,MAAR;AAAgBic,sBAAI,EAAE;AAAtB;AADF,eAVkB;AAaxB,8BAAgB;AACdyK,oBAAI,EAAE;AAAC1mB,uBAAK,EAAE,cAAR;AAAwBic,sBAAI,EAAE;AAA9B;AADQ,eAbQ;AAgBxB,kCAAoB;AAClByK,oBAAI,EAAE;AAAC1mB,uBAAK,EAAE,kBAAR;AAA4Bic,sBAAI,EAAE;AAAlC;AADY;AAhBI,aA1ElB;AA8FR;AACA,iCAAqB;AACnB,8BAAgB;AACdyK,oBAAI,EAAE;AAAC1mB,uBAAK,EAAE,cAAR;AAAwBic,sBAAI,EAAE;AAA9B;AADQ,eADG;AAInBlU,oBAAM,EAAE;AACN2e,oBAAI,EAAE;AAAC1mB,uBAAK,EAAE,QAAR;AAAkBic,sBAAI,EAAE;AAAxB;AADA,eAJW;AAOnBiN,sBAAQ,EAAE;AACRxC,oBAAI,EAAE;AAAC1mB,uBAAK,EAAE,UAAR;AAAoBic,sBAAI,EAAE;AAA1B;AADE,eAPS;AAUnBlP,qBAAO,EAAE;AACP2Z,oBAAI,EAAE;AAAC1mB,uBAAK,EAAE,SAAR;AAAmBic,sBAAI,EAAE;AAAzB;AADC;AAVU,aA/Fb;AA6GR;AACA,0BAAc;AACZkN,uBAAS,EAAE;AACTzC,oBAAI,EAAE;AAAC1mB,uBAAK,EAAE,WAAR;AAAqBic,sBAAI,EAAE;AAA3B;AADG,eADC;AAIZ,6BAAe;AACbyK,oBAAI,EAAE;AAAC1mB,uBAAK,EAAE,aAAR;AAAuBic,sBAAI,EAAE;AAA7B;AADO,eAJH;AAOZmN,mBAAK,EAAE;AACL1C,oBAAI,EAAE;AAAC1mB,uBAAK,EAAE,OAAR;AAAiBic,sBAAI,EAAE;AAAvB;AADD;AAPK;AA9GN,WAzDW;AAmLrBoN,eAAK,EAAE;AACL3C,gBAAI,EAAE;AAAC1mB,mBAAK,EAAE,OAAR;AAAiBic,kBAAI,EAAE;AAAvB;AADD,WAnLc;AAsLrBqN,cAAI,EAAE;AACJ5C,gBAAI,EAAE;AAAC1mB,mBAAK,EAAE,MAAR;AAAgBic,kBAAI,EAAE;AAAtB;AADF,WAtLe;AAyLrBsN,mBAAS,EAAE;AACTC,qBAAS,EAAE;AACT9C,kBAAI,EAAE;AAAC1mB,qBAAK,EAAE,WAAR;AAAqBic,oBAAI,EAAE;AAA3B;AADG,aADF;AAITwN,oBAAQ,EAAE;AACRC,kBAAI,EAAE;AACJhD,oBAAI,EAAE;AAAC1mB,uBAAK,EAAE,cAAR;AAAwBic,sBAAI,EAAE;AAA9B;AADF,eADE;AAIR5a,iBAAG,EAAE;AACHqlB,oBAAI,EAAE;AAAC1mB,uBAAK,EAAE,gBAAR;AAA0Bic,sBAAI,EAAE;AAAhC;AADH;AAJG,aAJD;AAYT0N,kBAAM,EAAE;AACNjD,kBAAI,EAAE;AAAC1mB,qBAAK,EAAE,QAAR;AAAkBic,oBAAI,EAAE;AAAxB;AADA;AAZC,WAzLU;AAyMrB,6BAAmB;AACjB2N,iBAAK,EAAE;AACLlD,kBAAI,EAAE;AAAC1mB,qBAAK,EAAE,OAAR;AAAiBic,oBAAI,EAAE;AAAvB;AADD,aADU;AAIjB7E,iBAAK,EAAE;AACLsP,kBAAI,EAAE;AAAC1mB,qBAAK,EAAE,OAAR;AAAiBic,oBAAI,EAAE;AAAvB;AADD;AAJU,WAzME;AAiNrB4N,iBAAO,EAAE;AACPnD,gBAAI,EAAE;AAAC1mB,mBAAK,EAAE,gBAAR;AAA0Bic,kBAAI,EAAE;AAAhC;AADC,WAjNY;AAoNrBxQ,gBAAM,EAAE;AACNqe,mBAAO,EAAE;AACPpD,kBAAI,EAAE;AAAC1mB,qBAAK,EAAE,SAAR;AAAmBic,oBAAI,EAAE;AAAzB;AADC;AADH,WApNa;AAyNrB8N,iBAAO,EAAE;AACPrD,gBAAI,EAAE;AAAC1mB,mBAAK,EAAE,cAAR;AAAwBic,kBAAI,EAAE;AAA9B;AADC,WAzNY;AA4NrB3U,eAAK,EAAE;AACL,iBAAK;AACHof,kBAAI,EAAE;AAAC1mB,qBAAK,EAAE,eAAR;AAAyBic,oBAAI,EAAE,EAA/B;AAAmCmJ,yBAAS,EAAE;AAA9C;AADH,aADA;AAIL,iBAAK;AACHsB,kBAAI,EAAE;AAAC1mB,qBAAK,EAAE,sBAAR;AAAgCic,oBAAI,EAAE,EAAtC;AAA0CmJ,yBAAS,EAAE;AAArD;AADH;AAJA,WA5Nc;AAoOrB4E,gBAAM,EAAE;AACN,wBAAY;AAACtD,kBAAI,EAAE;AAAC1mB,qBAAK,EAAE,UAAR;AAAoBic,oBAAI,EAAE;AAA1B;AAAP,aADN;AAEN,wBAAY;AAACyK,kBAAI,EAAE;AAAC1mB,qBAAK,EAAE,UAAR;AAAoBic,oBAAI,EAAE;AAA1B;AAAP,aAFN;AAGN,wBAAY;AAACyK,kBAAI,EAAE;AAAC1mB,qBAAK,EAAE,UAAR;AAAoBic,oBAAI,EAAE;AAA1B;AAAP,aAHN;AAIN,wBAAY;AAACyK,kBAAI,EAAE;AAAC1mB,qBAAK,EAAE,UAAR;AAAoBic,oBAAI,EAAE;AAA1B;AAAP;AAJN;AApOa,SAAhB;AA+OR;;;;4BAHmB;AAChB,iBAAO,KAAK6G,QAAZ;AACD;;;;;;;;;;;;;;;;;;;;;AC5OH;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,QAAYmH,eAAZ;;AAAA,eAAYA,eAAZ,EAA2B;AACvB;AACA;AACA;AACA;AACA;AACH,KAND,EAAYA,eAAe,KAAfA,eAAe,MAA3B;;QAQaC,K,GAET,eAAmBC,OAAnB,EAAmD;AAAA;;AAAhC,WAAAA,OAAA,GAAAA,OAAA;AADV,WAAAliB,IAAA,GAAOgiB,eAAe,CAACC,KAAvB;AAC6C,K;;QAG7CE,M,GAAb;AAAA;;AACa,WAAAniB,IAAA,GAAOgiB,eAAe,CAACG,MAAvB;AACZ,K;;QAEYC,Q,GAET,kBAAmBF,OAAnB,EAAmD;AAAA;;AAAhC,WAAAA,OAAA,GAAAA,OAAA;AADV,WAAAliB,IAAA,GAAOgiB,eAAe,CAACI,QAAvB;AAC6C,K;;QAI7CC,a,GAAb;AAAA;;AACa,WAAAriB,IAAA,GAAOgiB,eAAe,CAACK,aAAvB;AACZ,K;;QAEYC,U,GAET,oBAAmBJ,OAAnB,EAA4C;AAAA;;AAAzB,WAAAA,OAAA,GAAAA,OAAA;AADV,WAAAliB,IAAA,GAAOgiB,eAAe,CAACM,UAAvB;AACsC,K;;;;;;;;;;;;;;;;;AC3BnD;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAAA,QAAYC,qBAAZ;;AAAA,eAAYA,qBAAZ,EAAiC;AAC7B;AACA;AACH,KAHD,EAAYA,qBAAqB,KAArBA,qBAAqB,MAAjC;;QAKaC,uB,GAAb;AAAA;;AACa,WAAAxiB,IAAA,GAAOuiB,qBAAqB,CAACC,uBAA7B;AACZ,K;;QAEYC,oB,GAET,8BAAmBP,OAAnB,EAA2D;AAAA;;AAAxC,WAAAA,OAAA,GAAAA,OAAA;AADV,WAAAliB,IAAA,GAAOuiB,qBAAqB,CAACE,oBAA7B;AACqD,K;;;;;;;;;;;;;;;;;ACRlE;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;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAAA,QAAYC,eAAZ;;AAAA,eAAYA,eAAZ,EAA2B;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACH,KAZD,EAAYA,eAAe,KAAfA,eAAe,MAA3B;;QAcaC,mB,GAET,6BAAmBT,OAAnB,EAA4C;AAAA;;AAAzB,WAAAA,OAAA,GAAAA,OAAA;AADV,WAAAliB,IAAA,GAAO0iB,eAAe,CAACC,mBAAvB;AACsC,K;;QAGtCC,W,GAET,qBAAmBV,OAAnB,EAA4C;AAAA;;AAAzB,WAAAA,OAAA,GAAAA,OAAA;AADV,WAAAliB,IAAA,GAAO0iB,eAAe,CAACE,WAAvB;AACsC,K;;QAGtCC,W,GAET,qBAAmBX,OAAnB,EAGG;AAAA;;AAHgB,WAAAA,OAAA,GAAAA,OAAA;AADV,WAAAliB,IAAA,GAAO0iB,eAAe,CAACG,WAAvB;AAIH,K;;QAGGC,W,GAET,qBAAmBZ,OAAnB,EAA4C;AAAA;;AAAzB,WAAAA,OAAA,GAAAA,OAAA;AADV,WAAAliB,IAAA,GAAO0iB,eAAe,CAACI,WAAvB;AACqC,K;;QAGrCC,kB,GAET,4BAAmBb,OAAnB,EAAwD;AAAA;;AAArC,WAAAA,OAAA,GAAAA,OAAA;AADV,WAAAliB,IAAA,GAAO0iB,eAAe,CAACK,kBAAvB;AACkD,K;;QAGlDC,e,GAET,yBAAmBd,OAAnB,EAA2F;AAAA;;AAAxE,WAAAA,OAAA,GAAAA,OAAA;AADV,WAAAliB,IAAA,GAAO0iB,eAAe,CAACM,eAAvB;AACqF,K;;QAGrFC,kB,GAAb;AAAA;;AACa,WAAAjjB,IAAA,GAAO0iB,eAAe,CAACO,kBAAvB;AACZ,K;;QAEYC,iB,GAAb;AAAA;;AACa,WAAAljB,IAAA,GAAO0iB,eAAe,CAACQ,iBAAvB;AACZ,K;;QAEYC,c,GAET,wBAAmBjB,OAAnB,EAA+C;AAAA;;AAA5B,WAAAA,OAAA,GAAAA,OAAA;AADV,WAAAliB,IAAA,GAAO0iB,eAAe,CAACS,cAAvB;AACyC,K;;QAGzCC,sB,GAET,gCAAmBlB,OAAnB,EAAoD;AAAA;;AAAjC,WAAAA,OAAA,GAAAA,OAAA;AADV,WAAAliB,IAAA,GAAO0iB,eAAe,CAACU,sBAAvB;AAC8C,K;;QAG9CC,wB,GAET,kCAAmBnB,OAAnB,EAAoD;AAAA;;AAAjC,WAAAA,OAAA,GAAAA,OAAA;AADV,WAAAliB,IAAA,GAAO0iB,eAAe,CAACW,wBAAvB;AAC8C,K;;;;;;;;;;;;;;;;;ACnE3D;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;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAAA,QAAYC,eAAZ;;AAAA,eAAYA,eAAZ,EAA2B;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACH,KAZD,EAAYA,eAAe,KAAfA,eAAe,MAA3B;;QAcaC,mB,GAET,6BAAmBrB,OAAnB,EAA4C;AAAA;;AAAzB,WAAAA,OAAA,GAAAA,OAAA;AADV,WAAAliB,IAAA,GAAOsjB,eAAe,CAACC,mBAAvB;AACsC,K;;QAGtCC,W,GAET,qBAAmBtB,OAAnB,EAA4C;AAAA;;AAAzB,WAAAA,OAAA,GAAAA,OAAA;AADV,WAAAliB,IAAA,GAAOsjB,eAAe,CAACE,WAAvB;AACsC,K;;QAItCC,W,GAET,qBAAmBvB,OAAnB,EAGG;AAAA;;AAHgB,WAAAA,OAAA,GAAAA,OAAA;AADV,WAAAliB,IAAA,GAAOsjB,eAAe,CAACG,WAAvB;AAIH,K;;QAGGC,W,GAET,qBAAmBxB,OAAnB,EAA4C;AAAA;;AAAzB,WAAAA,OAAA,GAAAA,OAAA;AADV,WAAAliB,IAAA,GAAOsjB,eAAe,CAACI,WAAvB;AACqC,K;;QAGrCC,kB,GAET,4BAAmBzB,OAAnB,EAAwD;AAAA;;AAArC,WAAAA,OAAA,GAAAA,OAAA;AADV,WAAAliB,IAAA,GAAOsjB,eAAe,CAACK,kBAAvB;AACkD,K;;QAGlDC,e,GAET,yBAAmB1B,OAAnB,EAA4F;AAAA;;AAAzE,WAAAA,OAAA,GAAAA,OAAA;AADV,WAAAliB,IAAA,GAAOsjB,eAAe,CAACM,eAAvB;AACsF,K;;QAItFC,kB,GAAb;AAAA;;AACa,WAAA7jB,IAAA,GAAOsjB,eAAe,CAACO,kBAAvB;AACZ,K;;QAEYC,sB,GAET,gCAAmB5B,OAAnB,EAAoD;AAAA;;AAAjC,WAAAA,OAAA,GAAAA,OAAA;AADV,WAAAliB,IAAA,GAAOsjB,eAAe,CAACQ,sBAAvB;AAC8C,K;;QAG9CC,wB,GAET,kCAAmB7B,OAAnB,EAAoD;AAAA;;AAAjC,WAAAA,OAAA,GAAAA,OAAA;AADV,WAAAliB,IAAA,GAAOsjB,eAAe,CAACS,wBAAvB;AAC8C,K;;;;;;;;;;;;;;;;;ACjE3D;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,wD,CAAA;AAEA;AAIA;;;QAGaC,e;;;;;AACX,+BAAoBlsB,KAApB,EAA4C;AAAA;;AAAA;;AAC1C;AADkB,gBAAAA,KAAA,GAAAA,KAAA;AAGlB,gBAAKmsB,QAAL,GAAgB,QAAKnsB,KAAL,CAAWiD,IAAX,CACd,2DAAO,gFAAP,CADc,CAAhB;AAIA,gBAAKN,oBAAL,GAA4B,QAAK3C,KAAL,CAAWiD,IAAX,CAC1B,2DAAO,2FAAP,CAD0B,CAA5B;;AAIA,gBAAKjD,KAAL,CAAWiD,IAAX,CACE,2DAAO,2EAAP,CADF,EAEEpC,SAFF,CAEY,UAACurB,QAAD,EAAiC;AAC3C,kBAAKxpB,qBAAL,CAA2BwE,IAA3B,CAAgCglB,QAAQ,CAAC9nB,UAAzC;;AACA,kBAAK7B,aAAL,CAAmB2E,IAAnB,CAAwBglB,QAAQ,CAACvnB,KAAjC;AACD,SALD;;AAX0C;AAkB3C;;;MAnBkC,yD;;;;;;;;;;;;;;;;;ACZrC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,wD,CAAA;AAEA;;;QAOawnB,e;;;;;AACX,+BAAoBrsB,KAApB,EAA4C;AAAA;;AAAA;;AAC1C;AADkB,gBAAAA,KAAA,GAAAA,KAAA;AAGlB,gBAAKmsB,QAAL,GAAgB,QAAKnsB,KAAL,CAAWiD,IAAX,CACd,2DAAO,gFAAP,CADc,CAAhB;AAIA,gBAAKN,oBAAL,GAA4B,QAAK3C,KAAL,CAAWiD,IAAX,CAC1B,2DAAO,2FAAP,CAD0B,CAA5B;;AAIA,gBAAKjD,KAAL,CAAWiD,IAAX,CACE,2DAAO,4EAAP,CADF,EAEEpC,SAFF,CAEY,UAACurB,QAAD,EAAiC;AAC3C,kBAAKxpB,qBAAL,CAA2BwE,IAA3B,CAAgCglB,QAAQ,CAAC9nB,UAAzC;;AACA,kBAAK7B,aAAL,CAAmB2E,IAAnB,CAAwBglB,QAAQ,CAACvnB,KAAjC;AACD,SALD;;AAX0C;AAiB3C;;;MAlBkC,yD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0CCNrC;AAGA;AAGA;;;QAeaynB,W,GA0DX,qBACUC,QADV,EAEU1sB,MAFV,EAGU+G,IAHV,EAIU5G,KAJV,EAIgC;AAAA;;AAAA;;AAHtB,WAAAusB,QAAA,GAAAA,QAAA;AACA,WAAA1sB,MAAA,GAAAA,MAAA;AACA,WAAA+G,IAAA,GAAAA,IAAA;AACA,WAAA5G,KAAA,GAAAA,KAAA;AA5DV,WAAAwsB,MAAA,GAAS,KAAKD,QAAL,CAActpB,IAAd,CACP,6DAAc,sEAAgBknB,KAA9B,CADO,EAEP,2DAAI,UAACzhB,MAAD,EAAY;AACdsQ,oBAAY,CAACC,OAAb,CAAqB,sEAAYwT,YAAjC,EAA+C/jB,MAAM,CAAC0hB,OAAP,CAAesC,SAA9D;;AACA,eAAI,CAAC1sB,KAAL,CAAW4H,QAAX,CAAoB,IAAI,mEAAJ,EAApB;AACD,OAHD,CAFO,CAAT;AASA,WAAA+kB,OAAA,GAAU,KAAKJ,QAAL,CAActpB,IAAd,CACR,6DAAe,sEAAgBonB,MAA/B,CADQ,EAER,2DAAI,YAAM;AACRrR,oBAAY,CAACM,UAAb,CAAwB,sEAAYmT,YAApC;;AACA,eAAI,CAAC5sB,MAAL,CAAY+sB,QAAZ,CAAqB,CAAC,aAAD,CAArB,EAAsC;AACpCtpB,qBAAW,EAAE;AAAEupB,qBAAS,EAAE,OAAI,CAACA;AAAlB;AADuB,SAAtC;;AAGA1rB,gBAAQ,CAAC2rB,QAAT,CAAkBC,MAAlB;AACD,OAND,CAFQ,CAAV;AAYA,WAAAC,SAAA,GAAY,KAAKT,QAAL,CAActpB,IAAd,CACV,6DAAiB,sEAAgBqnB,QAAjC,CADU,EAEV,2DAAI,UAAC5hB,MAAD,EAAY;AACdsQ,oBAAY,CAACC,OAAb,CAAqB,sEAAYwT,YAAjC,EAA+C/jB,MAAM,CAAC0hB,OAAP,CAAesC,SAA9D;AACD,OAFD,CAFU,CAAZ,CAuCgC,CAhChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,WAAAO,KAAA,GAA4B,mDAAM,YAAM;AACtC,YAAMC,SAAS,GAAGlU,YAAY,CAACI,OAAb,CAAqB,sEAAYqT,YAAjC,CAAlB;AACA,YAAIU,gBAAgB,GAAG,gDAAG;AAAEjlB,cAAI,EAAE;AAAR,SAAH,CAAvB;;AACA,YAAIglB,SAAJ,EAAe;AACbC,0BAAgB,GAAG,gDAAG,IAAI,2DAAJ,CAAU;AAAET,qBAAS,EAAEQ;AAAb,WAAV,CAAH,CAAnB;AACD;;AACD,eAAOC,gBAAP;AACD,OAP2B,CAA5B;AAiBE,WAAKttB,MAAL,CAAYe,MAAZ,CAAmBC,SAAnB,CAA6B,UAACC,KAAD,EAAW;AACtC,YAAIA,KAAK,YAAY,6DAArB,EAAoC;AAClC,iBAAI,CAAC+rB,SAAL,GAAiB/rB,KAAK,CAACka,GAAvB;AACD;AACF,OAJD;AAKD,K;;AAnED,8DADC,6DAAO;AAAEpT,cAAQ,EAAE;AAAZ,KAAP,CACD,G,qBAAA,E,QAAA,E,MAAA;AASA,8DADC,6DAAO;AAAEA,cAAQ,EAAE;AAAZ,KAAP,CACD,G,qBAAA,E,SAAA,E,MAAA;AAYA,8DADC,6DAAO;AAAEA,cAAQ,EAAE;AAAZ,KAAP,CACD,G,qBAAA,E,WAAA,E,MAAA;AAwBA,8DADC,8DACD,G,qBAAA,E,OAAA,E,MAAA;;;;;;;;;;;;;;;;ACnDF;AAAA;;;AAAA;AAAA;AAAA;;QAAawlB,iB;;;;;;;;;;;;;;;;;;;ACYb;AAAA;;;AAAA;AAAA;AAAA;;QAAaC,W;;;;;;;;;;;;;;;;;;;ACLb;AAAA;;;AAAA;AAAA;AAAA;;QAAaC,W,GACX;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,yBACUf,QADV,EAEU3lB,IAFV,EAGU5G,KAHV,EAGgC;AAAA;;AAFtB,WAAAusB,QAAA,GAAAA,QAAA;AACA,WAAA3lB,IAAA,GAAAA,IAAA;AACA,WAAA5G,KAAA,GAAAA,KAAA;AACN,K;;;;;;;;;;;;;;;;;AClGN;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,wD,CACA;;;QAOautB,S;AACX,yBAAoBvtB,KAApB,EAAoDH,MAApD,EAAoE;AAAA;;AAAhD,aAAAG,KAAA,GAAAA,KAAA;AAAgC,aAAAH,MAAA,GAAAA,MAAA;AACnD;;;;oCAEW2tB,K,EAA+BC,K,EAA0B;AAAA;;AACnE,iBAAO,KAAKztB,KAAL,CACJiD,IADI,CAEH,2DAAO,0EAAP,CAFG,EAGH,2DAAI,UAAAyqB,QAAQ,EAAI;AACd,gBAAI,CAACA,QAAL,EAAe;AACb,qBAAI,CAAC7tB,MAAL,CAAY8tB,aAAZ,CAA0B,aAA1B;AACD;AACF,WAJD,CAHG,CAAP;AASD;;;;;;;;;;;;;;;;;;;;;ACjBH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,wD,CAAA;AAGA;;;QAYaC,gB;AACX,gCAAoB5tB,KAApB,EAAoDH,MAApD,EAAoE;AAAA;;AAAhD,aAAAG,KAAA,GAAAA,KAAA;AAAgC,aAAAH,MAAA,GAAAA,MAAA;AAAkB;;;;yCAGpE2tB,K,EACAC,K,EAA0B;AAAA;;AAE1B,cAAMI,UAAU,GAAGL,KAAK,CAAC/kB,IAAN,CAAW6O,WAAX,CAAuBwW,IAA1C;AACA,cAAMtuB,UAAU,GAAGguB,KAAK,CAAC/kB,IAAN,CAAW6O,WAAX,CAAuB9X,UAA1C;AAEA,iBAAO,KAAKQ,KAAL,CAAWiD,IAAX,CACL,2DAAO,qEAAP,CADK,EAEL,8DAAO,UAAC8qB,CAAD;AAAA,mBAAOA,CAAC,IAAI,IAAZ;AAAA,WAAP,CAFK,EAGL,iEAAU,UAAC5H,IAAD,EAAU;AAClB,gBAAI6H,SAAS,GAAG7H,IAAI,CAAC8H,QAAL,CAAc7rB,IAAd,IAAsByrB,UAAtC;;AACA,gBAAI,CAACG,SAAL,EAAgB;AACd,qBAAI,CAACnuB,MAAL,CAAY8tB,aAAZ,CAA0B,MAAMnuB,UAAhC;AACD;;AAED,mBAAO,gDAAGwuB,SAAH,CAAP;AACD,WAPD,CAHK,CAAP;AAYD;;;;;;;;;;;;;;;;;;;;;ACtCH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,wD,CAAA;AAGA;;;QAYaE,W;AACX,2BAAoBluB,KAApB,EAAoDH,MAApD,EAAoE;AAAA;;AAAhD,aAAAG,KAAA,GAAAA,KAAA;AAAgC,aAAAH,MAAA,GAAAA,MAAA;AAAkB;;;;oCAGpE2tB,K,EACAC,K,EAA0B;AAAA;;AAE1B,cAAMI,UAAU,GAAGL,KAAK,CAAC/kB,IAAN,CAAW6O,WAAX,CAAuBwW,IAA1C;AACA,cAAMtuB,UAAU,GAAGguB,KAAK,CAAC/kB,IAAN,CAAW6O,WAAX,CAAuB9X,UAA1C;;AAEA,cAAIquB,UAAU,IAAI,UAAlB,EAA8B;AAC5B,mBAAO,gDAAG,IAAH,CAAP;AACD;;AAED,iBAAO,KAAK7tB,KAAL,CAAWiD,IAAX,CACL,2DAAO,qEAAP,CADK,EAEL,8DAAO,UAAC8qB,CAAD;AAAA,mBAAOA,CAAC,IAAI,IAAZ;AAAA,WAAP,CAFK,EAGL,iEAAU,UAAC5H,IAAD,EAAU;AAClB,gBAAI6H,SAAS,GAAG7H,IAAI,CAAC8H,QAAL,CAAc7rB,IAAd,IAAsByrB,UAAtC;;AACA,gBAAI,CAACG,SAAL,EAAgB;AACd,qBAAI,CAACnuB,MAAL,CAAY8tB,aAAZ,CAA0B,MAAMnuB,UAAhC;AACD;;AAED,mBAAO,gDAAGwuB,SAAH,CAAP;AACD,WAPD,CAHK,CAAP;AAYD;;;;;;;;;;;;;;;;;;;;;AClDH;AAAA;;;AAAA;AAAA;AAAA;;QAAaG,O;;;;;;;gCAMH;AACN,eAAKC,WAAL,GAAmB,EAAnB;AACA,eAAKC,IAAL,GAAY,EAAZ;AACA,eAAKZ,KAAL,GAAa,EAAb;AACA,eAAKa,QAAL,GAAgB,EAAhB;AACD;;;;;;;;;;;;;;;;;;;;;ACXH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAEaC,U;;;;;;;;;;;;;gCAUN;AACH,eAAK9vB,EAAL,GAAUkS,SAAV;AACA,eAAK1Q,KAAL,GAAa,EAAb;AACA,eAAKuuB,KAAL,GAAa,CAAb;AACA,eAAKC,QAAL,GAAgB9d,SAAhB;AACA,eAAK+d,UAAL,GAAkB,KAAlB;AACA,eAAKtsB,IAAL,GAAY,EAAZ;AACA,eAAKusB,SAAL,GAAiB,EAAjB;AACD;;;;MAlB6B,oD;;;;;;;;;;;;;;;;;ACFhC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAEaC,I;;;;;AAAb;AAAA;;AAAA;;;AAIE,gBAAAC,UAAA,GAAa,KAAb;AAJF;AAYC;;;;gCANM;AACH,eAAKpwB,EAAL,GAAUkS,SAAV;AACA,eAAK1Q,KAAL,GAAa,EAAb;AACA,eAAKqX,WAAL,GAAmB,EAAnB;AACA,eAAKuX,UAAL,GAAkB,KAAlB;AACD;;;;MAXuB,oD;;;;;;;;;;;;;;;;;ACF1B;AAAA;;;AAAA;AAAA;AAAA;;QAAaC,c;;;;;;;gCAMH;AACN,eAAKC,QAAL,GAAgB,EAAhB;AACA,eAAKC,QAAL,GAAgB,EAAhB;AACA,eAAKC,OAAL,GAAe,EAAf;AACA,eAAKC,SAAL,GAAiB,EAAjB;AACD;;;;;;;;;;;;;;;;;;;;;ACXH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAOaC,I;;;;;;;;;;;;;gCAgBN;AACH,eAAKC,MAAL,GAAcze,SAAd;AACA,eAAK0e,QAAL,GAAgB,EAAhB;AACA,eAAKC,QAAL,GAAgB,EAAhB;AACA,eAAKC,KAAL,GAAa,EAAb;AACA,eAAKlY,KAAL,GAAa,EAAb,CALG,CAMH;;AACA,eAAKmY,WAAL,GAAmB,kBAAkBvZ,IAAI,CAACwZ,MAAL,EAArC;AACA,eAAKC,YAAL,GAAoB,kBAAkBzZ,IAAI,CAACwZ,MAAL,EAAtC,CARG,CASH;AACA;AACA;;AACA,eAAKE,KAAL,GAAa,EAAb,CAZG,CAaH;AACA;AACA;AACA;AACD;;;sCAEiB;AAChB,iBAAO,IAAIR,IAAJ,EAAP;AACD;;;kCACgBhJ,I,EAAU;;;AACzB,iBAAO;AACLkJ,oBAAQ,EAAElJ,IAAI,CAACkJ,QADV;AAELE,iBAAK,EAAEpJ,IAAI,CAACoJ,KAFP;AAGLK,sBAAU,EAAE,CAAF,KAAEzJ,IAAI,CAAC8H,QAAL,MAAa,IAAb,IAAa,aAAb,GAAa,MAAb,GAAa,GAAE2B,UAHtB;AAILD,iBAAK,EAAExJ,IAAI,CAACwJ,KAJP;AAKLL,oBAAQ,EAAEnJ,IAAI,CAACmJ,QALV;AAMLO,sBAAU,EAAE,CAAF,KAAE1J,IAAI,CAAC2J,QAAL,MAAa,IAAb,IAAa,aAAb,GAAa,MAAb,GAAa,GAAED,UANtB;AAOLE,mBAAO,EAAE,CAAF,KAAE5J,IAAI,CAAC6J,KAAL,MAAU,IAAV,IAAU,aAAV,GAAU,MAAV,GAAU,GAAED,OAPhB;AAQLE,wCAA4B,EAAE9J,IAAI,CAAC+J;AAR9B,WAAP;AAUD;;;8BAEYhW,G,EAAU;;;AACrB,cAAM+T,QAAQ,GAAG/U,IAAI,CAACG,KAAL,CAAWH,IAAI,CAACC,SAAL,CAAee,GAAG,CAACiW,QAAnB,CAAX,CAAjB;AACA,cAAMH,KAAK,SAAG,iFAAW3W,KAAX,CAAiBa,GAAG,CAACkW,KAArB,CAAH,EAA8B,oCAAI,EAAlC,CAAX;AACA,cAAMjK,IAAI,GAAG,IAAIgJ,IAAJ,EAAb;AACAhJ,cAAI,CAACiJ,MAAL,GAAclV,GAAG,CAACkV,MAAlB;AACAjJ,cAAI,CAACkJ,QAAL,GAAgBnV,GAAG,CAACmV,QAApB;AACAlJ,cAAI,CAACoJ,KAAL,GAAarV,GAAG,CAACqV,KAAjB;AACApJ,cAAI,CAACwJ,KAAL,GAAazV,GAAG,CAACyV,KAAjB;AACAxJ,cAAI,CAAC8H,QAAL,GAAgBA,QAAhB;AACA9H,cAAI,CAACmJ,QAAL,GAAgBpV,GAAG,CAACoV,QAApB;AACAnJ,cAAI,CAAC6J,KAAL,GAAaA,KAAb;AACA7J,cAAI,CAAC+J,eAAL,GAAuBhW,GAAG,CAAC+V,4BAA3B;AACA9J,cAAI,CAAC2J,QAAL,IAAa,KAAG5V,GAAG,CAACmW,QAAP,EAAe,oCAAI,EAAhC;AAEA,iBAAOlK,IAAP;AACD;;;;MAlEuB,oD;;;;;;;;;;;;;;;;;ACP1B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,oD,CAAA;;;AAYO,QAAMmK,gBAAgB,GAAc;AACzC5C,cAAQ,EAAE,KAD+B;AAEzChB,eAAS,EAAE/b,SAF8B;AAGzCwV,UAAI,EAAExV,SAHmC;AAIzC4f,kBAAY,EAAE;AAJ2B,KAApC;;AAOA,aAASC,WAAT,GAAkE;AAAA,UAA7C/C,KAA6C,uEAArC6C,gBAAqC;AAAA,UAAnB5nB,MAAmB;;AACvE,cAAQA,MAAM,CAACR,IAAf;AACE,aAAK,sEAAgBiiB,KAArB;AAA4B;AAC1B,gBAAMpjB,KAAK,GAAW2B,MAAM,CAAC0hB,OAAP,CAAesC,SAArC;AACA,mBAAO;AACLgB,sBAAQ,EAAE,IADL;AAELhB,uBAAS,EAAE3lB,KAFN;AAGLof,kBAAI,EAAExV,SAHD;AAIL4f,0BAAY,EAAE;AAJT,aAAP;AAMD;;AAED,aAAK,sEAAgBjG,QAArB;AAA+B;AAC7B,gBAAMvjB,MAAK,GAAW2B,MAAM,CAAC0hB,OAAP,CAAesC,SAArC;AACA,mBAAO;AACLgB,sBAAQ,EAAE,IADL;AAELhB,uBAAS,EAAE3lB,MAFN;AAGLof,kBAAI,EAAExV,SAHD;AAIL4f,0BAAY,EAAE;AAJT,aAAP;AAMD;;AAED,aAAK,sEAAgBlG,MAArB;AACE,iBAAOiG,gBAAP;;AAEF,aAAK,sEAAgB9F,UAArB;AAAiC;AAC/B,gBAAMrE,IAAI,GAASzd,MAAM,CAAC0hB,OAAP,CAAejE,IAAlC;AACA,mDACKsH,KADL;AAEEtH,kBAAI,EAAJA,IAFF;AAGEoK,0BAAY,EAAE;AAHhB;AAKD;;AAED;AACE,iBAAO9C,KAAP;AAlCJ;AAoCD;;;;;;;;;;;;;;;;;ACxDD;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;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,0D,CAAA;AAGA;;;AASO,QAAMgD,OAAO,GAA8B,0EAA3C;AAEA,QAAMC,uBAAuB,GAAqBD,OAAO,CAACE,eAAR,CAAwB;AAC/EC,6BAAuB,EAAE;AADsD,KAAxB,CAAlD;;AAIA,aAASC,kBAAT,GAAsF;AAAA,UAA1DpD,KAA0D,uEAAlDiD,uBAAkD;AAAA,UAAzBhoB,MAAyB;;AAC3F,cAAQA,MAAM,CAACR,IAAf;AACE,aAAK,kFAAsBwiB,uBAA3B;AACE,iDACK+C,KADL;AAEEmD,mCAAuB,EAAE;AAF3B;;AAIF,aAAK,kFAAsBjG,oBAA3B;AACE,iBAAO8F,OAAO,CAACK,MAAR,CAAepoB,MAAM,CAAC0hB,OAAP,CAAe9S,WAA9B,kCACFmW,KADE;AAELmD,mCAAuB,EAAE;AAFpB,aAAP;;AAIF;AACE,iBAAOnD,KAAP;AAZJ;AAcD;;AAEM,QAAMsD,YAAY,GAAG,0EAAwC,aAAxC,CAArB;;gCAOHN,OAAO,CAACO,YAAR,E;QAJFC,S,yBAAAA,S;QACAC,c,yBAAAA,c;QACAC,S,yBAAAA,S;QACAC,W,yBAAAA,W;;;;;;;;;;;;;;;;;ACzCF;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;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,0C,CAAA;AAEA;;;AAiBO,QAAMX,OAAO,GAAwB,0EAArC;AAEA,QAAMY,iBAAiB,GAAeZ,OAAO,CAACE,eAAR,CAAwB;AACnEW,sBAAgB,EAAE,KADiD;AAEnEC,oBAAc,EAAE,CAFmD;AAGnEC,iBAAW,EAAE,EAHsD;AAInEC,uBAAiB,EAAE9gB,SAJgD;AAKnE+gB,iBAAW,EAAE,KALsD;AAMnEC,oBAAc,EAAE,KANmD;AAOnEC,eAAS,EAAE,IAAI,2DAAJ,CAAqB,EAArB,CAPwD;AAQnEC,4BAAsB,EAAE;AAR2C,KAAxB,CAAtC;;AAWA,aAASC,YAAT,GAAoE;AAAA,UAA9CrE,KAA8C,uEAAtC4D,iBAAsC;AAAA,UAAnB3oB,MAAmB;;AACzE,cAAQA,MAAM,CAACR,IAAf;AACE,aAAK,sEAAgBojB,sBAArB;AACE,iDACKmC,KADL;AACYiE,uBAAW,EAAEhpB,MAAM,CAAC0hB,OAAP,CAAe2H,SADxC;AACmDN,6BAAiB,EAAE9gB;AADtE;;AAGF,aAAK,sEAAgB4a,wBAArB;AACE,iDACKkC,KADL;AACYkE,0BAAc,EAAEjpB,MAAM,CAAC0hB,OAAP,CAAe2H;AAD3C;;AAGF,aAAK,sEAAgBlH,mBAArB;AACE,mCACK4C,KADL;;AAGF,aAAK,sEAAgB3C,WAArB;AACE,iBAAO2F,OAAO,CAACuB,MAAR,CAAetpB,MAAM,CAAC0hB,OAAP,CAAepD,IAA9B,kCACFyG,KADE;AACKgE,6BAAiB,EAAE/oB,MAAM,CAAC0hB,OAAP,CAAepD,IAAf,CAAoBvoB;AAD5C,aAAP;;AAGF,aAAK,sEAAgBssB,WAArB;AACE,iBAAO0F,OAAO,CAACwB,SAAR,CAAkBvpB,MAAM,CAAC0hB,OAAP,CAAe8H,WAAjC,EAA8CzE,KAA9C,CAAP;;AACF,aAAK,sEAAgBzC,WAArB;AACE,iBAAOyF,OAAO,CAAC0B,SAAR,CAAkBzpB,MAAM,CAAC0hB,OAAP,CAAe3rB,EAAjC,EAAqCgvB,KAArC,CAAP;;AACF,aAAK,sEAAgBpC,cAArB;AACE,iBAAOoF,OAAO,CAACK,MAAR,CAAepoB,MAAM,CAAC0hB,OAAP,CAAe/S,KAA9B,kCACFoW,KADE;AACK6D,4BAAgB,EAAE;AADvB,aAAP;;AAGF,aAAK,sEAAgBnG,kBAArB;AACE,iDACKsC,KADL;AACYiE,uBAAW,EAAE,KADzB;AACgCH,0BAAc,EAAE,CADhD;AACmDC,uBAAW,EAAE,EADhE;AACoEI,qBAAS,EAAE,IAAI,2DAAJ,CAAqB,EAArB;AAD/E;;AAGF,aAAK,sEAAgB1G,eAArB;AACE,iBAAOuF,OAAO,CAAC2B,OAAR,CAAgB1pB,MAAM,CAAC0hB,OAAP,CAAe/S,KAA/B,kCACFga,iBADE;AAELK,uBAAW,EAAE,KAFR;AAGLH,0BAAc,EAAE7oB,MAAM,CAAC0hB,OAAP,CAAe9lB,UAH1B;AAILktB,uBAAW,EAAE9oB,MAAM,CAAC0hB,OAAP,CAAe/S,KAJvB;AAKLua,qBAAS,EAAElpB,MAAM,CAAC0hB,OAAP,CAAezD,IALrB;AAMLkL,kCAAsB,EAAE;AANnB,aAAP;;AAQF;AACE,iBAAOpE,KAAP;AAvCJ;AAyCD;;iCAOGgD,OAAO,CAACO,YAAR,E;QAJFC,S,0BAAAA,S;QACAC,c,0BAAAA,c;QACAC,S,0BAAAA,S;QACAC,W,0BAAAA,W;;;;;;;;;;;;;;;;;AChFF;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;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,0C,CAAA;AAGA;AAEA;;;AAeO,QAAMX,OAAO,GAAwB,0EAArC;AAEA,QAAM4B,iBAAiB,GAAe5B,OAAO,CAACE,eAAR,CAAwB;AACnEe,iBAAW,EAAE,KADsD;AAEnEC,oBAAc,EAAE,KAFmD;AAGnErtB,gBAAU,EAAE,CAHuD;AAInEstB,eAAS,EAAE,IAAI,2DAAJ,CAAqB,EAArB,CAJwD;AAKnEU,uBAAiB,EAAE3hB,SALgD;AAMnEkhB,4BAAsB,EAAE;AAN2C,KAAxB,CAAtC;;AASA,aAASU,YAAT,GAEc;AAAA,UADnB9E,KACmB,uEADX4E,iBACW;AAAA,UAAnB3pB,MAAmB;;AAEnB,cAAQA,MAAM,CAACR,IAAf;AACE,aAAK,sEAAgB8jB,sBAArB;AACE,iDACKyB,KADL;AAEEiE,uBAAW,EAAEhpB,MAAM,CAAC0hB,OAAP,CAAe2H,SAF9B;AAGEO,6BAAiB,EAAE3hB;AAHrB;;AAKF,aAAK,sEAAgBsb,wBAArB;AACE,iDACKwB,KADL;AAEEkE,0BAAc,EAAEjpB,MAAM,CAAC0hB,OAAP,CAAe2H;AAFjC;;AAIF,aAAK,sEAAgBtG,mBAArB;AACE,mCACKgC,KADL;;AAGF,aAAK,sEAAgB/B,WAArB;AACE,iBAAO+E,OAAO,CAACuB,MAAR,CAAetpB,MAAM,CAAC0hB,OAAP,CAAejE,IAA9B,kCACFsH,KADE;AAEL6E,6BAAiB,EAAE5pB,MAAM,CAAC0hB,OAAP,CAAejE,IAAf,CAAoBiJ;AAFlC,aAAP;;AAIF,aAAK,sEAAgBzD,WAArB;AACE,iBAAO8E,OAAO,CAACwB,SAAR,CAAkBvpB,MAAM,CAAC0hB,OAAP,CAAeoI,WAAjC,EAA8C/E,KAA9C,CAAP;;AACF,aAAK,sEAAgB7B,WAArB;AACE,iBAAO6E,OAAO,CAAC0B,SAAR,CAAkBzpB,MAAM,CAAC0hB,OAAP,CAAe3rB,EAAjC,EAAqCgvB,KAArC,CAAP;;AACF,aAAK,sEAAgB1B,kBAArB;AACE,iDACK0B,KADL;AAEEiE,uBAAW,EAAE,KAFf;AAGEE,qBAAS,EAAE,IAAI,2DAAJ,CAAqB,EAArB;AAHb;;AAKF,aAAK,sEAAgB9F,eAArB;AAAsC;AACpC,mBAAO2E,OAAO,CAAC2B,OAAR,CAAgB1pB,MAAM,CAAC0hB,OAAP,CAAeP,KAA/B,kCACFwI,iBADE;AAEL/tB,wBAAU,EAAEoE,MAAM,CAAC0hB,OAAP,CAAe9lB,UAFtB;AAGLstB,uBAAS,EAAElpB,MAAM,CAAC0hB,OAAP,CAAezD,IAHrB;AAIL+K,yBAAW,EAAE,KAJR;AAKLG,oCAAsB,EAAE;AALnB,eAAP;AAOD;;AACD;AACE,iBAAOpE,KAAP;AAzCJ;AA2CD;;AAEM,QAAMgF,YAAY,GAAG,0EAAkC,OAAlC,CAArB;;iCAOHhC,OAAO,CAACO,YAAR,E;QAJFC,S,0BAAAA,S;QACAC,c,0BAAAA,c;QACAC,S,0BAAAA,S;QACAC,W,0BAAAA,W;;;;;;;;;;;;;;;;;ACtFF;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;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;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,8D,CACA;AAEA;;;AAOO,QAAMsB,eAAe,GAAG,SAAlBA,eAAkB,CAACjF,KAAD;AAAA,aAAWA,KAAK,CAAC7mB,IAAjB;AAAA,KAAxB;;aAIL,S,EAAA,CAACA,IAAD;AAAA,aAAUA,IAAI,CAAC8mB,QAAf;AAAA,K;;AAFK,QAAMiF,UAAU,GAAG,mEACxBD,eADwB,EACT,EADS,CAAnB;;aAK+C,S,EAAA,CAAChF,QAAD;AAAA,aAAc,CAACA,QAAf;AAAA,K;;AAA/C,QAAMkF,WAAW,GAAG,mEAAeD,UAAf,EAA2B,EAA3B,CAApB;;aAIL,S,EAAA,CAAC/rB,IAAD;AAAA,aAAUA,IAAI,CAAC8lB,SAAf;AAAA,K;;AAFK,QAAMmG,gBAAgB,GAAG,mEAC9BH,eAD8B,EACf,EADe,CAAzB;;aAOL,S,EAAA,CAAC9rB,IAAD;AAAA,aAAUA,IAAI,CAAC2pB,YAAf;AAAA,K;;AAFK,QAAMA,YAAY,GAAG,mEAC1BmC,eAD0B,EACX,EADW,CAArB;;aAOL,S,EAAA,CAAC9rB,IAAD;AAAA,aAAUA,IAAI,CAACksB,WAAf;AAAA,K;;AAFK,QAAMA,WAAW,GAAG,mEACzBJ,eADyB,EACV,EADU,CAApB;;aAKuD,S,EAAA,CAACvM,IAAD,EAAU;AACtE,UAAI,CAACA,IAAL,EAAW;AACT,eAAO,EAAP;AACD;;AAED,aAAOA,IAAI,CAAC9O,KAAZ;AACD,K;;AANM,QAAM0b,kBAAkB,GAAG,mEAAeD,WAAf,EAA4B,EAA5B,CAA3B;;aAWL,S,EAAA,CAACE,WAAD,EAAwBC,QAAxB,EAA6C;AAC3C,aAAOC,qBAAqB,CAACF,WAAD,EAAcC,QAAd,CAA5B;AACD,K;;AALI,QAAME,yBAAyB,GAAG,mEACvCJ,kBADuC,EAEvC,8DAFuC,EAEzB,EAFyB,CAAlC;;AAQA,QAAMK,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACC,YAAD;AAAA,aACpC,mEAAeF,yBAAf,EAA0C,UAACG,GAAD,EAAmB;AAC3D,eAAOA,GAAG,CAACxtB,IAAJ,CAAS,UAACrH,EAAD;AAAA,iBAAQA,EAAE,KAAK40B,YAAf;AAAA,SAAT,CAAP;AACD,OAFD,CADoC;AAAA,KAA/B;;aAQL,S,EAAA,CAACE,aAAD,EAA0BC,cAA1B,EAA2D;AACzD,UAAM1uB,MAAM,GAAiB,EAA7B;AACA,0DAAKyuB,aAAL,EAAoB,UAAC90B,EAAD,EAAQ;AAC1B,YAAMg1B,cAAc,GAAG,oDAAKD,cAAL,EAAqB,UAACE,IAAD;AAAA,iBAAUA,IAAI,CAACj1B,EAAL,KAAYA,EAAtB;AAAA,SAArB,CAAvB;;AACA,YAAIg1B,cAAJ,EAAoB;AAClB3uB,gBAAM,CAACvD,IAAP,CAAYkyB,cAAZ;AACD;AACF,OALD;AAMA,aAAO3uB,MAAP;AACD,K;;AAZI,QAAM6uB,sBAAsB,GAAG,mEACpCR,yBADoC,EAEpC,0EAFoC,EAEhB,EAFgB,CAA/B;;AAeP,aAASD,qBAAT,GAEuB;AAAA,UADrBU,YACqB,uEADI,EACJ;AAAA,UAArBX,QAAqB,uEAAF,EAAE;AAErB,UAAMY,SAAS,GAAW,EAA1B;AACA,0DAAKD,YAAL,EAAmB,UAACn1B,EAAD,EAAgB;AACjC,YAAMq1B,QAAQ,GAAG,oDAAKb,QAAL,EAAe,UAACjM,IAAD;AAAA,iBAAgBA,IAAI,CAACvoB,EAAL,KAAYA,EAA5B;AAAA,SAAf,CAAjB;;AACA,YAAIq1B,QAAJ,EAAc;AACZD,mBAAS,CAACtyB,IAAV,CAAeuyB,QAAf;AACD;AACF,OALD;AAOA,UAAMhvB,MAAM,GAAa,EAAzB;AACA,0DAAK+uB,SAAL,EAAgB,UAAC7M,IAAD,EAAgB;AAC9B,4DAAKA,IAAI,CAAC1P,WAAV,EAAuB,UAAC7Y,EAAD,EAAQ;AAC7B,cAAI,CAAC,oDAAKqG,MAAL,EAAa,UAACivB,GAAD;AAAA,mBAASA,GAAG,KAAKt1B,EAAjB;AAAA,WAAb,CAAL,EAAwC;AACtCqG,kBAAM,CAACvD,IAAP,CAAY9C,EAAZ;AACD;AACF,SAJD;AAKD,OAND;AAOA,aAAOqG,MAAP;AACD;;;;;;;;;;;;;;;;;AC3FD;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;AAAA,4D,CAAA;;;AAMO,QAAMkvB,sBAAsB,GAAG,0EAAwC,aAAxC,CAA/B;;AAEA,QAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACZ,YAAD;AAAA,aAA0B,mEAC1DW,sBAD0D,EAE1D,UAAAE,EAAE;AAAA,eAAIA,EAAE,CAAC7wB,QAAH,CAAYgwB,YAAZ,CAAJ;AAAA,OAFwD,CAA1B;AAAA,KAA7B;;AAKA,QAAMc,oBAAoB,GAAG,mEAChCH,sBADgC,EAEhC,uEAFgC,CAA7B;AAKA,QAAMI,uBAAuB,GAAG,mEACnCJ,sBADmC,EAEnC,uEAFmC,CAAhC;;aAOH,S,EAAA,CAAAE,EAAE;AAAA,aAAKA,EAAE,CAACtD,uBAAR;AAAA,K;;AAFC,QAAMyD,oBAAoB,GAAG,mEAChCL,sBADgC,EACV,EADU,CAA7B;;;;;;;;;;;;;;;;ACrBP;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;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;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA,8H,CAAA;AAEA;;;AAOO,QAAMM,gBAAgB,GAAG,0EAAkC,OAAlC,CAAzB;;AAEA,QAAMC,cAAc,GAAG,SAAjBA,cAAiB,CAACC,MAAD;AAAA,aAAoB,mEAC9CF,gBAD8C,EAE9C,UAAAG,UAAU;AAAA,eAAIA,UAAU,CAACpxB,QAAX,CAAoBmxB,MAApB,CAAJ;AAAA,OAFoC,CAApB;AAAA,KAAvB;;AAKA,QAAME,cAAc,GAAG,mEAC1BJ,gBAD0B,EAE1B,iEAF0B,CAAvB;AAKA,QAAMK,iBAAiB,GAAG,mEAC7BL,gBAD6B,EAE7B,iEAF6B,CAA1B;;aAOH,S,EAAA,CAAAG,UAAU;AAAA,aAAIA,UAAU,CAACnD,gBAAf;AAAA,K;;AAFP,QAAMsD,cAAc,GAAG,mEAC1BN,gBAD0B,EACV,EADU,CAAvB;;aAQH,S,EAAA,CAAAG,UAAU;AAAA,aAAIA,UAAU,CAAC/C,WAAf;AAAA,K;;AAFP,QAAMmD,sBAAsB,GAAG,mEAClCP,gBADkC,EAClB,EADkB,CAA/B;;aAOH,S,EAAA,CAAAG,UAAU;AAAA,aAAIA,UAAU,CAAC9C,cAAf;AAAA,K;;AAFP,QAAMmD,wBAAwB,GAAG,mEACpCR,gBADoC,EACpB,EADoB,CAAjC;;aAOH,S,EAAA,CAAAG,UAAU;AAAA,aAAIA,UAAU,CAAChD,iBAAf;AAAA,K;;AAFP,QAAMsD,uBAAuB,GAAG,mEACnCT,gBADmC,EACnB,EADmB,CAAhC;;aAOH,S,EAAA,CAAAG,UAAU;AAAA,aAAIA,UAAU,CAAC5C,sBAAf;AAAA,K;;AAFP,QAAMmD,iCAAiC,GAAG,mEAC7CV,gBAD6C,EAC7B,EAD6B,CAA1C;;aAQH,S,EAAA,CAAAG,UAAU,EAAI;AACV,UAAM5vB,KAAK,GAAW,EAAtB;AACA,0DAAK4vB,UAAU,CAACpxB,QAAhB,EAA0B,UAAAkC,OAAO,EAAI;AACjCV,aAAK,CAACtD,IAAN,CAAWgE,OAAX;AACH,OAFD;AAGA,UAAM/B,aAAa,GAAG,IAAI,+DAAJ,EAAtB;AACA,UAAMsB,MAAM,GAAWtB,aAAa,CAACK,SAAd,CAAwBgB,KAAxB,EAA+B4vB,UAAU,CAAC7C,SAAX,CAAqBjuB,SAApD,EAA+D8wB,UAAU,CAAC7C,SAAX,CAAqBhuB,SAApF,CAAvB;AACA,aAAO,IAAI,4DAAJ,CAAsB6wB,UAAU,CAACjD,WAAjC,EAA8CiD,UAAU,CAAClD,cAAzD,CAAP;AACH,K;;AAVE,QAAM0D,iBAAiB,GAAG,mEAC7BX,gBAD6B,EACb,EADa,CAA1B;;;;;;;;;;;;;;;;ACvDP;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;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;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA,8H,CAAA;AAEA;;;AAOO,QAAMY,gBAAgB,GAAG,0EAAkC,OAAlC,CAAzB;;AAEA,QAAMC,cAAc,GAAG,SAAjBA,cAAiB,CAAC/F,MAAD;AAAA,aAAoB,mEAC9C8F,gBAD8C,EAE9C,UAAAE,UAAU;AAAA,eAAIA,UAAU,CAAC/xB,QAAX,CAAoB+rB,MAApB,CAAJ;AAAA,OAFoC,CAApB;AAAA,KAAvB;;aAOH,S,EAAA,CAAAgG,UAAU,EAAI;AACV,aAAOA,UAAU,CAAC1D,WAAlB;AACH,K;;AAJE,QAAM2D,sBAAsB,GAAG,mEAClCH,gBADkC,EAClB,EADkB,CAA/B;;aASH,S,EAAA,CAAAE,UAAU;AAAA,aAAIA,UAAU,CAACzD,cAAf;AAAA,K;;AAFP,QAAM2D,wBAAwB,GAAG,mEACpCJ,gBADoC,EACpB,EADoB,CAAjC;;aAOH,S,EAAA,CAAAE,UAAU;AAAA,aAAIA,UAAU,CAAC9C,iBAAf;AAAA,K;;AAFP,QAAMiD,uBAAuB,GAAG,mEACnCL,gBADmC,EACnB,EADmB,CAAhC;;aAOH,S,EAAA,CAAAE,UAAU;AAAA,aAAIA,UAAU,CAACxD,SAAf;AAAA,K;;AAFP,QAAM4D,wBAAwB,GAAG,mEACpCN,gBADoC,EACpB,EADoB,CAAjC;;aAOH,S,EAAA,CAAAE,UAAU,EAAI;AACV,UAAMvwB,KAAK,GAAW,EAAtB;AACA,0DAAKuwB,UAAU,CAAC/xB,QAAhB,EAA0B,UAAAkC,OAAO,EAAI;AACjCV,aAAK,CAACtD,IAAN,CAAWgE,OAAX;AACH,OAFD;AAGA,UAAM/B,aAAa,GAAG,IAAI,+DAAJ,EAAtB;AACA,UAAMsB,MAAM,GAAWtB,aAAa,CAACK,SAAd,CAAwBgB,KAAxB,EAA+BuwB,UAAU,CAACxD,SAAX,CAAqBjuB,SAApD,EAA+DyxB,UAAU,CAACxD,SAAX,CAAqBhuB,SAApF,CAAvB;AACA,aAAO,IAAI,4DAAJ,CAAsBkB,MAAtB,EAA8BswB,UAAU,CAAC9wB,UAAzC,EAAqD,EAArD,CAAP;AACH,K;;AAVE,QAAMmxB,kBAAkB,GAAG,mEAC9BP,gBAD8B,EACd,EADc,CAA3B;;aAeH,S,EAAA,CAAAE,UAAU;AAAA,aAAIA,UAAU,CAACvD,sBAAf;AAAA,K;;AAFP,QAAM6D,iCAAiC,GAAG,mEAC7CR,gBAD6C,EAC7B,EAD6B,CAA1C;;aAOH,S,EAAA,CAAA1D,WAAW,EAAI;AACX,UAAI,CAACA,WAAW,CAACltB,UAAjB,EAA6B;AACzB,eAAO,KAAP;AACH;;AAED,aAAO,IAAP;AACH,K;;AARE,QAAMqxB,qBAAqB,GAAG,mEACjCT,gBADiC,EACjB,EADiB,CAA9B;;;;;;;;;;;;;;;;ACxDP;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,kD,CAIA;;;QACaU,e;;;;AACG,oBAAA/L,KAAA,GAAa,wDAAWA,KAAxB;AACA,oBAAAxS,KAAA,GAAa,wDAAWA,KAAxB;AACA,oBAAAC,WAAA,GAAc,oEAAiBA,WAA/B;;;;;;;;;;;;;;;;ACRhB;AAAA;;;AAAA;AAAA;AAAA;;QAAaue,gB;;;;AACG,qBAAAve,WAAA,GAAmB,CAC/B;AACE7Y,QAAE,EAAE,CADN;AAEE2D,UAAI,EAAE,yBAFR;AAGEosB,WAAK,EAAE,CAHT;AAIEvuB,WAAK,EAAE;AAJT,KAD+B,EAO/B;AACExB,QAAE,EAAE,CADN;AAEE2D,UAAI,EAAE,oBAFR;AAGEosB,WAAK,EAAE,CAHT;AAIEvuB,WAAK,EAAE;AAJT,KAP+B,EAa/B;AACExB,QAAE,EAAE,CADN;AAEE2D,UAAI,EAAE,oBAFR;AAGEosB,WAAK,EAAE,CAHT;AAIEvuB,WAAK,EAAE;AAJT,KAb+B,EAmB/B;AACExB,QAAE,EAAE,CADN;AAEE2D,UAAI,EAAE,sBAFR;AAGEosB,WAAK,EAAE,CAHT;AAIEC,cAAQ,EAAE,CAJZ;AAKExuB,WAAK,EAAE;AALT,KAnB+B,EA0B/B;AACExB,QAAE,EAAE,CADN;AAEE2D,UAAI,EAAE,sBAFR;AAGEosB,WAAK,EAAE,CAHT;AAIEC,cAAQ,EAAE,CAJZ;AAKExuB,WAAK,EAAE;AALT,KA1B+B,EAiC/B;AACExB,QAAE,EAAE,CADN;AAEE2D,UAAI,EAAE,wBAFR;AAGEosB,WAAK,EAAE,CAHT;AAIEC,cAAQ,EAAE,CAJZ;AAKExuB,WAAK,EAAE;AALT,KAjC+B,EAwC/B;AACExB,QAAE,EAAE,CADN;AAEE2D,UAAI,EAAE,iBAFR;AAGEosB,WAAK,EAAE,CAHT;AAIEC,cAAQ,EAAE,CAJZ;AAKExuB,WAAK,EAAE;AALT,KAxC+B,EA+C/B;AACExB,QAAE,EAAE,CADN;AAEE2D,UAAI,EAAE,iBAFR;AAGEosB,WAAK,EAAE,CAHT;AAIEC,cAAQ,EAAE,CAJZ;AAKExuB,WAAK,EAAE;AALT,KA/C+B,EAsD/B;AACExB,QAAE,EAAE,CADN;AAEE2D,UAAI,EAAE,mBAFR;AAGEosB,WAAK,EAAE,CAHT;AAIEC,cAAQ,EAAE,CAJZ;AAKExuB,WAAK,EAAE;AALT,KAtD+B,EA6D/B;AACExB,QAAE,EAAE,EADN;AAEE2D,UAAI,EAAE,iBAFR;AAGEosB,WAAK,EAAE,CAHT;AAIEC,cAAQ,EAAE,CAJZ;AAKExuB,WAAK,EAAE;AALT,KA7D+B,EAoE/B;AACExB,QAAE,EAAE,EADN;AAEE2D,UAAI,EAAE,iBAFR;AAGEosB,WAAK,EAAE,CAHT;AAIEC,cAAQ,EAAE,CAJZ;AAKExuB,WAAK,EAAE;AALT,KApE+B,EA2E/B;AACExB,QAAE,EAAE,EADN;AAEE2D,UAAI,EAAE,mBAFR;AAGEosB,WAAK,EAAE,CAHT;AAIEC,cAAQ,EAAE,CAJZ;AAKExuB,WAAK,EAAE;AALT,KA3E+B,CAAnB;;;;;;;;;;;;;;;;ACDhB;AAAA;;;AAAA;AAAA;AAAA;;QAAa61B,U;;;;AACG,eAAAze,KAAA,GAAa,CACzB;AACE5Y,QAAE,EAAE,CADN;AAEEwB,WAAK,EAAE,eAFT;AAGE4uB,gBAAU,EAAE,IAHd;AAIEvX,iBAAW,EAAE,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,EAAa,CAAb,EAAgB,CAAhB,EAAmB,CAAnB,EAAsB,CAAtB,EAAyB,CAAzB,EAA4B,EAA5B,EAAgC,EAAhC,EAAoC,EAApC;AAJf,KADyB,EAOzB;AACE7Y,QAAE,EAAE,CADN;AAEEwB,WAAK,EAAE,SAFT;AAGE4uB,gBAAU,EAAE,KAHd;AAIEvX,iBAAW,EAAE,CAAC,CAAD,EAAI,CAAJ,EAAO,EAAP;AAJf,KAPyB,EAazB;AACE7Y,QAAE,EAAE,CADN;AAEEwB,WAAK,EAAE,OAFT;AAGE4uB,gBAAU,EAAE,KAHd;AAIEvX,iBAAW,EAAE;AAJf,KAbyB,CAAb;;;;;;;;;;;;;;;;ACDhB;AAAA;;;AAAA;AAAA;AAAA;;QAAaye,U;;;;AACG,eAAAlM,KAAA,GAAa,CACzB;AACEprB,QAAE,EAAE,CADN;AAEE4wB,cAAQ,EAAE,MAFZ;AAGEC,cAAQ,EAAE,QAHZ;AAIEC,WAAK,EAAE,uBAJT;AAKEC,iBAAW,EAAE,+CALf;AAMEE,kBAAY,EAAE,+CANhB;AAOErY,WAAK,EAAE,CAAC,CAAD,CAPT;AAQE2e,SAAG,EAAE,mCARP;AASEC,cAAQ,EAAE,MATZ;AAUEC,gBAAU,EAAE,KAVd;AAWEC,iBAAW,EAAE,YAXf;AAYExG,WAAK,EAAE,cAZT;AAaEyG,aAAO,EAAE;AACPhI,mBAAW,EAAE,6BADN;AAEPC,YAAI,EAAE,eAFC;AAGPZ,aAAK,EAAE,YAHA;AAIPa,gBAAQ,EAAE;AAJH,OAbX;AAmBE+H,oBAAc,EAAE;AACdtH,gBAAQ,EAAE,4BADI;AAEdC,gBAAQ,EAAE,4BAFI;AAGdC,eAAO,EAAE,2BAHK;AAIdC,iBAAS,EAAE;AAJG;AAnBlB,KADyB,EA2BzB;AACEzwB,QAAE,EAAE,CADN;AAEE4wB,cAAQ,EAAE,MAFZ;AAGEC,cAAQ,EAAE,MAHZ;AAIEC,WAAK,EAAE,eAJT;AAKEC,iBAAW,EAAE,gDALf;AAMEE,kBAAY,EAAE,+CANhB;AAOErY,WAAK,EAAE,CAAC,CAAD,CAPT;AAQE2e,SAAG,EAAE,gCARP;AASEC,cAAQ,EAAE,OATZ;AAUEC,gBAAU,EAAE,8CAVd;AAWEC,iBAAW,EAAE,YAXf;AAYExG,WAAK,EAAE,cAZT;AAaEyG,aAAO,EAAE;AACPhI,mBAAW,EAAE,mBADN;AAEPC,YAAI,EAAE,YAFC;AAGPZ,aAAK,EAAE,gBAHA;AAIPa,gBAAQ,EAAE;AAJH,OAbX;AAmBE+H,oBAAc,EAAE;AACdtH,gBAAQ,EAAE,2BADI;AAEdC,gBAAQ,EAAE,2BAFI;AAGdC,eAAO,EAAE,0BAHK;AAIdC,iBAAS,EAAE;AAJG;AAnBlB,KA3ByB,EAqDzB;AACEzwB,QAAE,EAAE,CADN;AAEE4wB,cAAQ,EAAE,OAFZ;AAGEC,cAAQ,EAAE,MAHZ;AAIEC,WAAK,EAAE,gBAJT;AAKEC,iBAAW,EAAE,+CALf;AAMEE,kBAAY,EAAE,+CANhB;AAOErY,WAAK,EAAE,CAAC,CAAD,CAPT;AAQE2e,SAAG,EAAE,kCARP;AASEC,cAAQ,EAAE,kBATZ;AAUEC,gBAAU,EAAE,KAVd;AAWEC,iBAAW,EAAE,YAXf;AAYExG,WAAK,EAAE,cAZT;AAaEyG,aAAO,EAAE;AACPhI,mBAAW,EAAE,sBADN;AAEPC,YAAI,EAAE,SAFC;AAGPZ,aAAK,EAAE,SAHA;AAIPa,gBAAQ,EAAE;AAJH,OAbX;AAmBE+H,oBAAc,EAAE;AACdtH,gBAAQ,EAAE,4BADI;AAEdC,gBAAQ,EAAE,4BAFI;AAGdC,eAAO,EAAE,2BAHK;AAIdC,iBAAS,EAAE;AAJG;AAnBlB,KArDyB,CAAb;AAiFA,eAAAoH,MAAA,GAAc,CAC1B;AACE73B,QAAE,EAAE,CADN;AAEE+wB,iBAAW,EAAE,kBAAkBvZ,IAAI,CAACwZ,MAAL,EAFjC;AAGEC,kBAAY,EAAE,kBAAkBzZ,IAAI,CAACwZ,MAAL;AAHlC,KAD0B,CAAd;;;;;;;;;;;;;;;;ACjFhB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AASA,QAAM8G,aAAa,GAAG,WAAtB;AACA,QAAMC,kBAAkB,GAAG,iBAA3B;AACA,QAAMC,aAAa,GAAG,WAAtB;;QAGaC,W;AACX,2BAAoB/vB,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AACnB,O,CAED;;;;;8BACM4oB,K,EAAeD,Q,EAAgB;AACnC,iBAAO,KAAK3oB,IAAL,CAAUgwB,IAAV,CAAqBJ,aAArB,EAAoC;AAAChH,iBAAK,EAALA,KAAD;AAAQD,oBAAQ,EAARA;AAAR,WAApC,CAAP;AACD;;;yCAEa;AACZ,cAAMpC,SAAS,GAAGlU,YAAY,CAACI,OAAb,CAAqB,sEAAYqT,YAAjC,CAAlB;AACA,cAAImK,WAAW,GAAG,IAAI,gEAAJ,EAAlB;AACAA,qBAAW,GAAGA,WAAW,CAACnwB,GAAZ,CAAgB,eAAhB,EAAiC,YAAYymB,SAA7C,CAAd;AACA,iBAAO,KAAKvmB,IAAL,CAAU2R,GAAV,CAAoBie,aAApB,EAAmC;AAACM,mBAAO,EAAED;AAAV,WAAnC,CAAP;AACD;;;iCAEQzQ,I,EAAU;AACjB,cAAIyQ,WAAW,GAAG,IAAI,gEAAJ,EAAlB;AACAA,qBAAW,GAAGA,WAAW,CAACnwB,GAAZ,CAAgB,cAAhB,EAAgC,kBAAhC,CAAd;AACA,iBAAO,KAAKE,IAAL,CAAUgwB,IAAV,CAAqBJ,aAArB,EAAoCpQ,IAApC,EAA0C;AAAC0Q,mBAAO,EAAED;AAAV,WAA1C,EACJ3zB,IADI,CAEH,2DAAI,UAACC,GAAD,EAAe;AACjB,mBAAOA,GAAP;AACD,WAFD,CAFG,EAKH,kEAAW,UAAA4zB,GAAG,EAAI;AAChB,mBAAO,IAAP;AACD,WAFD,CALG,CAAP;AASD;AAED;;;;;;;;;wCAMuBvH,K,EAAa;AAClC,iBAAO,KAAK5oB,IAAL,CAAU2R,GAAV,CAAcie,aAAa,GAAG,WAAhB,GAA8BhH,KAA5C,EACJtsB,IADI,CACC,kEAAW,KAAK8zB,WAAL,CAAiB,iBAAjB,EAAoC,EAApC,CAAX,CADD,CAAP;AAGD;;;sCAGU;AACT,iBAAO,KAAKpwB,IAAL,CAAU2R,GAAV,CAAsBie,aAAtB,CAAP;AACD;;;oCAEWnH,M,EAAc;AACxB,iBAAO,KAAKzoB,IAAL,CAAU2R,GAAV,CAAoBie,aAAa,cAAOnH,MAAP,CAAjC,CAAP;AACD,S,CAGD;;;;mCACWA,M,EAAgB;AACzB,cAAMpU,GAAG,aAAMub,aAAN,cAAuBnH,MAAvB,CAAT;AACA,iBAAO,KAAKzoB,IAAL,WAAiBqU,GAAjB,CAAP;AACD,S,CAED;AACA;;;;mCACWgc,K,EAAW;AACpB,cAAIJ,WAAW,GAAG,IAAI,gEAAJ,EAAlB;AACAA,qBAAW,GAAGA,WAAW,CAACnwB,GAAZ,CAAgB,cAAhB,EAAgC,kBAAhC,CAAd;AACA,iBAAO,KAAKE,IAAL,CAAUswB,GAAV,CAAcV,aAAd,EAA6BS,KAA7B,EAAoC;AAACH,mBAAO,EAAED;AAAV,WAApC,CAAP;AACD,S,CAED;;;;mCACWzQ,I,EAAU;AACnB,cAAIyQ,WAAW,GAAG,IAAI,gEAAJ,EAAlB;AACAA,qBAAW,GAAGA,WAAW,CAACnwB,GAAZ,CAAgB,cAAhB,EAAgC,kBAAhC,CAAd;AACA,iBAAO,KAAKE,IAAL,CAAUgwB,IAAV,CAAqBJ,aAArB,EAAoCpQ,IAApC,EAA0C;AAAC0Q,mBAAO,EAAED;AAAV,WAA1C,CAAP;AACD,S,CAED;AACA;;;;kCACUtzB,W,EAA6B;AACrC,cAAIszB,WAAW,GAAG,IAAI,gEAAJ,EAAlB;AACAA,qBAAW,GAAGA,WAAW,CAACnwB,GAAZ,CAAgB,cAAhB,EAAgC,kBAAhC,CAAd;AACA,iBAAO,KAAKE,IAAL,CAAUgwB,IAAV,CAAkCJ,aAAa,GAAG,YAAlD,EAAgEjzB,WAAhE,EAA6E;AAACuzB,mBAAO,EAAED;AAAV,WAA7E,CAAP;AACD,S,CAED;;;;4CACiB;AACf,iBAAO,KAAKjwB,IAAL,CAAU2R,GAAV,CAA4Bke,kBAA5B,CAAP;AACD;;;2CAEkBhC,M,EAAc;AAC/B,iBAAO,KAAK7tB,IAAL,CAAU2R,GAAV,CAA4Bke,kBAAkB,GAAG,sBAArB,GAA8ChC,MAA1E,CAAP;AACD,S,CAED;;;;sCACW;AACT,iBAAO,KAAK7tB,IAAL,CAAU2R,GAAV,CAAsBme,aAAtB,CAAP;AACD;;;oCAEWjC,M,EAAc;AACxB,iBAAO,KAAK7tB,IAAL,CAAU2R,GAAV,CAAoBme,aAAa,cAAOjC,MAAP,CAAjC,CAAP;AACD,S,CAED;;;;mCACWxN,I,EAAU;AACnB;AACA,cAAI4P,WAAW,GAAG,IAAI,gEAAJ,EAAlB;AACAA,qBAAW,GAAGA,WAAW,CAACnwB,GAAZ,CAAgB,cAAhB,EAAgC,kBAAhC,CAAd;AACA,iBAAO,KAAKE,IAAL,CAAUgwB,IAAV,CAAqBF,aAArB,EAAoCzP,IAApC,EAA0C;AAAC6P,mBAAO,EAAED;AAAV,WAA1C,CAAP;AACD,S,CAED;;;;mCACW5P,I,EAAU;AACnB,cAAI4P,WAAW,GAAG,IAAI,gEAAJ,EAAlB;AACAA,qBAAW,GAAGA,WAAW,CAACnwB,GAAZ,CAAgB,cAAhB,EAAgC,kBAAhC,CAAd;AACA,iBAAO,KAAKE,IAAL,CAAUswB,GAAV,CAAcR,aAAd,EAA6BzP,IAA7B,EAAmC;AAAC6P,mBAAO,EAAED;AAAV,WAAnC,CAAP;AACD,S,CAED;;;;mCACWpC,M,EAAc;AACvB,cAAMxZ,GAAG,aAAMyb,aAAN,cAAuBjC,MAAvB,CAAT;AACA,iBAAO,KAAK7tB,IAAL,WAAuBqU,GAAvB,CAAP;AACD,S,CAED;;;;8CACsBwZ,M,EAAc;AAClC,iBAAO,KAAK7tB,IAAL,CAAU2R,GAAV,CAAuBme,aAAa,GAAG,oCAAhB,GAAuDjC,MAA9E,CAAP;AACD;;;kCAESlxB,W,EAA6B;AACrC;AACA,cAAIszB,WAAW,GAAG,IAAI,gEAAJ,EAAlB;AACAA,qBAAW,GAAGA,WAAW,CAACnwB,GAAZ,CAAgB,cAAhB,EAAgC,kBAAhC,CAAd;AACA,iBAAO,KAAKE,IAAL,CAAUgwB,IAAV,CAAkCF,aAAa,GAAG,YAAlD,EAAgEnzB,WAAhE,EAA6E;AAACuzB,mBAAO,EAAED;AAAV,WAA7E,CAAP;AACD;AAED;;;;;;;;;;sCAO8D;AAAA,cAAvCM,SAAuC,uEAA3B,WAA2B;AAAA,cAAdpyB,MAAc;AAC5D,iBAAO,UAACyC,KAAD,EAAiC;AACtC;AACArB,mBAAO,CAACqB,KAAR,CAAcA,KAAd,EAFsC,CAEhB;AAEtB;;AACA,mBAAO,gDAAGzC,MAAH,CAAP;AACD,WAND;AAOD;;;;;;;;;;;;;;;;;;;;;AClKH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,O,CAAA;AAC8C;;;;;;;;;;;;;;;;;;ACA9C;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAMaqyB,iB;AAGX,mCAAc;AAAA;;AACZ,aAAKC,gBAAL,GAAwB,IAAI,oDAAJ,CAAoB,IAApB,CAAxB;AACD;;;;kCAESnvB,O,EAAiBC,I,EAAe;AACxC,cAAMmvB,MAAM,GAAe;AACzBpvB,mBAAO,EAAPA,OADyB;AAEzBC,gBAAI,EAAJA;AAFyB,WAA3B;AAIA,eAAKkvB,gBAAL,CAAsBhwB,IAAtB,CAA2BiwB,MAA3B;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpBH;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;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;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;;;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;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;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;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;;;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;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;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,EAAA;AA7FjC;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAiBQ;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAKA;;AAAA;;AAIA;;AAAA;;AAAA;;AAAA;;AAQF;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAWA;;AAAA;;AAIA;;AAAA;;AAAA;;AAAA;;AAQF;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAWA;;AAAA;;AAIA;;AAAA;;AAAA;;AAAA;;AAQF;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAKA;;AAAA;;AAIA;;AAA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;;AAAA;;AAAA;;AAAA;;AAAA;;AAiBQ;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAMA;;AAAA;;AAIA;;AAAA;;AAAA;;AAAA;;AAQF;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAMA;;AAAA;;AAIA;;AAAA;;AAAA;;AAAA;;AAQF;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAMA;;AAAA;;AAIA;;AAAA;;AAAA;;AAAA;;AASF;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAWA;;AAAA;;AAIA;;AAAA;;AAAA;;AAAA;;AAiBF;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAsBA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAcA;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAMA;;AAAA;;AAIA;;AAAA;;AAAA;;AAAA;;AAOF;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AACG,O;AAAA;;;qEAoBX;AAAA;AAAA;;AAAA;;;;;AAIE;;;;;AAJF;AAAA,8N,GAAA;AAAA;AAAA,c,EAAA;AAAA;AAAA,c,GAQE,gJ,IAA4B,8E,IAG9B;AAAA;;AAAA;;;;;;;;;;;OAAA,E,uGAAA,E,2GAAA,C;;gBACE,wD,EADF,sX,EAAA;AAAA;AAAA,c,GAME,iJ,IACA,iJ,IAA4B,8E,IAAI,4E,IAAA;AAfhC;;AAHF,sBAGE,SAHF;;AAME;;AANF,sBAME,SANF;;AAYE;;AADF,sBACE,UADF;;AAIE;;AAJF,sBAIE,UAJF;AAIqC,O,EAAA;AAfrC;AAAA;;AAAA;;AAAA;;AAAA;;AAWA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;AAKC,O;AAAA;;;qEA5MH,6Z,GAAA;AAAA;AAAA;AAAA;AAAA,c,GAKE,gH,GAAA;AAAA;AAAA,c,GA2KF,gI,IAA8B;AAAA;AA/K5B,2BAAe,MAAf;;AACA;;AACA,2BAAoB,SAApB;;AAHF,sBACE,SADF,EAEE,SAFF,EAGE,SAHF;;AAQI,2BAAY,KAAZ;;AAHF,sBAGE,SAHF;AAGc,O,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFhB;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;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,sD,CAMA;AASA;AAaA;;;QAkCaqhC,iB;AAgBX,iCACUjjC,KADV,EAEUxtB,KAFV,EAGU0wD,MAHV,EAG6B;AAAA;;AAFnB,aAAAljC,KAAA,GAAAA,KAAA;AACA,aAAAxtB,KAAA,GAAAA,KAAA;AACA,aAAA0wD,MAAA,GAAAA,MAAA;AAlBD,aAAAzwD,KAAA,GAAQ,UAAR;AACT,aAAA+/C,MAAA,GAAS,KAAT;AAGA,aAAAC,aAAA,GAAgB,KAAhB;AAQO,aAAA8C,0BAAA,GAA0C,IAAI,0DAAJ,EAA1C;AACA,aAAAoD,uBAAA,GAAuC,IAAI,0DAAJ,EAAvC;AAMH;;;;mCAEI;AAAA;;AACN,eAAKh6B,QAAL,GAAgB,KAAKnsB,KAAL,CAAWiD,IAAX,CACd,2DAAO,8FAAP,CADc,EAEd,8EAAe,IAAf,CAFc,CAAhB;AAKA,eAAKkjB,IAAL,GAAY,gDAAK+5B,WAAL,EAAZ;AACA,eAAKC,UAAL;AAEA,qEACE,KAAKngD,KAAL,CAAWiD,IAAX,CAAgB,2DAAO,2FAAP,CAAhB,EAAyC,8EAAe,IAAf,CAAzC,CADF,EAEE,KAAKjD,KAAL,CAAWiD,IAAX,CAAgB,2DAAO,6FAAP,CAAhB,EAA2C,8EAAe,IAAf,CAA3C,CAFF,EAGEpC,SAHF,CAGY,kBAA8B;AAAA;AAAA,gBAA5Bq+B,SAA4B;AAAA,gBAAjBpM,WAAiB;;AACxC,oBAAI,CAACoM,SAAL,GAAiBA,SAAjB;;AAEA,gBAAIpM,WAAW,KAAK,QAAI,CAACktB,MAAL,IAAe,QAAI,CAAC5wB,MAAzB,CAAf,EAAiD;AAC/C,sBAAI,CAACjJ,IAAL,GAAY,yDAAU2M,WAAV,CAAZ;;AACA,sBAAI,CAACqtB,UAAL;AACD;AACF,WAVD;AAYA,cAAI/wB,MAAM,GAAG,KAAK5B,KAAL,CAAW4yB,QAAX,CAAoBtjB,MAApB,CAA2B,IAA3B,CAAb;;AAEA,cAAI1N,MAAM,IAAIA,MAAM,IAAI,KAAxB,EAA+B;AAC7B,iBAAK4wB,MAAL,GAAc,IAAd;AACA,iBAAK//C,KAAL,GAAa,WAAb;AAEA,iBAAKD,KAAL,CAAW4H,QAAX,CAAoB,yFAAS;AAAEa,kBAAI,EAAE2mB;AAAR,aAAT,CAApB;AACD;;AAED,cAAI,KAAKA,MAAT,EAAiB;AACf,iBAAKnvB,KAAL,GAAa,iBAAb;AACA,iBAAKD,KAAL,CAAW4H,QAAX,CAAoB,yFAAS;AAAEa,kBAAI,EAAE,KAAK2mB;AAAb,aAAT,CAApB;AACD;AACF;;;qCAEY;;;AACX,eAAKuhC,QAAL,GAAgB,KAAKD,MAAL,CAAYjU,KAAZ,CAAkB;AAChCptB,oBAAQ,EAAE,CAAC,KAAKlJ,IAAL,CAAUkJ,QAAX,EAAqB,0DAAWstB,QAAhC,CADsB;AAEhChtB,iBAAK,EAAE,CACL,KAAKxJ,IAAL,CAAUwJ,KADL,EAEL,CAAC,0DAAWgtB,QAAZ,EAAsB,0DAAW2D,OAAX,CAAmB,IAAIplC,MAAJ,CAAW,+EAAMyU,KAAjB,CAAnB,CAAtB,CAFK,CAFyB;AAMhCJ,iBAAK,EAAE,CAAC,KAAKpJ,IAAL,CAAUoJ,KAAX,EAAkB,CAAC,0DAAWA,KAAZ,EAAmB,0DAAWotB,QAA9B,CAAlB,CANyB;AAOhC1uB,oBAAQ,EAAE,CAAC,CAAD,KAAC,KAAK9H,IAAL,CAAU8H,QAAV,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAE2B,UAArB,EAAiC,0DAAW+sB,QAA5C,CAPsB;AAQhCrtB,oBAAQ,EAAE,CAAC,KAAKnJ,IAAL,CAAUmJ,QAAX,EAAqB,0DAAWqtB,QAAhC,CARsB;AAShCzsB,2BAAe,EAAE,CAAC,KAAK/J,IAAL,CAAU+J,eAAX;AATe,WAAlB,CAAhB;AAYA,eAAKygC,QAAL,CAAcnN,UAAd,CACE,4BADF,EAEE,KAAKT,0BAFP;;AAKA,cAAI,KAAK58B,IAAL,CAAU2J,QAAd,EAAwB;AACtB,iBAAKizB,0BAAL,CAAgCW,QAAhC,CAAyC,CAAD,KAAC,KAAKv9B,IAAL,CAAU2J,QAAV,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAED,UAA7D;AACD;;AAED,eAAK8gC,QAAL,CAAcnN,UAAd,CACE,yBADF,EAEE,KAAK2C,uBAFP;;AAKA,cAAI,KAAKhgC,IAAL,CAAU6J,KAAd,EAAqB;AACnB,iBAAKm2B,uBAAL,CAA6BzC,QAA7B,CAAsC,CAAD,KAAC,KAAKv9B,IAAL,CAAU6J,KAAV,MAAe,IAAf,IAAe,aAAf,GAAe,MAAf,GAAe,GAAED,OAAvD;AACD;AACF;;;mCAEU;AACT,eAAKkwB,aAAL,GAAqB,KAArB;AACA,cAAMnD,QAAQ,GAAG,KAAK6T,QAAL,CAAc7T,QAA/B;AACA;;AACA,cAAI,KAAK6T,QAAL,CAAc5T,OAAlB,EAA2B;AACzB/9C,kBAAM,CAACV,IAAP,CAAYw+C,QAAZ,EAAsBt7C,OAAtB,CAA8B,UAACw7C,WAAD;AAAA,qBAC5BF,QAAQ,CAACE,WAAD,CAAR,CAAsBC,aAAtB,EAD4B;AAAA,aAA9B;AAIA,iBAAKgD,aAAL,GAAqB,IAArB;AACA;AACD;;AAED,eAAK2Q,WAAL;;AAEA,cAAI,KAAK5Q,MAAT,EAAiB;AACf,iBAAKhgD,KAAL,CAAW4H,QAAX,CAAoB,2FAAW;AAAEa,kBAAI,EAAE,KAAK0d;AAAb,aAAX,CAApB;AACD,WAFD,MAEO;AACL,iBAAKnmB,KAAL,CAAW4H,QAAX,CAAoB,wFAAQ;AAAEa,kBAAI,EAAE,KAAK0d;AAAb,aAAR,CAApB;AACD;AACF;;;sCAEa;AAAA;;AACZ,eAAKA,IAAL,CAAUkJ,QAAV,GAAqB,KAAKshC,QAAL,CAAc7T,QAAd,CAAuBztB,QAAvB,CAAgClmB,KAArD;AACA,eAAKgd,IAAL,CAAU8H,QAAV,GAAqB,KAAKiR,SAAL,CAAehE,IAAf,CACnB,UAACiE,CAAD;AAAA,mBAAOA,CAAC,CAACvP,UAAF,IAAgB,QAAI,CAAC+gC,QAAL,CAAc7T,QAAd,CAAuB7uB,QAAvB,CAAgC9kB,KAAvD;AAAA,WADmB,CAArB;AAGA,eAAKgd,IAAL,CAAUoJ,KAAV,GAAkB,KAAKohC,QAAL,CAAc7T,QAAd,CAAuBvtB,KAAvB,CAA6BpmB,KAA/C;AACA,eAAKgd,IAAL,CAAUwJ,KAAV,GAAkB,KAAKghC,QAAL,CAAc7T,QAAd,CAAuBntB,KAAvB,CAA6BxmB,KAA/C;AACA,eAAKgd,IAAL,CAAUmJ,QAAV,GAAqB,KAAKqhC,QAAL,CAAc7T,QAAd,CAAuBxtB,QAAvB,CAAgCnmB,KAArD;AACA,eAAKgd,IAAL,CAAU2J,QAAV,CAAmBD,UAAnB,GAAgC,KAAKkzB,0BAAL,CAAgC55C,KAAhE;AACA,eAAKgd,IAAL,CAAU6J,KAAV,CAAgBD,OAAhB,GAA0B,KAAKo2B,uBAAL,CAA6Bh9C,KAAvD;AACA,eAAKgd,IAAL,CAAU+J,eAAV,GAA4B,KAAKygC,QAAL,CAAc7T,QAAd,CAAuB5sB,eAAvB,CAAuC/mB,KAAnE;AACD;;;qCAEYq3C,M,EAAQ;AACnB,eAAKP,aAAL,GAAqB,KAArB;AACD;;;sCAEU,CAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qEC5LtB;AAAA;;AAAA;;;;;;;;;;;OAAA,E,sGAAA,E,0GAAA,C;;gBAAqC,wD,EAArC;AAAA;AAAA,c,GAA4D,iF,IAE5D;AAFqC;;AAArC,sBAAqC,SAArC;;AAAG;;AAAH,sBAAG,SAAH;AAAkB,O,EAAA;AAAlB;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;AAA4D,O;AAAA;;;qEAT9D,2Z,GAAA;AAAA;AAAA;AAAA,c,GACE;AAAA;AAAA,oBAIC,UAJD;;AAGE;;;;;AAHF;AAAA,8N,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA,Q,GAOF,iI,IAA8B;AAAA;AARV;;AAAkB;;AAAtC,sBAAoB,SAApB,EAAsC,SAAtC;;AAEI,2BAAe,MAAf;AACA,2BAAmB,QAAnB;;AAFF,sBACE,SADF,EAEE,SAFF;AAEqB,O,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;ACQvB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,oD,CAEA;;;QAqBa4Q,kB;AAIX,kCACU7wD,KADV,EAEUiqC,kBAFV,EAEgD;AAAA;;AADtC,aAAAjqC,KAAA,GAAAA,KAAA;AACA,aAAAiqC,kBAAA,GAAAA,kBAAA;AACN;;;;mCAEI;AAAA;;AACN,eAAKjqC,KAAL,CACGiD,IADH,CACQ,2DAAO,8FAAP,CADR,EACoC,8EAAe,IAAf,CADpC,EAEGpC,SAFH,CAEa,UAAC+yC,OAAD,EAAa;AACtB,oBAAI,CAACA,OAAL,GAAeA,OAAf;AACD,WAJH;AAMA,eAAK5zC,KAAL,CAAWiD,IAAX,CAAgB,uFAAhB,EAA6B,8EAAe,IAAf,CAA7B,EAAmDpC,SAAnD,CAA6D,UAACgpB,KAAD,EAAW;AACtE,oBAAI,CAACA,KAAL,GAAaA,KAAb;AACD,WAFD;AAIA,eAAK7pB,KAAL,CAAW4H,QAAX,CAAoB,2FAApB;AACD;;;mCAEU82C,K,EAAa;AAAA;;AACtB,cAAMC,MAAM,GAAG,aAAf;AACA,cAAMC,YAAY,GAAG,+CAArB;AACA,cAAMC,eAAe,GAAG,qBAAxB;AACA,cAAMC,cAAc,0BAApB;AAEA,cAAMC,SAAS,GAAG,KAAK9U,kBAAL,CAAwB+U,aAAxB,CAChBL,MADgB,EAEhBC,YAFgB,EAGhBC,eAHgB,CAAlB;AAKAE,mBAAS,CAACE,WAAV,GAAwBp+C,SAAxB,CAAkC,UAACqC,GAAD,EAAS;AACzC,gBAAI,CAACA,GAAL,EAAU;AACR;AACD;;AAED,oBAAI,CAAClD,KAAL,CAAW4H,QAAX,CAAoB,2FAAW;AAAEa,kBAAI,EAAEi2C;AAAR,aAAX,CAApB;;AACA,oBAAI,CAACzU,kBAAL,CAAwBgB,sBAAxB,CACE6T,cADF,EAEE,4DAAYnT,MAFd;AAID,WAVD;AAWD;;;sCAEU,CAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qECxEiB,gF,IAAA,I,EAAA;AAAA;;AAAA;AAEzC,O;AAAA;;;qEAGE;AAAA;;AAAA;;;;;;OAAA,E,IAAA,E,IAAA,C;;gBACE,wD,GAEC,6E,IAAuB;AAFxB,6DAA6D,OAA7D,CAA6D,OAA7D,CAA6D,GAA7D,CAA6D,QAA7D,CAA6D,UAA7D;;AADF,sBACE,SADF;AAC+D,O,EAAA;AAD/D;;AAAA;;AAAA;;AAGG;;AAAA;AAAuB,O;AAAA;;;qEAH1B,qH,GAAA;AAAA;AAAA,c,GAGG,4E,IAAA;AADD,0BAAoB,QAApB,CAAoB,GAApB,CAAoB,QAApB;;AAFF,sBAEE,SAFF;AAEsB,O,EAAA,I;AAAA;;;qEAKkB,gF,IAAA,I,EAAA;AAAA;;AAAA;AAE1C,O;AAAA;;;qEAGE;AAAA;AAAA,oBAKC,UALD;;AAIE;;;;;AAJF;AAAA,4N,GAAA;AAAA;AAAA,c,EAAA;AAAA;AAAA,c,GAME,wa,GAAA,qb,GAAU,6E,IAGZ;AAAA;AAAA,oBAMC,UAND;;AAKE;;;;;AALF;AAAA,4N,GAAA;AAAA;AAAA,c,EAAA;AAAA;AAAA,c,GAOE,wa,GAAA,sb,GAAU,6E,IAAM,4E,IAAA;AAdhB;;AAFF,sBAEE,SAFF;;AAGE;;AAHF,sBAGE,SAHF;;AAME;;AAKA;;AAFF,sBAEE,SAFF;;AAGE;;AAHF,sBAGE,SAHF;;AAOE;AAAU,O,EAAA;AAhBZ;AAAA;;AAAA;;AAME;;AAAA;;AAAA;;AAGF;AAAA;;AAAA;;AAOE;;AAAA;;AAAA;AAAU,O;AAAA;;;qEAKZ,mf,GAAA,mX,EAAA;AAAA;AAAA,c,GAKE,wa,GAAA,qb,GAAU,gF,IAAoB,uF,IAEhC,4E,IAAA;AALE;;AAFF,sBAEE,SAFF;;AAKE;AAAU,O,EAAA;AALZ;AAAA;;AAAA;;AAKE;;AAAA;;AAAA;AAAU,O;AAAA;;;;;;;;;;;WApDd;AAAA;AAAA,oBAOC,UAPD;;AAGE;;;;;AAHF;AAAA,wQ,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,Q,GASA,uI,IAIA,2I,IAQA,wI,IAIA,0I,IAqBA,wI,IAAoC;AAAA;AA5ClC,2BAAc,MAAd;AADA,2BAAmB,QAAnB;AAGA,2BAAmB,QAAnB;AACA;;AACA;;AANF,sBAEE,SAFF,EACE,SADF,EAIE,SAJF,EAKE,SALF,EAME,SANF;AAMiD,O,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNjD;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAoBamlB,mB;AAmBX,mCAAoBjxD,MAApB,EAA4C2tB,KAA5C,EAAmE;AAAA;;AAA/C,aAAA3tB,MAAA,GAAAA,MAAA;AAAwB,aAAA2tB,KAAA,GAAAA,KAAA;AAflC,aAAA2xB,QAAA,GAAW,IAAI,0DAAJ,EAAX;AACA,aAAAtV,UAAA,GAAa,IAAI,0DAAJ,EAAb;AAc2D;;;;mCAE7D,CAAW;;;0CAEJ;AAAA;;AACb3oC,oBAAU,CAAC,YAAM;AACf,oBAAI,CAACk+C,OAAL,GAAe,CACb;AACEC,6BAAe,EAAE,UADnB;AAEEC,6BAAe,EAAE,UAFnB;AAGEC,4BAAc,EAAE,UAHlB;AAIEC,sBAAQ,EAAE;AAJZ,aADa,EAOb;AACEH,6BAAe,EAAE,OADnB;AAEEC,6BAAe,EAAE,OAFnB;AAGEC,4BAAc,EAAE,OAHlB;AAIEC,sBAAQ,EAAE;AAJZ,aAPa,EAab;AACEH,6BAAe,EAAE,OADnB;AAEEC,6BAAe,EAAE,OAFnB;AAGEC,4BAAc,EAAE,OAHlB;AAIEC,sBAAQ,EAAE;AAJZ,aAba,EAmBb;AACEH,6BAAe,EAAE,UADnB;AAEEC,6BAAe,EAAE,UAFnB;AAGEC,4BAAc,EAAE,UAHlB;AAIEC,sBAAQ,EAAE,IAJZ;AAKEC,sBAAQ,EAAE,QAAI,CAAC2E;AALjB,aAnBa,EA0Bb;AACE/E,6BAAe,EAAE,UADnB;AAEEC,6BAAe,EAAE,UAFnB;AAGEC,4BAAc,EAAE,MAHlB;AAIEC,sBAAQ,EAAE,IAJZ;AAKEC,sBAAQ,EAAE,QAAI,CAACsR;AALjB,aA1Ba,EAiCb;AACE1R,6BAAe,EAAE,OADnB;AAEEC,6BAAe,EAAE,OAFnB;AAGEC,4BAAc,EAAE,OAHlB;AAIEE,sBAAQ,EAAE,QAAI,CAAC0L,aAJjB;AAKE3L,sBAAQ,EAAE;AALZ,aAjCa,EAwCb;AACEF,6BAAe,EAAE,SADnB;AAEED,6BAAe,EAAE,SAFnB;AAGEE,4BAAc,EAAE,SAHlB;AAIEC,sBAAQ,EAAE,KAJZ;AAKEC,sBAAQ,EAAE,QAAI,CAACC;AALjB,aAxCa,CAAf;AAgDD,WAjDS,CAAV;AAkDD;;;sCAEav5B,I,EAAY;AACxB,eAAKtmB,MAAL,CAAY+sB,QAAZ,CAAqB,CAACzG,IAAI,CAACiJ,MAAN,CAArB,EAAoC;AAAE8b,sBAAU,EAAE,KAAK1d;AAAnB,WAApC;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qEC/FD;AAAA;AAAA,oBAA6G,UAA7G;;AAA6E;;;;;AAA7E;AAAA,4N,GAAA;AAAA;AAAA,c,GAA6G,6E,IAE7G;AAF6D;;AAA7D,sBAA6D,SAA7D;AAA4E,O,EAAA;AAA5E;AAAA;;AAAA;AAA6G,O;AAAA;;;qEAK7G;AAAA;AAAA,oBAGc,UAHd;;AAEC;;;;;AAFD;AAAA,4N,GAAA;AAAA;AAAA,c,GAIC,sa,GAAA,kb,GAAU,4E,IAAK;AADf;;AAHD,sBAGC,SAHD;;AAIC;AAAU,O,EAAA;AAJX;AAAA;;AAAA;;AAIC;;AAAA;;AAAA;AAAU,O;AAAA;;;qEAZb,iJ,IACC,yJ,IAAkC,6E,IAClC,qJ,IACC,6H,GAAA;AAAA;AAAA,c,GAID,uJ,IACC,6H,GAAA;AAAA;AAAA,c,GAGc;AAAA;AARN,2BAA2B,KAA3B,CAA2B,cAA3B;;AAAR,sBAAQ,SAAR;;AAKQ,2BAA4B,KAA5B,CAA4B,eAA5B;;AAAR,sBAAQ,SAAR;AAAoC,O,EAAA;AAAA;AAPH;;AAAA;AAAgB,O;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;ACEnD;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,6C,CAAA;;;QAUawjC,2B;AACZ;;;;;AAKA,2CAA+CvoD,IAA/C,EAA0D;AAAA;;AAAX,aAAAA,IAAA,GAAAA,IAAA;AAAc;AAE7D;;;;AAIA;;;;;;;mCAGW;AAAA;;AACV,cAAI,CAAC,KAAKA,IAAL,CAAUH,cAAX,IAA8B,KAAKG,IAAL,CAAUF,kBAAV,IAAgC,KAAKE,IAAL,CAAUL,QAA5E,EAAuF;AACtF;AACA;;AAED,eAAK6oD,kBAAL,CAAwB,KAAKxoD,IAAL,CAAUF,kBAAlC,EAAsD1H,SAAtD,CAAgE,YAAM;AACrE,oBAAI,CAAC4H,IAAL,CAAUH,cAAV,GAA2B,KAA3B;AACA,WAFD;AAGA;AAED;;;;;;;;2CAKmB4oD,W,EAAa;AAC/B,iBAAO,gDAAG,EAAH,EAAOjuD,IAAP,CAAY,6DAAMiuD,WAAN,CAAZ,CAAP;AACA;AAED;;;;;;8CAGsB;AACrB,eAAKzoD,IAAL,CAAUV,QAAV,CAAmBopD,OAAnB;AACA;AAED;;;;;;oCAGqB;AACpB,eAAK1oD,IAAL,CAAUV,QAAV,CAAmBopD,OAAnB;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qECpDD,oJ,IACC;AAAA;AAAA,oBAGwB,UAHxB;;AAGC;;;;;AAHD;AAAA,4N,GAAA;AAAA;AAAA,c,GAIC,qb,GAAA,kb,GAAiC,4E,IAAK;AAFtC;;AAFD,sBAEC,SAFD;;AAIC;AAAiC,O,EAAA;AAJlC;AAAA;;AAAA;;AAIC;;AAAA;;AAAA;AAAiC,O;AAAA;;;qEAZpC,0J,IACC,mJ,IACC,gJ,IAED,mJ,GACC,2D,GAED,gH,GAAA;AAAA;AAAA,c,GAAqD;AAAA;AAAxB,2BAAuB,gBAAvB;;AAA7B,sBAA6B,SAA7B;AAAoD,O,EAAA;AAAA;;AAPhD;;AAAL,sBAAK,SAAL;AAA0C,O;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA1C;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,qD,CAAA;;;QAOaC,c;AAJb;AAAA;;AAOU,aAAAhpD,QAAA,GAAW,CAAX;AACA,aAAAC,eAAA,GAAkB,IAAlB;AACC,aAAAg+C,KAAA,GAAQ,IAAI,0DAAJ,EAAR;AACV,aAAAgL,YAAA,GAAe,IAAf;AAyBA;AAvBA;;;;AAIA;;;;;;;mCAGW;AAAA;;AACV,cAAI,KAAKjpD,QAAL,KAAkB,CAAtB,EAAyB;AACxB;AACA;;AAEDlH,oBAAU,CAAC,YAAM;AAChB,oBAAI,CAACowD,UAAL;AACA,WAFS,EAEP,KAAKlpD,QAFE,CAAV;AAGA;AAED;;;;;;qCAGa;AACZ,eAAKi+C,KAAL,CAAW9D,IAAX;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qECrCF,sJ,GAAA;AAAA;AAAA;AAAA,c,EAA8B;AAAA;AAAA,Q,GAC7B,gJ,IACC,+I,IACC,8I,IAAuB,6E,IAGzB,0I,IACC,8I,IACC,uJ,IACC,2gB,GAAA;AAAA;AAAA,c,GAGD,oJ,IACC,+I,IAAuB,gF,IAKzB,kJ,IACC,oK,IACC,0I,IACA,yH,IACC;AAAA;AAAA,oBAAyC,UAAzC;;AAAmB;;;;;AAAnB;AAAA,4N,GAAA,oX,GAAyC,6E,IAAe,+E,IACxD;AAAA;AAAA,oBAC0B,UAD1B;;AAAmB;;;;;AAAnB;AAAA,4N,GAAA;AAAA;AAAA;AAAA,c,GAC0B,6E,IAAM;AAAA;AAxBhC;;AAAyB,yCAA6E,YAA7E;;AAA9B,sBAAK,SAAL,EAA8B,SAA9B;;AASiB;;AAAb,uBAAa,SAAb;;AAeE,4BAAwB,YAAxB;AADyC;;AAA1C,uBACC,UADD,EAA0C,UAA1C;AAAyD,O,EAAA;AAAA;AApBpC;;AAAA;;AAMtB;;AAAA;;AAAA;;AAAA;;AAIuB;;AAAA;;AAStB;AAAA;;AAAA;;AACA;AAAA;;AAAA;AAC0B,O;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;AChB/B;AAAA;;;AAAA;AAAA;AAAA;;QAAagP,2B;AAIX;;;;;;AAMA,2CACSxS,SADT,EAEkCt2C,IAFlC,EAE2C;AAAA;;AADlC,aAAAs2C,SAAA,GAAAA,SAAA;AACyB,aAAAt2C,IAAA,GAAAA,IAAA,CAAS,CAX3C;;AACA,aAAA6kD,WAAA,GAAc,KAAd;AAWI;AAEJ;;;;AAIA;;;;;;;mCAGW,CAAE;AAEb;;;;;;oCAGS;AACP,eAAKvO,SAAL,CAAesH,KAAf;AACD;AAED;;;;;;qCAGU;AACR,eAAKtH,SAAL,CAAesH,KAAf,CAAqB,IAArB,EADQ,CACoB;AAC7B;;;;;;;;;;;;;;;;;;;;;ACpCH;AAAA;;;AAAA;AAAA;AAAA;;QAAamL,0B;AACZ;;;;;;AAMA,0CACQzS,SADR,EAEiCt2C,IAFjC,EAE0C;AAAA;;AADlC,aAAAs2C,SAAA,GAAAA,SAAA;AACyB,aAAAt2C,IAAA,GAAAA,IAAA;AAC7B;AAEJ;;;;;;;oCAGS;AACR,eAAKs2C,SAAL,CAAesH,KAAf;AACA;AAED;;AACA;;;;;;;kDAI4C;AAAA,cAApB7+C,MAAoB,uEAAH,CAAG;;AAC3C,kBAAQA,MAAR;AACC,iBAAK,CAAL;AAAQ,qBAAO,SAAP;;AACR,iBAAK,CAAL;AAAQ,qBAAO,OAAP;;AACR,iBAAK,CAAL;AAAQ,qBAAO,QAAP;;AACR;AAAS,qBAAO,SAAP;AAJV;AAMA;;;;;;;;;;;;;;;;;;;;;ACvCF;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;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,O,CAAA;;;;;;;;;;;;;;;;;;ACGA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAMaiqD,2B;AAIZ,2CACQ1S,SADR,EAEiCt2C,IAFjC,EAE4C;AAAA;;AADpC,aAAAs2C,SAAA,GAAAA,SAAA;AACyB,aAAAt2C,IAAA,GAAAA,IAAA;AALjC,aAAAipD,uBAAA,GAA0B,IAAI,0DAAJ,CAAgB,EAAhB,CAA1B;AACA,aAAApE,WAAA,GAAc,KAAd;AACA,aAAAC,kBAAA,GAAqB,KAArB;AAG8C;;;;mCAEnC;AAAA;;AACV;AACA,eAAKD,WAAL,GAAmB,IAAnB;AACApsD,oBAAU,CAAC,YAAM;AAChB,oBAAI,CAACosD,WAAL,GAAmB,KAAnB;AACA,WAFS,EAEP,IAFO,CAAV;AAGA;;;oCAEQ;AACR,eAAKvO,SAAL,CAAesH,KAAf;AACA;;;uCAEc;AAAA;;AACd,cAAI,KAAKqL,uBAAL,CAA6BvoD,KAA7B,CAAmC5E,MAAnC,KAA8C,CAAlD,EAAqD;AACpD;AACA;AAED;;;AACA,eAAK+oD,WAAL,GAAmB,IAAnB;AACA,eAAKC,kBAAL,GAA0B,IAA1B;AACArsD,oBAAU,CAAC,YAAM;AAChB,oBAAI,CAAC69C,SAAL,CAAesH,KAAf,CAAqB,QAAI,CAACqL,uBAAL,CAA6BvoD,KAAlD,EADgB,CAC0C;;AAC1D,WAFS,EAEP,IAFO,CAAV;AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qECtCA,sI,IACE,4J,IACE,sK,IACE,onC,GAAA,8N,EAAA,ivB,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,GACE;AAAA;AAAA;;AAAA;;;;;;;;;;;;;;;AACE;;;;;AADF;AAAA,oB,GAAA;AAAA;AAAA,c,EAAA,sO,GAOA,uN,GAAA;AAAA;AAAA,c,GACE,4H,IAAQ,gF,IAAe,yF,IACzB;AAJE;;AALF,uBAKE,UALF;;AAOU;;AAAV,uBAAU,UAAV;AAAuB,O,EAAA;AARzB;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAOA;;AAAA;;AAAA;;AAAA;AAAwB,O;AAAA;;;qEAe5B,iK,IACE,kK,IACE,6J,IACE,iL,IAAiE,uG,IAIrE,wH,IACE,gI,GAAA;AAAA;AAAA,c,GAEC;AAAA;AADC,2BAA0C,sBAA1C;;AADF,sBACE,SADF;AAC4C,O,EAAA;AAAA;AANuB;;AAAA;AAEnE,O;AAAA;;;qEAeF;AAAA;AAAA,oBAMC,UAND;;AAEE;;;;;AAFF;AAAA,sO,GAAA;AAAA;AAAA,mF,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,Q,GAMC;AAAA;AADC;;AAFA,uDAAmD,cAAnD;;AACA,wDAA0D,cAA1D;;AAJF,sBAKE,SALF,EAGE,SAHF,EAIE,SAJF;AAI4D,O,EAAA;AAJ5D;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAMC,O;AAAA;;;qEAPH,8M,GAAA,uR,GACE,oH,GAAA;AAAA;AAAA,c,GAMC;AAAA;AALC,2BAAuB,gBAAvB;;AADF,sBACE,SADF;AACyB,O,EAAA,I;AAAA;;;qEAQ3B,4L,GAAA,iR,GACE;AAAA;AAAA,oBAKC,UALD;;AACE;;;;;AACA;;;;;AAFF;AAAA,sO,GAAA;AAAA;AAAA,mF,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,Q,GAKC;AAAA;AADC;;AADA,mDAAqC,QAArC,CAAqC,SAArC;;AAHF,sBAIE,SAJF,EAGE,SAHF;AAGuC,O,EAAA;AAHvC;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAKC,O;AAAA;;;qEAQH;AAAA;;AAAA;;;;;;;;;;;;;;;;OAAA,E,yGAAA,E,6GAAA,C;;;iBAIC,4E,IAED;AAHE,2BAA0B,OAA1B,CAA0B,OAA1B,CAA0B,SAA1B,CAA0B,QAA1B;AADA;;AAFF,sBAGE,SAHF,EAEE,SAFF;AAEiB,O,EAAA;AAFjB;;AAAA;;AAAA;;AAIC;;AAAA;AAED,O;AAAA;;;;;;;qEACA,wK,GAAA,iR,GACE,oH,GAAA;AAAA;AAAA;AAAA,c,EAIE;AAAA;AAAA;AAAA,Q,GAAA;AAAA,8DAGE,OAHF,CAGE,OAHF,CAGE,SAHF,CAGE,eAHF;;AAHA;;AADF,sBAIE,SAJF,EACE,SADF;AAGG,O,EAAA,I;AAAA;;;qEAfP,0H,GAAA,2K,EAAA;AAAA;AAAA,c,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA,oN,GAIE,6G,GAAA,yN,EAAA,4N,GAOA,6G,GAAA,oN,EAAA,gN,GAAgC;AAThC,0BAAoC,QAApC,CAAoC,SAApC,CAAoC,eAApC;;AAFF,sBAEE,SAFF;AAEsC,O,EAAA,I;AAAA;;;qEAsBtC,6X,GAAA,+M,EAAA,4J,GAAoD,I,EAAA,I;AAAA;;;qEAEpD;AAAA;AAAA,oBAKC,UALD;;AAIE;;;;;AAJF;AAAA,sN,GAAA,mM,EAAA;AAAA;AAAA,c,EACE;AAAA;AAAA,Q,EADF,sJ,GAKC;AAAA;;AAJC,yCAA+B,MAA/B;;AADF,sBACE,SADF;AACiC,O,EAAA;AAE/B;;AAHF,sBAGE,SAHF;AAGqB,O;AAAA;;;qEAKuC,+E,IAAA,I,EAAA;AAAA;;AAAA;AAE9D,O;AAAA;;;qEAEA,wH,IACE,wZ,GAAA,qP,GACE,uoB,GAAA;AAAA;AAAA;AAAA;AAAA,c,GAIC;AAHC;AAEA;AADA;;AAFF,sBACE,SADF,EAGE,SAHF,EAEE,UAFF;AAEsB,O,EAAA;AAHxB;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAIC,O;AAAA;;;;;;;;;WA/GP,yJ,IAEE,oH,GAAA;AAAA;AAAA,c,GAoBA,4N,GAAA;AAAA;AAAA;AAAA,c,EAEE;AAAA;AAAA,Q,GAGA,8I,IACE,oH,GAAA;AAAA;AAAA,c,GAiBJ,sX,GAAA,uM,EAAA;AAAA;AAAA,c,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA,4J,EAAA,wM,GACE,2H,GAAA,2K,EAAA;AAAA;AAAA,c,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA,oN,GACE,6G,GAAA,0N,EAAA,4N,GAUA,6G,GAAA,oN,EAAA,gN,GAUF,oH,GAAA;AAAA;AAAA,c,GAwBA,8G,GAAA;AAAA;AAAA,c,EAAA,0N,GAEA,8G,GAAA;AAAA;AAAA,c,EAAA,8M,GAQF,kI,IAIA,qH,GAAA;AAAA;AAAA,c,GAWA,yH,IACE,mX,GAAA;AAAA;AAAA;AAAA;AAAA,c,EAIE,yD,GAAmC;AAAA;AAvHzB,2BAAkB,WAAlB;;AAAd,sBAAc,SAAd;;AAqBE;;AACA;;AAFF,sBACE,SADF,EAEE,SAFF;;AAM8C,2BAA6B,sBAA7B;;AAA1C,uBAA0C,SAA1C;;AAiBO,2BAAyB,WAAzB;;AAAX,uBAAW,SAAX;;AAAA;;AACgB;;AAAd,uBAAc,SAAd;;AAsBE,2BAA2B,QAA3B;;AADF,uBACE,SADF;;AAwBgB,2BAAmC,iBAAnC;;AAAhB,uBAAgB,SAAhB;;AAIE,2BAA+C,iBAA/C;;AAFF,uBAEE,SAFF;;AAYG,2BAAe,QAAf;;AAAL,uBAAK,SAAL;;AAcI,mEAAyC,kBAAzC,CAAyC,WAAzC;AACA,mEAAuC,kBAAvC,CAAuC,OAAvC;;AACA;;AAJF,uBAEE,UAFF,EAGE,UAHF,EAIE,UAJF;AAIqC,O,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzHzC;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;;QAkCawoD,kB;AA0BX,oCAAc;AAAA;;AAvBL,aAAAC,UAAA,GAAa,IAAb;AAGC,aAAAzS,QAAA,GAAW,IAAI,0DAAJ,EAAX;AAED,aAAA0S,UAAA,GAAa,KAAb;AAEA,aAAAC,kBAAA,GAAqB,KAArB;AACA,aAAAljD,KAAA,GAAQ,KAAR;AACC,aAAAmjD,UAAA,GAAa,IAAI,0DAAJ,EAAb;AACA,aAAAC,gBAAA,GAAmB,IAAI,0DAAJ,EAAnB;AACD,aAAAC,eAAA,GAAkB,IAAlB;AAST,aAAAlD,SAAA,GAAY,IAAI,uEAAJ,CAAmB,IAAnB,EAAyB,EAAzB,CAAZ;AACA,aAAAmD,WAAA,GAAc,EAAd;AAGE,aAAKC,UAAL,GAAkB,IAAI,0EAAJ,EAAlB;AAEA,aAAKC,iBAAL,GAAyB,IAAI,8FAAJ,CACvB,CADuB,EAEvB,CAFuB,EAGvB,EAHuB,EAIvB,CAJuB,EAKvB,EALuB,EAMvB,IANuB,EAOvB,MAPuB,CAAzB;AASD;;;;mCAEU,CAAE;;;oCAED5c,O,EAA8C;AAAA;;AACxD,cAAIA,OAAO,CAAC/sC,IAAR,IAAgB,KAAKA,IAAL,IAAa,IAAjC,EAAuC;AACrC,iBAAK0pD,UAAL,CAAgB1pD,IAAhB,GAAuB,KAAKA,IAA5B;AACA,iBAAK0pD,UAAL,CAAgB/oC,SAAhB,GAA4B,KAAKipC,YAAjC;AACA,iBAAKF,UAAL,CAAgBptD,IAAhB,GAAuB,KAAKA,IAA5B;;AAEA,gBAAI,KAAK+sD,kBAAT,EAA6B;AAC3B,mBAAK/C,SAAL,CAAevpC,KAAf;AACA,mBAAK/c,IAAL,CAAUjH,OAAV,CAAkB,UAAC6oD,GAAD;AAAA,uBAAS,QAAI,CAAC0E,SAAL,CAAexmC,MAAf,CAAsB8hC,GAAtB,CAAT;AAAA,eAAlB;AACD;AACF;;AAED,cAAI7U,OAAO,CAAC4J,OAAR,IAAmB,KAAKA,OAAL,IAAgB,IAAvC,EAA6C;AAC3C,iBAAK0P,gBAAL,GAAwB,KAAK1P,OAAL,CAAa1gD,GAAb,CAAiB,UAAC46B,CAAD;AAAA,qBAAOA,CAAC,CAACgmB,eAAT;AAAA,aAAjB,CAAxB;;AACA,gBAAI,KAAKuS,UAAT,EAAqB;AACnB,mBAAK/C,gBAAL,CAAsBzzC,MAAtB,CAA6B,CAA7B,EAAgC,CAAhC,EAAmC,QAAnC;AACD;;AAED,iBAAK62C,WAAL,GAAmB,KAAK9S,OAAL,CAAaoI,MAAb,CAAoB,UAAC8K,IAAD,EAAOC,IAAP,EAAgB;AACrD,kBAAIC,OAAO,GAAGD,IAAI,CAACjT,eAAnB;AACAgT,kBAAI,CAACE,OAAD,CAAJ,GAAgBD,IAAhB;AACA,qBAAOD,IAAP;AACD,aAJkB,EAIhB,EAJgB,CAAnB;AAKD;;AAED,cAAI,KAAKG,aAAL,IAAsB,IAA1B,EAAgC;AAAA;;AAC9B,oCAAK1D,SAAL,EAAexmC,MAAf,2CAAyB,KAAKkqC,aAA9B;AACD;AACF;;;0CAEiB;AAAA;;AAChBvxD,oBAAU,CAAC,YAAM,CACf;AACA;AACA;AACD,WAJS,CAAV,CADgB,CAOhB;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAKixD,UAAL,CAAgBO,mBAAhB,GAAsC,UAACptD,IAAD,EAAOqtD,QAAP,EAAoB;;;AACxD,gBAAI36B,MAAM,SAAG,QAAI,CAACk6B,WAAL,CAAiBS,QAAjB,EAA2B36B,MAA9B,EAAoC,oCAAI26B,QAAxC,CAAV;AACA,mBAAO,2CAAMrtD,IAAN,EAAY0yB,MAAZ,CAAP;AACD,WAHD;AAID;;;oCAEWl3B,K,EAAc;AACxB,cAAM8xD,WAAW,GAAI9xD,KAAK,CAACiQ,MAAN,CAAkC5H,KAAvD;AACA,eAAKgpD,UAAL,CAAgB9tD,MAAhB,GAAyBuuD,WAAW,CAAChtD,IAAZ,GAAmBC,WAAnB,EAAzB;AACD;;;wCAEY;AACX,cAAMoqD,WAAW,GAAG,KAAKlB,SAAL,CAAexY,QAAf,CAAwBhyC,MAA5C;AACA,cAAM2rD,OAAO,GAAG,KAAKznD,IAAL,CAAUlE,MAA1B;AACA,iBAAO0rD,WAAW,KAAKC,OAAvB;AACD;;;uCAEc;AAAA;;AACb,cAAI,KAAKnB,SAAL,CAAexY,QAAf,CAAwBhyC,MAAxB,KAAmC,KAAKkE,IAAL,CAAUlE,MAAjD,EAAyD;AACvD,iBAAKwqD,SAAL,CAAevpC,KAAf;AACD,WAFD,MAEO;AACL,iBAAK/c,IAAL,CAAUjH,OAAV,CAAkB,UAAC6oD,GAAD;AAAA,qBAAS,QAAI,CAAC0E,SAAL,CAAexmC,MAAf,CAAsB8hC,GAAtB,CAAT;AAAA,aAAlB;AACD;AACF;;;sCAEaA,G,EAAK;AACjB,eAAK0E,SAAL,CAAez6C,MAAf,CAAsB+1C,GAAtB;AACA,eAAK2H,gBAAL,CAAsBzP,IAAtB,CAA2B;AACzB8H,eAAG,EAAEA,GADoB;AAEzB37B,sBAAU,EAAE,KAAKqgC,SAAL,CAAergC,UAAf,CAA0B27B,GAA1B;AAFa,WAA3B;AAID;;;sCAEa,CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qECrLhB,ijB,GAAA;AAAA;AAAA,c,GAGC;AAFC;;AADF,sBACE,SADF;AACsB,O,EAAA;AADtB;;AAAA;;AAAA;;AAAA;AAGC,O;AAAA;;;qEATH,oT,GAAA,2Y,GACE;AAAA;;AAAA;;;;;;;;;;;OAAA,E,yGAAA,E,6GAAA,C;;iBACE,yK,IACE,gI,GAAA;AAAA;AAAA,c,GAGJ,sH,GAAA;AAAA;AAAA,c,EAEE,yL,GAEF,2V,GAAA,8K,EACE,wD,GAAY;AAAA;;AAXhB;;AACqB,2BAAe,MAAf;;AAAnB,sBAAmB,SAAnB;;AAEkB,2BAAoC,gBAApC;;AAAd,sBAAc,SAAd;;AAKF,4JAAuB,QAAvB;;AAFF,sBAEE,SAFF;;AAIA;AAAiB,O,EAAA;AATjB;;AAAA;;AAAA;;AASA;;AAAA;AAAiB,O;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACOnB;AAAA;;;AAAA;AAAA;AAAA;;QAAawI,uB;AAKX,yCAAc;AAAA;;AAJL,aAAA5yD,KAAA,GAAQ,OAAR;AAIO;;;;mCAER,CAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oECvBnB,2D,GAAY,I,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACOd;AAAA;;;AAAA;AAAA;AAAA;;QAAa6yD,oB;AALb;AAAA;;AAMC;AACsB,aAAAzxD,SAAA,GAAY,WAAZ;AAetB;AAZA;;;;AAIA;;;;;;;mCAGW;AACV,cAAI,aAAJ,EAAgB;AACf,iBAAKA,SAAL,IAAkB,MAAM,aAAxB;AACA;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oECrBI,2D,GAAmD,4E,IAAA,I,EAAA,I;AAAA;;;qEACnD,sH,GAAA;AAAA;AAAA,c,GAAiC;AAAA;AAAjB,2BAAgB,KAAhB;;AAAhB,sBAAgB,SAAhB;AAAgC,O,EAAA,I;AAAA;;;oEAElC,2D,GAAqD,4E,IAAA,I,EAAA,I;AAAA;;;qEACrD,+J,IAAyD,I,EAAA;AAAA;AAApB,2BAAmB,MAAnB;;AAArC,sBAAqC,SAArC;AAAwD,O;AAAA;;;;;;;WAP5D,oJ,IACE,6J,IACE,iL,IACE,wH,GAAA;AAAA;AAAA,c,GACA,wH,GAAA;AAAA;AAAA,c,GAEF,wH,GAAA;AAAA;AAAA,c,GACA,wH,GAAA;AAAA;AAAA,c,GAEF,qL,GACE,2D,GAAsC;AAAA;AAPxB,4BAAa,KAAb;;AAAZ,sBAAY,SAAZ;;AACG,2BAAY,KAAZ;;AAAH,sBAAG,SAAH;;AAEU,4BAAc,MAAd;;AAAZ,uBAAY,SAAZ;;AACI,2BAAa,MAAb;;AAAJ,uBAAI,SAAJ;AAAiB,O,EAAA;AAAA;AANK,2BAAkB,QAAlB;;AAAxB,sBAAwB,SAAxB;;AACmC,4CAA4B,KAA5B;;AAAjC,sBAAiC,SAAjC;;AAOkC,2BAAoB,UAApB;;AAApC,uBAAoC,SAApC;AAAwD,O;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACT1D;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QA4Ba0xD,sB;AA8BX,sCACUpoD,EADV,EAE+BsF,UAF/B,EAGU+iD,eAHV,EAG0C;AAAA;;AAFhC,aAAAroD,EAAA,GAAAA,EAAA;AACqB,aAAAsF,UAAA,GAAAA,UAAA;AACrB,aAAA+iD,eAAA,GAAAA,eAAA;AAlBV,aAAA1F,WAAA,GAAc,KAAd;AAEsB,aAAA2F,OAAA,GAAU,aAAV;AASd,aAAAC,aAAA,GAAgB,CAAhB;AACA,aAAArwD,aAAA,GAAgC,EAAhC;AACA,aAAAswD,YAAA,GAAe,KAAf;AAON,aAAKC,eAAL,GAAuB,IAAI,iEAAJ,CAAoB,KAAKzoD,EAAzB,EAA6B,KAAKsF,UAAlC,CAAvB;AACD;;;;mCAGU;AACT,eAAKojD,oBAAL;AACD;;;mCAGU;AACT,eAAKA,oBAAL;AACA,cAAMC,EAAE,GAAGtyD,MAAM,CAACgQ,WAAP,IAAsB7P,QAAQ,CAACoyD,eAAT,CAAyB9mD,SAA1D;AACA,eAAK0mD,YAAL,GAAoBG,EAAE,GAAG,KAAKJ,aAA9B;AACA,eAAKA,aAAL,GAAqBI,EAAE,IAAI,CAAN,GAAU,CAAV,GAAcA,EAAnC;AACD;;;+CAEsB;AAAA;;AACrB,cAAI,KAAKhjD,MAAT,EAAiB;AACftS,mBAAO,CAACC,OAAR,CAAgB,IAAhB,EAAsBC,IAAtB,CAA2B,YAAM;AAC/B;AACA,kBAAMs1D,aAAa,GAAGryD,QAAQ,CAAC8Q,aAAT,CAAuB,SAAvB,CAAtB;AACA,kBAAMwhD,gBAAgB,GAAGtyD,QAAQ,CAAC8Q,aAAT,CACvB,YADuB,CAAzB;AAGA,kBAAMyhD,mBAAmB,GAAGvyD,QAAQ,CAAC8Q,aAAT,CAC1B,gBAD0B,CAA5B;AAIA,kBAAIK,MAAM,GAAG,CAAb;;AAEA,kBAAIkhD,aAAa,IAAI,IAArB,EAA2B;AACzB;AACA,oBAAIxyD,MAAM,CAACqR,gBAAP,CAAwBmhD,aAAxB,EAAuClhD,MAAvC,KAAkD,KAAtD,EAA6D;AAC3DA,wBAAM,IAAIohD,mBAAmB,CAACC,YAA9B;AACD,iBAFD,MAEO;AACL;AACA,sBAAIxyD,QAAQ,CAACC,IAAT,CAAcC,SAAd,CAAwBuyD,QAAxB,CAAiC,wBAAjC,CAAJ,EAAgE;AAC9D;AACAthD,0BAAM,GAAG,EAAT;AACD,mBAHD,MAGO;AACL;AACA,wBAAInR,QAAQ,CAACC,IAAT,CAAcC,SAAd,CAAwBuyD,QAAxB,CAAiC,cAAjC,CAAJ,EAAsD;AACpDthD,4BAAM,IAAIkhD,aAAa,CAACG,YAAxB;AACD;;AACD,wBAAIxyD,QAAQ,CAACC,IAAT,CAAcC,SAAd,CAAwBuyD,QAAxB,CAAiC,iBAAjC,CAAJ,EAAyD;AACvDthD,4BAAM,IAAImhD,gBAAgB,CAACE,YAA3B;AACD;AACF;AACF;AACF;;AAED,sBAAI,CAACP,eAAL,CAAqB/hD,SAArB,GAAiCiB,MAAjC;AACD,aAlCD;AAmCD;AACF;AAED;;;;AAIA;;;;;;mCAGW;AACT,cAAI,KAAKhC,MAAT,EAAiB;AACf,iBAAK8iD,eAAL,CAAqBS,QAArB;AACD;AACF;;;0CAEc;AAAA;;AACb3yD,oBAAU,CAAC,YAAM;AACf;AACA,oBAAI,CAAC+xD,OAAL,IAAgB,QAAI,SAAJ,GAAa,MAAM,QAAI,SAAvB,GAAgC,EAAhD,CAFe,CAIf;;AACA,oBAAI,CAACa,QAAL,GAAgB,QAAI,CAACC,OAAL,CAAazoD,aAAb,CAA2B/L,QAA3B,CAAoCgF,MAApC,KAA+C,CAA/D,CALe,CAOf;;AACA,oBAAI,CAACyvD,SAAL,GAAiB,QAAI,CAACC,QAAL,CAAc3oD,aAAd,CAA4B/L,QAA5B,CAAqCgF,MAArC,KAAgD,CAAjE;;AAEA,gBAAI,QAAI,CAAC+L,MAAT,EAAiB;AACf,sBAAI,CAAC+iD,oBAAL;;AACA,sBAAI,CAACD,eAAL,CAAqBc,eAArB;AACD,aAbc,CAef;;;AACA,gBAAI,QAAI,CAACC,YAAT,EAAuB;AACrB,kBAAMC,mBAAmB,GAAG,QAAI,CAACD,YAAL,CAAkBtzD,SAAlB,CAA4B,UAACqC,GAAD;AAAA,uBACtD,QAAI,CAACmxD,aAAL,CAAmBnxD,GAAnB,CADsD;AAAA,eAA5B,CAA5B;;AAGA,sBAAI,CAACL,aAAL,CAAmBtB,IAAnB,CAAwB6yD,mBAAxB;AACD;AACF,WAtBS,CAAV;AAuBD;;;sCAEaE,c,EAAyB;AACrC,eAAKhH,WAAL,GAAmBgH,cAAnB;;AACA,cAAIA,cAAc,IAAI,CAAC,KAAKtB,eAAL,CAAqBuB,YAArB,EAAvB,EAA4D;AAC1D,iBAAKvB,eAAL,CAAqBp6C,IAArB;AACD;;AAED,cAAI,CAAC,KAAK00C,WAAN,IAAqB,KAAK0F,eAAL,CAAqBuB,YAArB,EAAzB,EAA8D;AAC5D,iBAAKvB,eAAL,CAAqBjyD,IAArB;AACD;AACF;;;sCAEU;AACT,eAAK8B,aAAL,CAAmBrB,OAAnB,CAA2B,UAACC,EAAD;AAAA,mBAAQA,EAAE,CAACvB,WAAH,EAAR;AAAA,WAA3B;;AACA,cAAI,KAAKoQ,MAAT,EAAiB;AACf,iBAAK8iD,eAAL,CAAqBoB,WAArB;AACD;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WC9KH,yK,GAAA;AAAA;AAAA;AAAA,c,EACC,2D,GAAY;AAAA;AADR;AAAyB,2BAAiB,SAAjB;;AAA9B,sBAAK,SAAL,EAA8B,SAA9B;AAA+C,O,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACsB/C;AAAA;;;AAAA;AAAA;AAAA;;QAAaC,gB;AAiBZ;;;;;;;AAOA,gCAAoB9pD,EAApB,EAA2CvK,MAA3C,EACoBN,mBADpB,EAC8D;AAAA;;AAD1C,aAAA6K,EAAA,GAAAA,EAAA;AAAuB,aAAAvK,MAAA,GAAAA,MAAA;AACvB,aAAAN,mBAAA,GAAAA,mBAAA;AACnB,aAAKM,MAAL,CAAYgD,QAAZ;AACA;AAED;;;;AAIA;;;;;;;mCAGW,CACV;AAED;;;;;;0CAGkB,CACjB;;;;;;;;;;;;;;;;;;;;;AC/BF;AAAA;;;AAAA;AAAA;AAAA;;QAAasxD,a;;;;;;;;;;;;;;;;;;;ACsBb;AAAA;;;AAAA;AAAA;AAAA;;QAAaC,Y;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qEC7CT;AAAA;;AAAA;;;;;;;;;;;OAAA,E,oGAAA,E,wGAAA,C;;iBACE,sH,GAAA;AAAA;AAAA,c,EAAM;AAAA;AAAA,Q,GAA8B,8E,IAAI;AAD9B;;AAAZ,sBAAY,SAAZ;;AACQ;;AAAN,sBAAM,SAAN;AAAmC,O,EAAA;AADrC;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAwE,O;AAAA;;;qEAGxE;AAAA;;AAAA;;;;;;;;;;;OAAA,E,oGAAA,E,wGAAA,C;;iBAGG,0E,IAAoB;AAAA;AADrB,gDAA6B,cAA7B;;AAFF,sBAEE,SAFF;AAE+B,O,EAAA;AAAA;;AAF/B;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAGG;;AAAA;AAAoB,O;AAAA;;;qEAjB3B,0nC,GAAA,ivB,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA,8N,GACE;AAAA;AAAA;;AAAA;;;;;;;;;;;;;;;AAKE;;;;;AALF;AAAA,8N,GAAA,+N,EAAA;AAAA;AAAA,c,EAAA,uM,EAAA,qN,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA,yO,GAOE,+hB,GAAA,sU,EAAA;AAAA;AAAA,oH,EAAA;AAAA;AAAA,c,EAAA,uM,EAAA,qN,GAGA,uH,GAAA;AAAA;AAAA,c,GAGA,uH,GAAA;AAAA;AAAA,c,EACE,wL,GAKJ,+K,GAAA,iK,GAAW,+E,IACX,uN,GAAA;AAAA;AAAA,c,GAAwB,+E,IAAW;AAAA;AAjBjC,4BAAiC,kBAAjC;;AAHF,uBAGE,UAHF;;AAIE,4BAA2B,YAA3B;AAHA,4BAAqB,SAArB;;AADF,uBAIE,UAJF,EACE,UADF;;AAOE;;AACE,4BAAiC,kBAAjC;;AADF,uBACE,UADF;;AAG2B,4DAA4C,SAA5C;;AAA3B,uBAA2B,UAA3B;;AAIE,+JAAyC,aAAzC;;AADF,uBACE,UADF;;AAOQ;;AAAV,uBAAU,UAAV;AAAuB,O,EAAA;AAAA;AArBzB;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAOE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAYF;;AAAA;;AAAW;;AAAA;;AACX;;AAAA;;AAAA;;AAAA;;AAAwB;;AAAA;AAAW,O;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrBrC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAkBaC,wB;AAiBX,0CAAc;AAAA;;AAbL,aAAAC,iBAAA,GAAiC,IAAI,0DAAJ,EAAjC;AACA,aAAAttD,KAAA,GAAQ,iBAAR;AACA,aAAAkzC,IAAA,GAAO,mBAAP;AACA,aAAAC,WAAA,GAAc,QAAd;AACA,aAAAoa,QAAA,GAAW,KAAX;AACA,aAAAC,cAAA,GAAiB,IAAjB;AACT,aAAAC,iBAAA,GAAiC,IAAI,0DAAJ,EAAjC;AAEU,aAAAra,YAAA,GAAe,IAAI,0DAAJ,EAAf;AAEV,aAAAsa,YAAA,GAAqC,IAAI,kDAAJ,CAAyB,CAAzB,CAArC;AACA,aAAA9rD,KAAA,GAAQ,EAAR;AAEgB;;;;mCAER;AAAA;;AACN;AACA,eAAK6rD,iBAAL,CAAuBrJ,YAAvB,CACG1oD,IADH,CACQ,8EAAe,IAAf,CADR,EAEGpC,SAFH,CAEa,YAAM;AACf,oBAAI,CAACq0D,UAAL;AACD,WAJH;AAKD;;;oCAEW1f,O,EAA8C;;;AACxD,cAAI,OAAAA,OAAA,MAAO,IAAP,IAAO,aAAP,GAAO,MAAP,GAAO,GAAE2f,OAAT,KAAoB,KAAKA,OAA7B,EAAsC;AACpC,iBAAKF,YAAL,CAAkB7tD,IAAlB,CAAuB,KAAK+tD,OAAL,CAAaxwD,KAAb,EAAvB;AACD;AACF;;;qCAEoB;AAAA;;AACnB,cAAI,CAAC,KAAKwwD,OAAV,EAAmB;AACjB;AACD,WAHkB,CAInB;;;AACA,cAAIz3C,MAAM,GAAG,KAAKs3C,iBAAL,CAAuB7rD,KAApC;;AACA,cAAI,CAACuU,MAAL,EAAa;AACX,iBAAKu3C,YAAL,CAAkB7tD,IAAlB,CAAuB,KAAK+tD,OAAL,CAAaxwD,KAAb,EAAvB;AACA;AACD,WAHD,MAGO;AACL+Y,kBAAM,GAAGA,MAAM,CAAC7X,WAAP,EAAT;AACD,WAXkB,CAYnB;;;AACA,eAAKovD,YAAL,CAAkB7tD,IAAlB,CACE,KAAK+tD,OAAL,CAAa9wD,MAAb,CACE,UAACyR,CAAD;AAAA,mBAAOA,CAAC,CAAC,QAAI,CAACs/C,QAAN,CAAD,CAAiBvvD,WAAjB,GAA+BG,OAA/B,CAAuC0X,MAAvC,IAAiD,CAAC,CAAzD;AAAA,WADF,CADF;AAKD;;;wCAEe8iC,M,EAAQ;AAAA;;AACtB,cAAIr3C,KAAK,GAAGq3C,MAAZ;;AAEA,cAAI,CAAC,KAAKuU,cAAV,EAA0B;AACxB5rD,iBAAK,GAAG,KAAKgsD,OAAL,CAAaj6B,IAAb,CAAkB,UAACm6B,CAAD;AAAA,qBAAOA,CAAC,CAAC,QAAI,CAAC9a,aAAN,CAAD,IAAyBiG,MAAhC;AAAA,aAAlB,CAAR;AACD;;AAED,cAAI,KAAKsU,QAAT,EAAmB;AACjB,gBAAI,CAAC,KAAKE,iBAAL,CAAuB7rD,KAA5B,EAAmC;AAAA;;AACjC,kCAAKA,KAAL,EAAW5H,IAAX,uCAAmB4H,KAAnB;AACD,aAFD,MAEO;AACL,kBAAIg/C,MAAM,gCAAOh/C,KAAP,sBAAiB,KAAKA,KAAtB,EAAV;AACA,mBAAK0rD,iBAAL,CAAuBnR,QAAvB,CACEyE,MAAM,CAAC9jD,MAAP,CAAc,UAAC8E,KAAD,EAAQ3D,KAAR,EAAeuf,IAAf;AAAA,uBAAwBA,IAAI,CAAC/e,OAAL,CAAamD,KAAb,MAAwB3D,KAAhD;AAAA,eAAd,CADF;AAGA,kBAAIO,GAAG,GAAG,KAAK8uD,iBAAL,CAAuB1rD,KAAjC;AACD;AACF;;AAED,eAAKwxC,YAAL,CAAkB4H,IAAlB,CAAuBp5C,KAAvB;AACD;;;sCAEU,CAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qEC9EtB;AAAA;AAAA,oBAOC,UAPD;;AAKE;;;;;AALF;AAAA,4N,GAAA,mX,GAQE,sa,GAAA,kb,GAAU,4E,IAAK;AAAf;AAAU,O,EAAA;AARZ;AAAA;;AAAA;;AAQE;;AAAA;;AAAA;AAAU,O;AAAA;;;qEAId,uK,IAGC,gF,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAED,O;AAAA;;;;;WAjCA;AAAA;;AAAA;;;;;;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C,01BAEA,4J,GAAA;AAAA;AAAA;AAAA,c,EAEE;AAAA;AAAA,Q,GAEA;AAAA;AAAA;;AAAA;;;;;;;;;;;;;;;AAKE;;;;;AACA;;;;;AACA;;;;;AAPF;AAAA,oB,GAAA,0N,EAAA;AAAA;AAAA,c,GAUA,0H,GAAA;AAAA;AAAA,c,GAYF,0H,GAAA;AAAA;AAAA,c,GAGC;AAAA;;AA/BD;;AAGE;;AACA,0CAAsE,UAAtE,CAAsE,QAAtE;;AAFF,sBACE,SADF,EAEE,UAFF;;AAYI,4BAAgC,iBAAhC;;AARF,sBAQE,UARF;;AAYE,4BAAa,MAAb;;AAFF,uBAEE,UAFF;;AAaA;;AADF,uBACE,UADF;AACgE,O,EAAA;AA7BhE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAME;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;AASE,O;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACfJ;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAkCamsD,wB;AAOX,wCAC4BC,SAD5B,EAEU5/C,iBAFV,EAE8C;AAAA;;AADlB,aAAA4/C,SAAA,GAAAA,SAAA;AAClB,aAAA5/C,iBAAA,GAAAA,iBAAA;AAEV;;AACS,aAAA6/C,gBAAA,GAAmB,QAAnB;AAET;;AACS,aAAAC,mBAAA,GAAsB,YAAtB;AAaT;;AACQ,aAAAC,eAAA,GAAkB,KAAlB;AAER;;AACQ,aAAAC,MAAA,GAAS,IAAI,0DAAJ,EAAT;;AAER,aAAAC,QAAA,GAAqB,UAACC,CAAD,EAAY,CAAE,CAAnC;;AACA,aAAAC,SAAA,GAAsB,UAACD,CAAD,EAAY,CAAE,CAApC;AAzBI;AARJ;;;;;sCAmCW,CAAW;;;mCAEd;AAAA;;AACN;AACA,cAAMvF,UAAU,GAAG,yBAAnB;;AACA,cAAI,KAAKiF,SAAL,CAAejF,UAAnB,EAA+B;AAC7B,gBAAIr7C,KAAK,CAACC,OAAN,CAAc,KAAKqgD,SAAL,CAAejF,UAA7B,CAAJ,EAA8C;AAC5C,mBAAKiF,SAAL,CAAejF,UAAf,CAA0B/uD,IAA1B,CAA+B+uD,UAA/B;AACD,aAFD,MAEO,IAAI,OAAO,KAAKiF,SAAL,CAAejF,UAAtB,KAAqC,QAAzC,EAAmD;AACxD,mBAAKiF,SAAL,CAAejF,UAAf,GAA4B,CAAC,KAAKiF,SAAL,CAAejF,UAAhB,EAA4BA,UAA5B,CAA5B;AACD,aAFM,MAEA,IAAI,OAAO,KAAKiF,SAAL,CAAejF,UAAtB,KAAqC,QAAzC,EAAmD;AACxD,mBAAKiF,SAAL,CAAejF,UAAf,CAA0BA,UAA1B,IAAwC,IAAxC;AACD;AACF,WARD,MAQO;AACL,iBAAKiF,SAAL,CAAejF,UAAf,GAA4BA,UAA5B;AACD,WAbK,CAeN;;;AACA,eAAKiF,SAAL,CAAeQ,YAAf,CACG9yD,IADH,CACQ,8EAAe,IAAf,CADR,EAEGpC,SAFH,CAEa,UAACm1D,MAAD,EAAY;AACrB,gBAAIA,MAAJ,EAAY;AACV;AACA,sBAAI,CAACC,MAAL;AACD,aAHD,MAGO;AACL;AACA,sBAAI,CAACC,MAAL;AACD;AACF,WAVH,EAhBM,CA4BN;;AACA,eAAKX,SAAL,CAAeQ,YAAf,CACG9yD,IADH,CACQ,4DAAK,CAAL,CADR,EAEGA,IAFH,CAEQ,8EAAe,IAAf,CAFR,EAGGpC,SAHH,CAGa,YAAM;AACf,oBAAI,CAACs1D,QAAL,GAAgB,QAAI,CAACZ,SAAL,CAAe/pD,OAA/B;;AACA,oBAAI,CAAC2qD,QAAL,CAAc3gB,OAAd,CAAsBvyC,IAAtB,CAA2B,8EAAe,QAAf,CAA3B,EAAiDpC,SAAjD,CAA2D,YAAM;AAC/D,kBAAMu1D,UAAU,GAAG,QAAI,CAACb,SAAL,CAAec,WAAlC;;AACA,kBAAID,UAAU,IAAI,QAAI,CAACb,SAAL,CAAee,SAAjC,EAA4C;AAC1C;AACAp1D,0BAAU,CAAC,YAAM;AACfk1D,4BAAU,CAACG,kBAAX;AACD,iBAFS,CAAV;AAGD;AACF,aARD;AASD,WAdH,EA7BM,CA6CN;;AACA,eAAKZ,MAAL,CAAY1yD,IAAZ,CAAiB,8EAAe,IAAf,CAAjB,EAAuCpC,SAAvC,CAAiD,YAAM;AACrD,oBAAI,CAAC8U,iBAAL,CAAuB6gD,aAAvB;AACD,WAFD;AAGD;;;0CAEiB;AAChB,eAAKC,eAAL;AACD;;;uCAEc31D,K,EAAsB;AACnC,cAAIA,KAAK,CAAC41D,OAAN,KAAkB,EAAtB,EAA0B;AACxB;AACA51D,iBAAK,CAAC61D,eAAN;AACD;AACF;;;mCAEUxtD,K,EAAe;AACxB,cAAMwxC,YAAY,GAAGxxC,KAAK,KAAK,KAAKytD,MAApC;;AACA,cAAIjc,YAAJ,EAAkB;AAChB,iBAAKic,MAAL,GAAcztD,KAAd;AACA,iBAAKwsD,MAAL,CAAYpT,IAAZ,CAAiBp5C,KAAjB;AACD;AACF;;;sCAEaA,K,EAAO;AACnB,cAAMwxC,YAAY,GAAGxxC,KAAK,KAAK,KAAKytD,MAApC;;AAEA,cAAIjc,YAAJ,EAAkB;AAChB,iBAAKic,MAAL,GAAcztD,KAAd;AACA,iBAAKysD,QAAL,CAAczsD,KAAd;AACA,iBAAKwsD,MAAL,CAAYpT,IAAZ,CAAiBp5C,KAAjB;AACD;AACF;;;+BAEMA,K,EAAe;AACpB,eAAK0tD,UAAL,CAAgB1tD,KAAhB;AACA,eAAK2sD,SAAL;AACD;;;yCAEgBgB,E,EAAc;AAC7B,eAAKlB,QAAL,GAAgBkB,EAAhB;AACD;;;0CAEiBA,E,EAAc;AAC9B,eAAKhB,SAAL,GAAiBgB,EAAjB;AACD;;;iCAEe;AACd,cAAI,CAAC,KAAKC,iBAAV,EAA6B;AAC3B;AACD,WAHa,CAId;AACA;;;AACA,cAAMC,KAAK,GAAG,KAAKzB,SAAL,CAAeyB,KAAf,CAAqB1rD,aAAnC;AACA,cAAMmB,SAAS,GAAGuqD,KAAK,CAACvqD,SAAxB,CAPc,CASd;;AACA,eAAKsqD,iBAAL,CAAuBzrD,aAAvB,CAAqC2rD,KAArC;AAEAD,eAAK,CAACvqD,SAAN,GAAkBA,SAAlB;AACD;;;+BAEawqD,K,EAAiB;AAC7B,cAAI,CAAC,KAAKF,iBAAV,EAA6B;AAC3B;AACD;;AACD,eAAKA,iBAAL,CAAuBzrD,aAAvB,CAAqCnC,KAArC,GAA6C,EAA7C;AACA,eAAK+tD,aAAL,CAAmB,EAAnB;;AACA,cAAID,KAAJ,EAAW;AACT,iBAAKhB,MAAL;AACD;AACF;AAED;;;;;;;0CAI0B;AAAA;;AACxB,cAAI,KAAKP,eAAT,EAA0B;AACxB;AACD;;AACD,cAAMyB,YAAY,GAAG,gCAArB;AAEA,eAAK5B,SAAL,CAAe6B,UAAf,CAA0BC,MAA1B,CACGp0D,IADH,CACQ,8EAAe,IAAf,CADR,EAEGpC,SAFH,CAEa,YAAM;AACf;AACA,oBAAI,CAACk2D,iBAAL,CAAuBzrD,aAAvB,CAAqCgsD,aAArC,CAAmDA,aAAnD,CAAiEA,aAAjE,CAA+EA,aAA/E,CAA6FA,aAA7F,CAA2Gj2D,SAA3G,CAAqHC,GAArH,CACE61D,YADF;AAGD,WAPH;AASA,eAAKzB,eAAL,GAAuB,IAAvB;AACD;;;4BA/KQ;AACP,iBAAO,KAAKkB,MAAZ;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qECZG,6J,GAAA;AAAA;AAAA,c,EAAoD;AAAA;AAAA;AAAA,Q,EAApD;AAAA;AAAA,c,EAAK;AAAA;AAAA,Q,GACJ,4K,IAEC,2J,IACC,sJ,IACC,0J,IACC,iJ,IACC,sK,IAGF,+I,IACC,mK,IAA2C,qG,IAC3C,gJ,IAAwB,gG,IAM3B,4J,IACC,uJ,IACC,2J,IACC,kJ,IACC,qK,IAGF,+I,IACC,mK,IAA2C,8F,IAC3C,gJ,IAAwB,sF,IAM3B,4J,IACC,uJ,IACC,2J,IACC,kJ,IACC,qK,IAGF,+I,IACC,mK,IAA2C,gG,IAC3C,gJ,IAAwB,gG,IAM3B,4J,IACC,uJ,IACC,2J,IACC,kJ,IACC,8K,IAGF,+I,IACC,mK,IAA2C,qG,IAC3C,gJ,IAAwB,yF,IAM3B,4J,IACC,uJ,IACC,2J,IACC,kJ,IACC,+K,IAGF,+I,IACC,mK,IAA2C,oG,IAC3C,gJ,IAAwB,0F,IAM3B,4J,IACC,uJ,IACC,2J,IACC,kJ,IACC,uL,IAGF,+I,IACC,mK,IAA2C,0F,IAC3C,gJ,IAAwB,wG,IAM3B,4J,IACC,uJ,IACC,2J,IACC,kJ,IACC,yK,IAGF,+I,IACC,mK,IAA2C,yG,IAC3C,gJ,IAAwB,6F,IAM3B,4J,IACC,uJ,IACC,2J,IACC,kJ,IACC,yK,IAGF,+I,IACC,mK,IAA2C,qG,IAC3C,gJ,IAAwB,qG,IAM3B,4J,IACC,uJ,IACC,2J,IACC,kJ,IACC,mK,IAGF,+I,IACC,mK,IAA2C,wG,IAC3C,gJ,IAAwB,sF,IAM3B,4J,IACC,uJ,IACC,2J,IACC,kJ,IACC,4K,IAGF,gJ,IACC,oK,IAA2C,qG,IAC3C,iJ,IAAwB,oG,IAM3B,6J,IACC,wJ,IACC,4J,IACC,mJ,IACC,8K,IAGF,gJ,IACC,oK,IAA2C,qG,IAC3C,iJ,IAAwB,yF,IAM3B,6J,IACC,wJ,IACC,4J,IACC,mJ,IACC,uK,IAGF,gJ,IACC,oK,IAA2C,qG,IAC3C,iJ,IAAwB,gG,IAM3B,6J,IACC,wJ,IACC,4J,IACC,mJ,IACC,gL,IAGF,gJ,IACC,oK,IAA2C,oG,IAC3C,iJ,IAAwB,0F,IAAgB;AAhMO;;AAApD,sBAAoD,SAApD;;AAAK;;AAAL,sBAAK,SAAL;AAAmD,O,EAAA,I;AAAA;;;qEA2MnD,uL,GAAA;AAAA;AAAA,c,EAAsB;AAAA;AAAA;AAAA,Q,EAAtB;AAAA;AAAA,c,GAEC,2I,IACC,yJ,IAAkC,yF,IAElC,8K,IACC,uK,IACA,kJ,IACC,yN,IAGD,yK,IACC,uN,IAAyF,qF,IACzF,kK,IAA0C,gG,IAE3C,6M,IAAqF,8E,IAItF,+K,IACC,wK,IACA,mJ,IACC,4N,IAGD,yK,IACC,uN,IAAyF,yF,IACzF,kK,IAA0C,gG,IAE3C,6M,IAAqF,+E,IAItF,+K,IACC,wK,IACA,mJ,IACC,0N,IAGD,yK,IACC,uN,IAAyF,mF,IACzF,kK,IAA0C,gG,IAE3C,6M,IAAqF,gF,IAItF,+K,IACC,wK,IACA,mJ,IACC,wN,IAGD,yK,IACC,uN,IAAyF,0F,IACzF,kK,IAA0C,gG,IAE3C,6M,IAAqF,gF,IAItF,0K,IACC,wK,IACA,mJ,IACC,+N,IAGD,yK,IACC,uN,IAAyF,0F,IACzF,kK,IAA0C,gG,IAE3C,6M,IAAqF,gF,IAMvF,2I,IACC,0J,IAAkC,uF,IAElC,kM,IACA,qK,IACC,2J,IAEC,0P,IACC,iN,IACC,wL,IACA,+d,IACA,sW,IAMH,yK,IACC,uN,IAAyF,kG,IACzF,8J,IAAsC,uF,IAEvC,wL,IAAgE,8E,IAIjE,kM,IACA,qK,IACC,2J,IAEC,0P,IACC,iN,IACC,wL,IACA,grB,IACA,ilB,IAMH,yK,IACC,uN,IAAyF,4F,IACzF,8J,IAAsC,uF,IAEvC,wL,IAAgE,8E,IAIjE,iM,IACA,oK,IACC,2J,IAEC,0P,IACC,iN,IACC,yL,IACA,6kB,IACA,y9B,IAMH,0K,IACC,wN,IAAyF,sG,IACzF,+J,IAAsC,uF,IAEvC,wL,IAA+D,8E,IAIhE,2L,IACA,mK,IACC,4J,IAEC,2P,IACC,kN,IACC,yL,IACA,k2B,IACA,80B,IACA,gxC,IACA,qxC,IAMH,0K,IACC,wN,IAAyF,0F,IACzF,+J,IAAsC,uF,IAEvC,sL,IAA6D,6E,IAAG;AAtK7C;;AAAtB,sBAAsB,SAAtB;;AAAK;;AAAL,sBAAK,SAAL;AAAqB,O,EAAA,I;AAAA;;;qEAgLrB,qJ,IACC;AAAA;;AAAA;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C,+uBAEC,yH,IACC,yJ,IAAkC,uF,IAClC,wJ,IACC,4J,IAAoC,+F,IACpC,sJ,IACA,sK,IACC,2H,IACC,qL,IACA,0H,IAKH,yJ,IACC,4J,IAAoC,+F,IACpC,sJ,IACA,sK,IACC,2H,IACC,wL,IACA,0H,IAKH,yJ,IACC,4J,IAAoC,yF,IACpC,sJ,IACA,sK,IACC,2H,IACC,qL,IACA,0H,IAOJ,qK,IAEA,2I,IACC,0J,IAAkC,iF,IAClC,yJ,IACC,4J,IAAoC,2F,IACpC,sJ,IACA,qK,IACC,2H,IACC,qL,IACA,0H,IAKH,yJ,IACC,4J,IAAoC,+F,IACpC,sJ,IACA,qK,IACC,2H,IACC,6J,IACA,0H,IAKH,yJ,IACC,4J,IAAoC,gG,IACpC,sJ,IACA,qK,IACC,2H,IACC,qL,IACA,0H,IAOJ,qK,IAEA,2I,IACC,0J,IAAkC,kF,IAClC,yJ,IACC,4J,IAAoC,+F,IACpC,sJ,IACA,sK,IACC,2H,IACC,qL,IACA,0H,IAKH,yJ,IACC,4J,IAAoC,+F,IACpC,sJ,IACA,sK,IACC,2H,IACC,6J,IACA,0H,IAKH,yJ,IACC,4J,IAAoC,iG,IACpC,sJ,IACA,sK,IACC,2H,IACC,qL,IACA,0H,IAAM,I,EAAA;AA9GX;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAmB,O;AAAA;;;qEAtZ1B,yN,GAAA;AAAA;AAAA,c,EAA+G;AAAA;AAAA,Q,EAA/G;AAAA;AAAA,c,GAEC,mO,IACC;AAAA;;AAAA;;;;;;OAAA,E,IAAA,E,IAAA,C,2TACC,4I,IACC;AAAA;;AAA+C;;;;;AAA/C;AAAA,oB,IAA4F,uF,IAE7F,6I,IACC;AAAA;;AAAwC;;;;;AAAxC;AAAA,oB,IAAqF,oF,IAEtF,6I,IACC;AAAA;;AAAwC;;;;;AAAxC;AAAA,oB,IAAqF,kF,IAGvF,gK,IACC,6O,IACC,kK,IAKH,8J,IACC,kJ,IACC,2V,GAAA,gP,EAAA;AAAA;AAAA,Q,GACC,+I,GAAA;AAAA;AAAA,c,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,GACC,8G,GAAA,6N,GA0MD,+I,GAAA;AAAA;AAAA,c,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,GACC,8G,GAAA,6N,GA+KD,+I,GAAA;AAAA;AAAA,c,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,GACC,8G,GAAA,6N,GAA2B;AAAA;;AApZ+E;;AAA/G,sBAA+G,SAA/G;;AAAiB,2BAA4B,iBAA5B;;AAAjB,sBAAiB,SAAjB;;AAwBa;;AAAT,uBAAS,SAAT;;AA2MS;;AAAT,uBAAS,SAAT;;AAgLS;;AAAT,uBAAS,SAAT;AAAsB,O,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1Y1B;AAAA;;;AAAA;AAAA;AAAA;;QAAaW,mB,GALb;AAAA;;AAMC;AACA,WAAAC,gBAAA,GAAqC;AACpC3N,eAAO,EAAE,IAD2B;AAEpC4N,iBAAS,EAAE,WAFyB;AAGpC9+C,iBAAS,EAAE,OAHyB;AAIpC++C,eAAO,EAAE,sBAJ2B;AAKpCC,gBAAQ,EAAE;AAL0B,OAArC;AAOA,K;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qECnBD,2H,IAEE,mN,GAAA;AAAA;AAAA,c,EAKE;AAAA;AAAA,Q,EALF;AAAA;AAAA,c,GAOE,4M,IAGE,wJ,IAAiC,wF,IAE/B,mK,IAA4C,qF,IAE9C,iO,IAKE,kK,IAIJ,yJ,GAAA;AAAA;AAAA,c,EAEE;AAAA;AAAA;AAAA,Q,EAFF;AAAA;AAAA,c,EACE;AAAA;AAAA,Q,GAIA,qK,IACE,4J,IACE,kJ,GAAA;AAAA;AAAA,c,EAEE;AAAA;AAAA,Q,GAIF,2J,IAEF,yJ,IACE,gN,IAGC,gF,IAGD,qJ,IAA6B,wF,IAC7B,+I,IACE,4J,IACE,yJ,IACE,qJ,IACE,mL,GAAA,2mB,EAAA;AAAA;AAAA,c,GAOF,8K,IAAsD,gF,IAM5D;AAAA;AAAA,oBAA6D,UAA7D;;AAAG;;;;;AAAH;AAAA,oB,IAA6D,oF,IAMjE,0K,IAEA,+J,IACE;AAAA;;AAAA;;;;;;OAAA,E,IAAA,E,IAAA,C;;iBAKE,gJ,IACE,oK,IACE,kJ,IACE,4K,IACE,iI,GAAA,2mB,EAAA;AAAA;AAAA,c,GAQN,+I,IACE,sJ,IAA8B,oF,IAC9B,gJ,IAAwB,0G,IAEtB,6L,IAEC,kF,IAQT,6J,IACE,gJ,IACE,oK,IACE,kJ,IACE,4K,IACE,iI,GAAA,2mB,EAAA;AAAA;AAAA,c,GAQN,+I,IACE,sJ,IAA8B,qF,IAC9B,gJ,IAAwB,yF,IAK9B,6J,IACE,gJ,IACE,oK,IACE,kJ,IACE,2K,IACE,iI,GAAA,2mB,EAAA;AAAA;AAAA,c,GAQN,+I,IACE,sJ,IAA8B,uF,IAC9B,gJ,IAAwB,gG,IAK9B,6J,IACE,gJ,IACE,oK,IACE,kJ,IACE,4K,IACE,iI,GAAA,2mB,EAAA;AAAA;AAAA,c,GAQN,+I,IACE,sJ,IAA8B,kF,IAC9B,gJ,IAAwB,mG,IAMhC,qK,IAEA,0H,IACE,yI,IAAiB,8F,IAEjB,uM,IAGE,sK,IACE,mK,GAAA,2mB,EAAA;AAAA;AAAA,c,GAMF,0K,IACE,wN,IAGC,oG,IAGD,+J,IAAsC,uF,IAGxC,yL,IAAgE,gF,IAKlE,uM,IAGE,sK,IACE,mK,GAAA,2mB,EAAA;AAAA;AAAA,c,GAKF,0K,IACE,wN,IAGC,8F,IAGD,+J,IAAsC,uF,IAGxC,yL,IAAgE,gF,IAKlE,sM,IAGE,qK,IACE,mK,GAAA,2mB,EAAA;AAAA;AAAA,c,GAOF,0K,IACE,wN,IAGC,wG,IAGD,+J,IAAsC,uF,IAGxC,wL,IAA+D,gF,IAKjE,2L,IACE,mK,IACE,mK,GAAA,2mB,EAAA;AAAA;AAAA,c,GAMF,0K,IACE,wN,IAGC,4F,IAGD,+J,IAAsC,uF,IAGxC,sL,IAA6D,+E,IAE7D;AAAA;;AAnQN;;AALF,sBAKE,SALF;;AAEE,2BAA4B,iBAA5B;;AAFF,sBAEE,SAFF;;AAyBI;;AAFF,uBAEE,SAFF;;AACE;;AADF,uBACE,SADF;;AASQ;;AAFF,uBAEE,SAFF;;AAsBU;;AAFF,uBAEE,SAFF;;AAyBR;;AAHF,uBAGE,UAHF;;AAUY;;AADF,uBACE,UADF;;AA4BE;;AADF,uBACE,UADF;;AAqBE;;AADF,uBACE,UADF;;AAqBE;;AADF,uBACE,UADF;;AA0BJ;;AADF,wBACE,UADF;;AA0BE;;AADF,wBACE,UADF;;AAyBE;;AADF,wBACE,UADF;;AAyBE;;AADF,wBACE,UADF;AACkE,O,EAAA;AA7MnE;;AAAA;;AAe2D;;AAAA;;AAe9D;;AAAA;;AAAA;AAIC,O;AAAA;;;qEA9ET,yH,GAAA;AAAA;AAAA,c,EAAc,wL,GAAA;AAAA;;AAAA,4JAA8B,MAA9B;;AAAd,sBAAc,SAAd;AAA4C,O,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACE5C;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAcaC,uB;AAWX,uCAAoB53D,KAApB,EAA4C;AAAA;;AAAxB,aAAAA,KAAA,GAAAA,KAAA,CAAwB,CAT5C;;AACA,aAAAw3D,gBAAA,GAAqC;AACnC3N,iBAAO,EAAE,IAD0B;AAEnC4N,mBAAS,EAAE,WAFwB;AAGnC9+C,mBAAS,EAAE,OAHwB;AAInC++C,iBAAO,EAAE,qBAJ0B;AAKnCC,kBAAQ,EAAE;AALyB,SAArC;AAUC;AAED;;;;;;;mCAGQ;AACN,eAAKE,KAAL,GAAa,KAAK73D,KAAL,CAAWiD,IAAX,CAAgB,2DAAO,uFAAP,CAAhB,CAAb;AACD;AAED;;;;;;iCAGS;AACP,eAAKjD,KAAL,CAAW4H,QAAX,CAAoB,wFAApB;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qEC1CH,2L,GAAA;AAAA;AAAA,c,GACC,qJ,GAAA,2mB,EAAA;AAAA;AAAA,c,GAAoF;AAAA;AADpE,2BAA4B,iBAA5B;;AAAjB,sBAAiB,SAAjB;;AACwB;;AAAvB,sBAAuB,SAAvB;AAAmF,O,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;ACOpF;AAAA;;;AAAA;AAAA;AAAA;;QAAakwD,kB,GAJb;AAAA;;AAKC;AACA,WAAAC,gBAAA,GAAqC;AACpCC,cAAM,EAAE,GAD4B;AAEpCC,aAAK,EAAE;AAF6B,OAArC;AAIA,K;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qECRS,gI,GAAA;AAAA;AAAA;AAAA,c,EACE;AAAA;AAAA,Q,GAAA,4E,IAAA;AAAA,wCAAwC,OAAxC,CAAwC,OAAxC,CAAwC,SAAxC;;AADqC;;AAAvC,sBACE,SADF,EAAuC,SAAvC;AAA6E,O,EAAA,I;AAAA;;;qEAE7E,gI,GAAA;AAAA;AAAA;AAAA,c,EACE;AAAA;AAAA,Q,GAAA,4E,IAAA;AAAA,wCAAwC,OAAxC,CAAwC,OAAxC,CAAwC,SAAxC;;AADqC;;AAAvC,sBACE,SADF,EAAuC,SAAvC;AAA2E,O,EAAA,I;AAAA;;;qEAE3E,gI,GAAA;AAAA;AAAA;AAAA,c,EACE;AAAA;AAAA,Q,GAAA,4E,IAAA;AAAA,wCAAwC,OAAxC,CAAwC,OAAxC,CAAwC,SAAxC;;AADqC;;AAAvC,sBACE,SADF,EAAuC,SAAvC;AAAyE,O,EAAA,I;AAAA;;;qEAL3E,yH,IACE,uH,GAAA;AAAA;AAAA,c,GAEA,uH,GAAA;AAAA;AAAA,c,GAEA,uH,GAAA;AAAA;AAAA,c,GAC2C,4E,IAAA;AAL7B;;AAAd,sBAAc,SAAd;;AAEc;;AAAd,sBAAc,SAAd;;AAEc;;AAAd,sBAAc,SAAd;AAAsC,O,EAAA,I;AAAA;;;qEAN1C,yH,IACE,uH,GAAA;AAAA;AAAA,c,GAAwC,4E,IAAA;AAAA;AAA1B,2BAAyB,KAAzB;;AAAd,sBAAc,SAAd;AAAuC,O,EAAA,I;AAAA;;;qEAUzC,yH,IACE,sJ,IAA+B,2F,IAE/B,I,EAAA,I;AAAA;;;qEAnBR,yH,IAEE,8J,IACE,wJ,IAEE,uH,GAAA;AAAA;AAAA,c,GAWA,uH,GAAA;AAAA;AAAA,c,GAAwC;AAAA;AAX1B;;AAAd,sBAAc,SAAd;;AAWc;;AAAd,sBAAc,SAAd;AAAuC,O,EAAA,I;AAAA;;;qEAe3C,yH,IACC,+K,IACC,kL,IAEC,8I,IAED,sK,IACC,+L,IAAkE,+E,IAGlE,8K,IAAuD,+E,IAEvD,I,EAAA;AARK,0BAAkB,QAAlB,CAAkB,SAAlB,CAAkB,OAAlB;;AAAL,sBAAK,SAAL;;AAGkE;;AAAA;;AAGX;;AAAA;AAEvD,O;AAAA;;;qEAhBJ,qM,IAA8E,qF,IAG9E,0I,IACC,uH,GAAA;AAAA;AAAA,c,GAA4C;AAA9B,0BAA6B,QAA7B,CAA6B,IAA7B,CAA6B,KAA7B;;AAAd,sBAAc,SAAd;AAA2C,O,EAAA,I;AAAA;;;qEAwB3C,0H,IACC,+K,IACC,iL,IACC,iJ,GAAA;AAAA;AAAA,c,EAA0B;AAAA;AAAA,Q,GAE3B,sK,IACC,+L,IAAkE,+E,IAGlE,8K,IAAuD,gF,IAEvD;AAR0B;;AAA1B,sBAA0B,SAA1B;AAAgF,O,EAAA;AAGd;;AAAA;;AAGX;;AAAA;AAEvD,O;AAAA;;;qEAfJ,qM,IAA8E,mF,IAG9E,0I,IACC,wH,GAAA;AAAA;AAAA,c,GAA4C;AAA9B,0BAA6B,QAA7B,CAA6B,IAA7B,CAA6B,KAA7B;;AAAd,sBAAc,SAAd;AAA2C,O,EAAA,I;AAAA;;;qEAuB3C,0H,IACC,+K,IACC,iL,IACC,iJ,IACC,sH,GAAA;AAAA;AAAA,c,GAGF,sK,IACC,+L,IAAkE,+E,IAGlE,8K,IAAuD,gF,IAEvD;AATI,0BAA0B,QAA1B,CAA0B,SAA1B,CAA0B,WAA1B;;AAAH,sBAAG,SAAH;AAA6B,O,EAAA;AAIoC;;AAAA;;AAGX;;AAAA;AAEvD,O;AAAA;;;qEAjBJ,qM,IAA8E,iF,IAG9E,0I,IACC,wH,GAAA;AAAA;AAAA,c,GAA4C;AAA9B,0BAA6B,QAA7B,CAA6B,IAA7B,CAA6B,KAA7B;;AAAd,sBAAc,SAAd;AAA2C,O,EAAA,I;AAAA;;;qEA9E7C,uH,GAAA;AAAA;AAAA,c,GA0BA,sI,IAwBA,qI,IAuBA,mI,IAA4C;AAAA;AAzE9B;;AAAd,sBAAc,SAAd;AAAmC,O,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACQnC;AAAA;;;AAAA;AAAA;AAAA;;QAAaC,qB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WCPb,2K,IACC,wL,IACA,8hB,GAAA;AAAA;AAAA,c,GAA2B;AAAd;;AAAb,sBAAa,SAAb;AAA0B,O,EAAA;AAA1B;;AAAA;;AAAA;;AAAA;AAA2B,O;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACD5B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA,wI,CAAA;;;QAUaC,qB;AAKX;;;;;;;AAOA,qCACUxtD,EADV,EAEU7K,mBAFV,EAGUC,mBAHV,EAGoD;AAAA;;AAF1C,aAAA4K,EAAA,GAAAA,EAAA;AACA,aAAA7K,mBAAA,GAAAA,mBAAA;AACA,aAAAC,mBAAA,GAAAA,mBAAA;AACT;AAED;;;;AAIA;;;;;;;mCAGW;AACT;AACA,cAAMq4D,YAAY,GAAG,KAAKt4D,mBAAL,CAAyBO,SAAzB,CAAmC,QAAnC,CAArB;AACA,eAAKg4D,UAAL,GAAkB,gDAAeD,YAAf,EAA6B,kBAA7B,CAAlB;AAEA,eAAKr4D,mBAAL,CAAyBu4D,IAAzB,CAA8B,KAAKC,YAAnC;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qEC1CH,2L,IACC,kP,GAAA;AAAA;AAAA;AAAA,c,GACC;AAAA;;AAAA;;;;;;OAAA,E,IAAA,E,IAAA,C;;iBACI,iJ,IAGL,iP,GAAA;AAAA;AAAA;AAAA,c,GACG,oR,IACE,0J,IAAmC;AAPQ;AAAsB;;AAAtE,sBAAgD,SAAhD,EAAsE,SAAtE;;AACqG;;AAApG,sBAAoG,SAApG;;AAI+C;AAAsB;;AAAtE,sBAAgD,SAAhD,EAAsE,SAAtE;AAAgG,O,EAAA;AAJ/F;;AAAA;;AAAA;AAA0H,O;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACO5H;AAAA;;;AAAA;AAAA;AAAA;;QAAaC,sB;AAYX,sCAAoB14D,mBAApB,EAA8D;AAAA;;AAA1C,aAAAA,mBAAA,GAAAA,mBAAA,CAA0C,CAX9D;;AACA,aAAA24D,gBAAA,GAAqC;AACnC5O,iBAAO,EAAE,IAD0B;AAEnC4N,mBAAS,EAAE,WAFwB;AAGnC9+C,mBAAS,EAAE,OAHwB;AAInC++C,iBAAO,EAAE,qBAJ0B;AAKnCC,kBAAQ,EAAE;AALyB,SAArC;AAWE,aAAKe,QAAL,GAAgB,kDAAhB;AACD;;;;qCAEY5+C,I,EAAM;AACjB,iBAAOA,IAAI,KAAK,KAAKha,mBAAL,CAAyBO,SAAzB,CAAmC,MAAnC,CAAhB;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qEChBA,0H,IACC,6I,GAAA;AAAA;AAAA;AAAA,c,EAAsB;AAAA;AAAA,Q,GACrB;AAAA;AAAA,oBACmB,UADnB;;AAAuB;;;;;AAAvB;AAAA,oB,GAAA;AAAA;AAAA;AAAA,c,EAA4D;AAAA;AAAA,Q,GAE3D,2J,IACC,mI,IAED,gJ,IAAyB,8E,IAAiB;AANxC;;AAAkB,wCAAuC,QAAvC,CAAuC,SAAvC,CAAuC,MAAvC;;AAAtB,sBAAI,SAAJ,EAAsB,SAAtB;;AAEE;;AAD2D,wCAAuC,QAAvC,CAAuC,SAAvC,CAAuC,MAAvC;;AAA5D,sBACC,SADD,EAA4D,SAA5D;AAAmG,O,EAAA;AAG5F;;AAAL,sBAAK,SAAL;;AAEwB;;AAAA;AAAiB,O;AAAA;;;qEAnBhD,gO,GAAA;AAAA;AAAA,c,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,GAEE;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C,ihBACE,oL,IACD,0L,IAMD;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;WACA,yJ,IACC,2H,GAAA;AAAA;AAAA,c,GAAiD;AAAA;AAZnC;;AAAjB,sBAAiB,SAAjB;;AAYiB,2BAAkC,UAAlC;;AAAd,uBAAc,SAAd;AAAgD,O,EAAA;AAAA;;AAZnD;;AAAA;;AAEE;;AAAA;;AAEoC;;AAAnC,sBAAmC,SAAnC;;AAMD;;AAAA;;AAAA;;AAAA;AAA8G,O;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;ACRhH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,uD,CACA;;;QAgBas4D,yB;AAsCX;;;;;;AAMA,yCAAoB/4D,kBAApB,EAAoEC,MAApE,EAAoF;AAAA;;AAAhE,aAAAD,kBAAA,GAAAA,kBAAA;AAAgD,aAAAC,MAAA,GAAAA,MAAA;AAvCpE,aAAAyC,SAAA,GAA4B,CAC1B;AACE+b,cAAI,EAAE,IADR;AAEEjc,cAAI,EAAE,SAFR;AAGEw2D,cAAI,EAAE;AAHR,SAD0B,EAM1B;AACEv6C,cAAI,EAAE,IADR;AAEEjc,cAAI,EAAE,UAFR;AAGEw2D,cAAI,EAAE;AAHR,SAN0B,EAW1B;AACEv6C,cAAI,EAAE,IADR;AAEEjc,cAAI,EAAE,SAFR;AAGEw2D,cAAI,EAAE;AAHR,SAX0B,EAgB1B;AACEv6C,cAAI,EAAE,IADR;AAEEjc,cAAI,EAAE,UAFR;AAGEw2D,cAAI,EAAE;AAHR,SAhB0B,EAqB1B;AACEv6C,cAAI,EAAE,IADR;AAEEjc,cAAI,EAAE,QAFR;AAGEw2D,cAAI,EAAE;AAHR,SArB0B,EA0B1B;AACEv6C,cAAI,EAAE,IADR;AAEEjc,cAAI,EAAE,QAFR;AAGEw2D,cAAI,EAAE;AAHR,SA1B0B,CAA5B;AAwCC;AAED;;;;AAIA;;;;;;;mCAGW;AAAA;;AACT,eAAKC,mBAAL;AACA,eAAKh5D,MAAL,CAAYe,MAAZ,CACGqC,IADH,CACQ,8DAAO,UAAAnC,KAAK;AAAA,mBAAIA,KAAK,YAAY,+DAArB;AAAA,WAAZ,CADR,EAEGD,SAFH,CAEa,UAAAC,KAAK,EAAI;AAClB,oBAAI,CAAC+3D,mBAAL;AACD,WAJH;AAKD;AAED;;;;;;;;oCAKYx6C,I,EAAM;AAAA;;AAChB,eAAK/b,SAAL,CAAed,OAAf,CAAuB,UAACs3D,QAAD,EAA4B;AACjD,gBAAIA,QAAQ,CAACz6C,IAAT,KAAkBA,IAAtB,EAA4B;AAC1By6C,sBAAQ,CAACnJ,MAAT,GAAkB,IAAlB;AACA,sBAAI,CAACmJ,QAAL,GAAgBA,QAAhB;AACD,aAHD,MAGO;AACLA,sBAAQ,CAACnJ,MAAT,GAAkB,KAAlB;AACD;AACF,WAPD;AAQA,eAAK/vD,kBAAL,CAAwBy7C,WAAxB,CAAoCh9B,IAApC;AACD;AAED;;;;;;8CAGmB;AACjB,eAAKg9B,WAAL,CAAiB,KAAKz7C,kBAAL,CAAwB07C,mBAAxB,EAAjB;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qECpGC,yH,IACE,wM,IACE,kL,GAAA,2mB,EAAA;AAAA;AAAA,c,GACA,gJ,IAAyB;AAAA;AAD2B,2BAAkB,KAAlB;;AAApD,sBAAoD,SAApD;AAAsE,O,EAAA,I;AAAA;;;qEAI1E,yH,IACE,sH,GAAA;AAAA;AAAA,c,GAAoB;AAAA;AAAjB,2BAAgB,KAAhB;;AAAH,sBAAG,SAAH;AAAmB,O,EAAA,I;AAAA;;;qEA0CnB,yI,IACC,uJ,GAAA;AAAA;AAAA,c,EACC;AAAA;AAAA;AAAA,Q,EADD;AAAA;AAAA,c,EAA+B;AAAA;AAAA,Q,GAG9B,4N,IACC,oK,IACC,+K,IACC,kJ,IACC,mL,GAAA,2mB,EAAA;AAAA;AAAA,c,GAIF,yK,IACC,iM,IAAmE,wF,IAGnE,iJ,IAAyB,gH,IAK3B,qK,IACC,gL,IACC,mJ,IACC,mL,GAAA,2mB,EAAA;AAAA;AAAA,c,GAIF,yK,IACC,oM,IAAsE,wF,IAGtE,iJ,IAAyB,gH,IAM3B,qK,IACC,gL,IACC,mJ,IACC,mL,GAAA,2mB,EAAA;AAAA;AAAA,c,GAIF,yK,IACC,iM,IAAmE,wF,IAGnE,iJ,IAAyB,gH,IAK3B,qK,IACC,+K,IACC,mJ,IACC,kL,GAAA,2mB,EAAA;AAAA;AAAA,c,GAIF,yK,IACC,iM,IAAmE,wF,IAGnE,iJ,IAAyB,gH,IAK3B,qK,IACC,6K,IACC,mJ,IACC,gL,GAAA,2mB,EAAA;AAAA;AAAA,c,GAIF,yK,IACC,iM,IAAmE,wF,IAGnE,iJ,IAAyB,gH,IAK3B,qK,IACC,6K,IACC,mJ,IACC,gL,GAAA,2mB,EAAA;AAAA;AAAA,c,GAIF,yK,IACC,iM,IAAmE,wF,IAGnE,iJ,IAAyB,gH,IAK3B,qK,IACC,6K,IACC,mJ,IACC,gL,GAAA,2mB,EAAA;AAAA;AAAA,c,GAGF,yK,IACC,iM,IAAmE,wF,IAGnE,iJ,IAAyB,gH,IAEzB;AAhHH;;AADD,sBACC,SADD;;AAA+B;;AAA/B,sBAA+B,SAA/B;;AAOW;;AAAN,uBAAM,SAAN;;AAgBM;;AAAN,uBAAM,SAAN;;AAiBM;;AAAN,uBAAM,SAAN;;AAgBM;;AAAN,uBAAM,SAAN;;AAgBM;;AAAN,uBAAM,SAAN;;AAgBM;;AAAN,uBAAM,SAAN;;AAgBM;;AAAN,uBAAM,SAAN;AAAgE,O,EAAA,I;AAAA;;;qEAqBtE,6I,GAAA;AAAA;AAAA,c,EACC;AAAA;AAAA;AAAA,Q,EADD;AAAA;AAAA,c,EAAK;AAAA;AAAA,Q,GAGJ,yS,IAEC,2J,IACC,8I,IACC,mJ,IACC,oK,IAED,+I,IACC,sJ,IAA8B,wG,IAG9B,gJ,IAAwB,oF,IAK3B,4J,IACC,+I,IACC,oJ,IACC,qK,IAED,+I,IACC,sJ,IAA8B,6G,IAG9B,gJ,IAAwB,oF,IAK3B,4J,IACC,+I,IACC,oJ,IACC,+K,IAED,+I,IACC,sJ,IAA8B,uG,IAG9B,gJ,IAAwB,mF,IAK3B,4J,IACC,+I,IACC,oJ,IACC,8J,IAED,+I,IACC,sJ,IAA8B,sG,IAG9B,gJ,IAAwB,mF,IAK3B,4J,IACC,+I,IACC,oJ,IACC,6J,IAED,+I,IACC,sJ,IAA8B,yG,IAG9B,gJ,IAAwB,mF,IAK3B,4J,IACC,+I,IACC,oJ,IACC,sK,IAED,uJ,IACC,sJ,IAA8B,sG,IAG9B,gJ,IAAwB,mF,IAK3B,4J,IACC,+I,IACC,oJ,IACC,kK,IAED,+I,IACC,sJ,IAA8B,sG,IAG9B,gJ,IAAwB,mF,IAK3B,4J,IACC,+I,IACC,oJ,IACC,mK,IAED,+I,IACC,sJ,IAA8B,yH,IAG9B,gJ,IAAwB,oF,IAK3B,4J,IACC,+I,IACC,oJ,IACC,gL,IAED,+I,IACC,sJ,IAA8B,qG,IAG9B,gJ,IAAwB,oF,IAK3B,4J,IACC,+I,IACC,oJ,IACC,uK,IAED,+I,IACC,sJ,IAA8B,oG,IAG9B,gJ,IAAwB,oF,IAK3B,4J,IACC,+I,IACC,oJ,IACC,8J,IAED,gJ,IACC,uJ,IAA8B,wG,IAG9B,iJ,IAAwB,oF,IAK3B,6J,IACC,gJ,IACC,qJ,IACC,oK,IAED,gJ,IACC,uJ,IAA8B,6G,IAG9B,iJ,IAAwB,oF,IAK3B,6J,IACC,gJ,IACC,qJ,IACC,mK,IAED,gJ,IACC,uJ,IAA8B,yG,IAG9B,iJ,IAAwB,oF,IAK3B,6J,IACC,gJ,IACC,qJ,IACC,uK,IAED,gJ,IACC,uJ,IAA8B,sG,IAG9B,iJ,IAAwB,oF,IAAU;AAnMtC;;AADD,sBACC,SADD;;AAAK;;AAAL,sBAAK,SAAL;AAAmD,O,EAAA,I;AAAA;;;qEA+MnD,+M,IAAkF,0F,IAEjF,uH,IAAM,gG,IACP,I,EAAA,I;AAAA;;;qEApYN,0P,GAAA;AAAA;AAAA;AAAA,c,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,GAEE;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C,ihBACE,uH,GAAA;AAAA;AAAA,c,GAMA,uH,GAAA;AAAA;AAAA,c,GAOF;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;WAEA;AAAA;;AAAA;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C,wvBAEC,8M,GAAA;AAAA;AAAA,c,EACC;AAAA;AAAA,Q,GAEA,mK,IACC,iJ,IAAyB,4F,IACzB,wM,IAAgF,gF,IAIjF;AAAA;;AAAA;;;;;;OAAA,E,IAAA,E,IAAA,C,6TAGC,6I,IACC;AAAA;;AAAG;;;;;AAAH;AAAA,oB,IACqD,gF,IAEtD,6I,IACC;AAAA;;AAAG;;;;;AAAH;AAAA,oB,IACkC,gF,IAEnC,6I,IACC;AAAA;;AAAG;;;;;AAAH;AAAA,oB,IACkC,8E,IAOrC,qX,GAAA,gP,EAAA;AAAA;AAAA,Q,GACC,sK,GAAA;AAAA;AAAA,c,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,GACC,gH,GAAA,6N,GA6HD,+I,GAAA;AAAA;AAAA,c,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,GACC,gH,GAAA,6N,GA8MD,+I,GAAA;AAAA;AAAA,c,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,GACC,gH,GAAA,8N,GAA2B;AAAA;AAhYW;AAA1B;;AAAjB,sBAA2C,SAA3C,EAAiB,SAAjB;;AAGkB,2BAAc,OAAd;;AAAd,sBAAc,SAAd;;AAMc,4BAAe,OAAf;;AAAd,uBAAc,SAAd;;AAYA,2CAAoD,gBAApD;;AADD,uBACC,UADD;;AA8BU;;AAAT,uBAAS,UAAT;;AA8HS;;AAAT,uBAAS,UAAT;;AA+MS;;AAAT,uBAAS,UAAT;AAAsB,O,EAAA;AA/X1B;;AAAA;;AAEE;;AAAA;;AAcA;;AAAA;;AAAA;;AAAA;;AAEA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAM,O;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACVR;AAAA;;;AAAA;AAAA;AAAA;;QAAayd,qB;AAyBX;;;;;AAKA,qCAAoBC,SAApB,EAA6C;AAAA;;AAAzB,aAAAA,SAAA,GAAAA,SAAA,CAAyB,CApB7C;;AACS,aAAApyC,IAAA,GAAO,6BAAP,CAmBoC,CAV7C;;AACS,aAAAqyC,IAAA,GAAyB,OAAzB;AAEA,aAAA/wD,IAAA,GAA4B,SAA5B;AAQR;;;;0CAEc;AACb,cAAI,CAAC,KAAKgxD,OAAV,EAAmB;AACjB,mBAAO,MAAP;AACD;;AAED,iBAAO,SAAS,KAAKA,OAAd,GAAwB,GAA/B;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qEC3CA,yH,IACK,sH,GAAA;AAAA;AAAA,c,GAAoB;AAAA;AAAjB,2BAAgB,KAAhB;;AAAH,sBAAG,SAAH;AAAmB,O,EAAA,I;AAAA;;;qEAErB,yH,IACE,kL,GAAA,2mB,EAAA;AAAA;AAAA,c,GAAuE,4E,IAAA;AAAA;AAAnB,2BAAkB,KAAlB;;AAApD,sBAAoD,SAApD;AAAsE,O,EAAA,I;AAAA;;;qEAR9E,0P,GAAA;AAAA;AAAA;AAAA,c,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,GAEE;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C,ihBACE,oL,IACD,sH,GAAA;AAAA;AAAA,c,GAGG,sH,GAAA;AAAA;AAAA,c,GAQJ;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;WACA;AAAA;;AAAA;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C,kvBAEC,mN,GAAA;AAAA;AAAA,c,EAA2F;AAAA;AAAA,Q,GAC1F,gK,IAAwC,uF,IACxC,gM,IAAwE,0F,IAIzE,0J,IAEC,2I,IACC,sO,IACC,mL,GAAA,2mB,EAAA;AAAA;AAAA,c,GACA,mM,IAA2E,oF,IAC3E,wK,IAAgD,mF,IAKlD,2I,IACC,yN,IACC,mL,GAAA,2mB,EAAA;AAAA;AAAA,c,GACA,mM,IAA2E,wF,IAC3E,wK,IAAgD,iF,IAKlD,2I,IACC,wN,IACC,mL,GAAA,2mB,EAAA;AAAA;AAAA,c,GACA,mM,IAA2E,kF,IAC3E,wK,IAAgD,uF,IAKlD,2I,IACC,2M,IACC,mL,GAAA,2mB,EAAA;AAAA;AAAA,c,GACA,mM,IAA2E,mF,IAC3E,wK,IAAgD,sF,IAAY;AAAA;AAzDvB;AAA1B;;AAAjB,sBAA2C,SAA3C,EAAiB,SAAjB;;AAIiB,4BAAe,OAAf;;AAAd,uBAAc,SAAd;;AAGiB,2BAAc,OAAd;;AAAd,uBAAc,SAAd;;AAWwF;;AAA3F,uBAA2F,UAA3F;;AAUuD;;AAApD,uBAAoD,UAApD;;AASoD;;AAApD,uBAAoD,UAApD;;AASoD;;AAApD,uBAAoD,UAApD;;AASoD;;AAApD,uBAAoD,UAApD;AAAoH,O,EAAA;AAvD1H;;AAAA;;AAEE;;AAAA;;AAaA;;AAAA;;AAAA;;AAAA;;AACA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAM,O;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACVR;AAAA;;;AAAA;AAAA;AAAA;;QAAaC,oB;AAeX;;;AAGA,sCAAc;AAAA;;AAjBd;AAEA;AACS,aAAAvyC,IAAA,GAAO,gBAAP,CAcK,CANd;;AACS,aAAAqyC,IAAA,GAAyB,OAAzB;AAMR;AAED;;;;AAIA;;;;;;;0CAGe,CACd;AAED;;;;;;mCAGQ,CACP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qECrCG,yH,IACE,kL,GAAA,2mB,EAAA;AAAA;AAAA,c,GAAuE,4E,IAAA;AAAA;AAAnB,2BAAkB,KAAlB;;AAApD,sBAAoD,SAApD;AAAsE,O,EAAA,I;AAAA;;;qEAExE,yH,IACA,kJ,GAAA;AAAA;AAAA;AAAA,c,GACD,sH,GAAA;AAAA;AAAA,c,GAAoB;AAAA;AADb;AAAqB;;AAA3B,sBAAM,SAAN,EAA2B,SAA3B;;AACE,2BAAgB,KAAhB;;AAAH,sBAAG,SAAH;AAAmB,O,EAAA,I;AAAA;;;;;WATxB;AAAA;AAAA,oBAAoH,UAApH;;AAAiB;;;;;AAAjB;AAAA,oB,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,GAEE;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C,ihBACE,uK,IACE,yH,GAAA;AAAA;AAAA,c,GAGA,yH,GAAA;AAAA;AAAA,c,GAUJ;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;WACA,6M,GAAA;AAAA;AAAA;AAAA,c,EAAgD;AAAA;AAAA,Q,GAE5C;AAAA;;AAAA;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C,kvBACF,kJ,IACC,yJ,IACO,uJ,IACE,kK,GAAA,2mB,EAAA;AAAA;AAAA,c,GAGT;AAAA;AAAA,oBAAwG,UAAxG;;AAAoB;;;;;AAApB;AAAA,oB,IACA,wJ,GAAA;AAAA;AAAA;AAAA,c,EAAgC;AAAA;AAAA,Q,GACzB,uJ,IACE;AAAA;AAAA,oBAIG,UAJH;;AACE;;;;;AADF;AAAA,oB,IAYR,iK,GAAA;AAAA;AAAA,c,EAAoD;AAAA;AAAA;AAAA,Q,EAApD;AAAA;AAAA,c,EAAK;AAAA;AAAA,Q,GACP,8V,GAAA;AAAA;AAAA,c,GAAgC;AAAA;AA3C4B;AAAnB;;AAA7C,sBAAgE,SAAhE,EAA6C,SAA7C;;AAIoB,2BAAc,OAAd;;AAAd,uBAAc,SAAd;;AAGc,2BAAc,OAAd;;AAAd,uBAAc,SAAd;;AAWC;;AAA2C,qEAAqD,KAArD,CAAqD,MAArD;;AAAhD,uBAAK,SAAL,EAAgD,UAAhD;;AAM+C;;AAAnC,uBAAmC,UAAnC;;AAIJ;;AAA2B,2CAA2D,QAA3D;;AAAhC,uBAAK,UAAL,EAAgC,UAAhC;;AAcqD;;AAApD,uBAAoD,UAApD;;AAAK;;AAAL,uBAAK,UAAL;;AACgB,4BAAa,KAAb;;AAAlB,uBAAkB,UAAlB;AAA+B,O,EAAA;AAAA;;AA3CnC;;AAAA;;AAEE;;AAAA;;AAeA;;AAAA;;AAAA;;AAAA;;AAGI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAaU;;AAHF,uBAGE,UAHF;AAGsD,O;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/BpE;AAAA;;;AAAA;AAAA;AAAA;;AAAA,QAAMG,SAAS,GAAG;AAChBn5D,WAAK,EAAE,WADS;AAEhBiI,UAAI,EAAE,CAFU;AAGhBrD,WAAK,EAAE,CACL;AACEw0D,eAAO,EAAE,gCADX;AAEEp5D,aAAK,EAAE,sBAFT;AAGE2I,mBAAW,EAAE;AAHf,OADK,EAML;AACEywD,eAAO,EAAE,gCADX;AAEEp5D,aAAK,EAAE,uBAFT;AAGE2I,mBAAW,EAAE;AAHf,OANK,EAWL;AACEywD,eAAO,EAAE,gCADX;AAEEp5D,aAAK,EAAE,oBAFT;AAGE2I,mBAAW,EAAE;AAHf,OAXK,EAgBL;AACEywD,eAAO,EAAE,gCADX;AAEEp5D,aAAK,EAAE,8BAFT;AAGE2I,mBAAW,EAAE;AAHf,OAhBK;AAHS,KAAlB;AA2BA,QAAM0wD,OAAO,GAAG;AACdr5D,WAAK,EAAE,SADO;AAEdiI,UAAI,EAAE,CAFQ;AAGdrD,WAAK,EAAE,CACL;AACE00D,eAAO,EAAE,+BADX;AAEEt5D,aAAK,EAAE,eAFT;AAGE2I,mBAAW,EAAE;AAHf,OADK,EAML;AACE2wD,eAAO,EAAE,+BADX;AAEEt5D,aAAK,EAAE,mBAFT;AAGE2I,mBAAW,EAAE;AAHf,OANK,EAWL;AACE2wD,eAAO,EAAE,+BADX;AAEEt5D,aAAK,EAAE,aAFT;AAGE2I,mBAAW,EAAE;AAHf,OAXK,EAgBL;AACE2wD,eAAO,EAAE,+BADX;AAEEt5D,aAAK,EAAE,WAFT;AAGE2I,mBAAW,EAAE;AAHf,OAhBK;AAHO,KAAhB;AA2BA,QAAM81B,KAAK,GAAG;AACZz+B,WAAK,EAAE,OADK;AAEZiI,UAAI,EAAE,CAFM;AAGZrD,WAAK,EAAE,CACL;AACE20D,mBAAW,EAAE,2BADf;AAEEv5D,aAAK,EAAE,wBAFT;AAGE2I,mBAAW,EAAE;AAHf,OADK,EAML;AACE4wD,mBAAW,EAAE,oCADf;AAEEv5D,aAAK,EAAE,2BAFT;AAGE2I,mBAAW,EAAE;AAHf,OANK,EAWL;AACE4wD,mBAAW,EAAE,2CADf;AAEEv5D,aAAK,EAAE,uBAFT;AAGE2I,mBAAW,EAAE;AAHf,OAXK,EAgBL;AACE4wD,mBAAW,EAAE,8CADf;AAEEv5D,aAAK,EAAE,uBAFT;AAGE2I,mBAAW,EAAE;AAHf,OAhBK;AAHK,KAAd;;QA+Ba6wD,uB;AAgBX;;;AAIA,uCAAoBve,GAApB,EAA4C;AAAA;;AAAxB,aAAAA,GAAA,GAAAA,GAAA,CAAwB,CAnB5C;;AACS,aAAA1rC,MAAA,GAAS,UAAT,CAkBmC,CAjB5C;;AACS,aAAAoX,IAAA,GAAO,oBAAP;AAKA,aAAA1e,IAAA,GAAwC,SAAxC;AAIT,aAAAO,IAAA,GAAc,IAAd;AAQC;AAED;;;;;;;mCAGQ,CAEP,C,CADC;;AAGF;;;;;;;+BAIOtK,C,EAAG;AAAA;;AACR,eAAKsK,IAAL,GAAY,IAAZ;;AACA,cAAItK,CAAC,CAAC4S,MAAF,CAAS5H,KAAT,CAAe5E,MAAf,GAAwB,CAA5B,EAA+B;AAC7B,iBAAKqvC,OAAL,GAAe,IAAf,CAD6B,CAE7B;;AACA1yC,sBAAU,CAAC,YAAM;AACf;AACA;AACA,sBAAI,CAACuH,IAAL,GAAY,CAAC2wD,SAAD,EAAYE,OAAZ,EAAqB56B,KAArB,CAAZ;AACA,sBAAI,CAACkV,OAAL,GAAe,KAAf;;AACA,sBAAI,CAACsH,GAAL,CAASxkC,YAAT;AACD,aANS,EAMP,GANO,CAAV;AAOD;AACF;AAED;;;;;;;;8BAKMvY,C,EAAG;AACP,eAAKsK,IAAL,GAAY,IAAZ;AACA,eAAK8mD,WAAL,CAAiBjkD,aAAjB,CAA+BnC,KAA/B,GAAuC,EAAvC;AACD;;;qCAEY;AAAA;;AACXjI,oBAAU,CAAC;AAAA,mBAAM,QAAI,CAACquD,WAAL,CAAiBjkD,aAAjB,CAA+B2rD,KAA/B,EAAN;AAAA,WAAD,CAAV;AACD;;;0CAEiB;AAChB,iBAAO,KAAKxuD,IAAL,IAAa,KAAKA,IAAL,CAAUlE,MAAvB,IAAiC,CAAC,KAAKqvC,OAA9C;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qECzID,yH,IAEI,8K,IAEE,yL,IAIE,4K,IAAqD,6E,GAAA,wD,GAOvD,gL,IAAyD,+E,IAGzD,sM,IAA+E,oF,IAAU,I,EAAA;AAVlC;;AAAA;;AAOE;;AAAA;AAEzD,O;AAAA;;;qEAOJ,0H,IAEE,+S,IAEE,mK,IAEE,8J,IACE,6L,IAAsE,6E,GAAA,wD,GAMxE,iL,IAA0D,+E,IAK5D,gM,IAAyE,oF,IAAU,I,EAAA;AAXT;;AAAA;;AAMd;;AAAA;AAE1D,O;AAAA;;;qEAtDV,gO,GAAA;AAAA;AAAA,c,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,GAEE;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C,ihBACE,wM,IACE,wM,IAAiF,6E,IACjF,6M,IAAqF,8E,IACrF,4K,IACF,iL,IAAyD,8E,GAAA,yD,GAO3D;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;WACA,sH,GAAA;AAAA;AAAA,c,GAwBE,sH,GAAA;AAAA;AAAA,c,GAuBF,gK,IAEI;AAAA;;AAAA;;;;;;OAAA,E,IAAA,E,IAAA,C;;iPACF,+I,IACC,oJ,IACC,qK,IAEI,+I,IACE,sJ,IAA8B,sF,IAG9B,gJ,IAAwB,qG,IAEtB,6L,IAAqE,gF,IAQ7E;AAAA;;AAAA;;;;;;OAAA,E,IAAA,E,IAAA,C;;iPACE,+I,IACE,oJ,IACE,kK,IAEF,+I,IACE,sJ,IAA8B,yF,IAG9B,gJ,IAAwB,kG,IAS9B;AAAA;;AAAA;;;;;;OAAA,E,IAAA,E,IAAA,C;;iPACE,+I,IACE,oJ,IACE,oK,IAEF,+I,IACE,sJ,IAA8B,oF,IAG9B,gJ,IAAwB,qG,IAS9B,yJ,IACA,4J,IACF;AAAA;AAAA,oBAAyF,UAAzF;;AAAuB;;;;;AAAvB;AAAA,oB,IAAyF,kF,IACzF,4L,IAA8D,sF,IAAY;AAAA;AA1H7D;;AAAjB,sBAAiB,SAAjB;;AAegB;;AAAd,uBAAc,SAAd;;AAwBgB;;AAAd,uBAAc,SAAd;;AAyBqB;;AAAnB,uBAAmB,UAAnB;;AAmBmB;;AAAnB,uBAAmB,UAAnB;;AAkBmB;;AAAnB,uBAAmB,UAAnB;AAAuC,O,EAAA;AArG7C;;AAAA;;AAEE;;AAAA;;AAGyF;;AAAA;;AAE9B;;AAAA;;AAO3D;;AAAA;;AAAA;;AAAA;;AAkDI;;AAAA;;AAAA;;AAAA;;AAmBA;;AAAA;;AAAA;;AAAA;;AAkBA;;AAAA;;AAAA;;AAAA;AAAmF,O;AAAA;;;2NArGzF,sH,GAAA;AAAA;AAAA,c,EAA0C,wL,GAAA;AAAA;;AAAA,4JAA8B,MAA9B;;AAA1C,sBAA0C,SAA1C;AAAwE,O,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGxE;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,wD,CAAA;;;QAYa4c,oB;AAUX;;;;;AAKA,oCAAoBxwD,KAApB,EAA4C;AAAA;;AAAxB,aAAAA,KAAA,GAAAA,KAAA;AAXX,aAAA05D,iBAAA,GAAoB,OAApB;AACA,aAAAC,MAAA,GAAS,IAAT;AACA,aAAAC,QAAA,GAAW,IAAX;AAUR;AAED;;;;AAIA;;;;;;;mCAGQ;AACN,eAAK/B,KAAL,GAAa,KAAK73D,KAAL,CAAWiD,IAAX,CAAgB,2DAAO,uFAAP,CAAhB,CAAb;AACD;AAED;;;;;;iCAGS;AACP,eAAKjD,KAAL,CAAW4H,QAAX,CAAoB,wFAApB;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qEC/CC,yH,IACM,wM,IAAiF,6E,IAAG,I,EAAA,I;AAAA;;;qEAJ9F,0H,IACC,yN,GAAA;AAAA;AAAA;AAAA,c,GACG,wO,IACA,uH,GAAA;AAAA;AAAA,c,GAGI,4M,IAAqF,+E,IAGzF,2K,IACC,gL,IAAyD,gF,GAAA,yD,GAEzD,4E,IAAA;AAAA;AAXqB;AAAwB;;AAAjD,sBAAyB,SAAzB,EAAiD,SAAjD;;AAEiB,2BAAgB,SAAhB;;AAAd,sBAAc,SAAd;AAA8B,O,EAAA;AAG2D;;AAAA;;AAI/B;;AAAA;AAEzD,O;AAAA;;;2NAZL,uH,GAAA;AAAA;AAAA,c,EAAc,wL,GAAA;AAAA;;AAAA,4JAA8B,MAA9B;;AAAd,sBAAc,SAAd;AAA4C,O,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACI5C;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,wD,CAAA;;;QAYaiyD,qB;AASX;;;;;AAKA,qCAAoB75D,KAApB,EAA4C;AAAA;;AAAxB,aAAAA,KAAA,GAAAA,KAAA;AAVX,aAAA25D,MAAA,GAAS,IAAT;AACA,aAAAC,QAAA,GAAW,IAAX;AAUR;AAED;;;;AAIA;;;;;;;mCAGQ;AACN,eAAK/B,KAAL,GAAa,KAAK73D,KAAL,CAAWiD,IAAX,CAAgB,2DAAO,uFAAP,CAAhB,CAAb;AACD;AAED;;;;;;iCAGS;AACP,eAAKjD,KAAL,CAAW4H,QAAX,CAAoB,wFAApB;AACD;;;;;;;;;;;;;;;;;;;;;AC2NH;AAAA;;;AAAA;AAAA;AAAA;;QAAakyD,c;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qECrPX,gI,GAAA;AAAA;AAAA;AAAA,c,EAAiF;AAAA;AAAA,Q,GAAA,4E,IAAA;AAAA,wCAA2C,OAA3C,CAA2C,OAA3C,CAA2C,SAA3C;;AAA7C;;AAApC,sBAAiF,SAAjF,EAAoC,SAApC;AAAgF,O,EAAA,I;AAAA;;;qEAChF,gI,GAAA;AAAA;AAAA;AAAA,c,EAAqF;AAAA;AAAA,Q,GAAA,4E,IAAA;AAAA,wCAA2C,OAA3C,CAA2C,OAA3C,CAA2C,SAA3C;;AAA/C;;AAAtC,sBAAqF,SAArF,EAAsC,SAAtC;AAAoF,O,EAAA,I;AAAA;;;qEACpF,gI,GAAA;AAAA;AAAA;AAAA,c,EAAwE;AAAA;AAAA,Q,GAAA,4E,IAAA;AAAA,wCAA2C,OAA3C,CAA2C,OAA3C,CAA2C,SAA3C;;AAAtC;;AAAlC,sBAAwE,SAAxE,EAAkC,SAAlC;AAAuE,O,EAAA,I;AAAA;;;qEAHxE,yH,IACC,oH,GAAA;AAAA;AAAA,c,GACA,oH,GAAA;AAAA;AAAA,c,GACA,oH,GAAA;AAAA;AAAA,c,GAAoH,4E,IAAA;AAFtG,0BAAqB,QAArB,CAAqB,SAArB,CAAqB,OAArB;;AAAd,sBAAc,SAAd;;AACc,0BAAuB,QAAvB,CAAuB,SAAvB,CAAuB,SAAvB;;AAAd,sBAAc,SAAd;;AACc,0BAAmB,QAAnB,CAAmB,SAAnB,CAAmB,KAAnB;;AAAd,sBAAc,SAAd;AAAiC,O,EAAA,I;AAAA;;;qEAHlC,oH,GAAA;AAAA;AAAA,c,EAAc,wL,GAAA,4E,IAAA;AAAA;;AAAA,4JAAwD,iBAAxD,CAAwD,SAAxD;;AAAd,sBAAc,SAAd;AAAsE,O,EAAA,I;AAAA;;;qEAQtE,gI,GAAA;AAAA;AAAA;AAAA,c,EAAkF;AAAA;AAAA;AAAA,Q,GAAA,4E,IAAA;AAAA,gEAAmE,OAAnE,CAAmE,OAAnE,CAAmE,UAAnE;;AAA3C;;AAAvC,sBAAkF,SAAlF,EAAuC,SAAvC;AAAiF,O,EAAA,I;AAAA;;;qEAEhF,gI,GAAA;AAAA;AAAA;AAAA,c,EAAyD;AAAA;AAAA;AAAA,Q,GAAA,4E,IAAA;AAAA,uEAAmE,OAAnE,CAAmE,MAAnE,CAAmE,OAAnE,CAAmE,UAAnE;;AAA3C;;AAAd,sBAAyD,SAAzD,EAAc,SAAd;AAAwD,O,EAAA,I;AAAA;;;qEADzD,oH,GAAA;AAAA;AAAA,c,GAAgF,4E,IAAA;AAA3C;;AAArC,sBAAqC,SAArC;AAA+E,O,EAAA,I;AAAA;;;qEAD/E,oH,GAAA;AAAA;AAAA,c,GACA,oH,GAAA;AAAA;AAAA,c,GAAgF,4E,IAAA;AADlE,2BAAwB,QAAxB,CAAwB,IAAxB,CAAwB,UAAxB;;AAAd,sBAAc,SAAd;;AACa,0BAAuB,QAAvB,CAAuB,IAAvB,CAAuB,UAAvB;;AAAb,sBAAa,SAAb;AAAoC,O,EAAA,I;AAAA;;;qEAanC;AAAA;;AAAA;;;;;;OAAA,E,IAAA,E,IAAA,C;;iBACC,gI,GAAA;AAAA;AAAA;AAAA,c,EAAwD;AAAA;AAAA;AAAA,Q,GAAkE;AADlG,0BAAwB,OAAxB,CAAwB,OAAxB,CAAwB,IAAxB,CAAwB,IAAxB;;AAAzB,sBAAyB,SAAzB;;AACyD,gEAAkE,OAAlE,CAAkE,OAAlE,CAAkE,UAAlE;;AAA1C;;AAAd,sBAAwD,SAAxD,EAAc,SAAd;AAAuD,O,EAAA;AADxD;;AAAA;;AAAA;AAAgF,O;AAAA;;;qEAIhF,wJ,IACC,gI,GAAA;AAAA;AAAA;AAAA,c,EAAwD;AAAA;AAAA;AAAA,Q,GAAA;AAAA,gEAAkE,OAAlE,CAAkE,OAAlE,CAAkE,UAAlE;;AAA1C;;AAAd,sBAAwD,SAAxD,EAAc,SAAd;AAAuD,O,EAAA,I;AAAA;;;qEAMvD,iJ,IAEC,gI,GAAA;AAAA;AAAA;AAAA,c,EAAuD;AAAA;AAAA;AAAA,Q,GAAA;AAAA,uEAAkE,OAAlE,CAAkE,MAAlE,CAAkE,OAAlE,CAAkE,UAAlE;;AAAzC;;AAAd,sBAAuD,SAAvD,EAAc,SAAd;AAAsD,O,EAAA,I;AAAA;;;qEAGvD,gI,GAAA;AAAA;AAAA;AAAA,c,EAEC;AAAA;AAAA;AAAA,Q,GAAA,4E,IAAA;AAAA,uEAAkE,OAAlE,CAAkE,MAAlE,CAAkE,OAAlE,CAAkE,UAAlE;;AADA;;AADD,sBAEC,SAFD,EACC,SADD;AACyC,O,EAAA,I;AAAA;;;qEAR1C,iJ,IACC,gJ,IACA,qH,GAAA;AAAA;AAAA,c,GAKA,qH,GAAA;AAAA;AAAA,c,GAEoE;AAP/D;;AAAL,sBAAK,SAAL;;AAKc;;AAAd,sBAAc,SAAd;AAA8E,O,EAAA,I;AAAA;;;qEAvBhF,2R,GAAA;AAAA;AAAA,c,EAAA;AAAA;AAAA;AAAA,c,GAOC,qH,GAAA;AAAA;AAAA,c,GAIA,qH,GAAA;AAAA;AAAA,c,GAKA,qH,GAAA;AAAA;AAAA,c,GAA+C,4E,IAAA;AAAA;;AAb0B,gDAAmC,QAAnC,CAAmC,IAAnC;;AAH1E,sBAG0E,SAH1E;;AAI6B;AAA5B,0BAA2B,QAA3B,CAA2B,IAA3B,CAA2B,OAA3B;;AAJD,sBAI6B,SAJ7B,EAIC,SAJD;;AAOI,2BAAqB,QAArB,CAAqB,IAArB,CAAqB,OAArB;;AAAH,sBAAG,SAAH;;AAIG,0BAAoB,QAApB,CAAoB,IAApB,CAAoB,OAApB;;AAAH,sBAAG,SAAH;;AAKK,0BAAoB,QAApB,CAAoB,IAApB,CAAoB,OAApB;;AAAL,sBAAK,SAAL;AAAyB,O,EAAA;AAAA;AAhBtB;;AACH,uDAAwD,QAAxD,CAAwD,IAAxD;;AACA,0BAA2C,QAA3C,CAA2C,IAA3C,CAA2C,IAA3C;AACA;;AAHD,sBAAI,SAAJ,EACC,SADD,EAEC,SAFD,EAGC,SAHD;AAGyE,O;AAAA;;;qEAgCvE,gI,GAAA;AAAA;AAAA;AAAA,c,EAAiF;AAAA;AAAA;AAAA,Q,GAAA,4E,IAAA;AAAA,qEAA6D,OAA7D,CAA6D,MAA7D,CAA6D,OAA7D,CAA6D,IAA7D;;AAA7C;;AAApC,sBAAiF,SAAjF,EAAoC,SAApC;AAAgF,O,EAAA,I;AAAA;;;qEAChF,gI,GAAA;AAAA;AAAA;AAAA,c,EAAqF;AAAA;AAAA;AAAA,Q,GAAA,4E,IAAA;AAAA,qEAA6D,OAA7D,CAA6D,MAA7D,CAA6D,OAA7D,CAA6D,IAA7D;;AAA/C;;AAAtC,sBAAqF,SAArF,EAAsC,SAAtC;AAAoF,O,EAAA,I;AAAA;;;qEACpF,gI,GAAA;AAAA;AAAA;AAAA,c,EAAwE;AAAA;AAAA;AAAA,Q,GAAA,4E,IAAA;AAAA,qEAA6D,OAA7D,CAA6D,MAA7D,CAA6D,OAA7D,CAA6D,IAA7D;;AAAtC;;AAAlC,sBAAwE,SAAxE,EAAkC,SAAlC;AAAuE,O,EAAA,I;AAAA;;;qEAHxE,yH,IACC,qH,GAAA;AAAA;AAAA,c,GACA,qH,GAAA;AAAA;AAAA,c,GACA,qH,GAAA;AAAA;AAAA,c,GAAsI,4E,IAAA;AAFxH,0BAAqB,QAArB,CAAqB,SAArB,CAAqB,OAArB;;AAAd,sBAAc,SAAd;;AACc,0BAAuB,QAAvB,CAAuB,SAAvB,CAAuB,SAAvB;;AAAd,sBAAc,SAAd;;AACc,0BAAmB,QAAnB,CAAmB,SAAnB,CAAmB,KAAnB;;AAAd,sBAAc,SAAd;AAAiC,O,EAAA,I;AAAA;;;qEAJnC,+I,IACC,qH,GAAA;AAAA;AAAA,c,GAAiD;AAAnC,0BAAkC,QAAlC,CAAkC,IAAlC,CAAkC,OAAlC;;AAAd,sBAAc,SAAd;AAAgD,O,EAAA,I;AAAA;;;qEAUjD,4I,GAAA;AAAA;AAAA;AAAA,c,GAA6D;AAAxC;AAAkB,0BAAqB,OAArB,CAAqB,OAArB,CAAqB,IAArB,CAAqB,IAArB;;AAAvC,sBAAqB,SAArB,EAAuC,SAAvC;AAA4D,O,EAAA,I;AAAA;;;qEAG5D,8J,IACC,yH,IAAM,I,EAAA,I;AAAA;;;qEAEP,+J,IACC,yH,IAAM,I,EAAA,I;AAAA;;;qEAMP,gJ,IACC,2I,GAAA;AAAA;AAAA;AAAA,c,GAAgD,6E,IAAoB;AAA9D;AAAc,0BAA2B,OAA3B,CAA2B,OAA3B,CAA2B,IAA3B,CAA2B,KAA3B,CAA2B,IAA3B;;AAApB,sBAAM,SAAN,EAAoB,SAApB;AAA+C,O,EAAA;AAAC;;AAAA;AAAoB,O;AAAA;;;qEAIrE,6I,IAA2C,I,EAAA,I;AAAA;;;qEAlB3C,qH,GAAA;AAAA;AAAA,c,GAGA,qH,GAAA;AAAA;AAAA,c,GAGA,qH,GAAA;AAAA;AAAA,c,GAKA,+I,GAAA;AAAA;AAAA,c,GAAqD,6E,IAErD,qH,GAAA;AAAA;AAAA,c,GAKA,qH,GAAA;AAAA;AAAA,c,GAA2C,4E,IAAA;AAlBxC,0BAAiB,QAAjB,CAAiB,IAAjB,CAAiB,IAAjB;;AAAH,sBAAG,SAAH;;AAGG;;AAAH,sBAAG,SAAH;;AAGG;;AAAH,sBAAG,SAAH;;AAKwB,0BAA4B,QAA5B,CAA4B,IAA5B,CAA4B,SAA5B;;AAAxB,sBAAwB,SAAxB;;AAEM,0BAAkB,QAAlB,CAAkB,IAAlB,CAAkB,KAAlB;;AAAN,uBAAM,SAAN;;AAKG,0BAAoB,QAApB,CAAoB,IAApB,CAAoB,OAApB;;AAAH,uBAAG,SAAH;AAAuB,O,EAAA;AAP8B;;AAAA;AAAc,O;AAAA;;;qEAWnE,kJ,IAA2B,yH,IAAM,I,EAAA,I;AAAA;;;qEAIjC,gJ,IACC,6I,IAAsB,6E,IACtB,6J,IAAsC,I,EAAA;AADhB;;AAAA;AAAgB,O;AAAA;;;;;;;WA3GxC,0O,GAAA;AAAA;AAAA;AAAA,c,GAEC,qS,GAAA,yU,GAIA,2M,IACC;AAAA;AAAA,oBAG6D,UAH7D;;AAEC;;;;;AAAkC;;;;;AAFnC;AAAA,oB,GAAA;AAAA;AAAA;AAAA,c,EAAA;AAAA;AAAA,c,EAAsH;AAAA;AAAA;AAAA,Q,EAAtH;AAAA;AAAA,c,EAAA;AAAA;AAAA,c,EAA+C;AAAA;AAAA;AAAA,Q,GAI9C,6I,GAAA;AAAA;AAAA;AAAA,c,GACC,iI,GAAA;AAAA;AAAA,c,GAQJ,kI,IAQA,kI,IAOA,wI,IAiCA,sI,IAUA,uI,IAuBA,4I,IAIA,0I,IAAkF;AAAA;AAzGzD;AAA0D,2BAAwB,aAAxB;;AAAnF,sBAAyB,SAAzB,EAAmF,SAAnF;;AAEC;;AAME;;AAEA;;AAHD,sBACC,SADD,EAGC,SAHD;;AAAsH;;AAAtH,sBAAsH,SAAtH;;AAAuB,2BAAuB,YAAvB;;AAAvB,uBAAuB,SAAvB;;AAA+C;;AAA/C,uBAA+C,SAA/C;;AAIK;;AAAiB;;AAArB,uBAAI,SAAJ,EAAqB,SAArB;;AACe;;AAAd,uBAAc,SAAd;AAAmD,O,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACHvD;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;;QAiBaC,kB;AAwCX;;;;;;;;;;AAUA,kCACSC,gBADT,EAESC,gBAFT,EAGSn6D,mBAHT,EAIUD,MAJV,EAKUiU,MALV,EAMUonC,GANV,EAMgC;AAAA;;AALvB,aAAA8e,gBAAA,GAAAA,gBAAA;AACA,aAAAC,gBAAA,GAAAA,gBAAA;AACA,aAAAn6D,mBAAA,GAAAA,mBAAA;AACC,aAAAD,MAAA,GAAAA,MAAA;AACA,aAAAiU,MAAA,GAAAA,MAAA;AACA,aAAAonC,GAAA,GAAAA,GAAA;AAjDV,aAAAgf,SAAA,GAAY,EAAZ;AACA,aAAAC,YAAA,GAAe,EAAf;AACA,aAAAC,eAAA,GAAkB,EAAlB;AAIA,aAAAC,iBAAA,GAAsC;AACpC5C,mBAAS,EAAE,OADyB;AAEpC5N,iBAAO,EAAE,IAF2B;AAGpC6N,iBAAO,EAAE,oBAH2B;AAIpCC,kBAAQ,EAAE;AACR5mD,kBAAM,EAAE,wBADA;AAER0c,iBAAK,EAAE;AAFC;AAJ0B,SAAtC;AAUA,aAAA6sC,WAAA,GAA2B;AACzB;AACAn1C,iBAAO,EAAE;AACPtZ,mBAAO,EAAE;AACP;AACA,yBAAS;AAFF,aADF;AAKP0uD,kBAAM,EAAE,WALD;AAMPzuD,kBAAM,EAAE;AAND,WAFgB;AAWzB;AACAsZ,mBAAS,EAAE;AACTo1C,qBAAS,EAAE;AADF;AAZc,SAA3B;AAkCI;;;;0CAEW,CAAW;;;mCAEf;AAAA;;AACT,eAAKJ,eAAL,GAAuB,KAAKv6D,MAAL,CAAYmb,GAAZ,CAAgB7Q,KAAhB,CAAsB,MAAtB,EAA8B,CAA9B,CAAvB;AAEA,eAAKtK,MAAL,CAAYe,MAAZ,CACGqC,IADH,CACQ,8DAAO,UAACnC,KAAD;AAAA,mBAAWA,KAAK,YAAY,6DAA5B;AAAA,WAAP,CADR,EAEGD,SAFH,CAEa,UAACC,KAAD,EAAW;AACpB,oBAAI,CAACs5D,eAAL,GAAuB,QAAI,CAACv6D,MAAL,CAAYmb,GAAZ,CAAgB7Q,KAAhB,CAAsB,MAAtB,EAA8B,CAA9B,CAAvB;;AACA,oBAAI,CAACswD,eAAL;;AACA,oBAAI,CAACvf,GAAL,CAASxkC,YAAT;AACD,WANH;AAQA,cAAMpW,MAAM,GAAG,KAAKR,mBAAL,CAAyBO,SAAzB,EAAf;;AAEA,cAAI,gDAAeC,MAAf,EAAuB,qBAAvB,CAAJ,EAAmD;AACjD,iBAAKwT,MAAL,CAAY4mD,YAAZ,CACE,KAAKC,SAAL,CAAervD,aADjB,EAEE,sBAFF,EAGE,GAHF,EADiD,CAMjD;;AACA,iBAAKwI,MAAL,CAAY4mD,YAAZ,CACE,KAAKC,SAAL,CAAervD,aADjB,EAEE,8BAFF,EAGE,gDAAehL,MAAf,EAAuB,2CAAvB,CAHF;AAKD;;AAED,eAAK65D,YAAL,GAAoB,KAAKH,gBAAL,CACjBY,UADiB,CACN,OADM,EACG,IADH,EAEjBj1D,QAFiB,EAApB;AAGA,eAAKu0D,SAAL,GAAiB,KAAKW,YAAL,EAAjB;AACA35D,oBAAU,CAAC,YAAM;AACf,oBAAI,CAACoL,SAAL,GAAiB,IAAIC,WAAJ,CACf,QAAI,CAACuuD,kBAAL,CAAwBxvD,aADT,EAEf,QAAI,CAAC+uD,iBAFU,CAAjB;AAID,WALS,CAAV;AAMD;;;uCAEc;AACb,cAAIv1D,MAAM,GAAG,gBAAb;AACA,cAAMi2D,cAAc,GAClB,KAAKj7D,mBAAL,CAAyBO,SAAzB,CAAmC,kBAAnC,KAA0D,EAD5D;;AAEA,cAAI06D,cAAc,KAAK,OAAvB,EAAgC;AAC9Bj2D,kBAAM,GAAG,eAAT;AACD;;AACD,gDAA+BA,MAA/B;AACD;AAED;;;;;;;2CAImBQ,I,EAAI;AACrB,cAAIA,IAAI,CAAC6f,OAAT,EAAkB;AAChB,mBAAO,KAAK61C,sBAAL,CAA4B11D,IAA5B,CAAP;AACD;;AAED,cAAI,CAACA,IAAI,CAACqhB,IAAV,EAAgB;AACd,mBAAO,KAAP;AACD;;AAED,cAAIs0C,QAAQ,GAAG,KAAKb,eAAL,CAAqBp0D,OAArB,CAA6BV,IAAI,CAACqhB,IAAlC,MAA4C,CAAC,CAA5D;AACA,iBAAOs0C,QAAP;AACD;AAED;;;;;;;+CAIuB31D,I,EAAI;AACzB,cAAIR,MAAM,GAAG,KAAb;;AADyB,qDAGHQ,IAAI,CAAC6f,OAHF;AAAA;;AAAA;AAGzB,gEAAoC;AAAA,kBAAzB+1C,OAAyB;AAClCp2D,oBAAM,GAAG,KAAKq2D,kBAAL,CAAwBD,OAAxB,CAAT;;AACA,kBAAIp2D,MAAJ,EAAY;AACV,uBAAO,IAAP;AACD;AACF;AARwB;AAAA;AAAA;AAAA;AAAA;;AAUzB,iBAAO,KAAP;AACD;AAED;;;;;;;mCAIW3G,C,EAAU;AAAA;;AACnB;AACA,cAAIgD,QAAQ,CAACC,IAAT,CAAcC,SAAd,CAAwBuyD,QAAxB,CAAiC,aAAjC,CAAJ,EAAqD;AACnD,gBAAI,KAAKwH,SAAT,EAAoB;AAClBpkD,0BAAY,CAAC,KAAKokD,SAAN,CAAZ;AACA,mBAAKA,SAAL,GAAiB,IAAjB;AACD;;AAED,iBAAKC,QAAL,GAAgBn6D,UAAU,CAAC,YAAM;AAC/B;AACA,kBACEC,QAAQ,CAACC,IAAT,CAAcC,SAAd,CAAwBuyD,QAAxB,CAAiC,gBAAjC,KACA0H,MAAM,CAACC,mBAAP,CAA2B,SAA3B,CAFF,EAGE;AACA;AACA,wBAAI,CAACznD,MAAL,CAAYI,WAAZ,CAAwB/S,QAAQ,CAACC,IAAjC,EAAuC,gBAAvC;;AACA,wBAAI,CAAC0S,MAAL,CAAYM,QAAZ,CAAqBjT,QAAQ,CAACC,IAA9B,EAAoC,sBAApC;AACD;AACF,aAVyB,EAUvB,EAVuB,CAA1B;AAWD;AACF;AAED;;;;;;;mCAIWjD,C,EAAU;AAAA;;AACnB,cAAIgD,QAAQ,CAACC,IAAT,CAAcC,SAAd,CAAwBuyD,QAAxB,CAAiC,aAAjC,CAAJ,EAAqD;AACnD,gBAAI,KAAKyH,QAAT,EAAmB;AACjBrkD,0BAAY,CAAC,KAAKqkD,QAAN,CAAZ;AACA,mBAAKA,QAAL,GAAgB,IAAhB;AACD;;AAED,iBAAKD,SAAL,GAAiBl6D,UAAU,CAAC,YAAM;AAChC;AACA,kBACEC,QAAQ,CAACC,IAAT,CAAcC,SAAd,CAAwBuyD,QAAxB,CAAiC,sBAAjC,KACA0H,MAAM,CAACC,mBAAP,CAA2B,SAA3B,CAFF,EAGE;AACA;AACA,wBAAI,CAACznD,MAAL,CAAYI,WAAZ,CAAwB/S,QAAQ,CAACC,IAAjC,EAAuC,sBAAvC;;AACA,wBAAI,CAAC0S,MAAL,CAAYM,QAAZ,CAAqBjT,QAAQ,CAACC,IAA9B,EAAoC,gBAApC;AACD;AACF,aAV0B,EAUxB,GAVwB,CAA3B;AAWD;AACF;AAED;;;;;;;0CAIkBkE,I,EAAM;AACtB,cAAI2tD,OAAO,GAAG,WAAd;;AAEA,cAAI,gDAAe3tD,IAAf,EAAqB,SAArB,CAAJ,EAAqC;AACnC2tD,mBAAO,IAAI,oBAAX;AACD;;AAED,cAAI,CAAC3tD,IAAI,CAAC6f,OAAN,IAAiB,KAAKg2C,kBAAL,CAAwB71D,IAAxB,CAArB,EAAoD;AAClD2tD,mBAAO,IAAI,kCAAX;AACD;;AAED,cAAI3tD,IAAI,CAAC6f,OAAL,IAAgB,KAAKg2C,kBAAL,CAAwB71D,IAAxB,CAApB,EAAmD;AACjD2tD,mBAAO,IAAI,gCAAX;AACD,WAbqB,CAetB;;;AACA,cAAMuI,WAAW,GAAG,gDAAel2D,IAAf,EAAqB,cAArB,CAApB;;AACA,cAAIk2D,WAAJ,EAAiB;AACfvI,mBAAO,IAAI,MAAMuI,WAAjB;AACD;;AAED,cAAI,gDAAel2D,IAAf,EAAqB,WAArB,CAAJ,EAAuC;AACrC2tD,mBAAO,IAAI,sBAAX;AACD;;AAED,iBAAOA,OAAP;AACD;;;iDAEwB3tD,I,EAAM;AAC7B,cAAIgP,MAAM,GAAG,OAAb;;AACA,cAAI,gDAAehP,IAAf,EAAqB,QAArB,MAAmC,OAAvC,EAAgD;AAC9CgP,kBAAM,GAAG,OAAT;AACD,WAFD,MAEO,IAAI,gDAAehP,IAAf,EAAqB,cAArB,MAAyC,MAA7C,EAAqD;AAC1DgP,kBAAM,GAAG,MAAT;AACD,WAFM,MAEA,CACL;AACD;;AAED,iBAAOA,MAAP;AACD;;;0CAEiB;AAChB,cAAIgnD,MAAM,CAACG,gBAAP,CAAwB,IAAxB,KAAiC,KAAKnvD,SAA1C,EAAqD;AACnD;AACA,iBAAKA,SAAL,CAAevL,IAAf,GAFmD,CAE5B;AACxB;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qECtQG,yH,IACE,4T,GAAA,mmB,GAAA;AAAA;AAAe,O,EAAA,I;AAAA;;;qEAVvB,0H,IAEE,yW,GAAA,qW,GAGA,kK,IAEE,4K,IAEE,+G,GAAA;AAAA;AAAA,c,GAMA,qM,IAEE,8S,GAAA,+iB,GAIA,wM,GAAA;AAAA;AAAA;AAAA,c,GAaE,wL,GAAA,+X,GAEE,yH,GAAA;AAAA;AAAA,c,GACE,0I,GAAA,+a,GASN,+S,GAAA,sO,GAMJ,gX,GAAA,+L,GACA,iZ,GAAA,gQ,GACA,yW,GAAA,4L,GACA,qY,GAAA,4S,GAAmB;AAAA;;AArDrB;;AAOkB,2BAAwB,iBAAxB;;AAAd,sBAAc,SAAd;;AAQE;;AAKE;AAEA,2BAA0B,eAA1B;;AAHF,uBACE,SADF,EAGE,SAHF;;AAaE;;AAEO,2BAAmC,wBAAnC;;AAAL,uBAAK,SAAL;;AACE;;AASN;;AAOJ;AAAqB,O,EAAA,I;AAAA;;;qEAQvB,iK,IACE,yI,GAAA,8a,GAAA;AAAA;AAAe,O,EAAA,I;AAAA;;;qEA9DnB,+G,GAAA;AAAA;AAAA;AAAA,c,GA4DA,wH,IAA0B;AAAA;AA5DZ;;AAAA;;AAAd,sBAAc,SAAd,EAAc,SAAd;AAA8D,O,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACD9D;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;;;AAAA;AAAA;AAAA,oD,CAKA;;;QAwBa26D,a;AAaX;;;;;;;;;;AAUA,6BACU57D,mBADV,EAEUua,iBAFV,EAGU2B,iBAHV,EAIUg+C,gBAJV,EAKUh6D,KALV,EAMU27D,kBANV,EAMmD;AAAA;;AAAA;;AALzC,aAAA77D,mBAAA,GAAAA,mBAAA;AACA,aAAAua,iBAAA,GAAAA,iBAAA;AACA,aAAA2B,iBAAA,GAAAA,iBAAA;AACA,aAAAg+C,gBAAA,GAAAA,gBAAA;AACA,aAAAh6D,KAAA,GAAAA,KAAA;AACA,aAAA27D,kBAAA,GAAAA,kBAAA,CAAyC,CA5BnD;;AACA,aAAAC,UAAA,GAAa,SAAb;AAEA,aAAAC,cAAA,GAAiB,EAAjB;AACA,aAAAC,uBAAA,GAA0B,EAA1B;AACA,aAAAC,gBAAA,GAAmB,IAAnB,CAuBmD,CApBnD;;AACQ,aAAA77D,WAAA,GAA8B,EAA9B,CAmB2C,CAnBT;;AAqBxC,aAAK87D,wBAAL,GAFiD,CAIjD;;AACA,aAAKl8D,mBAAL,CAAyBmC,WAAzB,CAAqC,IAAI,uEAAJ,GAAmBC,OAAxD,EALiD,CAMjD;;AAEA,aAAKlC,KAAL,CAAWuoB,MAAX,CAAkB,+EAAlB,EAA+B1nB,SAA/B,CAAyC,UAACslB,IAAD,EAAU;AACjD,cAAIA,IAAJ,EAAU;AACR,oBAAI,CAAC9L,iBAAL,CAAuBpY,WAAvB,CACE,IAAI,mEAAJ,GAAiBg6D,UAAjB,CAA4B91C,IAAI,CAAC8H,QAAjC,CADF;AAGD;AACF,SAND,EARiD,CAejD;;AACA,aAAKjS,iBAAL,CAAuB/Z,WAAvB,CAAmC,IAAI,mEAAJ,GAAiBC,OAApD,EAhBiD,CAkBjD;;AACA,aAAK83D,gBAAL,CAAsBt5D,SAAtB,CAAgC,KAAKZ,mBAAL,CAAyBO,SAAzB,EAAhC;AAEA,YAAM67D,YAAY,GAAG,KAAKp8D,mBAAL,CAAyBgZ,gBAAzB,CAA0CjY,SAA1C,CACnB,UAACkY,YAAD,EAAkB;AAChB;AACA5X,kBAAQ,CAACC,IAAT,CAAc+6D,SAAd,GAA0B,EAA1B;;AACA,kBAAI,CAACnC,gBAAL,CAAsBt5D,SAAtB,CAAgCqY,YAAhC;AACD,SALkB,CAArB;AAOA,aAAK7Y,WAAL,CAAiBqB,IAAjB,CAAsB26D,YAAtB;AACD;AAED;;;;AAIA;;;;;;;mCAGQ;AAAA;;AACN;AACA;AACA;AACA;AACA;AAEA,cAAM57D,MAAM,GAAG,KAAKR,mBAAL,CAAyBO,SAAzB,EAAf,CAPM,CAQN;;AACA,eAAKu7D,UAAL,GAAkB,gDAAet7D,MAAf,EAAuB,aAAvB,CAAlB;AACA,eAAK87D,gBAAL,GAAwB,gDAAe97D,MAAf,EAAuB,oBAAvB,CAAxB;AACA,eAAKy7D,gBAAL,GAAwB,gDAAez7D,MAAf,EAAuB,mBAAvB,CAAxB;AACA,eAAKu7D,cAAL,GAAsB,KAAK7B,gBAAL,CACnBY,UADmB,CACR,SADQ,EACG,IADH,EAEnBj1D,QAFmB,EAAtB;AAGA,eAAKm2D,uBAAL,GAA+B,KAAK9B,gBAAL,CAC5BY,UAD4B,CACjB,mBADiB,EACI,IADJ,EAE5Bj1D,QAF4B,EAA/B;AAGA,eAAK02D,eAAL,GAAuB,gDAAe/7D,MAAf,EAAuB,kBAAvB,CAAvB,CAlBM,CAoBN;;AACA,cAAM47D,YAAY,GAAG,KAAKp8D,mBAAL,CAAyBgZ,gBAAzB,CAA0CjY,SAA1C,CACnB,UAACy7D,GAAD,EAAS;AACPp7D,sBAAU,CAAC,YAAM;AACf,sBAAI,CAAC06D,UAAL,GAAkB,gDAAeU,GAAf,EAAoB,aAApB,CAAlB;AACD,aAFS,CAAV;AAGD,WALkB,CAArB;AAOA,eAAKp8D,WAAL,CAAiBqB,IAAjB,CAAsB26D,YAAtB;AACD;AAED;;;;;;sCAGW;AACT,eAAKh8D,WAAL,CAAiBsB,OAAjB,CAAyB,UAACC,EAAD;AAAA,mBAAQA,EAAE,CAACvB,WAAH,EAAR;AAAA,WAAzB,EADS,CAET;;AACA,eAAKy7D,kBAAL,CAAwBY,gBAAxB;AACD;AAED;;;;;;mDAG2B;AAAA;;AACzB,eAAKC,uBAAL,GAA+B,KAAKx8D,KAAL,CAAWiD,IAAX,CAC7B,2DAAO,iEAAP,CAD6B,CAA/B;AAGA,cAAMi5D,YAAY,GAAG,KAAKM,uBAAL,CAA6B37D,SAA7B,CAAuC,UAACqC,GAAD,EAAS;AACnE,gBAAI,CAACA,GAAD,IAAQA,GAAG,CAACqB,MAAJ,KAAe,CAA3B,EAA8B;AAC5B;AACD;;AAED,oBAAI,CAACo3D,kBAAL,CAAwBY,gBAAxB;;AACAr5D,eAAG,CAAC1B,OAAJ,CAAY,UAACi7D,EAAD;AAAA,qBACV,QAAI,CAACd,kBAAL,CAAwBe,aAAxB,CAAsCD,EAAE,CAACr6D,IAAzC,CADU;AAAA,aAAZ;AAGD,WAToB,CAArB;AAUA,eAAKlC,WAAL,CAAiBqB,IAAjB,CAAsB26D,YAAtB;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qEClJD,yH,IAEE;AAAA;AAAA,oBAAgG,UAAhG;;AAAkE;;;;;AAAlE;AAAA,oB,IACE,iK,GAAA,2mB,EAAA;AAAA;AAAA,c,GAA6G;AAA1E;;AAAnC,sBAAmC,SAAnC;AAA4G,O,EAAA,I;AAAA;;;qEAVlH,+K,GAAA;AAAA;AAAA;AAAA,c,GAEE;AAAA;;AAAA;;;;;;OAAA,E,IAAA,E,IAAA,C;;iBACC,kJ,IAID,gH,GAAA;AAAA;AAAA,c,GAA8C;AAAA;AAP3C;AAA+B,2BAAwB,aAAxB;;AAApC,sBAAK,SAAL,EAAoC,SAApC;;AAEyB;;AAAvB,sBAAuB,SAAvB;;AAKc,2BAA+B,wBAA/B;;AAAd,sBAAc,SAAd;AAA6C,O,EAAA;AAAA;;AAL7C;;AAAA;;AAAA;;AACiB,2BAAuB,WAAvB;;AAAhB,sBAAgB,SAAhB;AAAuC,O;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;ACM1C;AAAA;;;AAAA;AAAA;AAAA;;QAAaS,c;AAYX;;;;;;AAMA,8BAAoB78D,mBAApB,EAAqEk6D,gBAArE,EAAyG;AAAA;;AAArF,aAAAl6D,mBAAA,GAAAA,mBAAA;AAAiD,aAAAk6D,gBAAA,GAAAA,gBAAA,CAAoC,CAjBzG;;AACA,aAAAze,UAAA,GAAa,EAAb;AACA,aAAAqhB,YAAA,GAAe,EAAf;AACA,aAAAC,uBAAA,GAA0B,IAA1B;AAEA,aAAAC,aAAA,GAA+B;AAC7B/rD,gBAAM,EAAE,SADqB;AAE7BgsD,qBAAW,EAAE,gBAFgB;AAG7BC,qBAAW,EAAE;AAHgB,SAA/B;AAaC;AAED;;;;AAIA;;;;;;;mCAGQ;AACN,eAAKzhB,UAAL,GAAkB,KAAKsf,YAAL,EAAlB;AACA,eAAK+B,YAAL,GAAoB,KAAK5C,gBAAL,CAAsBY,UAAtB,CAAiC,OAAjC,EAA0C,IAA1C,EAAgDj1D,QAAhD,EAApB;AACA,eAAKk3D,uBAAL,GAA+B,KAAK/8D,mBAAL,CAAyBO,SAAzB,CAAmC,4BAAnC,CAA/B;AACD;AAED;;;;;;0CAGe,CACd;;;uCAEc;AACb,cAAIyE,MAAM,GAAG,iBAAb;AACA,cAAMi2D,cAAc,GAAG,KAAKj7D,mBAAL,CAAyBO,SAAzB,CAAmC,kBAAnC,KAA0D,EAAjF;;AACA,cAAI06D,cAAc,KAAK,OAAvB,EAAgC;AAC9Bj2D,kBAAM,GAAG,eAAT;AACD;;AACD,gDAA+BA,MAA/B;AACD;;;2CAEkB;AACjB3D,kBAAQ,CAACC,IAAT,CAAcC,SAAd,CAAwBiT,MAAxB,CAA+B,gBAA/B;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iPC5DH,qM,GAAA;AAAA;AAAA;AAAA,c,GAKE,8M,GAAA;AAAA;AAAA;AAAA,c,GAKE,iK,IACE,kK,IAA2C,mF,GAAA,sQ,EAAA,wD,GAO7C,qK,IAGE,8N,IAIG,iF,IAAO;AAAA;AAxBd;AAEA,2BAAyB,cAAzB;;AAHF,sBACE,SADF,EAGE,SAHF;;AAOI;AADA,2BAAkC,uBAAlC;;AADF,sBAEE,SAFF,EACE,SADF;AACoC,O,EAAA;AAAA;;AAKW;;AAAA;;AAAA;AACwB,O;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;ACFzE;AAAA;;;AAAA;AAAA;AAAA;;QAAa2oD,e;AAMX;;;;;AAKA,+BAAoBC,SAApB,EAAiD;AAAA;;AAA7B,aAAAA,SAAA,GAAAA,SAAA,CAA6B,CAVjD;;AACA,aAAA9hB,KAAA,GAAgBhxC,IAAI,CAAC2L,GAAL,EAAhB;AACA,aAAAonD,aAAA,GAAgB,EAAhB;AACA,aAAAC,sBAAA,GAAyB,EAAzB;AAQC;AAED;;;;AAIA;;;;;;;mCAGQ;AACN,eAAKD,aAAL,GAAqB,KAAKD,SAAL,CAAetC,UAAf,CAA0B,QAA1B,EAAoC,IAApC,EAA0Cj1D,QAA1C,EAArB;AACA,eAAKy3D,sBAAL,GAA8B,KAAKF,SAAL,CAAetC,UAAf,CAA0B,kBAA1B,EAA8C,IAA9C,EAAoDj1D,QAApD,EAA9B;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qECrBC,yH,IAEE,8M,IAIE,yH,IAAM,I,EAAA,I;AAAA;;;qEAKV,yH,IAA4C,I,EAAA,I;AAAA;;;qEAxBhD,kM,GAAA;AAAA;AAAA;AAAA,c,GAME;AAAA;;AAAA;;;;;;OAAA,E,IAAA,E,IAAA,C;;iBACE,4K,IAKF,8J,IACE,uH,GAAA;AAAA;AAAA,c,GAWA,uH,GAAA;AAAA;AAAA,c,GASA,wO,GAAA;AAAA;AAAA,c,GAME,kK,GAAA,2mB,EAAA;AAAA;AAAA,c,GAGC;AAAA;AAxCL;AACA,2BAA+B,oBAA/B;;AAHF,sBAEE,SAFF,EAGE,SAHF;;AAMK;;AAAH,sBAAG,SAAH;;AAOgB,2BAAwB,iBAAxB;;AAAd,sBAAc,SAAd;;AAWc,2BAA6B,sBAA7B;;AAAd,sBAAc,SAAd;;AAWE,2BAAyB,cAAzB;;AAFF,uBAEE,SAFF;;AAOI;;AADF,uBACE,SADF;AAC2D,O,EAAA;AAAA;;AAlC/D;;AAAA;;AAAA;;AACkB,2BAAuB,WAAvB;;AAAhB,sBAAgB,SAAhB;AAAuC,O;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACG3C;AAAA;;;AAAA;AAAA;AAAA;;QAAa03D,qB;AAaX;;;;;AAKA,qCAAoBv9D,mBAApB,EAAsEw9D,SAAtE,EAAmG;AAAA;;AAA/E,aAAAx9D,mBAAA,GAAAA,mBAAA;AAAkD,aAAAw9D,SAAA,GAAAA,SAAA,CAA6B,CAjBnG;;AACA,aAAA/hB,UAAA,GAAa,EAAb;AACA,aAAA6gB,gBAAA,GAAmB,IAAnB;AACA,aAAAmB,qBAAA,GAAwB,IAAxB;AACA,aAAAC,mBAAA,GAAsB,EAAtB;AAEA,aAAAV,aAAA,GAA+B;AAC7B/rD,gBAAM,EAAEuqD,MAAM,CAACmC,OAAP,EADqB;AAE7BV,qBAAW,EAAE,kBAFgB;AAG7BC,qBAAW,EAAE;AAHgB,SAA/B;AAYC;AAED;;;;AAIA;;;;;;;mCAGW;AACT,eAAKQ,mBAAL,GAA2B,KAAKF,SAAL,CAAe1C,UAAf,CAA0B,eAA1B,EAA2C,IAA3C,EAAiDj1D,QAAjD,EAA3B;AACA,eAAK41C,UAAL,GAAkB,KAAKmiB,UAAL,EAAlB;AACA,eAAKtB,gBAAL,GAAwB,KAAKt8D,mBAAL,CAAyBO,SAAzB,CAAmC,oBAAnC,CAAxB;AACA,eAAKk9D,qBAAL,GAA6B,KAAKz9D,mBAAL,CAAyBO,SAAzB,CAAmC,0BAAnC,CAA7B;AACD;;;qCAEY;AACX,cAAMs9D,eAAe,GAAG,KAAK79D,mBAAL,CAAyBO,SAAzB,CAAmC,mBAAnC,KAA2D,EAAnF;AACA,cAAM06D,cAAc,GAAG,KAAKj7D,mBAAL,CAAyBO,SAAzB,CAAmC,kBAAnC,KAA0D,EAAjF;AACA,cAAIyE,MAAM,GAAG,iBAAb;;AACA,cAAI,CAAC,KAAKs3D,gBAAV,EAA4B;AAC1B,gBAAIuB,eAAe,KAAK,OAAxB,EAAiC;AAC/B74D,oBAAM,GAAG,eAAT;AACD;AACF,WAJD,MAIO;AACL,gBAAIi2D,cAAc,KAAK,OAAvB,EAAgC;AAC9Bj2D,oBAAM,GAAG,eAAT;AACD;AACF;;AACD,gDAA+BA,MAA/B;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qECvDC,yH,IACE,mZ,GAAA;AAAA;AAAA;AAAA,c,EAAqC,wL,GAAA;AAAA;;AAAA,4JAAgC,OAAhC,CAAgC,SAAhC;;AAAiC;;AAAtE,sBAAqC,SAArC,EAAsE,SAAtE;AAAkF,O,EAAA,I;AAAA;;;qEAIpF,yH,IACE,yW,GAAA;AAAA;AAAA;AAAA;AAAA,c,GAIC;AAAA;AAHC,2BAAyB,WAAzB;AACA,2BAA+C,sBAA/C;AACA,2BAAuC,kBAAvC;;AAHF,sBACE,SADF,EAEE,SAFF,EAGE,SAHF;AAGyC,O,EAAA,I;AAAA;;;qEAO3C,yH,IACE,wH,IAAK,I,EAAA,I;AAAA;;;;;WArBX,yM,GAAA;AAAA;AAAA;AAAA,c,EAAA,+O,GAEE,wL,GAAA;AAAA;AAAA;AAAA,c,GAEE,iH,GAAA;AAAA;AAAA,c,EAAc,wL,GAKd,iH,GAAA;AAAA;AAAA,c,GAWA,iH,GAAA;AAAA;AAAA,c,GAIA,kU,GAAA,sQ,GAA0B;AAAA;AAxBN;AAAgB,2BAAyB,cAAzB;;AAAxC,sBAAwB,SAAxB,EAAwC,SAAxC;;AAE0C;AAAnC,2BAAkC,uBAAlC;;AAAL,sBAAwC,SAAxC,EAAK,SAAL;;AAEgB;;AAAd,sBAAc,SAAd;;AAKc,2BAA6B,sBAA7B;;AAAd,uBAAc,SAAd;;AAWc,4BAA8B,sBAA9B;;AAAd,uBAAc,SAAd;AAA4C,O,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnBhD;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAqBa84D,e;AAWX;;;;;;;;;AASA,+BACU/9D,MADV,EAEUg+D,gBAFV,EAGU/9D,mBAHV,EAISM,MAJT,EAKS45D,gBALT,EAK2C;AAAA;;AAAA;;AAJjC,aAAAn6D,MAAA,GAAAA,MAAA;AACA,aAAAg+D,gBAAA,GAAAA,gBAAA;AACA,aAAA/9D,mBAAA,GAAAA,mBAAA;AACD,aAAAM,MAAA,GAAAA,MAAA;AACA,aAAA45D,gBAAA,GAAAA,gBAAA,CAAkC,CAxB3C;;AACA,aAAA8D,aAAA,GAAgB,EAAhB;AACA,aAAAC,sBAAA,GAAyB,EAAzB;AACA,aAAAC,iBAAA,GAAoB,EAApB;AACA,aAAAziB,UAAA,GAAa,EAAb;AACA,aAAA0iB,gBAAA,GAAmB,EAAnB;AACA,aAAAV,qBAAA,GAAwB,IAAxB,CAkB2C,CAEzC;;AACA,aAAK19D,MAAL,CAAYe,MAAZ,CAAmBC,SAAnB,CAA6B,UAAAC,KAAK,EAAI;AACpC,cAAIA,KAAK,YAAY,+DAArB,EAAsC;AACpC;AACA,oBAAI,CAACV,MAAL,CAAY89D,KAAZ;AACD;;AACD,cAAIp9D,KAAK,YAAY,oEAArB,EAA2C;AACzC,oBAAI,CAACV,MAAL,CAAY+9D,SAAZ,CAAsB,EAAtB;AACD;;AACD,cAAIr9D,KAAK,YAAY,kEAArB,EAAyC;AACvC,oBAAI,CAACV,MAAL,CAAY+9D,SAAZ,CAAsB,EAAtB;AACD;;AACD,cAAIr9D,KAAK,YAAY,6DAAjB,IAAkCA,KAAK,YAAY,gEAAvD,EAAyE;AACvE;AACA,oBAAI,CAACV,MAAL,CAAYgD,QAAZ;AACD;AACF,SAfD;AAgBD;AAED;;;;AAIA;;;;;;;mCAGQ;AACN,eAAK06D,aAAL,GAAqB,KAAK9D,gBAAL,CAAsBY,UAAtB,CAAiC,QAAjC,EAA2C,IAA3C,EAAiDj1D,QAAjD,EAArB;AACA,eAAKs4D,gBAAL,GAAwB,KAAKjE,gBAAL,CAAsBoE,aAAtB,CAAoC,QAApC,CAAxB;AACA,eAAK7iB,UAAL,GAAkB,KAAK1hC,OAAL,EAAlB;AACA,eAAK0jD,qBAAL,GAA6B,KAAKz9D,mBAAL,CAAyBO,SAAzB,CAAmC,0BAAnC,CAA7B;AACA,eAAK09D,sBAAL,GAA8B,KAAK/D,gBAAL,CAAsBY,UAAtB,CAAiC,kBAAjC,EAAqD,IAArD,EAA2Dj1D,QAA3D,EAA9B;AACA,eAAKq4D,iBAAL,GAAyB,KAAKhE,gBAAL,CAAsBY,UAAtB,CAAiC,aAAjC,EAAgD,IAAhD,EAAsDj1D,QAAtD,EAAzB,CANM,CAON;AAEA;;AACA;;;;AAID;;;0CAEc;AACb;AACA,eAAKk4D,gBAAL,CAAsBQ,UAAtB,CAAiC,QAAjC,EAA2C,KAAKC,QAAL,CAAchzD,aAAzD;AACD;;;kCAES;AACR,cAAIxG,MAAM,GAAG,gBAAb;AACA,cAAM64D,eAAe,GAAG,KAAK79D,mBAAL,CAAyBO,SAAzB,CAAmC,mBAAnC,KAA2D,EAAnF;;AACA,cAAIs9D,eAAe,KAAK,OAAxB,EAAiC;AAC/B74D,kBAAM,GAAG,eAAT;AACD,WAFD,MAEO;AACL,gBAAI64D,eAAe,KAAK,MAAxB,EAAgC;AAC9B74D,oBAAM,GAAG,gBAAT;AACD;AACF;;AACD,gDAA+BA,MAA/B;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qEC1GD,yH,IAEE,gJ,IACE;AAAA;;AAAA;;;;;;OAAA,E,IAAA,E,IAAA,C;;iBACE,kJ,IAA0C;AADrB;;AAAvB,sBAAuB,SAAvB;AAAqC,O,EAAA;AAAA;;AAArC;;AAAA;;AAAA;;AACkB,2BAAuB,WAAvB;;AAAhB,sBAAgB,SAAhB;AAAuC,O;AAAA;;;qEAW3C,gI,GAAA;AAAA;AAAA;AAAA,c,EAAmE;AAAA;AAAA,Q,GAAA,4E,IAAA;AAAA,wCAA0C,OAA1C,CAA0C,OAA1C,CAA0C,SAA1C;;AAAlC;;AAAjC,sBAAmE,SAAnE,EAAiC,SAAjC;AAAkE,O,EAAA,I;AAAA;;;qEADnE,yH,IACC,yH,GAAA;AAAA;AAAA,c,GAA8G,4E,IAAA;AAAhG,0BAAkB,QAAlB,CAAkB,SAAlB,CAAkB,KAAlB;;AAAd,sBAAc,SAAd;AAAgC,O,EAAA,I;AAAA;;;qEAsB/B,6I,IAAwD,I,EAAA,I;AAAA;;;qEAFzD,yH,IAEC,yH,GAAA;AAAA;AAAA,c,GAAwD,4E,IAAA;AAArD,mEAAiC,OAAjC,CAAiC,MAAjC,CAAiC,OAAjC,CAAiC,IAAjC,CAAiC,IAAjC;;AAAH,sBAAG,SAAH;AAAoC,O,EAAA,I;AAAA;;;qEAGrC,6I,IAAyD,I,EAAA,I;AAAA;;;qEAV3D,yH,IACC,kL,IAEC,gI,GAAA;AAAA;AAAA;AAAA,c,EAAyD;AAAA;AAAA;AAAA,Q,GAEzD,yH,GAAA;AAAA;AAAA,c,GAKA,yH,GAAA;AAAA;AAAA,c,GAAyD;AAAA;;AAPA,gEAAkE,OAAlE,CAAkE,OAAlE,CAAkE,UAAlE;;AAA3C;;AAAd,sBAAyD,SAAzD,EAAc,SAAd;;AAEc,2BAAwB,iBAAxB;;AAAd,sBAAc,SAAd;;AAKG,6DAAkC,OAAlC,CAAkC,OAAlC,CAAkC,IAAlC,CAAkC,IAAlC;;AAAH,sBAAG,SAAH;AAAqC,O,EAAA,I;AAAA;;;qEAKvC,yH,IACC;AAAA;;AAAA;;;;;;OAAA,E,IAAA,E,IAAA,C;;iBACC,gI,GAAA;AAAA;AAAA;AAAA,c,EAAyD;AAAA;AAAA;AAAA,Q,GAAkE;AADzH,0BAAwB,OAAxB,CAAwB,OAAxB,CAAwB,IAAxB,CAAwB,IAAxB;;AAAH,sBAAG,SAAH;;AAC0D,gEAAkE,OAAlE,CAAkE,OAAlE,CAAkE,UAAlE;;AAA3C;;AAAd,sBAAyD,SAAzD,EAAc,SAAd;AAAwD,O,EAAA;AADzD;;AAAA;;AAAA;AAA8C,O;AAAA;;;qEAW5C,yH,IACC,gI,GAAA;AAAA;AAAA;AAAA,c,EAAgD;AAAA;AAAA;AAAA,Q,GAAA,4E,IAAA;AAAA,8DAA6D,OAA7D,CAA6D,MAA7D,CAA6D,MAA7D,CAA6D,OAA7D,CAA6D,IAA7D;;AAAlC;;AAAd,sBAAgD,SAAhD,EAAc,SAAd;AAA+C,O,EAAA,I;AAAA;;;qEAFjD,+I,IACC,0H,GAAA;AAAA;AAAA,c,GAAiD;AAAnC,0BAAkC,OAAlC,CAAkC,MAAlC,CAAkC,OAAlC,CAAkC,IAAlC,CAAkC,OAAlC;;AAAd,sBAAc,SAAd;AAAgD,O,EAAA,I;AAAA;;;qEAOhD,yH,IACC,gI,GAAA;AAAA;AAAA;AAAA,c,EAAgD;AAAA;AAAA;AAAA,Q,GAAA,4E,IAAA;AAAA,8DAA6D,OAA7D,CAA6D,MAA7D,CAA6D,MAA7D,CAA6D,OAA7D,CAA6D,IAA7D;;AAAlC;;AAAd,sBAAgD,SAAhD,EAAc,SAAd;AAA+C,O,EAAA,I;AAAA;;;qEAFjD,+I,IACC,0H,GAAA;AAAA;AAAA,c,GAAuD;AAAzC,0BAAwC,OAAxC,CAAwC,MAAxC,CAAwC,OAAxC,CAAwC,IAAxC,CAAwC,OAAxC,CAAwC,KAAxC;;AAAd,sBAAc,SAAd;AAAsD,O,EAAA,I;AAAA;;;qEAQrD,yH,IACC,gI,GAAA;AAAA;AAAA;AAAA,c,EAAsD;AAAA;AAAA,Q,GAAA,4E,IAAA;AAAA,wCAA2C,QAA3C,CAA2C,SAA3C;;AAAxC;;AAAd,sBAAsD,SAAtD,EAAc,SAAd;AAAqD,O,EAAA,I;AAAA;;;qEAHxD,gJ,IACC,gJ,IACC,0H,GAAA;AAAA;AAAA,c,GAAyD;AAA3C,0BAA0C,OAA1C,CAA0C,MAA1C,CAA0C,OAA1C,CAA0C,IAA1C,CAA0C,OAA1C,CAA0C,OAA1C;;AAAd,sBAAc,SAAd;AAAwD,O,EAAA,I;AAAA;;;qEApB5D,0H,IACC,kJ,GAAA;AAAA;AAAA;AAAA,c,EAAA;AAAA;AAAA,c,EAAoE;AAAA;AAAA,Q,GACnE,gJ,GAAA;AAAA;AAAA;AAAA,c,EAAyB;AAAA;AAAA,Q,GAEzB,0H,GAAA;AAAA;AAAA,c,GAOA,0H,GAAA;AAAA;AAAA,c,GAOA,0H,GAAA;AAAA;AAAA,c,GAA8F;AAAA;AAjB1F;;AAAqB,sDAAyC,OAAzC,CAAyC,OAAzC,CAAyC,IAAzC;;AAA1B,sBAAK,SAAL,EAA0B,SAA1B;;AAAoE,wCAA2C,OAA3C,CAA2C,OAA3C,CAA2C,IAA3C,CAA2C,OAA3C,CAA2C,KAA3C;;AAApE,sBAAoE,SAApE;;AACO;;AAAmB,wCAA8C,OAA9C,CAA8C,OAA9C,CAA8C,IAA9C,CAA8C,IAA9C;;AAAzB,sBAAM,SAAN,EAAyB,SAAzB;;AAEI,0EAA4B,OAA5B,CAA4B,OAA5B,CAA4B,IAA5B,CAA4B,OAA5B,CAA4B,MAA5B;;AAAJ,sBAAI,SAAJ;;AAOI,gFAAkC,OAAlC,CAAkC,OAAlC,CAAkC,IAAlC,CAAkC,OAAlC,CAAkC,KAAlC,CAAkC,MAAlC;;AAAJ,uBAAI,SAAJ;;AAOK,qIAAoE,OAApE,CAAoE,OAApE,CAAoE,IAApE,CAAoE,OAApE,CAAoE,OAApE,CAAoE,MAApE;;AAAL,uBAAK,SAAL;AAAyE,O,EAAA,I;AAAA;;;qEA7C5E,wK,GAAA;AAAA;AAAA,c,GAKC,yH,GAAA;AAAA;AAAA,c,GAeA,yH,GAAA;AAAA;AAAA,c,GAOA,0H,GAAA;AAAA;AAAA,c,GAAmC;AAAA;;AAzBnC,gDAAmC,QAAnC,CAAmC,IAAnC;;AAFD,sBAEC,SAFD;;AAKe,0BAAoB,QAApB,CAAoB,IAApB,CAAoB,OAApB;;AAAd,sBAAc,SAAd;;AAec,2BAAqB,QAArB,CAAqB,IAArB,CAAqB,OAArB;;AAAd,sBAAc,SAAd;;AAOc,0BAAoB,QAApB,CAAoB,IAApB,CAAoB,OAApB;;AAAd,sBAAc,SAAd;AAAkC,O,EAAA;AAAA;AA3B/B;;AACH,uDAAwD,QAAxD,CAAwD,IAAxD;;AADD,sBAAI,SAAJ,EACC,SADD;AACyD,O;AAAA;;;qEA4DzD,yH,IACC,4I,GAAA;AAAA;AAAA;AAAA,c,GAA2C;AAAxC;AAAkB,0BAAqB,OAArB,CAAqB,OAArB,CAAqB,IAArB,CAAqB,IAArB;;AAArB,sBAAG,SAAH,EAAqB,SAArB;AAA0C,O,EAAA,I;AAAA;;;qEAK1C,yK,IACC,yH,IAAM,I,EAAA,I;AAAA;;;qEAEP,0K,IACC,yH,IAAM,I,EAAA,I;AAAA;;;qEANR,yH,IAEC,0H,GAAA;AAAA;AAAA,c,GAGA,0H,GAAA;AAAA;AAAA,c,GAAgI,4E,IAAA;AAH7H;;AAAH,sBAAG,SAAH;;AAGG;;AAAH,sBAAG,SAAH;AAA+E,O,EAAA,I;AAAA;;;qEAKhF,yH,IACC,oJ,IAEA,+I,GAAA;AAAA;AAAA,c,GAAqD,+E,IAErD;AAFwB,0BAA4B,OAA5B,CAA4B,OAA5B,CAA4B,IAA5B,CAA4B,SAA5B;;AAAxB,sBAAwB,SAAxB;AAAoD,O,EAAA;AAAC;;AAAA;AAErD,O;AAAA;;;qEAKA,+I,GAAA;AAAA;AAAA,c,GAAqD,6E,IACrD,qJ,IACC,8L,GAAA;AAAA;AAAA;AAAA,c,EAAA;AAAA;AAAA,c,GAAsI,6E,IAAoB;AAFnI,0BAA4B,OAA5B,CAA4B,OAA5B,CAA4B,IAA5B,CAA4B,SAA5B;;AAAxB,sBAAwB,SAAxB;;AAEO;AAAiE,0BAA2B,OAA3B,CAA2B,OAA3B,CAA2B,IAA3B,CAA2B,KAA3B,CAA2B,IAA3B;;AAAvE,sBAAM,SAAN,EAAuE,SAAvE;;AAAmG,0BAAkC,OAAlC,CAAkC,OAAlC,CAAkC,IAAlC,CAAkC,KAAlC,CAAkC,SAAlC;;AAAnG,sBAAmG,SAAnG;AAAqI,O,EAAA;AAFjF;;AAAA;;AAEkF;;AAAA;AAAoB,O;AAAA;;;qEA1B5J,0H,GAAA;AAAA;AAAA,c,GAIA,0H,GAAA;AAAA;AAAA,c,GAUA,0H,GAAA;AAAA;AAAA;AAAA,c,GAQA,qI,IAA4B;AAtBd,0BAAiB,QAAjB,CAAiB,IAAjB,CAAiB,IAAjB;;AAAd,sBAAc,SAAd;;AAIc,2BAAkB,QAAlB,CAAkB,IAAlB,CAAkB,IAAlB;;AAAd,sBAAc,SAAd;;AAUc;;AAAA;;AAAd,sBAAc,SAAd,EAAc,SAAd;AAAqD,O,EAAA,I;AAAA;;;qEA4BlD,yH,IACC,gI,GAAA;AAAA;AAAA;AAAA,c,EAAgD;AAAA;AAAA;AAAA,Q,GAAA,4E,IAAA;AAAA,8DAA6D,OAA7D,CAA6D,MAA7D,CAA6D,OAA7D,CAA6D,IAA7D;;AAAlC;;AAAd,sBAAgD,SAAhD,EAAc,SAAd;AAA+C,O,EAAA,I;AAAA;;;qEAHlD,yH,IACC,8I,IACC,0H,GAAA;AAAA;AAAA,c,GAA+C;AAAjC,0BAAgC,OAAhC,CAAgC,OAAhC,CAAgC,IAAhC,CAAgC,KAAhC;;AAAd,sBAAc,SAAd;AAA8C,O,EAAA,I;AAAA;;;qEATjD,6I,IACC,4J,IACC,+I,GAAA;AAAA;AAAA,c,GAA6D,+E,IAG7D,mK,IAED,0H,GAAA;AAAA;AAAA,c,GAAyC;AALhB,0BAAoC,QAApC,CAAoC,IAApC,CAAoC,OAApC,CAAoC,SAApC;;AAAxB,sBAAwB,SAAxB;;AAKa,iEAA0B,QAA1B,CAA0B,IAA1B,CAA0B,KAA1B,CAA0B,MAA1B;;AAAd,sBAAc,SAAd;AAAwC,O,EAAA;AALsB;;AAAA;AAE7D,O;AAAA;;;;;WA5HH,oP,IACE,yH,GAAA;AAAA;AAAA,c,GAWA,8M,GAAA;AAAA;AAAA;AAAA,c,EAAA;AAAA;AAAA,c,GAEE,4I,GAAA;AAAA;AAAA;AAAA,c,GACD,yH,GAAA;AAAA;AAAA,c,EAAc,wL,GAUjB,mI,IA4DA,6I,IAkCA,0I,IAAiD;AAAA;AAtHjC,4BAA8B,sBAA9B;;AAAd,sBAAc,SAAd;;AAWwD;AAAwC,2BAA6B,kBAA7B;;AAAhG,sBAAwD,SAAxD,EAAgG,SAAhG;;AAAY,2BAAuB,YAAvB;;AAAZ,sBAAY,SAAZ;;AAEM;;AAAiB;;AAArB,sBAAI,SAAJ,EAAqB,SAArB;;AACa,8JAAqD,eAArD,CAAqD,SAArD;;AAAd,uBAAc,SAAd;AAAmE,O,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJtE;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA,wI,CACA;AAEA;;;QAmBay5D,uB;AAqCX;;;;;;;;;;;;AAYA,uCACU5zD,EADV,EAESqvD,gBAFT,EAGSwE,cAHT,EAIUnkD,iBAJV,EAKUva,mBALV,EAMUD,MANV,EAOUiU,MAPV,EAQUonC,GARV,EAQgC;AAAA;;AAPtB,aAAAvwC,EAAA,GAAAA,EAAA;AACD,aAAAqvD,gBAAA,GAAAA,gBAAA;AACA,aAAAwE,cAAA,GAAAA,cAAA;AACC,aAAAnkD,iBAAA,GAAAA,iBAAA;AACA,aAAAva,mBAAA,GAAAA,mBAAA;AACA,aAAAD,MAAA,GAAAA,MAAA;AACA,aAAAiU,MAAA,GAAAA,MAAA;AACA,aAAAonC,GAAA,GAAAA,GAAA,CAAsB,CAlDhC;;AACA,aAAAkf,eAAA,GAAuB,EAAvB;AACA,aAAAgC,gBAAA,GAAmB,EAAnB;AAGA,aAAA9B,WAAA,GAA2B;AACzBn1C,iBAAO,EAAE;AACPtZ,mBAAO,EAAE,UADF;AAEP0uD,kBAAM,EAAE,WAFD;AAGPzuD,kBAAM,EAAE;AAHD,WADgB;AAMzBsZ,mBAAS,EAAE;AACTq5C,sBAAU,EAAE,GADH;AAETjE,qBAAS,EAAE,KAFF,CAEQ;;AAFR,WANc;AAUzB10C,kBAAQ,EAAE;AACR44C,mBAAO,EAAE;AADD;AAVe,SAA3B;AAeA,aAAAlH,gBAAA,GAAqC;AACnC3N,iBAAO,EAAE,IAD0B;AAEnC4N,mBAAS,EAAE,qBAFwB;AAGnCC,iBAAO,EAAE,iCAH0B;AAInCC,kBAAQ,EAAE;AACR5mD,kBAAM,EAAE,yBADA;AAER0c,iBAAK,EAAE;AAFC;AAJyB,SAArC;AAgCC;AAED;;;;AAIA;;;;;;;0CAGe,CACd;AAED;;;;;;mCAGQ;AAAA;;AACN,eAAKkxC,gBAAL,GAAwB,KAAK7+D,mBAAL,CAAyBO,SAAzB,CAAmC,4BAAnC,CAAxB;AACA,eAAK+5D,eAAL,GAAuB,KAAKv6D,MAAL,CAAYmb,GAAnC;AACA9Z,oBAAU,CAAC,YAAM;AACf,oBAAI,CAACoL,SAAL,GAAiB,IAAIC,WAAJ,CAAgB,QAAI,CAACqyD,mBAAL,CAAyBtzD,aAAzC,EAAwD,QAAI,CAACksD,gBAA7D,CAAjB;AACD,WAFS,CAAV;AAGA,eAAK33D,MAAL,CAAYe,MAAZ,CACGqC,IADH,CACQ,8DAAO,UAAAnC,KAAK;AAAA,mBAAIA,KAAK,YAAY,6DAArB;AAAA,WAAZ,CADR,EAEGD,SAFH,CAEa,UAAAC,KAAK,EAAI;AAClB,oBAAI,CAACs5D,eAAL,GAAuB,QAAI,CAACv6D,MAAL,CAAYmb,GAAnC;;AACA,oBAAI,CAACy/C,eAAL;;AACA,oBAAI,CAACvf,GAAL,CAASxkC,YAAT;AACD,WANH;AAOD;AAED;;;;;;;0CAIkBpR,I,EAAM;AACtB,cAAI2tD,OAAO,GAAG,WAAd;;AAEA,cAAI,gDAAe3tD,IAAf,EAAqB,SAArB,CAAJ,EAAqC;AACnC2tD,mBAAO,IAAI,oBAAX;AACD;;AAED,cAAI,CAAC3tD,IAAI,CAAC6f,OAAN,IAAiB,KAAKg2C,kBAAL,CAAwB71D,IAAxB,CAArB,EAAoD;AAClD2tD,mBAAO,IAAI,kCAAX;AACD;;AAED,cAAI3tD,IAAI,CAAC6f,OAAL,IAAgB,KAAKg2C,kBAAL,CAAwB71D,IAAxB,CAApB,EAAmD;AACjD2tD,mBAAO,IAAI,gCAAX;AACD;;AAED,cAAI,gDAAe3tD,IAAf,EAAqB,SAArB,CAAJ,EAAqC;AACnC2tD,mBAAO,IAAI,mBAAX;AACD;;AAED,cAAM4L,QAAQ,GAAG,gDAAev5D,IAAf,EAAqB,cAArB,KAAwC,SAAzD;;AACA,cAAK,gDAAeA,IAAf,EAAqB,MAArB,KAAgCu5D,QAAQ,KAAK,SAA9C,IACCt1D,QAAQ,CAAC,gDAAejE,IAAf,EAAqB,eAArB,CAAD,EAAwC,EAAxC,CAAR,GAAsD,CAD3D,EAC8D;AAC5D2tD,mBAAO,IAAI,gBAAX;AACD;;AAED,cAAMuI,WAAW,GAAG,gDAAel2D,IAAf,EAAqB,cAArB,CAApB;;AACA,cAAIk2D,WAAJ,EAAiB;AACfvI,mBAAO,IAAI,MAAMuI,WAAjB;AACD;;AAED,cAAI,gDAAel2D,IAAf,EAAqB,WAArB,CAAJ,EAAuC;AACrC2tD,mBAAO,IAAI,sBAAX;AACD;;AAED,iBAAOA,OAAP;AACD;AAED;;;;;;;iDAIyB3tD,I,EAAM;AAC7B,cAAIgP,MAAM,GAAG,OAAb;;AACA,cAAI,gDAAehP,IAAf,EAAqB,QAArB,MAAmC,OAAvC,EAAgD;AAC9CgP,kBAAM,GAAG,OAAT;AACD,WAFD,MAEO,IAAI,gDAAehP,IAAf,EAAqB,cAArB,MAAyC,MAA7C,EAAqD;AAC1DgP,kBAAM,GAAG,MAAT;AACD,WAFM,MAEA,CACL;AACD;;AAED,iBAAOA,MAAP;AACD;AAED;;;;;;;gDAIwBhP,I,EAAM;AAC5B,cAAI2tD,OAAO,GAAG,EAAd;AAEA,cAAMvsC,SAAS,GAAG,gDAAephB,IAAf,EAAqB,WAArB,KAAqC,OAAvD;;AAEA,cAAIohB,SAAJ,EAAe;AACbusC,mBAAO,IAAI,mBAAmBvsC,SAA9B;AACD;;AAED,cAAMxe,IAAI,GAAG,gDAAe5C,IAAf,EAAqB,MAArB,KAAgC,SAA7C;;AACA,cAAI4C,IAAI,KAAK,SAAb,EAAwB;AACtB+qD,mBAAO,IAAI,uBAAX;AACD;;AACD,cAAI/qD,IAAI,KAAK,MAAb,EAAqB;AACnB+qD,mBAAO,IAAI,oBAAX;AACD;;AACD,cAAI/qD,IAAI,KAAK,MAAb,EAAqB;AACnB,gBAAI,gDAAe5C,IAAf,EAAqB,OAArB,CAAJ,EAAmC;AACjC2tD,qBAAO,IAAI,qBAAX;AACD;AACF;;AAED,cAAI,gDAAe3tD,IAAf,EAAqB,MAArB,CAAJ,EAAkC;AAChC2tD,mBAAO,IAAI,oBAAX;AACD;;AAED,iBAAOA,OAAP;AACD;AAED;;;;;;;2CAImB3tD,I,EAAI;AACrB,cAAIA,IAAI,CAAC6f,OAAT,EAAkB;AAChB,mBAAO,KAAK61C,sBAAL,CAA4B11D,IAA5B,CAAP;AACD;;AAED,cAAI,CAACA,IAAI,CAACqhB,IAAV,EAAgB;AACd,mBAAO,KAAP;AACD;;AAED,iBAAO,KAAKyzC,eAAL,CAAqBp0D,OAArB,CAA6BV,IAAI,CAACqhB,IAAlC,MAA4C,CAAC,CAApD;AACD;AAED;;;;;;;+CAIuBrhB,I,EAAI;AACzB,cAAIA,IAAI,CAAC6f,OAAL,CAAatgB,KAAjB,EAAwB;AAAA,wDACAS,IAAI,CAAC6f,OAAL,CAAatgB,KADb;AAAA;;AAAA;AACtB,qEAA0C;AAAA,oBAA/Bq2D,OAA+B;;AACxC,oBAAI,KAAKC,kBAAL,CAAwBD,OAAxB,CAAJ,EAAsC;AACpC,yBAAO,IAAP;AACD;AACF;AALqB;AAAA;AAAA;AAAA;AAAA;AAMvB;;AAED,cAAI51D,IAAI,CAAC6f,OAAL,CAAai6B,OAAjB,EAA0B;AAAA,wDACF95C,IAAI,CAAC6f,OAAL,CAAai6B,OADX;AAAA;;AAAA;AACxB,qEAA4C;AAAA,oBAAjC8b,QAAiC;;AAC1C,oBAAI,KAAKC,kBAAL,CAAwBD,QAAxB,CAAJ,EAAsC;AACpC,yBAAO,IAAP;AACD;AACF;AALuB;AAAA;AAAA;AAAA;AAAA;AAMzB;;AAED,cAAI,OAAO51D,IAAI,CAAC6f,OAAL,CAAa25C,MAAM,CAACC,QAApB,CAAP,KAAyC,UAA7C,EAAyD;AAAA,wDACjCz5D,IAAI,CAAC6f,OAD4B;AAAA;;AAAA;AACvD,qEAAoC;AAAA,oBAAzB+1C,SAAyB;AAClC,oBAAMvL,MAAM,GAAG,KAAKwL,kBAAL,CAAwBD,SAAxB,CAAf;;AACA,oBAAIvL,MAAJ,EAAY;AACV,yBAAO,IAAP;AACD;AACF;AANsD;AAAA;AAAA;AAAA;AAAA;AAOxD;;AAED,iBAAO,KAAP;AACD;;;0CAEiB;AAChB,cAAI2L,MAAM,CAACG,gBAAP,CAAwB,IAAxB,KAAiC,KAAKnvD,SAA1C,EAAqD;AAAE;AACrD,iBAAKA,SAAL,CAAevL,IAAf,GADmD,CAC5B;AACxB;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qECzQD,yH,IAEE,uZ,GAAA;AAAA;AAAA;AAAA,c,GAA4F;AAAvE;AAAuD;;AAA5E,sBAAqB,SAArB,EAA4E,SAA5E;AAA2F,O,EAAA,I;AAAA;;;qEAI7F,yH,IAEI,oY,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,c,GAAkK;AAAtG;AAA+B;AAAuD;AAAjI;AAA0D;;AAA3E,sBAA4D,SAA5D,EAA2F,SAA3F,EAAkJ,SAAlJ,EAAiB,SAAjB,EAA2E,SAA3E;AAA0F,O,EAAA,I;AAAA;;;qEAI9F,yH,IAEC,kY,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA,c,GAAoJ;AAAxE;AAAwD;AAAnH;AAA2C;;AAA5D,sBAA4E,SAA5E,EAAoI,SAApI,EAAiB,SAAjB,EAA4D,SAA5D;AAA2E,O,EAAA,I;AAAA;;;qEAU5E,yH,IAEE,sL,GAAA;AAAA;AAAA,c,GACE,wM,IACI,kL,GAAA,inB,EAAA;AAAA;AAAA,c,GAAwH,4E,IAAA;AAFrG;;AAAzB,sBAAyB,SAAzB;;AAE0D;;AAApD,sBAAoD,SAApD;AAAuH,O,EAAA,I;AAAA;;;qEAM/H,yH,IAEE,ua,GAAA,mX,GAAA;AAAA;AAAsB,O,EAAA,I;AAAA;;;qEAKtB,yH,IACE,oY,GAAA;AAAA;AAAA,c,GAAyD;AAAA;AAAxC,2BAAuC,kBAAvC;;AAAjB,sBAAiB,SAAjB;AAAwD,O,EAAA,I;AAAA;;;qEAE1D,yH,IAEE,2Y,GAAA,8P,GAAA;AAAA;AAAkB,O,EAAA,I;AAAA;;;qEANtB,yH,IACE,iH,GAAA;AAAA;AAAA,c,GAGA,iH,GAAA;AAAA;AAAA,c,GAAiD,4E,IAAA;AAAA;AAHnC;;AAAd,sBAAc,SAAd;;AAGc;;AAAd,sBAAc,SAAd;AAAgD,O,EAAA,I;AAAA;;;qEA7CpD,0H,IACE,iH,GAAA;AAAA;AAAA,c,GAMA,iH,GAAA;AAAA;AAAA,c,GAMA,iH,GAAA;AAAA;AAAA,c,GAYA,iH,GAAA;AAAA;AAAA,c,GAUA,iH,GAAA;AAAA;AAAA,c,GAMA,iH,GAAA;AAAA;AAAA,c,GAAkC;AAAA;AAxCpB,2BAAqB,cAArB;;AAAd,sBAAc,SAAd;;AAMc,2BAA4B,qBAA5B;;AAAd,sBAAc,SAAd;;AAMc,2BAA2B,oBAA3B;;AAAd,sBAAc,SAAd;;AAYc,2BAAyB,kBAAzB;;AAAd,sBAAc,SAAd;;AAUc,2BAAwB,iBAAxB;;AAAd,uBAAc,SAAd;;AAMc,2BAAmB,YAAnB;;AAAd,uBAAc,SAAd;AAAiC,O,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjCnC;AAAA;;;AAAA;AAAA;AAAA;;QAAai+D,e,GAWX,yBAAoBl/D,mBAApB,EAA8D;AAAA;;AAA1C,WAAAA,mBAAA,GAAAA,mBAAA;AAVpB,WAAAm/D,aAAA,GAAgB,IAAhB;AACA,WAAAC,oBAAA,GAAuB,IAAvB;AACA,WAAAC,mBAAA,GAAsB,IAAtB;AACA,WAAAC,WAAA,GAAc,IAAd;AACA,WAAAC,iBAAA,GAAoB,IAApB;AACA,WAAAC,gBAAA,GAAmB,IAAnB;AACA,WAAAC,WAAA,GAAc,IAAd;AACA,WAAAC,UAAA,GAAa,WAAb;AACA,WAAA9F,iBAAA,GAAoB,OAApB;AAGE,WAAKuF,aAAL,GAAqB,KAAKn/D,mBAAL,CAAyBO,SAAzB,CAAmC,uBAAnC,CAArB;AACA,WAAK6+D,oBAAL,GAA4B,KAAKp/D,mBAAL,CAAyBO,SAAzB,CAAmC,8BAAnC,CAA5B;AACA,WAAK8+D,mBAAL,GAA2B,KAAKr/D,mBAAL,CAAyBO,SAAzB,CAAmC,8BAAnC,CAA3B;AACA,WAAK++D,WAAL,GAAmB,KAAKt/D,mBAAL,CAAyBO,SAAzB,CAAmC,qBAAnC,CAAnB;AACA,WAAKg/D,iBAAL,GAAyB,KAAKv/D,mBAAL,CAAyBO,SAAzB,CAAmC,4BAAnC,CAAzB;AACA,WAAKi/D,gBAAL,GAAwB,KAAKx/D,mBAAL,CAAyBO,SAAzB,CAAmC,0BAAnC,CAAxB;AACA,WAAKk/D,WAAL,GAAmB,KAAKz/D,mBAAL,CAAyBO,SAAzB,CAAmC,qBAAnC,CAAnB;AACA,WAAKm/D,UAAL,GAAkB,KAAK1/D,mBAAL,CAAyBO,SAAzB,CAAmC,oBAAnC,CAAlB;AACA,WAAKq5D,iBAAL,GAAyB,KAAK55D,mBAAL,CAAyBO,SAAzB,CAAmC,4BAAnC,CAAzB;AACD,K;;;;;;;;;;;;;;;;;AC5BH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA,6C,CAAA;AAEA;;;QAuBao/D,gB;AASX;;;AAGA,kCAAc;AAAA;;AANd;AACQ,aAAAC,MAAA,GAAmB,EAAnB;AAMN,aAAKC,iBAAL,GAAyB,IAAI,oDAAJ,CAAoB,KAAK1M,OAAzB,CAAzB;AACD;AAED;;;;;;;;kCAIUl6C,Y,EAAiC;AACzC,eAAKzY,MAAL,GAAc,KAAKs/D,OAAL,CAAa7mD,YAAb,CAAd,CADyC,CAGzC;;AACA,eAAKk6C,OAAL,GAAe;AACbvnD,kBAAM,EAAE,EADK;AAEbm0D,4BAAgB,EAAE,EAFL;AAGbC,yBAAa,EAAE,EAHF;AAIbC,uBAAW,EAAE,EAJA;AAKbC,sBAAU,EAAE,EALC;AAMb36C,qBAAS,EAAE,EANE;AAOb46C,+BAAmB,EAAE,EAPR;AAQbz/D,mBAAO,EAAE,EARI;AASb0/D,6BAAiB,EAAE,EATN;AAUbC,4BAAgB,EAAE;AAVL,WAAf;AAaA,eAAKC,KAAL,GAAa;AACXJ,sBAAU,EAAE;AADD,WAAb,CAjByC,CAqBzC;;AACA,eAAKK,UAAL;AACA,eAAKC,UAAL,GAvByC,CAyBzC;;AACA,eAAKC,UAAL;AACA,eAAKC,aAAL,GA3ByC,CA6BzC;;AACA,eAAKC,WAAL,GA9ByC,CA+BzC;;AACA,eAAKC,SAAL,GAhCyC,CAkCzC;;AACA,eAAKC,UAAL;AAEA,eAAKC,SAAL;AAEA,eAAKjB,iBAAL,CAAuBv4D,IAAvB,CAA4B,KAAK6rD,OAAjC;AACD;AAED;;;;;;;;;mCAMW9zD,I,EAAewG,Q,EAAkB;AAC1C,cAAIxG,IAAJ,EAAU;AACR,gBAAM8zD,OAAO,GAAG,gDAAe,KAAKA,OAApB,EAA6B9zD,IAA7B,KAAsC,EAAtD;;AACA,gBAAIwG,QAAQ,IAAIsP,KAAK,CAACC,OAAN,CAAc+9C,OAAd,CAAhB,EAAwC;AACtC,qBAAOA,OAAO,CAACn+C,IAAR,CAAa,GAAb,CAAP;AACD;;AACD,mBAAOm+C,OAAO,CAACttD,QAAR,EAAP;AACD;;AACD,iBAAO,KAAKstD,OAAZ;AACD;;;sCAEa9zD,I,EAAY;AACxB,iBAAO,KAAKihE,KAAL,CAAWjhE,IAAX,CAAP;AACD;;;gCAEeqQ,M,EAAQ;AACtB,cAAMqxD,aAAa,GAAG7hE,MAAM,CAACmb,MAAP,CAAc,EAAd,EAAkB3K,MAAlB,CAAtB;AACA,cAAMsxD,cAAc,GAAG,gDAAeD,aAAf,EAA8B,iBAA9B,CAAvB;AACA,cAAME,sBAAsB,GAAG,gDAC7BF,aAD6B,EAE7B,2BAF6B,CAA/B;;AAIA,cAAIC,cAAc,IAAIC,sBAAtB,EAA8C;AAC5CF,yBAAa,CAACx7C,SAAd,CAAwBnS,KAAxB,GAAgC,OAAhC;AACD,WAFD,MAEO;AACL2tD,yBAAa,CAACx7C,SAAd,CAAwBL,KAAxB,GAAgC,KAAhC;AACD;;AAED,iBAAOxV,MAAP;AACD;AAED;;;;;;qCAGqB;AACnB,cAAMwxD,uBAAuB,GAAG,gDAC9B,KAAK1gE,MADyB,EAE9B,4BAF8B,CAAhC;;AAIA,cAAI0gE,uBAAJ,EAA6B;AAC3B7/D,oBAAQ,CAACC,IAAT,CAAc8R,KAAd,CAAoB+tD,eAApB,mBAA8CD,uBAA9C;AACD;;AAED,cAAME,aAAa,GAAG,CACpB,gDAAe,KAAK5gE,MAApB,EAA4B,iBAA5B,KAAkD,EAD9B,EAEpBqF,QAFoB,EAAtB;;AAGA,cAAIu7D,aAAJ,EAAmB;AACjB,gBAAMC,WAAW,GAAaD,aAAa,CAAC/2D,KAAd,CAAoB,GAApB,CAA9B;AACAg3D,uBAAW,CAAC3/D,OAAZ,CAAoB,UAAC4/D,QAAD;AAAA,qBAAcjgE,QAAQ,CAACC,IAAT,CAAcC,SAAd,CAAwBC,GAAxB,CAA4B8/D,QAA5B,CAAd;AAAA,aAApB;AACD;AACF;AAED;;;;;;qCAGqB,CAAE;AAEvB;;;;;;qCAGqB;AACnB;AACA,cAAML,sBAAsB,GAAG,gDAC7B,KAAKzgE,MADwB,EAE7B,2BAF6B,CAA/B;;AAIA,cAAIygE,sBAAJ,EAA4B,CAC1B;AACA;AACD,WAHD,MAGO;AACL5/D,oBAAQ,CAACC,IAAT,CAAcC,SAAd,CAAwBC,GAAxB,CAA4B,eAA5B;AACD;;AAED,cAAM+/D,qBAAqB,GAAG,gDAC5B,KAAK/gE,MADuB,EAE5B,0BAF4B,CAA9B;;AAIA,cAAI+gE,qBAAJ,EAA2B;AACzBlgE,oBAAQ,CAACC,IAAT,CAAcC,SAAd,CAAwBC,GAAxB,CAA4B,qBAA5B;AACA,6DAAgB,KAAK2xD,OAArB,EAA8B,eAA9B,EAA+C,qBAA/C;AACD,WApBkB,CAsBnB;;;AACA,cAAMsK,qBAAqB,GAAG,gDAC5B,KAAKj9D,MADuB,EAE5B,0BAF4B,CAA9B;AAIA,cAAMghE,oBAAoB,GAAG,gDAC3B,KAAKhhE,MADsB,EAE3B,yBAF2B,CAA7B;;AAIA,cAAIi9D,qBAAJ,EAA2B;AACzB,6DACE,KAAKtK,OADP,EAEE,aAFF,+BAGwBqO,oBAHxB;;AAMA,gBAAI,gDAAe,KAAKhhE,MAApB,EAA4B,4BAA5B,CAAJ,EAA+D;AAC7D,+DAAgB,KAAK2yD,OAArB,EAA8B,aAA9B,EAA6C,wBAA7C;AACD;AACF;;AAED,cAAI,gDAAe,KAAK3yD,MAApB,EAA4B,mBAA5B,MAAqD,OAAzD,EAAkE;AAChE,6DAAgB,KAAK2yD,OAArB,EAA8B,kBAA9B,EAAkD,iBAAlD;AACD,WAFD,MAEO;AACL,6DAAgB,KAAKA,OAArB,EAA8B,kBAA9B,EAAkD,WAAlD;AACD;AACF;AAED;;;;;;wCAGwB;AACtB,cAAM8I,gBAAgB,GAAG,gDAAe,KAAKz7D,MAApB,EAA4B,mBAA5B,CAAzB;;AACA,cAAIy7D,gBAAJ,EAAsB,CACpB;AACD,WAFD,MAEO;AACL;AACD,WANqB,CAQtB;;;AACA,cAAM+E,cAAc,GAAG,gDAAe,KAAKxgE,MAApB,EAA4B,iBAA5B,CAAvB;AACA,cAAMygE,sBAAsB,GAAG,gDAC7B,KAAKzgE,MADwB,EAE7B,2BAF6B,CAA/B;;AAIA,cAAIwgE,cAAc,IAAIC,sBAAtB,EAA8C;AAC5C5/D,oBAAQ,CAACC,IAAT,CAAcC,SAAd,CAAwBC,GAAxB,CAA4B,iBAA5B;AACD;;AAED,cAAMigE,cAAc,GAAG,gDAAe,KAAKjhE,MAApB,EAA4B,iBAA5B,CAAvB;;AACA,cAAIihE,cAAJ,EAAoB;AAClB,6DAAgB,KAAKtO,OAArB,EAA8B,WAA9B,sBAAwDsO,cAAxD;AACD;;AAED,cAAI,gDAAe,KAAKjhE,MAApB,EAA4B,iBAA5B,MAAmD,OAAvD,EAAgE;AAC9D,6DAAgB,KAAK2yD,OAArB,EAA8B,qBAA9B,EAAqD,iBAArD;AACD,WAFD,MAEO;AACL,6DAAgB,KAAKA,OAArB,EAA8B,qBAA9B,EAAqD,WAArD;AACD;;AAED,cAAI,gDAAe,KAAK3yD,MAApB,EAA4B,iBAA5B,CAAJ,EAAoD;AAClD,6DAAgB,KAAK2yD,OAArB,EAA8B,WAA9B,EAA2C,MAA3C;AACD;AACF,S,CAED;;;;sCACsB;AACpB,cAAI,gDAAe,KAAK3yD,MAApB,EAA4B,iBAA5B,CAAJ,EAAoD;AAClD,6DAAgB,KAAK2yD,OAArB,EAA8B,SAA9B,EAAyC,MAAzC;AACD;;AAED,cAAI,gDAAe,KAAK3yD,MAApB,EAA4B,oBAA5B,CAAJ,EAAuD;AACrD,6DAAgB,KAAK2yD,OAArB,EAA8B,SAA9B,EAAyC,MAAzC;AACD;;AAED,cAAI,gDAAe,KAAK3yD,MAApB,EAA4B,eAA5B,MAAiD,OAArD,EAA8D;AAC5D,6DAAgB,KAAK2yD,OAArB,EAA8B,mBAA9B,EAAmD,iBAAnD;AACD,WAFD,MAEO;AACL,6DAAgB,KAAKA,OAArB,EAA8B,mBAA9B,EAAmD,WAAnD;AACD;AACF;AAED;;;;;;oCAGoB;AAClB,cAAI,gDAAe,KAAK3yD,MAApB,EAA4B,oBAA5B,MAAsD,IAA1D,EAAgE;AAC9D;AACD,WAHiB,CAKlB;;;AACAa,kBAAQ,CAACC,IAAT,CAAcC,SAAd,CAAwBC,GAAxB,CAA4B,eAA5B,EANkB,CAQlB;;AACA,cAAI,gDAAe,KAAKhB,MAApB,EAA4B,kBAA5B,CAAJ,EAAqD;AACnDa,oBAAQ,CAACC,IAAT,CAAcC,SAAd,CAAwBC,GAAxB,CAA4B,aAA5B;AACA,6DAAgB,KAAK2xD,OAArB,EAA8B,OAA9B,EAAuC,aAAvC;AACD,WAHD,MAGO;AACL9xD,oBAAQ,CAACC,IAAT,CAAcC,SAAd,CAAwBC,GAAxB,CAA4B,cAA5B;AACD,WAdiB,CAgBlB;;;AACA,cAAI,gDAAe,KAAKhB,MAApB,EAA4B,oBAA5B,MAAsD,IAA1D,EAAgE;AAC9D;AACD,WAnBiB,CAqBlB;;;AACA,cAAI,gDAAe,KAAKA,MAApB,EAA4B,6BAA5B,CAAJ,EAAgE;AAC9Da,oBAAQ,CAACC,IAAT,CAAcC,SAAd,CAAwBC,GAAxB,CAA4B,gBAA5B;AACD;;AAED,cAAI,gDAAe,KAAKhB,MAApB,EAA4B,+BAA5B,CAAJ,EAAkE;AAChEa,oBAAQ,CAACC,IAAT,CAAcC,SAAd,CAAwBC,GAAxB,CAA4B,0BAA5B;AACD,WA5BiB,CA8BlB;AACA;;;AACA,cAAMkgE,iBAAiB,GAAG,gDACxB,KAAKlhE,MADmB,EAExB,qBAFwB,CAA1B;;AAIA,cAAIkhE,iBAAJ,EAAuB;AACrB,6DAAgB,KAAKvO,OAArB,EAA8B,YAA9B,EAA4C,qBAA5C,EADqB,CAErB;;AACA,iBAAKmN,KAAL,CAAW,YAAX,EAAyB,oBAAzB,IAAiD,GAAjD;AACD,WAxCiB,CA0ClB;;;AACA,cAAIoB,iBAAiB,KAAK,IAA1B,EAAgC;AAC9B;AACA,iBAAKpB,KAAL,CAAW,YAAX,EAAyB,kBAAzB,IAA+C,GAA/C;AACD,WAHD,MAGO;AACL;AACA,iBAAKA,KAAL,CAAW,YAAX,EAAyB,kBAAzB,IAA+C,GAA/C;AACD;;AAED,cAAMqB,mCAAmC,GAAG,gDAC1C,KAAKnhE,MADqC,EAE1C,2CAF0C,CAA5C;;AAIA,cAAImhE,mCAAJ,EAAyC;AACvC;AACA,iBAAKrB,KAAL,CAAW,YAAX,EACE,4BADF,IAEIqB,mCAFJ;AAGD;AACF;AAED;;;;;;qCAGqB;AACnB;AACA,cAAI,gDAAe,KAAKnhE,MAApB,EAA4B,cAA5B,MAAgD,IAApD,EAA0D;AACxDa,oBAAQ,CAACC,IAAT,CAAcC,SAAd,CAAwBC,GAAxB,CAA4B,cAA5B;AACD;;AAED,cAAI,gDAAe,KAAKhB,MAApB,EAA4B,cAA5B,MAAgD,OAApD,EAA6D;AAC3D,6DAAgB,KAAK2yD,OAArB,EAA8B,kBAA9B,EAAkD,iBAAlD;AACD,WAFD,MAEO;AACL,6DAAgB,KAAKA,OAArB,EAA8B,kBAA9B,EAAkD,WAAlD;AACD;AACF;AAED;;;;;;oCAGoB;AAClB,cAAM0K,eAAe,GACnB,gDAAe,KAAKr9D,MAApB,EAA4B,mBAA5B,KAAoD,EADtD;AAEA,cAAMy6D,cAAc,GAClB,gDAAe,KAAKz6D,MAApB,EAA4B,kBAA5B,KAAmD,EADrD;AAEA,cAAM87D,gBAAgB,GAAG,gDAAe,KAAK97D,MAApB,EAA4B,oBAA5B,CAAzB;;AACA,cAAI87D,gBAAgB,KAAK,KAAzB,EAAgC;AAC9Bj7D,oBAAQ,CAACC,IAAT,CAAcC,SAAd,CAAwBC,GAAxB,iBAAqCq8D,eAArC;AACD,WAFD,MAEO;AACLx8D,oBAAQ,CAACC,IAAT,CAAcC,SAAd,CAAwBC,GAAxB,iBAAqCy5D,cAArC;AACD;AACF;;;;;;;;;;;;;;;;;;;;;AC7NH;AAAA;;;AAAA;AAAA;AAAA;;QAAa2G,W;;;;;;;;;;;;;;;;;;;ACtIb;AAAA;;;AAAA;AAAA;AAAA,O,CAAA;AACA;AACA;;;AAEO,QAAMC,WAAW,GAAG;AACzBC,gBAAU,EAAE,KADa;AAEzBC,mBAAa,EAAE,KAFU;AAGzBp1C,kBAAY,EAAE,sCAHW;AAIzBsQ,aAAO,EAAE;AAJgB,KAApB;AAOP;;;;;;;AAOA;;;;;;;;;;;;;;;;;AClBA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAMA,QAAI,sEAAY6kC,UAAhB,EAA4B;AAC1B;AACD;;AAED,gFAAyB,sBAAzB,CAAyC,4EAAzC,WACS,UAAA9qC,GAAG;AAAA,aAAI5wB,OAAO,CAACqB,KAAR,CAAcuvB,GAAd,CAAJ;AAAA,KADZ","file":"main-es5.6fa3e9c4dbde567d5ebe.js","sourcesContent":["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 = \"./$$_lazy_route_resource lazy recursive\";","var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-SG\": \"./node_modules/moment/locale/en-SG.js\",\n\t\"./en-SG.js\": \"./node_modules/moment/locale/en-SG.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","// Angular\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { RouterModule, Routes } from \"@angular/router\";\r\n// Components\r\nimport { BaseComponent } from \"./views/theme/base/base.component\";\r\n// Auth\r\nimport { AuthGuard } from \"./core/auth\";\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"auth\",\r\n loadChildren: () =>\r\n import(\"./views/pages/auth/auth.module\").then((m) => m.AuthModule),\r\n },\r\n {\r\n path: \"\",\r\n component: BaseComponent,\r\n canActivate: [AuthGuard],\r\n children: [\r\n {\r\n path: \"dashboard\",\r\n loadChildren: () =>\r\n import(\"./views/pages/dashboard/dashboard.module\").then(\r\n (m) => m.DashboardModule\r\n ),\r\n },\r\n {\r\n path: \"user-management\",\r\n loadChildren: () =>\r\n import(\"./views/pages/user-management/user-management.module\").then(\r\n (m) => m.UserManagementModule\r\n ),\r\n },\r\n {\r\n path: \"drones\",\r\n loadChildren: () =>\r\n import(\"./views/pages/drones/drones.module\").then(\r\n (m) => m.DronesModule\r\n ),\r\n },\r\n {\r\n path: \"materials\",\r\n loadChildren: () =>\r\n import(\"./views/pages/materials/materials.module\").then(\r\n (m) => m.MaterialsModule\r\n ),\r\n },\r\n {\r\n path: \"drone-pilots\",\r\n loadChildren: () =>\r\n import(\"./views/pages/drone-pilots/drone-pilots.module\").then(\r\n (m) => m.DronePilotsModule\r\n ),\r\n },\r\n {\r\n path: \"protocols\",\r\n loadChildren: () =>\r\n import(\"./views/pages/protocols/protocols.module\").then(\r\n (m) => m.ProtocolsModule\r\n ),\r\n },\r\n {\r\n path: \"customers\",\r\n loadChildren: () =>\r\n import(\"./views/pages/customers/customers.module\").then(\r\n (m) => m.CustomersModule\r\n ),\r\n },\r\n {\r\n path: \"fields\",\r\n loadChildren: () =>\r\n import(\"./views/pages/fields/fields.module\").then(\r\n (m) => m.FieldsModule\r\n ),\r\n },\r\n {\r\n path: \"tasks\",\r\n loadChildren: () =>\r\n import(\"./views/pages/tasks/tasks.module\").then((m) => m.TasksModule),\r\n },\r\n {\r\n path: \"pilot-tasks\",\r\n loadChildren: () =>\r\n import(\"./views/pages/pilot-tasks/pilot-tasks.module\").then(\r\n (m) => m.PilotTasksModule\r\n ),\r\n },\r\n {\r\n path: \"builder\",\r\n loadChildren: () =>\r\n import(\"./views/theme/content/builder/builder.module\").then(\r\n (m) => m.BuilderModule\r\n ),\r\n },\r\n { path: \"\", redirectTo: \"dashboard\", pathMatch: \"full\" },\r\n { path: \"**\", redirectTo: \"dashboard\", pathMatch: \"full\" },\r\n ],\r\n },\r\n { path: \"**\", redirectTo: \"error/403\", pathMatch: \"full\" },\r\n];\r\n\r\n@NgModule({\r\n imports: [CommonModule, RouterModule.forRoot(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class AppRoutingModule {}\r\n","\r\n\r\n","import { Subscription } from \"rxjs\";\r\n// Angular\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n OnDestroy,\r\n OnInit,\r\n ViewEncapsulation,\r\n} from \"@angular/core\";\r\nimport { NavigationEnd, Router } from \"@angular/router\";\r\n// Layout\r\nimport {\r\n LayoutConfigService,\r\n SplashScreenService,\r\n TranslationService,\r\n} from \"./core/_base/layout\";\r\n// language list\r\nimport { locale as enLang } from \"./core/_config/i18n/en\";\r\nimport { locale as chLang } from \"./core/_config/i18n/ch\";\r\nimport { locale as esLang } from \"./core/_config/i18n/es\";\r\nimport { locale as jpLang } from \"./core/_config/i18n/jp\";\r\nimport { locale as deLang } from \"./core/_config/i18n/de\";\r\nimport { locale as frLang } from \"./core/_config/i18n/fr\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport {\r\n loadDroneModels,\r\n loadDronePayloads,\r\n} from \"./core/store/actions/drones.actions\";\r\nimport { loadPilotTypes } from \"./core/store/actions/drone-pilots.actions\";\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: \"body[kt-root]\",\r\n templateUrl: \"./app.component.html\",\r\n styleUrls: [\"./app.component.scss\"],\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class AppComponent implements OnInit, OnDestroy {\r\n // Public properties\r\n title = \"Metronic\";\r\n loader: boolean;\r\n private unsubscribe: Subscription[] = []; // Read more: => https://brianflove.com/2016/12/11/anguar-2-unsubscribe-observables/\r\n\r\n /**\r\n * Component constructor\r\n *\r\n * @param translationService: TranslationService\r\n * @param router: Router\r\n * @param layoutConfigService: LayoutConfigService\r\n * @param splashScreenService: SplashScreenService\r\n */\r\n constructor(\r\n private translationService: TranslationService,\r\n private router: Router,\r\n private layoutConfigService: LayoutConfigService,\r\n private splashScreenService: SplashScreenService,\r\n private store: Store\r\n ) {\r\n // register translations\r\n this.translationService.loadTranslations(\r\n enLang,\r\n chLang,\r\n esLang,\r\n jpLang,\r\n deLang,\r\n frLang\r\n );\r\n }\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * On init\r\n */\r\n ngOnInit(): void {\r\n // this.store.dispatch(loadPilotTypes());\r\n // this.store.dispatch(loadDroneModels());\r\n // this.store.dispatch(loadDronePayloads());\r\n\r\n // enable/disable loader\r\n\r\n this.loader = this.layoutConfigService.getConfig(\"page-loader.type\");\r\n let config = this.layoutConfigService.getSavedConfig();\r\n config.content.width = \"fluid\";\r\n this.layoutConfigService.setConfig(config, true);\r\n\r\n const routerSubscription = this.router.events.subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n // hide splash screen\r\n this.splashScreenService.hide();\r\n\r\n // scroll to top on every route change\r\n window.scrollTo(0, 0);\r\n\r\n // to display back the body content\r\n setTimeout(() => {\r\n document.body.classList.add(\"page-loaded\");\r\n }, 500);\r\n }\r\n });\r\n this.unsubscribe.push(routerSubscription);\r\n }\r\n\r\n /**\r\n * On Destroy\r\n */\r\n ngOnDestroy() {\r\n this.unsubscribe.forEach((sb) => sb.unsubscribe());\r\n }\r\n}\r\n","import { ActionNotificationComponent } from \"./views/partials/content/crud/action-natification/action-notification.component\";\r\nimport { ModuleGuard } from \"./core/auth/_guards/module.guard\";\r\nimport { ControllerAssignSelectedComponent } from \"./views/pages/tasks/task-controller/controller-assign-selected/controller-assign-selected.component\";\r\nimport { CommonModule } from \"@angular/common\";\r\n// Angular\r\nimport {\r\n BrowserModule,\r\n HAMMER_GESTURE_CONFIG,\r\n} from \"@angular/platform-browser\";\r\nimport { APP_INITIALIZER, NgModule } from \"@angular/core\";\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { HttpClientModule } from \"@angular/common/http\";\r\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\r\nimport { MatProgressSpinnerModule } from \"@angular/material/progress-spinner\";\r\nimport { GestureConfig } from \"@angular/material/core\";\r\nimport { OverlayModule } from \"@angular/cdk/overlay\";\r\n// Angular in memory\r\nimport { HttpClientInMemoryWebApiModule } from \"angular-in-memory-web-api\";\r\n// Perfect Scroll bar\r\nimport {\r\n PERFECT_SCROLLBAR_CONFIG,\r\n PerfectScrollbarConfigInterface,\r\n} from \"ngx-perfect-scrollbar\";\r\n// SVG inline\r\nimport { InlineSVGModule } from \"ng-inline-svg\";\r\n// Env\r\nimport { environment } from \"../environments/environment\";\r\n// Hammer JS\r\nimport \"hammerjs\";\r\n// NGX Permissions\r\nimport { NgxPermissionsModule } from \"ngx-permissions\";\r\n// NGRX\r\nimport { StoreModule } from \"@ngrx/store\";\r\nimport { EffectsModule } from \"@ngrx/effects\";\r\nimport { StoreRouterConnectingModule } from \"@ngrx/router-store\";\r\nimport { StoreDevtoolsModule } from \"@ngrx/store-devtools\";\r\n// State\r\nimport { metaReducers, reducers } from \"./core/reducers\";\r\n// Components\r\nimport { AppComponent } from \"./app.component\";\r\n// Modules\r\nimport { AppRoutingModule } from \"./app-routing.module\";\r\nimport { CoreModule } from \"./core/core.module\";\r\nimport { ThemeModule } from \"./views/theme/theme.module\";\r\n// Partials\r\nimport { PartialsModule } from \"./views/partials/partials.module\";\r\n// Layout Services\r\nimport {\r\n DataTableService,\r\n FakeApiService,\r\n KtDialogService,\r\n LayoutConfigService,\r\n LayoutRefService,\r\n MenuAsideService,\r\n MenuConfigService,\r\n MenuHorizontalService,\r\n PageConfigService,\r\n SplashScreenService,\r\n SubheaderService,\r\n} from \"./core/_base/layout\";\r\n// Auth\r\nimport { AuthModule } from \"./views/pages/auth/auth.module\";\r\nimport { AuthService } from \"./core/auth\";\r\n// CRUD\r\nimport {\r\n HttpUtilsService,\r\n LayoutUtilsService,\r\n TypesUtilsService,\r\n} from \"./core/_base/crud\";\r\n// Config\r\nimport { LayoutConfig } from \"./core/_config/layout.config\";\r\n// Highlight JS\r\nimport { HighlightModule, HIGHLIGHT_OPTIONS } from \"ngx-highlightjs\";\r\nimport xml from \"highlight.js/lib/languages/xml\";\r\nimport json from \"highlight.js/lib/languages/json\";\r\nimport scss from \"highlight.js/lib/languages/scss\";\r\nimport typescript from \"highlight.js/lib/languages/typescript\";\r\n\r\nimport { AgmCoreModule } from \"@agm/core\";\r\nimport { AssignSelectedFormComponent } from \"./views/pages/tasks/assign-tasks/assign-selected-form/assign-selected-form.component\";\r\nimport { UpdateStatusDialogComponent } from \"./views/partials/content/crud\";\r\nimport { ChildModuleGuard } from \"./core/auth/_guards/child-module.guard\";\r\n// tslint:disable-next-line:class-name\r\nconst DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = {\r\n wheelSpeed: 0.5,\r\n swipeEasing: true,\r\n minScrollbarLength: 40,\r\n maxScrollbarLength: 300,\r\n};\r\n\r\nexport function initializeLayoutConfig(appConfig: LayoutConfigService) {\r\n // initialize app by loading default demo layout config\r\n return () => {\r\n if (appConfig.getConfig() === null) {\r\n appConfig.loadConfigs(new LayoutConfig().configs);\r\n }\r\n };\r\n}\r\n\r\n/**\r\n * Import specific languages to avoid importing everything\r\n * The following will lazy load highlight.js core script (~9.6KB) + the selected languages bundle (each lang. ~1kb)\r\n */\r\nexport function getHighlightLanguages() {\r\n return [\r\n { name: \"typescript\", func: typescript },\r\n { name: \"scss\", func: scss },\r\n { name: \"xml\", func: xml },\r\n { name: \"json\", func: json },\r\n ];\r\n}\r\n\r\n@NgModule({\r\n declarations: [AppComponent],\r\n imports: [\r\n AgmCoreModule.forRoot({\r\n apiKey: \"AIzaSyDMWp19lJGUMI_DoASc_mOCf7qFcwu81vA\",\r\n libraries: [\"places\", \"drawing\", \"geometry\"],\r\n }),\r\n BrowserAnimationsModule,\r\n CommonModule,\r\n BrowserModule,\r\n AppRoutingModule,\r\n HttpClientModule,\r\n environment.isMockEnabled\r\n ? HttpClientInMemoryWebApiModule.forRoot(FakeApiService, {\r\n passThruUnknownUrl: true,\r\n dataEncapsulation: false,\r\n })\r\n : [],\r\n NgxPermissionsModule.forRoot(),\r\n HighlightModule,\r\n PartialsModule,\r\n CoreModule,\r\n OverlayModule,\r\n StoreModule.forRoot(reducers, { metaReducers }),\r\n EffectsModule.forRoot([]),\r\n StoreRouterConnectingModule.forRoot({ stateKey: \"router\" }),\r\n StoreDevtoolsModule.instrument(),\r\n AuthModule.forRoot(),\r\n TranslateModule.forRoot(),\r\n MatProgressSpinnerModule,\r\n InlineSVGModule.forRoot(),\r\n ThemeModule,\r\n ],\r\n exports: [],\r\n providers: [\r\n LayoutConfigService,\r\n LayoutRefService,\r\n MenuConfigService,\r\n PageConfigService,\r\n KtDialogService,\r\n DataTableService,\r\n SplashScreenService,\r\n {\r\n provide: PERFECT_SCROLLBAR_CONFIG,\r\n useValue: DEFAULT_PERFECT_SCROLLBAR_CONFIG,\r\n },\r\n {\r\n provide: HAMMER_GESTURE_CONFIG,\r\n useClass: GestureConfig,\r\n },\r\n {\r\n // layout config initializer\r\n provide: APP_INITIALIZER,\r\n useFactory: initializeLayoutConfig,\r\n deps: [LayoutConfigService],\r\n multi: true,\r\n },\r\n {\r\n provide: HIGHLIGHT_OPTIONS,\r\n useValue: {\r\n languages: getHighlightLanguages,\r\n },\r\n },\r\n // template services\r\n SubheaderService,\r\n MenuHorizontalService,\r\n MenuAsideService,\r\n HttpUtilsService,\r\n TypesUtilsService,\r\n LayoutUtilsService,\r\n ModuleGuard,\r\n ChildModuleGuard,\r\n ],\r\n bootstrap: [AppComponent],\r\n entryComponents: [\r\n AssignSelectedFormComponent,\r\n ControllerAssignSelectedComponent,\r\n ActionNotificationComponent,\r\n ],\r\n})\r\nexport class AppModule {}\r\n","// Models\r\nexport { BaseModel } from './models/_base.model';\r\nexport { BaseDataSource } from './models/_base.datasource';\r\nexport { QueryParamsModel } from './models/query-models/query-params.model';\r\nexport { QueryResultsModel } from './models/query-models/query-results.model';\r\nexport { HttpExtenstionsModel } from './models/http-extentsions-model';\r\n// Utils\r\nexport { HttpUtilsService } from './utils/http-utils.service';\r\nexport { TypesUtilsService } from './utils/types-utils.service';\r\nexport { InterceptService } from './utils/intercept.service';\r\nexport { LayoutUtilsService, MessageType } from './utils/layout-utils.service';\r\n","// Angular\r\nimport { CollectionViewer, DataSource } from '@angular/cdk/collections';\r\n// RxJS\r\nimport { Observable, BehaviorSubject, Subscription, of } from 'rxjs';\r\n// CRUD\r\nimport { HttpExtenstionsModel } from './http-extentsions-model';\r\nimport { QueryParamsModel } from './query-models/query-params.model';\r\nimport { QueryResultsModel } from './query-models/query-results.model';\r\nimport { BaseModel } from './_base.model';\r\nimport { skip, distinctUntilChanged } from 'rxjs/operators';\r\n\r\n// Why not use MatTableDataSource?\r\n/* In this example, we will not be using the built-in MatTableDataSource because its designed for filtering,\r\n\tsorting and pagination of a client - side data array.\r\n\tRead the article: 'https://blog.angular-university.io/angular-material-data-table/'\r\n**/\r\nexport class BaseDataSource implements DataSource {\r\n entitySubject = new BehaviorSubject([]);\r\n hasItems = true; // Need to show message: 'No records found'\r\n\r\n // Loading | Progress bar\r\n loading$: Observable;\r\n isPreloadTextViewed$: Observable = of(true);\r\n\r\n // Paginator | Paginators count\r\n paginatorTotalSubject = new BehaviorSubject(0);\r\n paginatorTotal$: Observable;\r\n subscriptions: Subscription[] = [];\r\n\r\n constructor() {\r\n this.paginatorTotal$ = this.paginatorTotalSubject.asObservable();\r\n\r\n // subscribe hasItems to (entitySubject.length==0)\r\n const hasItemsSubscription = this.paginatorTotal$.pipe(\r\n distinctUntilChanged(),\r\n skip(1)\r\n ).subscribe(res => this.hasItems = res > 0);\r\n this.subscriptions.push(hasItemsSubscription);\r\n }\r\n\r\n connect(collectionViewer: CollectionViewer): Observable {\r\n // Connecting data source\r\n return this.entitySubject.asObservable();\r\n }\r\n\r\n disconnect(collectionViewer: CollectionViewer): void {\r\n // Disconnect data source\r\n this.entitySubject.complete();\r\n this.paginatorTotalSubject.complete();\r\n this.subscriptions.forEach(sb => sb.unsubscribe());\r\n }\r\n\r\n baseFilter(entities: any[], queryParams: QueryParamsModel, filtrationFields: string[] = []): QueryResultsModel {\r\n const httpExtension = new HttpExtenstionsModel();\r\n return httpExtension.baseFilter(entities, queryParams, filtrationFields);\r\n }\r\n\r\n sortArray(incomingArray: any[], sortField: string = '', sortOrder: string = 'asc'): any[] {\r\n const httpExtension = new HttpExtenstionsModel();\r\n return httpExtension.sortArray(incomingArray, sortField, sortOrder);\r\n }\r\n\r\n searchInArray(incomingArray: any[], queryObj: any, filtrationFields: string[] = []): any[] {\r\n const httpExtension = new HttpExtenstionsModel();\r\n return httpExtension.searchInArray(incomingArray, queryObj, filtrationFields);\r\n }\r\n}\r\n","export class BaseModel {\r\n // Edit\r\n // tslint:disable-next-line:variable-name\r\n _isEditMode = false;\r\n // Log\r\n // tslint:disable-next-line:variable-name\r\n _userId = 0; // Admin\r\n // tslint:disable-next-line:variable-name\r\n _createdDate: string;\r\n // tslint:disable-next-line:variable-name\r\n _updatedDate: string;\r\n}\r\n","// CRUD\r\nimport { QueryParamsModel } from './query-models/query-params.model';\r\nimport { QueryResultsModel } from './query-models/query-results.model';\r\n\r\nexport class HttpExtenstionsModel {\r\n\r\n /**\r\n * Filtration with sorting\r\n * First do Sort then filter\r\n *\r\n * @param entities: any[]\r\n * @param queryParams: QueryParamsModel\r\n * @param filtrationFields: string[]\r\n */\r\n baseFilter(entities: any[], queryParams: QueryParamsModel, filtrationFields: string[] = []): QueryResultsModel {\r\n // Filtration\r\n let entitiesResult = this.searchInArray(entities, queryParams.filter, filtrationFields);\r\n\r\n // Sorting\r\n // start\r\n if (queryParams.sortField) {\r\n entitiesResult = this.sortArray(entitiesResult, queryParams.sortField, queryParams.sortOrder);\r\n }\r\n // end\r\n\r\n // Paginator\r\n // start\r\n const totalCount = entitiesResult.length;\r\n const initialPos = queryParams.pageNumber * queryParams.pageSize;\r\n entitiesResult = entitiesResult.slice(initialPos, initialPos + queryParams.pageSize);\r\n // end\r\n\r\n const queryResults = new QueryResultsModel();\r\n queryResults.items = entitiesResult;\r\n queryResults.totalCount = totalCount;\r\n return queryResults;\r\n }\r\n\r\n /**\r\n * Sort array by field name and order-type\r\n * @param incomingArray: any[]\r\n * @param sortField: string\r\n * @param sortOrder: string\r\n */\r\n sortArray(incomingArray: any[], sortField: string = '', sortOrder: string = 'asc'): any[] {\r\n if (!sortField) {\r\n return incomingArray;\r\n }\r\n\r\n let result: any[] = [];\r\n result = incomingArray.sort((a, b) => {\r\n if (a[sortField] < b[sortField]) {\r\n return sortOrder === 'asc' ? -1 : 1;\r\n }\r\n\r\n if (a[sortField] > b[sortField]) {\r\n return sortOrder === 'asc' ? 1 : -1;\r\n }\r\n\r\n return 0;\r\n });\r\n return result;\r\n }\r\n\r\n /**\r\n * Filter array by some fields\r\n *\r\n * @param incomingArray: any[]\r\n * @param queryObj: any\r\n * @param filtrationFields: string[]\r\n */\r\n searchInArray(incomingArray: any[], queryObj: any, filtrationFields: string[] = []): any[] {\r\n const result: any[] = [];\r\n let resultBuffer: any[] = [];\r\n const indexes: number[] = [];\r\n let firstIndexes: number[] = [];\r\n let doSearch = false;\r\n\r\n filtrationFields.forEach(item => {\r\n if (item in queryObj) {\r\n incomingArray.forEach((element, index) => {\r\n if (element[item] === queryObj[item]) {\r\n firstIndexes.push(index);\r\n }\r\n });\r\n firstIndexes.forEach(element => {\r\n resultBuffer.push(incomingArray[element]);\r\n });\r\n incomingArray = resultBuffer.slice(0);\r\n resultBuffer = [].slice(0);\r\n firstIndexes = [].slice(0);\r\n }\r\n });\r\n\r\n Object.keys(queryObj).forEach(key => {\r\n const searchText = queryObj[key].toString().trim().toLowerCase();\r\n if (key && !filtrationFields.some(e => e === key) && searchText) {\r\n doSearch = true;\r\n try {\r\n incomingArray.forEach((element, index) => {\r\n if (element[key]) {\r\n const val = element[key].toString().trim().toLowerCase();\r\n if (val.indexOf(searchText) > -1 && indexes.indexOf(index) === -1) {\r\n indexes.push(index);\r\n }\r\n }\r\n });\r\n } catch (ex) {\r\n console.log(ex, key, searchText);\r\n }\r\n }\r\n });\r\n\r\n if (!doSearch) {\r\n return incomingArray;\r\n }\r\n\r\n indexes.forEach(re => {\r\n result.push(incomingArray[re]);\r\n });\r\n\r\n return result;\r\n }\r\n}\r\n","export class QueryParamsModel {\r\n // fields\r\n filter: any;\r\n sortOrder: string; // asc || desc\r\n sortField: string;\r\n pageNumber: number;\r\n pageSize: number;\r\n\r\n // constructor overrides\r\n constructor(filter, sortOrder = 'asc', sortField = '', pageNumber = 0, pageSize = 10) {\r\n this.filter = filter;\r\n this.sortOrder = sortOrder;\r\n this.sortField = sortField;\r\n this.pageNumber = pageNumber;\r\n this.pageSize = pageSize;\r\n }\r\n}\r\n","export class QueryResultsModel {\r\n // fields\r\n items: any[];\r\n totalCount: number;\r\n errorMessage: string;\r\n\r\n constructor(items: any[] = [], totalCount: number = 0, errorMessage: string = '') {\r\n this.items = items;\r\n this.totalCount = totalCount;\r\n }\r\n}\r\n","// Angular\r\nimport {Injectable} from '@angular/core';\r\nimport {HttpHeaders, HttpParams} from '@angular/common/http';\r\n// CRUD\r\nimport {QueryResultsModel} from '../models/query-models/query-results.model';\r\nimport {QueryParamsModel} from '../models/query-models/query-params.model';\r\nimport {HttpExtenstionsModel} from '../../crud/models/http-extentsions-model';\r\n\r\n@Injectable()\r\nexport class HttpUtilsService {\r\n /**\r\n * Prepare query http params\r\n * @param queryParams: QueryParamsModel\r\n */\r\n getFindHTTPParams(queryParams): HttpParams {\r\n return new HttpParams()\r\n .set('lastNamefilter', queryParams.filter)\r\n .set('sortOrder', queryParams.sortOrder)\r\n .set('sortField', queryParams.sortField)\r\n .set('pageNumber', queryParams.pageNumber.toString())\r\n .set('pageSize', queryParams.pageSize.toString());\r\n }\r\n\r\n /**\r\n * get standard content-type\r\n */\r\n getHTTPHeaders(): HttpHeaders {\r\n let result = new HttpHeaders();\r\n result = result.set('Content-Type', 'application/json');\r\n return result;\r\n }\r\n\r\n baseFilter(entities: any[], queryParams: QueryParamsModel, filtrationFields: string[] = []): QueryResultsModel {\r\n const httpExtension = new HttpExtenstionsModel();\r\n return httpExtension.baseFilter(entities, queryParams, filtrationFields);\r\n }\r\n\r\n sortArray(incomingArray: any[], sortField: string = '', sortOrder: string = 'asc'): any[] {\r\n const httpExtension = new HttpExtenstionsModel();\r\n return httpExtension.sortArray(incomingArray, sortField, sortOrder);\r\n }\r\n\r\n searchInArray(incomingArray: any[], queryObj: any, filtrationFields: string[] = []): any[] {\r\n const httpExtension = new HttpExtenstionsModel();\r\n return httpExtension.searchInArray(incomingArray, queryObj, filtrationFields);\r\n }\r\n}\r\n","// Angular\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpEvent, HttpInterceptor, HttpHandler, HttpRequest, HttpResponse, HttpClient, HttpErrorResponse } from '@angular/common/http';\r\n// RxJS\r\nimport { Observable, BehaviorSubject, throwError } from 'rxjs';\r\nimport { tap, catchError, switchMap, finalize, filter, take } from 'rxjs/operators';\r\nimport { AuthService } from 'src/app/core/services/auth.service';\r\nimport { Store } from '@ngrx/store';\r\nimport { Logout } from 'src/app/core/auth';\r\nimport { logout } from 'src/app/core/store/actions/auth.actions';\r\n\r\n/**\r\n * More information there => https://medium.com/@MetonymyQT/angular-http-interceptors-what-are-they-and-how-to-use-them-52e060321088\r\n */\r\n@Injectable()\r\nexport class InterceptService implements HttpInterceptor {\r\n constructor(\r\n private store: Store,\r\n private http: HttpClient,\r\n private auth: AuthService\r\n) {}\r\n\r\nisRefreshingToken: boolean = false;\r\ntokenSubject: BehaviorSubject = new BehaviorSubject(null);\r\n\r\naddToken(req: HttpRequest): HttpRequest {\r\n //token = \"Bearer \" + token;\r\n let token = this.auth.getToken()\r\n return token ? req.clone({\r\n setHeaders: {\r\n Authorization: \"Bearer \" + token\r\n }\r\n }) : req;\r\n}\r\n\r\nintercept(req: HttpRequest, next: HttpHandler): Observable { \r\n return next.handle(this.addToken(req)).pipe(\r\n catchError(error => {\r\n if (error instanceof HttpErrorResponse) {\r\n switch ((error).status) {\r\n case 400:\r\n return this.handle400Error(error);\r\n case 401:\r\n console.log(\"401 error:\", error);\r\n return this.handle401Error(req, next, error);\r\n default:\r\n return throwError(error);\r\n }\r\n } else {\r\n return throwError(error);\r\n }\r\n })\r\n );\r\n}\r\n\r\nhandle400Error(error) {\r\n if (\r\n error &&\r\n error.status === 400\r\n ) {\r\n // If we get a 400 and the error message is 'invalid_grant', the token is no longer valid so logout.\r\n return this.logoutUser(error);\r\n }\r\n\r\n return throwError(error);\r\n}\r\n\r\nhandle401Error(req: HttpRequest, next: HttpHandler, error) {\r\n\r\n if (error &&\r\n error.status === 401) {\r\n return this.logoutUser(error);\r\n }\r\n\r\n\r\n return throwError(error);\r\n // if (!this.isRefreshingToken) {\r\n // this.isRefreshingToken = true;\r\n\r\n // // Reset here so that the following requests wait until the token\r\n // // comes back from the refreshToken call.\r\n // this.tokenSubject.next(null);\r\n\r\n // return this.auth.refreshToken().pipe(\r\n // switchMap(newToken => {\r\n // localStorage.setItem(\"authToken\", newToken.token);\r\n // const token = localStorage.getItem(\"authToken\");\r\n // if (newToken) {\r\n // this.tokenSubject.next(newToken);\r\n // return next.handle(this.addToken(req, token));\r\n // }\r\n\r\n // return this.logoutUser(error);\r\n // }),\r\n // catchError(error => {\r\n // return this.logoutUser(error);\r\n // }),\r\n // finalize(() => {\r\n // this.isRefreshingToken = false;\r\n // })\r\n // );\r\n // } else {\r\n // return this.tokenSubject.pipe(\r\n // filter(token => token != null),\r\n // take(1),\r\n // switchMap(token => {\r\n // return next.handle(this.addToken(req, token));\r\n // })\r\n // );\r\n // }\r\n}\r\n\r\nlogoutUser(error) {\r\n console.log(\"logout user\");\r\n this.store.dispatch(logout());\r\n return throwError(error);\r\n}\r\n}\r\n","// Angular\r\nimport { Injectable } from '@angular/core';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatDialog } from '@angular/material/dialog';\r\n// Partials for CRUD\r\nimport {\r\n ActionNotificationComponent,\r\n DeleteEntityDialogComponent,\r\n FetchEntityDialogComponent,\r\n UpdateStatusDialogComponent\r\n} from '../../../../views/partials/content/crud';\r\n\r\nexport enum MessageType {\r\n Create,\r\n Read,\r\n Update,\r\n Delete\r\n}\r\n\r\n@Injectable()\r\nexport class LayoutUtilsService {\r\n /**\r\n * Service constructor\r\n *\r\n * @param snackBar: MatSnackBar\r\n * @param dialog: MatDialog\r\n */\r\n constructor(private snackBar: MatSnackBar,\r\n private dialog: MatDialog) {\r\n }\r\n\r\n /**\r\n * Showing (Mat-Snackbar) Notification\r\n *\r\n * @param message: string\r\n * @param type: MessageType\r\n * @param duration: number\r\n * @param showCloseButton: boolean\r\n * @param showUndoButton: boolean\r\n * @param undoButtonDuration: number\r\n * @param verticalPosition: 'top' | 'bottom' = 'top'\r\n */\r\n showActionNotification(\r\n message: string,\r\n type: MessageType = MessageType.Create,\r\n duration: number = 10000,\r\n showCloseButton: boolean = true,\r\n showUndoButton: boolean = true,\r\n undoButtonDuration: number = 3000,\r\n verticalPosition: 'top' | 'bottom' = 'bottom'\r\n ) {\r\n const data = {\r\n message,\r\n snackBar: this.snackBar,\r\n showCloseButton,\r\n showUndoButton,\r\n undoButtonDuration,\r\n verticalPosition,\r\n type,\r\n action: 'Undo'\r\n };\r\n return this.snackBar.openFromComponent(ActionNotificationComponent, {\r\n duration,\r\n data,\r\n verticalPosition\r\n });\r\n }\r\n\r\n /**\r\n * Showing Confirmation (Mat-Dialog) before Entity Removing\r\n *\r\n * @param title: string\r\n * @param description: string\r\n * @param waitDescription: string\r\n */\r\n deleteElement(title: string = '', description: string = '', waitDescription: string = '') {\r\n return this.dialog.open(DeleteEntityDialogComponent, {\r\n data: {title, description, waitDescription},\r\n width: '440px'\r\n });\r\n }\r\n\r\n /**\r\n * Showing Fetching Window(Mat-Dialog)\r\n *\r\n * @param data: any\r\n */\r\n fetchElements(data) {\r\n return this.dialog.open(FetchEntityDialogComponent, {\r\n data,\r\n width: '600px'\r\n });\r\n }\r\n\r\n /**\r\n * Showing Update Status for Entities Window\r\n *\r\n * @param title: string\r\n * @param statuses: string[]\r\n * @param messages: string[]\r\n */\r\n updateStatusForEntities(title, statuses, messages) {\r\n return this.dialog.open(UpdateStatusDialogComponent, {\r\n data: {title, statuses, messages},\r\n width: '600px'\r\n });\r\n }\r\n}\r\n","export enum RegEx {\r\n phone = \"^0\\\\d([\\\\d]{0,1})([-]{0,1})\\\\d{7}$\",\r\n}\r\n","/** Angular */\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class TypesUtilsService {\r\n /**\r\n * Convert number to string and adding '0' before\r\n *\r\n * @param value: number\r\n */\r\n padNumber(value: number) {\r\n if (this.isNumber(value)) {\r\n return `0${value}`.slice(-2);\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n /**\r\n * Checking value type equals to Number\r\n *\r\n * @param value: any\r\n */\r\n isNumber(value: any): boolean {\r\n return !isNaN(this.toInteger(value));\r\n }\r\n\r\n /**\r\n * Covert value to number\r\n *\r\n * @param value: any\r\n */\r\n toInteger(value: any): number {\r\n return parseInt(`${value}`, 10);\r\n }\r\n\r\n /**\r\n * Convert date to string with 'MM/dd/yyyy' format\r\n *\r\n * @param date: Date\r\n */\r\n dateFormat(date: Date): string {\r\n const month = date.getMonth() + 1;\r\n const day = date.getDate();\r\n const year = date.getFullYear();\r\n if (date) {\r\n return `${month}/${day}/${year}`;\r\n }\r\n\r\n return '';\r\n }\r\n\r\n /**\r\n * Convert Date to string with custom format 'MM/dd/yyyy'\r\n *\r\n * @param date: any\r\n */\r\n dateCustomFormat(date: any): string {\r\n let stringDate = '';\r\n if (date) {\r\n stringDate += this.isNumber(date.month) ? this.padNumber(date.month) + '/' : '';\r\n stringDate += this.isNumber(date.day) ? this.padNumber(date.day) + '/' : '';\r\n\r\n stringDate += date.year;\r\n }\r\n return stringDate;\r\n }\r\n\r\n /**\r\n * Convert string to DateFormatter (For Reactive Forms Validators)\r\n *\r\n * @param dateInStr: string (format => 'MM/dd/yyyy')\r\n */\r\n getDateFormatterFromString(dateInStr: string): any {\r\n if (dateInStr && dateInStr.length > 0) {\r\n const dateParts = dateInStr.trim().split('/');\r\n return [\r\n {\r\n year: this.toInteger(dateParts[2]),\r\n month: this.toInteger(dateParts[0]),\r\n day: this.toInteger(dateParts[1])\r\n }\r\n ];\r\n }\r\n\r\n const date = new Date();\r\n return [\r\n {\r\n year: date.getFullYear(),\r\n month: date.getMonth() + 1,\r\n day: date.getDay()\r\n }\r\n ];\r\n }\r\n\r\n /**\r\n * Convert string to Date\r\n *\r\n * @param dateInStr: string (format => 'MM/dd/yyyy')\r\n */\r\n getDateFromString(dateInStr: string = ''): Date {\r\n if (dateInStr && dateInStr.length > 0) {\r\n const dateParts = dateInStr.trim().split('/');\r\n const year = this.toInteger(dateParts[2]);\r\n const month = this.toInteger(dateParts[0]);\r\n const day = this.toInteger(dateParts[1]);\r\n // tslint:disable-next-line:prefer-const\r\n let result = new Date();\r\n result.setDate(day);\r\n result.setMonth(month - 1);\r\n result.setFullYear(year);\r\n return result;\r\n }\r\n\r\n return new Date();\r\n }\r\n\r\n\r\n /**\r\n * Convert Date to string with format 'MM/dd/yyyy'\r\n * @param date: Date?\r\n */\r\n getDateStringFromDate(date: Date = new Date()): string {\r\n const month = date.getMonth() + 1;\r\n const year = date.getFullYear();\r\n const dateToday = date.getDate();\r\n return `${month}/${dateToday}/${year}`;\r\n }\r\n}\r\n","// Angular\r\nimport { Directive, ElementRef, OnDestroy, OnInit } from '@angular/core';\r\nimport { animate, AnimationBuilder, AnimationPlayer, style } from '@angular/animations';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\n// RxJS\r\nimport { Subscription } from 'rxjs';\r\n\r\n/**\r\n * Page load animation\r\n *\r\n */\r\n@Directive({\r\n selector: '[ktContentAnimate]'\r\n})\r\nexport class ContentAnimateDirective implements OnInit, OnDestroy {\r\n // Public properties\r\n player: AnimationPlayer;\r\n // Private properties\r\n private events: Subscription;\r\n\r\n /**\r\n * Directive Constructor\r\n * @param el: ElementRef\r\n * @param router: Router\r\n * @param animationBuilder: AnimationBuilder\r\n */\r\n constructor(\r\n private el: ElementRef,\r\n private router: Router,\r\n private animationBuilder: AnimationBuilder) {\r\n }\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * On init\r\n */\r\n ngOnInit(): void {\r\n // animate the content\r\n this.initAnimate();\r\n // animate page load\r\n this.events = this.router.events.subscribe(event => {\r\n if (event instanceof NavigationEnd) {\r\n this.player.play();\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * On destroy\r\n */\r\n ngOnDestroy(): void {\r\n this.events.unsubscribe();\r\n this.player.destroy();\r\n }\r\n\r\n /**\r\n * Animate page load\r\n */\r\n initAnimate() {\r\n this.player = this.animationBuilder\r\n .build([\r\n // style({opacity: 0, transform: 'translateY(15px)'}),\r\n // animate(500, style({opacity: 1, transform: 'translateY(0)'})),\r\n // style({transform: 'none'}),\r\n style({\r\n transform: 'translateY(-3%)',\r\n opacity: 0,\r\n position: 'static'\r\n }),\r\n animate(\r\n '0.5s ease-in-out',\r\n style({transform: 'translateY(0%)', opacity: 1})\r\n )\r\n ])\r\n .create(this.el.nativeElement);\r\n }\r\n}\r\n","// Angular\r\nimport { AfterViewInit, Directive, ElementRef, Input } from '@angular/core';\r\n// ObjectPath\r\nimport * as objectPath from 'object-path';\r\n\r\nexport interface HeaderOptions {\r\n classic?: any;\r\n offset?: any;\r\n minimize?: any;\r\n}\r\n\r\n/**\r\n * Configure Header\r\n */\r\n@Directive({\r\n selector: '[ktHeader]',\r\n exportAs: 'ktHeader',\r\n})\r\nexport class HeaderDirective implements AfterViewInit {\r\n @Input() options: HeaderOptions = {};\r\n\r\n /**\r\n * Directive Constructor\r\n * @param el: ElementRef\r\n */\r\n constructor(private el: ElementRef) {\r\n }\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * After view init\r\n */\r\n ngAfterViewInit(): void {\r\n this.setupOptions();\r\n\r\n const header = new KTHeader(this.el.nativeElement, this.options);\r\n }\r\n\r\n /**\r\n * Setup options to header\r\n */\r\n private setupOptions() {\r\n this.options = {\r\n classic: {\r\n desktop: true,\r\n mobile: false\r\n },\r\n };\r\n\r\n if (this.el.nativeElement.getAttribute('data-header-minimize') === '1') {\r\n objectPath.set(this.options, 'minimize', {\r\n desktop: {\r\n on: 'header-minimize'\r\n },\r\n mobile: {\r\n on: 'header-minimize'\r\n }\r\n });\r\n objectPath.set(this.options, 'offset', {\r\n desktop: 200,\r\n mobile: 150\r\n });\r\n }\r\n }\r\n}\r\n","// Angular\r\nimport { AfterViewInit, Directive, ElementRef, Input } from '@angular/core';\r\n// Object-Path\r\nimport * as objectPath from 'object-path';\r\n\r\nexport interface MenuOptions {\r\n scroll?: any;\r\n submenu?: any;\r\n accordion?: any;\r\n dropdown?: any;\r\n}\r\n\r\n/**\r\n * Configure menu\r\n */\r\n@Directive({\r\n selector: '[ktMenu]',\r\n exportAs: 'ktMenu',\r\n})\r\nexport class MenuDirective implements AfterViewInit {\r\n // Public properties\r\n @Input() options: MenuOptions;\r\n // Private properties\r\n private menu: any;\r\n\r\n /**\r\n * Directive Constructor\r\n * @param el: ElementRef\r\n */\r\n constructor(private el: ElementRef) {\r\n }\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * After view init\r\n */\r\n ngAfterViewInit(): void {\r\n this.setupOptions();\r\n this.menu = new KTMenu(this.el.nativeElement, this.options);\r\n }\r\n\r\n /**\r\n * Return the menu\r\n */\r\n getMenu() {\r\n return this.menu;\r\n }\r\n\r\n /**\r\n * Setup menu options\r\n */\r\n private setupOptions() {\r\n // init aside menu\r\n let menuDesktopMode = 'accordion';\r\n if (this.el.nativeElement.getAttribute('data-menu-dropdown') === '1') {\r\n menuDesktopMode = 'dropdown';\r\n }\r\n\r\n if (typeof objectPath.get(this.options, 'submenu.desktop') === 'object') {\r\n objectPath.set(this.options, 'submenu.desktop', menuDesktopMode);\r\n }\r\n }\r\n}\r\n","// Angular\r\nimport { AfterViewInit, Directive, ElementRef, Input } from '@angular/core';\r\n\r\nexport interface OffcanvasOptions {\r\n baseClass: string;\r\n placement?: string;\r\n overlay?: boolean;\r\n closeBy: string;\r\n toggleBy?: any;\r\n}\r\n\r\n/**\r\n * Setup off Convas\r\n */\r\n@Directive({\r\n selector: '[ktOffcanvas]',\r\n exportAs: 'ktOffcanvas',\r\n})\r\nexport class OffcanvasDirective implements AfterViewInit {\r\n // Public properties\r\n @Input() options: OffcanvasOptions;\r\n // Private properties\r\n private offcanvas: any;\r\n\r\n /**\r\n * Directive Constructor\r\n * @param el: ElementRef\r\n */\r\n constructor(private el: ElementRef) {\r\n }\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * After view init\r\n */\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n this.offcanvas = new KTOffcanvas(this.el.nativeElement, this.options);\r\n });\r\n }\r\n\r\n /**\r\n * Returns the offCanvas\r\n */\r\n getOffcanvas() {\r\n return this.offcanvas;\r\n }\r\n}\r\n","// Angular\r\nimport { AfterViewInit, Directive, ElementRef, Input } from '@angular/core';\r\n\r\nexport interface ScrollTopOptions {\r\n offset: number;\r\n speed: number;\r\n}\r\n\r\n/**\r\n * Scroll to top\r\n */\r\n@Directive({\r\n selector: '[ktScrollTop]'\r\n})\r\nexport class ScrollTopDirective implements AfterViewInit {\r\n // Public properties\r\n @Input() options: ScrollTopOptions;\r\n // Private properties\r\n private scrollTop: any;\r\n\r\n /**\r\n * Directive Constructor\r\n * @param el: ElementRef\r\n */\r\n constructor(private el: ElementRef) {\r\n }\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * After view init\r\n */\r\n ngAfterViewInit(): void {\r\n this.scrollTop = new KTScrolltop(this.el.nativeElement, this.options);\r\n }\r\n\r\n /**\r\n * Returns ScrollTop\r\n */\r\n getScrollTop() {\r\n return this.scrollTop;\r\n }\r\n}\r\n","// Angular\r\nimport { AfterViewInit, Directive, ElementRef, Input } from '@angular/core';\r\n// Chart\r\nimport { Chart } from 'chart.js/dist/Chart.min.js';\r\n// LayoutConfig\r\nimport { LayoutConfigService } from '../../layout/services/layout-config.service';\r\n\r\nexport interface SparklineChartOptions {\r\n // array of numbers\r\n data: number[];\r\n // chart line color\r\n color: string;\r\n // chart line size\r\n border: number;\r\n fill?: boolean;\r\n tooltip?: boolean;\r\n}\r\n\r\n/**\r\n * Configure sparkline chart\r\n */\r\n@Directive({\r\n selector: '[ktSparklineChart]',\r\n exportAs: 'ktSparklineChart'\r\n})\r\nexport class SparklineChartDirective implements AfterViewInit {\r\n // Public properties\r\n @Input() options: SparklineChartOptions;\r\n // Private properties\r\n private chart: Chart;\r\n\r\n /**\r\n * Directive Constructor\r\n *\r\n * @param el: ElementRef\r\n * @param layoutConfigService: LayoutConfigService\r\n */\r\n constructor(private el: ElementRef, private layoutConfigService: LayoutConfigService) {\r\n }\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * After view init\r\n */\r\n ngAfterViewInit(): void {\r\n this.initChart(this.el.nativeElement,\r\n this.options.data,\r\n this.options.color,\r\n this.options.border,\r\n this.options.fill,\r\n this.options.tooltip);\r\n }\r\n\r\n /**\r\n * Init chart\r\n * @param src: any\r\n * @param data: any\r\n * @param color: any\r\n * @param border: any\r\n * @param fill: any\r\n * @param tooltip: any\r\n */\r\n initChart(src, data, color, border, fill, tooltip) {\r\n if (src.length === 0) {\r\n return;\r\n }\r\n\r\n // set default values\r\n fill = (typeof fill !== 'undefined') ? fill : false;\r\n tooltip = (typeof tooltip !== 'undefined') ? tooltip : false;\r\n\r\n const config = {\r\n type: 'line',\r\n data: {\r\n labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October'],\r\n datasets: [{\r\n label: '',\r\n borderColor: color,\r\n borderWidth: border,\r\n\r\n pointHoverRadius: 4,\r\n pointHoverBorderWidth: 12,\r\n pointBackgroundColor: Chart.helpers.color('#000000').alpha(0).rgbString(),\r\n pointBorderColor: Chart.helpers.color('#000000').alpha(0).rgbString(),\r\n pointHoverBackgroundColor: this.layoutConfigService.getConfig('colors.state.danger'),\r\n pointHoverBorderColor: Chart.helpers.color('#000000').alpha(0.1).rgbString(),\r\n fill: false,\r\n data,\r\n }]\r\n },\r\n options: {\r\n title: {\r\n display: false,\r\n },\r\n tooltips: {\r\n enabled: false,\r\n intersect: false,\r\n mode: 'nearest',\r\n xPadding: 10,\r\n yPadding: 10,\r\n caretPadding: 10\r\n },\r\n legend: {\r\n display: false,\r\n labels: {\r\n usePointStyle: false\r\n }\r\n },\r\n responsive: true,\r\n maintainAspectRatio: true,\r\n hover: {\r\n mode: 'index'\r\n },\r\n scales: {\r\n xAxes: [{\r\n display: false,\r\n gridLines: false,\r\n scaleLabel: {\r\n display: true,\r\n labelString: 'Month'\r\n }\r\n }],\r\n yAxes: [{\r\n display: false,\r\n gridLines: false,\r\n scaleLabel: {\r\n display: true,\r\n labelString: 'Value'\r\n },\r\n ticks: {\r\n beginAtZero: true\r\n }\r\n }]\r\n },\r\n\r\n elements: {\r\n point: {\r\n radius: 4,\r\n borderWidth: 12\r\n },\r\n },\r\n\r\n layout: {\r\n padding: {\r\n left: 0,\r\n right: 10,\r\n top: 5,\r\n bottom: 0\r\n }\r\n }\r\n }\r\n };\r\n\r\n this.chart = new Chart(src, config);\r\n }\r\n\r\n /**\r\n * Returns the chart\r\n */\r\n getChart() {\r\n return this.chart;\r\n }\r\n}\r\n","import {\r\n AfterViewInit,\r\n Directive,\r\n ElementRef,\r\n HostBinding,\r\n HostListener,\r\n Inject,\r\n Input,\r\n isDevMode,\r\n OnDestroy,\r\n OnInit,\r\n PLATFORM_ID\r\n} from '@angular/core';\r\nimport { isPlatformBrowser } from '@angular/common';\r\nimport { BehaviorSubject, combineLatest, Observable, Subject } from 'rxjs';\r\nimport { animationFrame } from 'rxjs/internal/scheduler/animationFrame';\r\nimport { filter, map, share, startWith, takeUntil, throttleTime } from 'rxjs/operators';\r\n\r\n/**\r\n * Extended version of \"Sticky Directive for Angular 2+\"\r\n * https://github.com/w11k/angular-sticky-things\r\n */\r\n\r\nexport interface StickyPositions {\r\n offsetY: number;\r\n bottomBoundary: number | null;\r\n}\r\n\r\nexport interface StickyStatus {\r\n isSticky: boolean;\r\n reachedLowerEdge: boolean;\r\n marginTop: number;\r\n marginBottom: number;\r\n}\r\n\r\n@Directive({\r\n selector: '[ktSticky]'\r\n})\r\nexport class StickyDirective implements OnInit, AfterViewInit, OnDestroy {\r\n\r\n filterGate = false;\r\n marginTop$ = new BehaviorSubject(0);\r\n marginBottom$ = new BehaviorSubject(0);\r\n enable$ = new BehaviorSubject(true);\r\n\r\n @Input() scrollContainer: string | HTMLElement;\r\n // tslint:disable-next-line\r\n @Input('spacerElement') spacerElement: HTMLElement | undefined;\r\n // tslint:disable-next-line\r\n @Input('boundaryElement') boundaryElement: HTMLElement | undefined;\r\n @HostBinding('class.is-sticky') sticky = false;\r\n @HostBinding('class.boundary-reached') boundaryReached = false;\r\n /**\r\n * The field represents some position values in normal (not sticky) mode.\r\n * If the browser size or the content of the page changes, this value must be recalculated.\r\n */\r\n private scroll$ = new Subject();\r\n private scrollThrottled$: Observable;\r\n private resize$ = new Subject();\r\n private resizeThrottled$: Observable;\r\n private extraordinaryChange$ = new BehaviorSubject(undefined);\r\n private status$: Observable;\r\n private componentDestroyed = new Subject();\r\n\r\n constructor(private stickyElement: ElementRef, @Inject(PLATFORM_ID) private platformId: string) {\r\n\r\n /** Throttle the scroll to animation frame (around 16.67ms) */\r\n this.scrollThrottled$ = this.scroll$\r\n .pipe(\r\n throttleTime(0, animationFrame),\r\n share()\r\n );\r\n\r\n /** Throttle the resize to animation frame (around 16.67ms) */\r\n this.resizeThrottled$ = this.resize$\r\n .pipe(\r\n throttleTime(0, animationFrame),\r\n // emit once since we are currently using combineLatest\r\n startWith(null),\r\n share()\r\n );\r\n\r\n this.status$ = combineLatest(\r\n this.enable$,\r\n this.scrollThrottled$,\r\n this.marginTop$,\r\n this.marginBottom$,\r\n this.extraordinaryChange$,\r\n this.resizeThrottled$,\r\n )\r\n .pipe(\r\n filter(([enabled]) => this.checkEnabled(enabled)),\r\n map(([enabled, pageYOffset, marginTop, marginBottom]) =>\r\n this.determineStatus(this.determineElementOffsets(), pageYOffset, marginTop, marginBottom, enabled)),\r\n share(),\r\n );\r\n }\r\n\r\n @Input() set marginTop(value: number) {\r\n this.marginTop$.next(value);\r\n }\r\n\r\n @Input() set marginBottom(value: number) {\r\n this.marginBottom$.next(value);\r\n }\r\n\r\n @Input() set enable(value: boolean) {\r\n this.enable$.next(value);\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.status$\r\n .pipe(takeUntil(this.componentDestroyed))\r\n .subscribe((status) => this.setSticky(status));\r\n }\r\n\r\n public recalculate(): void {\r\n if (isPlatformBrowser(this.platformId)) {\r\n // Make sure to be in the next tick by using timeout\r\n setTimeout(() => {\r\n this.extraordinaryChange$.next(undefined);\r\n }, 0);\r\n }\r\n }\r\n\r\n\r\n /**\r\n * This is nasty code that should be refactored at some point.\r\n *\r\n * The Problem is, we filter for enabled. So that the code doesn't run\r\n * if @Input enabled = false. But if the user disables, we need exactly 1\r\n * emit in order to reset and call removeSticky. So this method basically\r\n * turns the filter in \"filter, but let the first pass\".\r\n */\r\n checkEnabled(enabled: boolean): boolean {\r\n\r\n if (!isPlatformBrowser(this.platformId)) {\r\n return false;\r\n }\r\n\r\n if (enabled) {\r\n // reset the gate\r\n this.filterGate = false;\r\n return true;\r\n } else {\r\n if (this.filterGate) {\r\n // gate closed, first emit has happened\r\n return false;\r\n } else {\r\n // this is the first emit for enabled = false,\r\n // let it pass, and activate the gate\r\n // so the next wont pass.\r\n this.filterGate = true;\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n @HostListener('window:resize', [])\r\n onWindowResize(): void {\r\n if (isPlatformBrowser(this.platformId)) {\r\n this.resize$.next();\r\n }\r\n }\r\n\r\n setupListener(): void {\r\n if (isPlatformBrowser(this.platformId)) {\r\n const target = this.getScrollTarget();\r\n target.addEventListener('scroll', this.listener);\r\n }\r\n }\r\n\r\n removeListener() {\r\n if (isPlatformBrowser(this.platformId)) {\r\n const target = this.getScrollTarget();\r\n target.removeEventListener('scroll', this.listener);\r\n }\r\n }\r\n\r\n listener = (e: Event) => {\r\n const upperScreenEdgeAt = (e.target as HTMLElement).scrollTop || window.pageYOffset;\r\n this.scroll$.next(upperScreenEdgeAt);\r\n }\r\n\r\n ngOnInit(): void {\r\n // this.checkSetup();\r\n this.setupListener();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.componentDestroyed.next();\r\n this.removeListener();\r\n }\r\n\r\n getComputedStyle(el: HTMLElement): ClientRect | DOMRect {\r\n return el.getBoundingClientRect();\r\n }\r\n\r\n private getScrollTarget(): Element | Window {\r\n\r\n let target: Element | Window;\r\n\r\n if (this.scrollContainer && typeof this.scrollContainer === 'string') {\r\n target = document.querySelector(this.scrollContainer);\r\n } else if (this.scrollContainer && this.scrollContainer instanceof HTMLElement) {\r\n target = this.scrollContainer;\r\n } else {\r\n target = window;\r\n }\r\n return target;\r\n }\r\n\r\nprivate determineStatus(originalVals: StickyPositions,\r\n pageYOffset: number,\r\n marginTop: number,\r\n marginBottom: number,\r\n enabled: boolean): StickyStatus {\r\n const stickyElementHeight = this.getComputedStyle(this.stickyElement.nativeElement).height;\r\n const reachedLowerEdge = this.boundaryElement &&\r\n window.pageYOffset + stickyElementHeight + marginBottom >= (originalVals.bottomBoundary - marginTop);\r\n return {\r\n isSticky: enabled && pageYOffset > originalVals.offsetY,\r\n reachedLowerEdge,\r\n marginBottom,\r\n marginTop,\r\n };\r\n }\r\n\r\n\r\n /**\r\n * Gets the offset for element. If the element\r\n * currently is sticky, it will get removed\r\n * to access the original position. Other\r\n * wise this would just be 0 for fixed elements.\r\n */\r\n private determineElementOffsets(): StickyPositions {\r\n if (this.sticky) {\r\n this.removeSticky();\r\n }\r\n\r\n let bottomBoundary: number | null = null;\r\n\r\n if (this.boundaryElement) {\r\n const boundaryElementHeight = this.getComputedStyle(this.boundaryElement).height;\r\n const boundaryElementOffset = getPosition(this.boundaryElement).y;\r\n bottomBoundary = boundaryElementHeight + boundaryElementOffset;\r\n }\r\n\r\n return {offsetY: (getPosition(this.stickyElement.nativeElement).y - this.marginTop$.value), bottomBoundary};\r\n }\r\n\r\n private makeSticky(boundaryReached: boolean = false, marginTop: number, marginBottom: number): void {\r\n\r\n this.boundaryReached = boundaryReached;\r\n\r\n // do this before setting it to pos:fixed\r\n const {width, height, left} = this.getComputedStyle(this.stickyElement.nativeElement);\r\n const offSet = boundaryReached ?\r\n (this.getComputedStyle(this.boundaryElement).bottom - height - this.marginBottom$.value) : this.marginTop$.value;\r\n\r\n this.sticky = true;\r\n this.stickyElement.nativeElement.style.position = 'sticky';\r\n this.stickyElement.nativeElement.style.backgroundColor = '#fff';\r\n this.stickyElement.nativeElement.style.top = this.marginTop$.value + 'px';\r\n // this.stickyElement.nativeElement.style.left = left + 'px';\r\n this.stickyElement.nativeElement.style.width = `${width}px`;\r\n this.stickyElement.nativeElement.style.zIndex = `2`;\r\n if (this.spacerElement) {\r\n const spacerHeight = marginBottom + height + marginTop;\r\n this.spacerElement.style.height = `${spacerHeight}px`;\r\n }\r\n }\r\n\r\n private checkSetup() {\r\n if (isDevMode() && !this.spacerElement) {\r\n console.warn(`******There might be an issue with your sticky directive!******\r\n\r\nYou haven't specified a spacer element. This will cause the page to jump.\r\n\r\nBest practise is to provide a spacer element (e.g. a div) right before/after the sticky element.\r\nThen pass the spacer element as input:\r\n\r\n
\r\n\r\n
\r\n I am sticky!\r\n
`);\r\n }\r\n }\r\n\r\n\r\n private setSticky(status: StickyStatus): void {\r\n if (status.isSticky) {\r\n this.makeSticky(status.reachedLowerEdge, status.marginTop, status.marginBottom);\r\n } else {\r\n this.removeSticky();\r\n }\r\n }\r\n\r\n private removeSticky(): void {\r\n\r\n this.boundaryReached = false;\r\n this.sticky = false;\r\n\r\n this.stickyElement.nativeElement.style.position = '';\r\n this.stickyElement.nativeElement.style.width = 'auto';\r\n this.stickyElement.nativeElement.style.left = 'auto';\r\n this.stickyElement.nativeElement.style.top = 'auto';\r\n if (this.spacerElement) {\r\n this.spacerElement.style.height = '0';\r\n }\r\n }\r\n}\r\n\r\n// Thanks to https://stanko.github.io/javascript-get-element-offset/\r\nfunction getPosition(el) {\r\n let top = 0;\r\n let left = 0;\r\n let element = el;\r\n\r\n // Loop through the DOM tree\r\n // and add it's parent's offset to get page offset\r\n do {\r\n top += element.offsetTop || 0;\r\n left += element.offsetLeft || 0;\r\n element = element.offsetParent;\r\n } while (element);\r\n\r\n return {\r\n y: top,\r\n x: left,\r\n };\r\n}\r\n","import { Directive, ElementRef, HostListener, Renderer2 } from '@angular/core';\r\n\r\n/**\r\n * Listen Tab click\r\n */\r\n@Directive({\r\n selector: '[ktTabClickEvent]'\r\n})\r\nexport class TabClickEventDirective {\r\n /**\r\n * Directive Constructor\r\n * @param el: ElementRef\r\n * @param render: Renderer2\r\n */\r\n constructor(private el: ElementRef, private render: Renderer2) {\r\n }\r\n\r\n /**\r\n * A directive handler the tab click event for active tab\r\n * param target\r\n */\r\n @HostListener('click', ['$event.target'])\r\n onClick(target: HTMLElement) {\r\n // remove previous active tab\r\n const parent = target.closest('[role=\"tablist\"]');\r\n const activeLink = parent.querySelector('[role=\"tab\"].active');\r\n if (activeLink) {\r\n this.render.removeClass(activeLink, 'active');\r\n }\r\n // set active tab\r\n const link = target.closest('[role=\"tab\"]');\r\n if (link) {\r\n this.render.addClass(link, 'active');\r\n }\r\n }\r\n}\r\n","// Angular\r\nimport { AfterViewInit, Directive, ElementRef, Input } from '@angular/core';\r\n\r\nexport interface ToggleOptions {\r\n target?: string | any;\r\n targetState?: string;\r\n toggleState?: string;\r\n}\r\n\r\n/**\r\n * Toggle\r\n */\r\n@Directive({\r\n selector: '[ktToggle]',\r\n exportAs: 'ktToggle'\r\n})\r\nexport class ToggleDirective implements AfterViewInit {\r\n // Public properties\r\n @Input() options: ToggleOptions;\r\n toggle: any;\r\n\r\n /**\r\n * Directive constructor\r\n * @param el: ElementRef\r\n */\r\n constructor(private el: ElementRef) {\r\n }\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * After view init\r\n */\r\n ngAfterViewInit(): void {\r\n this.toggle = new KTToggle(this.el.nativeElement, this.options);\r\n }\r\n}\r\n","// Directives\r\nexport { SparklineChartOptions, SparklineChartDirective } from './directives/sparkline-chart.directive';\r\nexport { OffcanvasDirective } from './directives/offcanvas.directive';\r\nexport { ScrollTopDirective } from './directives/scroll-top.directive';\r\nexport { TabClickEventDirective } from './directives/tab-click-event.directive';\r\nexport { ToggleDirective } from './directives/toggle.directive';\r\n\r\nexport { ContentAnimateDirective } from './directives/content-animate.directive';\r\nexport { HeaderDirective } from './directives/header.directive';\r\nexport { MenuDirective } from './directives/menu.directive';\r\nexport { StickyDirective } from './directives/sticky.directive';\r\n\r\n// Models\r\nexport { DataTableItemModel } from './models/datatable-item.model';\r\nexport { ExternalCodeExample } from './models/external-code-example';\r\nexport { OffcanvasOptions } from './directives/offcanvas.directive';\r\nexport { ScrollTopOptions } from './directives/scroll-top.directive';\r\nexport { ToggleOptions } from './directives/toggle.directive';\r\n\r\nexport { LayoutConfigModel } from './models/layout-config.model';\r\nexport { MenuOptions } from './directives/menu.directive';\r\n\r\n// Pipes\r\nexport { FirstLetterPipe } from './pipes/first-letter.pipe';\r\nexport { GetObjectPipe } from './pipes/get-object.pipe';\r\nexport { JoinPipe } from './pipes/join.pipe';\r\nexport { SafePipe } from './pipes/safe.pipe';\r\nexport { TimeElapsedPipe } from './pipes/time-elapsed.pipe';\r\n\r\n// Services\r\nexport { DataTableService } from './services/datatable.service';\r\nexport { TranslationService } from './services/translation.service';\r\n\r\nexport { LayoutConfigService } from './services/layout-config.service';\r\nexport { LayoutRefService } from './services/layout-ref.service';\r\nexport { MenuAsideService } from './services/menu-aside.service';\r\nexport { MenuConfigService } from './services/menu-config.service';\r\nexport { MenuHorizontalService } from './services/menu-horizontal.service';\r\nexport { PageConfigService } from './services/page-config.service';\r\nexport { SplashScreenService } from './services/splash-screen.service';\r\nexport { SubheaderService } from './services/subheader.service';\r\nexport { KtDialogService } from './services/kt-dialog.service';\r\n\r\n// Server\r\nexport { FakeApiService } from './server/fake-api/fake-api.service';\r\n","export class DataTableItemModel {\r\n id: number;\r\n cModel: string;\r\n cManufacture: string;\r\n cModelYear: number;\r\n cMileage: number;\r\n cDescription: string;\r\n cColor: string;\r\n cPrice: number;\r\n cCondition: number;\r\n cStatus: number;\r\n cVINCode: string;\r\n}\r\n","export class ExternalCodeExample {\r\n beforeCodeTitle: string;\r\n beforeCodeDescription: string;\r\n htmlCode: string;\r\n tsCode: string;\r\n cssCode: string;\r\n scssCode: string;\r\n viewCode: string;\r\n codeTitle: string;\r\n afterCodeTitle: string;\r\n afterCodeDescription: string;\r\n sourceLink: string;\r\n isCodeVisible = true;\r\n isExampleExpanded: boolean;\r\n}\r\n","// Angular\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n/**\r\n * Returns only first letter of string\r\n */\r\n@Pipe({\r\n name: 'firstLetter'\r\n})\r\nexport class FirstLetterPipe implements PipeTransform {\r\n\r\n /**\r\n * Transform\r\n *\r\n * @param value: any\r\n * @param args: any\r\n */\r\n transform(value: any, args?: any): any {\r\n return value.split(' ').map(n => n[0]).join('');\r\n }\r\n}\r\n","// Angular\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n// Object-Path\r\nimport * as objectPath from 'object-path';\r\n\r\n/**\r\n * Returns object from parent object\r\n */\r\n@Pipe({\r\n name: 'getObject'\r\n})\r\nexport class GetObjectPipe implements PipeTransform {\r\n /**\r\n * Transform\r\n *\r\n * @param value: any\r\n * @param args: any\r\n */\r\n transform(value: any, args?: any): any {\r\n return objectPath.get(value, args);\r\n }\r\n}\r\n","// Angular\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n/**\r\n * Returns string from Array\r\n */\r\n@Pipe({\r\n name: 'join'\r\n})\r\nexport class JoinPipe implements PipeTransform {\r\n /**\r\n * Transform\r\n *\r\n * @param value: any\r\n * @param args: any\r\n */\r\n transform(value: any, args?: any): any {\r\n if (Array.isArray(value)) {\r\n return value.join(' ');\r\n }\r\n return value;\r\n }\r\n}\r\n","// Angular\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer, SafeHtml, SafeStyle, SafeScript, SafeUrl, SafeResourceUrl } from '@angular/platform-browser';\r\n\r\n/**\r\n * Sanitize HTML\r\n */\r\n@Pipe({\r\n name: 'safe'\r\n})\r\nexport class SafePipe implements PipeTransform {\r\n /**\r\n * Pipe Constructor\r\n *\r\n * @param _sanitizer: DomSanitezer\r\n */\r\n // tslint:disable-next-line\r\n constructor(protected _sanitizer: DomSanitizer) {\r\n }\r\n\r\n /**\r\n * Transform\r\n *\r\n * @param value: string\r\n * @param type: string\r\n */\r\n transform(value: string, type: string): SafeHtml | SafeStyle | SafeScript | SafeUrl | SafeResourceUrl {\r\n switch (type) {\r\n case 'html':\r\n return this._sanitizer.bypassSecurityTrustHtml(value);\r\n case 'style':\r\n return this._sanitizer.bypassSecurityTrustStyle(value);\r\n case 'script':\r\n return this._sanitizer.bypassSecurityTrustScript(value);\r\n case 'url':\r\n return this._sanitizer.bypassSecurityTrustUrl(value);\r\n case 'resourceUrl':\r\n return this._sanitizer.bypassSecurityTrustResourceUrl(value);\r\n default:\r\n return this._sanitizer.bypassSecurityTrustHtml(value);\r\n }\r\n }\r\n}\r\n","// Angular\r\nimport { Pipe, PipeTransform, OnDestroy, ChangeDetectorRef, NgZone } from '@angular/core';\r\n\r\n/**\r\n * https://github.com/AndrewPoyntz/time-ago-pipe\r\n * An Angular pipe for converting a date string into a time ago\r\n */\r\n@Pipe({\r\n name: 'kTimeElapsed'\r\n})\r\nexport class TimeElapsedPipe implements PipeTransform, OnDestroy {\r\n // Private properties\r\n private timer: number;\r\n\r\n /**\r\n * Pipe Constructor\r\n *\r\n * @param changeDetectorRef: ChangeDetectorRef\r\n * @param ngZone: NgZone\r\n */\r\n constructor(\r\n private changeDetectorRef: ChangeDetectorRef,\r\n private ngZone: NgZone\r\n ) {\r\n }\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * On destroy\r\n */\r\n ngOnDestroy(): void {\r\n this.removeTimer();\r\n }\r\n\r\n /**\r\n * Transform\r\n *\r\n * @param value: string\r\n */\r\n transform(value: string) {\r\n this.removeTimer();\r\n const d = new Date(value);\r\n const now = new Date();\r\n const seconds = Math.round(\r\n Math.abs((now.getTime() - d.getTime()) / 1000)\r\n );\r\n const timeToUpdate = this.getSecondsUntilUpdate(seconds) * 1000;\r\n this.timer = this.ngZone.runOutsideAngular(() => {\r\n if (typeof window !== 'undefined') {\r\n return window.setTimeout(() => {\r\n this.ngZone.run(() =>\r\n this.changeDetectorRef.markForCheck()\r\n );\r\n }, timeToUpdate);\r\n }\r\n return null;\r\n });\r\n const minutes = Math.round(Math.abs(seconds / 60));\r\n const hours = Math.round(Math.abs(minutes / 60));\r\n const days = Math.round(Math.abs(hours / 24));\r\n const months = Math.round(Math.abs(days / 30.416));\r\n const years = Math.round(Math.abs(days / 365));\r\n if (seconds <= 45) {\r\n return 'just now';\r\n } else if (seconds <= 90) {\r\n return '1 min';\r\n } else if (minutes <= 45) {\r\n return minutes + ' mins';\r\n } else if (minutes <= 90) {\r\n return '1 hr';\r\n } else if (hours <= 22) {\r\n return hours + ' hrs';\r\n } else if (hours <= 36) {\r\n return '1 day';\r\n } else if (days <= 25) {\r\n return days + ' days';\r\n } else if (days <= 45) {\r\n return '1 month';\r\n } else if (days <= 345) {\r\n return months + ' months';\r\n } else if (days <= 545) {\r\n return '1 year';\r\n } else {\r\n // (days > 545)\r\n return years + ' years';\r\n }\r\n }\r\n\r\n /**\r\n * Remove timer\r\n */\r\n private removeTimer() {\r\n if (this.timer) {\r\n window.clearTimeout(this.timer);\r\n this.timer = null;\r\n }\r\n }\r\n\r\n /**\r\n * Returns Seconds Until Update\r\n * @param seconds: number\r\n */\r\n private getSecondsUntilUpdate(seconds: number) {\r\n const min = 60;\r\n const hr = min * 60;\r\n const day = hr * 24;\r\n if (seconds < min) {\r\n // less than 1 min, update ever 2 secs\r\n return 2;\r\n } else if (seconds < hr) {\r\n // less than an hour, update every 30 secs\r\n return 30;\r\n } else if (seconds < day) {\r\n // less then a day, update every 5 minutes\r\n return 300;\r\n } else {\r\n // update every hour\r\n return 3600;\r\n }\r\n }\r\n}\r\n","// Angular\r\nimport { Injectable } from \"@angular/core\";\r\n// Angular in memory\r\nimport { InMemoryDbService } from \"angular-in-memory-web-api\";\r\n// RxJS\r\nimport { Observable } from \"rxjs\";\r\n// Auth\r\nimport { AuthDataContext } from \"../../../../auth\";\r\n// ECommerce\r\n// import { ECommerceDataContext } from '../../../../e-commerce';\r\n// Models\r\nimport { CarsDb } from \"./fake-db/cars\";\r\n\r\n@Injectable()\r\nexport class FakeApiService {\r\n /**\r\n * Service Constructors\r\n */\r\n constructor() {}\r\n\r\n /**\r\n * Create Fake DB and API\r\n */\r\n createDb(): {} | Observable<{}> {\r\n // tslint:disable-next-line:class-name\r\n const db = {\r\n // auth module\r\n // users: AuthDataContext.users,\r\n roles: AuthDataContext.roles,\r\n permissions: AuthDataContext.permissions,\r\n\r\n // e-commerce\r\n // customers\r\n // customers: ECommerceDataContext.customers,\r\n // // products\r\n // products: ECommerceDataContext.cars,\r\n // productRemarks: ECommerceDataContext.remarks,\r\n // productSpecs: ECommerceDataContext.carSpecs,\r\n\r\n // // orders\r\n // orders: ECommerceDataContext.orders,\r\n\r\n // data-table\r\n cars: CarsDb.cars,\r\n };\r\n return db;\r\n }\r\n}\r\n","export class CarsDb {\r\n public static cars: any = [\r\n {\r\n id: 1,\r\n cModel: 'Elise',\r\n cManufacture: 'Lotus',\r\n cModelYear: 2004,\r\n cMileage: 116879,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Lotus Elise first appeared in 1996 and revolutionised small sports car design with its lightweight extruded aluminium chassis and composite body. There have been many variations, but the basic principle remain the same.`,\r\n cColor: 'Red',\r\n cPrice: 18347,\r\n cCondition: 1,\r\n createdDate: '09/30/2017',\r\n cStatus: 0,\r\n cVINCode: '1FTWX3D52AE575540',\r\n }, {\r\n id: 2,\r\n cModel: 'Sunbird',\r\n cManufacture: 'Pontiac',\r\n cModelYear: 1984,\r\n cMileage: 99515,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Pontiac Sunbird is an automobile that was produced by Pontiac, initially as a subcompact for the 1976 to 1980 cModel years,and later as a compact for the 1982 to 1994 cModel years. The Sunbird badge ran for 18 years (with a hiatus during the 1981 and 1982 cModel years, as the 1982 cModel was called J2000) and was then replaced in 1995 by the Pontiac Sunfire. Through the years the Sunbird was available in notchback coupé, sedan, hatchback, station wagon, and convertible body styles.`,\r\n cColor: 'Khaki',\r\n cPrice: 165956,\r\n cCondition: 0,\r\n createdDate: '03/22/2018',\r\n cStatus: 1,\r\n cVINCode: 'JM1NC2EF8A0293556'\r\n }, {\r\n id: 3,\r\n cModel: 'Amigo',\r\n cManufacture: 'Isuzu',\r\n cModelYear: 1993,\r\n cMileage: 138027,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Isuzu MU is a mid-size SUV that was produced by the Japan-based cManufacturer Isuzu. The three-door MU was introduced in 1989, followed in 1990 by the five-door version called Isuzu MU Wizard, both of which stopped production in 1998 to be replaced by a second generation. This time, the five-door version dropped the \"MU\" prefix, to become the Isuzu Wizard. The acronym \"MU\" is short for \"Mysterious Utility\". Isuzu cManufactured several variations to the MU and its derivates for sale in other countries.`,\r\n cColor: 'Aquamarine',\r\n cPrice: 45684,\r\n cCondition: 0,\r\n createdDate: '03/06/2018',\r\n cStatus: 0,\r\n cVINCode: '1G6DG8E56C0973889'\r\n }, {\r\n id: 4,\r\n cModel: 'LS',\r\n cManufacture: 'Lexus',\r\n cModelYear: 2004,\r\n cMileage: 183068,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Lexus LS (Japanese: レクサス・LS, Rekusasu LS) is a full-size luxury car (F-segment in Europe) serving as the flagship cModel of Lexus, the luxury division of Toyota. For the first four generations, all LS cModels featured V8 engines and were predominantly rear-wheel-drive, with Lexus also offering all-wheel-drive, hybrid, and long-wheelbase variants. The fifth generation changed to using a V6 engine with no V8 option, and the long wheelbase variant was removed entirely.`,\r\n cColor: 'Mauv',\r\n cPrice: 95410,\r\n cCondition: 1,\r\n createdDate: '02/03/2018',\r\n cStatus: 1,\r\n cVINCode: '2T1BU4EE6DC859114'\r\n }, {\r\n id: 5,\r\n cModel: 'Paseo',\r\n cManufacture: 'Toyota',\r\n cModelYear: 1997,\r\n cMileage: 74884,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Toyota Paseo (known as the Cynos in Japan and other regions) is a sports styled compact car sold from 1991–1999 and was loosely based on the Tercel. It was available as a coupe and in later cModels as a convertible. Toyota stopped selling the car in the United States in 1997, however the car continued to be sold in Canada, Europe and Japan until 1999, but had no direct replacement. The Paseo, like the Tercel, shares a platform with the Starlet. Several parts are interchangeable between the three`,\r\n cColor: 'Pink',\r\n cPrice: 24796,\r\n cCondition: 1,\r\n createdDate: '08/13/2017',\r\n cStatus: 0,\r\n cVINCode: '1D7RB1GP0AS597432'\r\n }, {\r\n id: 6,\r\n cModel: 'M',\r\n cManufacture: 'Infiniti',\r\n cModelYear: 2009,\r\n cMileage: 194846,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Infiniti M is a line of mid-size luxury (executive) cars from the Infiniti luxury division of Nissan.\\r\\nThe first iteration was the M30 Coupe/Convertible, which were rebadged JDM Nissan Leopard.\\r\\nAfter a long hiatus, the M nameplate was used for Infiniti's mid-luxury sedans (executive cars). First was the short-lived M45 sedan, a rebadged version of the Japanese-spec Nissan Gloria. The next generations, the M35/45 and M37/56/35h/30d, became the flagship of the Infiniti brand and are based on the JDM Nissan Fuga.`,\r\n cColor: 'Puce',\r\n cPrice: 30521,\r\n cCondition: 1,\r\n createdDate: '01/27/2018',\r\n cStatus: 0,\r\n cVINCode: 'YV1940AS1D1542424'\r\n }, {\r\n id: 7,\r\n cModel: 'Phantom',\r\n cManufacture: 'Rolls-Royce',\r\n cModelYear: 2008,\r\n cMileage: 164124,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Rolls-Royce Phantom VIII is a luxury saloon car cManufactured by Rolls-Royce Motor Cars. It is the eighth and current generation of Rolls-Royce Phantom, and the second launched by Rolls-Royce under BMW ownership. It is offered in two wheelbase lengths`,\r\n cColor: 'Purple',\r\n cPrice: 196247,\r\n cCondition: 1,\r\n createdDate: '09/28/2017',\r\n cStatus: 1,\r\n cVINCode: '3VWML7AJ1DM234625'\r\n }, {\r\n id: 8,\r\n cModel: 'QX',\r\n cManufacture: 'Infiniti',\r\n cModelYear: 2002,\r\n cMileage: 57410,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Infiniti QX80 (called the Infiniti QX56 until 2013) is a full-size luxury SUV built by Nissan Motor Company's Infiniti division. The naming convention originally adhered to the current trend of using a numeric designation derived from the engine's displacement, thus QX56 since the car has a 5.6-liter engine. From the 2014 cModel year, the car was renamed the QX80, as part of Infiniti's cModel name rebranding. The new name carries no meaning beyond suggesting that the vehicle is larger than smaller cModels such as the QX60`,\r\n cColor: 'Green',\r\n cPrice: 185775,\r\n cCondition: 1,\r\n createdDate: '11/15/2017',\r\n cStatus: 0,\r\n cVINCode: 'WDDHF2EB9CA161524'\r\n }, {\r\n id: 9,\r\n cModel: 'Daytona',\r\n cManufacture: 'Dodge',\r\n cModelYear: 1993,\r\n cMileage: 4444,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Dodge Daytona was an automobile which was produced by the Chrysler Corporation under their Dodge division from 1984 to 1993. It was a front-wheel drive hatchback based on the Chrysler G platform, which was derived from the Chrysler K platform. The Chrysler Laser was an upscale rebadged version of the Daytona. The Daytona was restyled for 1987, and again for 1992. It replaced the Mitsubishi Galant-based Challenger, and slotted between the Charger and the Conquest. The Daytona was replaced by the 1995 Dodge Avenger, which was built by Mitsubishi Motors. The Daytona derives its name mainly from the Dodge Charger Daytona, which itself was named after the Daytona 500 race in Daytona Beach, Florida.`,\r\n cColor: 'Maroon',\r\n cPrice: 171898,\r\n cCondition: 0,\r\n createdDate: '12/24/2017',\r\n cStatus: 1,\r\n cVINCode: 'WBAET37422N752051'\r\n }, {\r\n id: 10,\r\n cModel: '1500 Silverado',\r\n cManufacture: 'Chevrolet',\r\n cModelYear: 1999,\r\n cMileage: 195310,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Chevrolet Silverado, and its mechanically identical cousin, the GMC Sierra, are a series of full-size and heavy-duty pickup trucks cManufactured by General Motors and introduced in 1998 as the successor to the long-running Chevrolet C/K line. The Silverado name was taken from a trim level previously used on its predecessor, the Chevrolet C/K pickup truck from 1975 through 1998. General Motors continues to offer a GMC-badged variant of the Chevrolet full-size pickup under the GMC Sierra name, first used in 1987 for its variant of the GMT400 platform trucks.`,\r\n cColor: 'Blue',\r\n cPrice: 25764,\r\n cCondition: 0,\r\n createdDate: '08/30/2017',\r\n cStatus: 1,\r\n cVINCode: '1N6AF0LX6EN590806'\r\n }, {\r\n id: 11,\r\n cModel: 'CTS',\r\n cManufacture: 'Cadillac',\r\n cModelYear: 2012,\r\n cMileage: 170862,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Cadillac CTS is a mid-size luxury car / executive car designed, engineered, cManufactured and marketed by General Motors, and now in its third generation. \\r\\nInitially available only as a 4-door sedan on the GM Sigma platform, GM had offered the second generation CTS in three body styles: 4-door sedan, 2-door coupe, and 5-door sport wagon also using the Sigma platform — and the third generation in coupe and sedan configurations, using a stretched version of the GM Alpha platform.\\r\\nWayne Cherry and Kip Wasenko designed the exterior of the first generation CTS, marking the production debut of a design language (marketed as \"Art and Science\") first seen on the Evoq concept car. Bob Boniface and Robin Krieg designed the exterior of the third generation CTS`,\r\n cColor: 'Crimson',\r\n cPrice: 80588,\r\n cCondition: 0,\r\n createdDate: '02/15/2018',\r\n cStatus: 0,\r\n cVINCode: '1G4HR54KX4U506530'\r\n }, {\r\n id: 12,\r\n cModel: 'Astro',\r\n cManufacture: 'Chevrolet',\r\n cModelYear: 1995,\r\n cMileage: 142137,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Chevrolet Astro was a rear-wheel drive van/minivan cManufactured and marketed by the American automaker Chevrolet from 1985 to 2005 and over two build generations. Along with its rebadged variant, the GMC Safari, the Astro was marketed in passenger as well as cargo and livery configurations—featuring a V6 engine, unibody construction with a separate front engine/suspension sub-frame, leaf-spring rear suspension, rear bi-parting doors, and a seating capacity of up to eight passengers`,\r\n cColor: 'Teal',\r\n cPrice: 72430,\r\n cCondition: 1,\r\n createdDate: '07/31/2017',\r\n cStatus: 0,\r\n cVINCode: 'KMHGH4JH2DU676107'\r\n }, {\r\n id: 13,\r\n cModel: 'XL7',\r\n cManufacture: 'Suzuki',\r\n cModelYear: 2009,\r\n cMileage: 165165,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Suzuki XL-7 (styled as XL7 for the second generation) is Suzuki's mid-sized SUV that was made from 1998 to 2009, over two generations. It was slotted above the Grand Vitara in Suzuki's lineup.`,\r\n cColor: 'Puce',\r\n cPrice: 118667,\r\n cCondition: 0,\r\n createdDate: '02/04/2018',\r\n cStatus: 0,\r\n cVINCode: '1N6AF0LX9EN733005'\r\n }, {\r\n id: 14,\r\n cModel: 'SJ 410',\r\n cManufacture: 'Suzuki',\r\n cModelYear: 1984,\r\n cMileage: 176074,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The SJ-Series was introduced to the United States (Puerto Rico (SJ-410) and Canada earlier) in 1985 for the 1986 cModel year. It was cPriced at $6200 and 47,000 were sold in its first year. The Samurai had a 1.3 liter, 63 hp (47 kW), 4-cylinder engine and was available as a convertible or a hardtop, and with or without a rear seat. The Suzuki Samurai became intensely popular within the serious 4WD community for its good off-road performance and reliability compared to other 4WDs of the time. This is due to the fact that while very compact and light, it is a real 4WD vehicle equipped with a transfer case, switchable 4WD and low range. Its lightness makes it a very nimble off-roader less prone to sinking in softer ground than heavier types. It is also considered a great beginner off-roader due to its simple design and ease of engine and suspension modifications.`,\r\n cColor: 'Orange',\r\n cPrice: 84325,\r\n cCondition: 0,\r\n createdDate: '12/22/2017',\r\n cStatus: 0,\r\n cVINCode: '2C3CDYBT6DH183756'\r\n }, {\r\n id: 15,\r\n cModel: 'F-Series',\r\n cManufacture: 'Ford',\r\n cModelYear: 1995,\r\n cMileage: 53030,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Ford F-Series is a series of light-duty trucks and medium-duty trucks (Class 2-7) that have been marketed and cManufactured by Ford Motor Company since 1948. While most variants of the F-Series trucks are full-size pickup trucks, the F-Series also includes chassis cab trucks and commercial vehicles. The Ford F-Series has been the best-selling vehicle in the United States since 1986 and the best-selling pickup since 1977.[1][2] It is also the best selling vehicle in Canada.[3] As of the 2018 cModel year, the F-Series generates $41.0 billion in annual revenue for Ford, making the F-Series brand more valuable than Coca-Cola and Nike.`,\r\n cColor: 'Aquamarine',\r\n cPrice: 77108,\r\n cCondition: 0,\r\n createdDate: '01/09/2018',\r\n cStatus: 0,\r\n cVINCode: 'WBAVB33526P873481'\r\n }, {\r\n id: 16,\r\n cModel: 'HS',\r\n cManufacture: 'Lexus',\r\n cModelYear: 2011,\r\n cMileage: 84718,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Lexus HS (Japanese: レクサス・HS, Rekusasu HS) is a dedicated hybrid vehicle introduced by Lexus as a new entry-level luxury compact sedan in 2009.[2] Built on the Toyota New MC platform,[3] it is classified as a compact under Japanese regulations concerning vehicle exterior dimensions and engine displacement. Unveiled at the North American International Auto Show in January 2009, the HS 250h went on sale in July 2009 in Japan, followed by the United States in August 2009 as a 2010 cModel. The HS 250h represented the first dedicated hybrid vehicle in the Lexus lineup, as well as the first offered with an inline-four gasoline engine.[4] Bioplastic materials are used for the vehicle interior.[5] With a total length of 184.8 inches, the Lexus HS is slightly larger than the Lexus IS, but still smaller than the mid-size Lexus ES.`,\r\n cColor: 'Purple',\r\n cPrice: 140170,\r\n cCondition: 0,\r\n createdDate: '11/14/2017',\r\n cStatus: 1,\r\n cVINCode: '1FTWF3A56AE545514'\r\n }, {\r\n id: 17,\r\n cModel: 'Land Cruiser',\r\n cManufacture: 'Toyota',\r\n cModelYear: 2008,\r\n cMileage: 157019,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `Production of the first generation Land Cruiser began in 1951 (90 units) as Toyota's version of a Jeep-like vehicle.[2][3] The Land Cruiser has been produced in convertible, hardtop, station wagon and cab chassis versions. The Land Cruiser's reliability and longevity has led to huge popularity, especially in Australia where it is the best-selling body-on-frame, four-wheel drive vehicle.[4] Toyota also extensively tests the Land Cruiser in the Australian outback – considered to be one of the toughest operating environments in both temperature and terrain. In Japan, the Land Cruiser is exclusive to Toyota Japanese dealerships called Toyota Store.`,\r\n cColor: 'Crimson',\r\n cPrice: 72638,\r\n cCondition: 1,\r\n createdDate: '08/08/2017',\r\n cStatus: 1,\r\n cVINCode: '3C3CFFDR2FT957799'\r\n }, {\r\n id: 18,\r\n cModel: 'Wrangler',\r\n cManufacture: 'Jeep',\r\n cModelYear: 1994,\r\n cMileage: 55857,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Jeep Wrangler is a series of compact and mid-size (Wrangler Unlimited and Wrangler 4-door JL) four-wheel drive off-road vehicle cModels, cManufactured by Jeep since 1986, and currently migrating from its third into its fourth generation. The Wrangler JL was unveiled in late 2017 and will be produced at Jeep's Toledo Complex.`,\r\n cColor: 'Red',\r\n cPrice: 193523,\r\n cCondition: 0,\r\n createdDate: '02/28/2018',\r\n cStatus: 1,\r\n cVINCode: '3C4PDCAB7FT652291'\r\n }, {\r\n id: 19,\r\n cModel: 'Sunbird',\r\n cManufacture: 'Pontiac',\r\n cModelYear: 1994,\r\n cMileage: 165202,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Pontiac Sunbird is an automobile that was produced by Pontiac, initially as a subcompact for the 1976 to 1980 cModel years, and later as a compact for the 1982 to 1994 cModel years. The Sunbird badge ran for 18 years (with a hiatus during the 1981 and 1982 cModel years, as the 1982 cModel was called J2000) and was then replaced in 1995 by the Pontiac Sunfire. Through the years the Sunbird was available in notchback coupé, sedan, hatchback, station wagon, and convertible body styles.`,\r\n cColor: 'Blue',\r\n cPrice: 198739,\r\n cCondition: 0,\r\n createdDate: '05/13/2017',\r\n cStatus: 1,\r\n cVINCode: '1GD22XEG9FZ103872'\r\n }, {\r\n id: 20,\r\n cModel: 'A4',\r\n cManufacture: 'Audi',\r\n cModelYear: 1998,\r\n cMileage: 117958,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The A4 has been built in five generations and is based on the Volkswagen Group B platform. The first generation A4 succeeded the Audi 80. The automaker's internal numbering treats the A4 as a continuation of the Audi 80 lineage, with the initial A4 designated as the B5-series, followed by the B6, B7, B8 and the B9. The B8 and B9 versions of the A4 are built on the Volkswagen Group MLB platform shared with many other Audi cModels and potentially one Porsche cModel within Volkswagen Group`,\r\n cColor: 'Yellow',\r\n cPrice: 159377,\r\n cCondition: 0,\r\n createdDate: '12/15/2017',\r\n cStatus: 1,\r\n cVINCode: '2C3CDXCT2FH350366'\r\n }, {\r\n id: 21,\r\n cModel: 'Camry Solara',\r\n cManufacture: 'Toyota',\r\n cModelYear: 2006,\r\n cMileage: 22436,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Toyota Camry Solara, popularly known as the Toyota Solara, is a mid-size coupe/convertible built by Toyota. The Camry Solara is mechanically based on the Toyota Camry and effectively replaced the discontinued Camry Coupe (XV10); however, in contrast with its predecessor's conservative design, the Camry Solara was designed with a greater emphasis on sportiness, with more rakish styling, and uprated suspension and engine tuning intended to provide a sportier feel.[5] The coupe was launched in late 1998 as a 1999 cModel.[1] In 2000, the convertible was introduced, effectively replacing the Celica convertible in Toyota's North American lineup`,\r\n cColor: 'Green',\r\n cPrice: 122562,\r\n cCondition: 0,\r\n createdDate: '07/11/2017',\r\n cStatus: 0,\r\n cVINCode: '3C3CFFHH6DT874066'\r\n }, {\r\n id: 22,\r\n cModel: 'Tribeca',\r\n cManufacture: 'Subaru',\r\n cModelYear: 2007,\r\n cMileage: 127958,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Subaru Tribeca is a mid-size crossover SUV made from 2005 to 2014. Released in some markets, including Canada, as the Subaru B9 Tribeca, the name \"Tribeca\" derives from the Tribeca neighborhood of New York City.[1] Built on the Subaru Legacy platform and sold in five- and seven-seat configurations, the Tribeca was intended to be sold alongside a slightly revised version known as the Saab 9-6. Saab, at the time a subsidiary of General Motors (GM), abandoned the 9-6 program just prior to its release subsequent to GM's 2005 divestiture of its 20 percent stake in FHI.`,\r\n cColor: 'Yellow',\r\n cPrice: 90221,\r\n cCondition: 1,\r\n createdDate: '11/12/2017',\r\n cStatus: 0,\r\n cVINCode: 'WVWGU7AN9AE957575'\r\n }, {\r\n id: 23,\r\n cModel: '1500 Club Coupe',\r\n cManufacture: 'GMC',\r\n cModelYear: 1997,\r\n cMileage: 95783,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `GMC (General Motors Truck Company), formally the GMC Division of General Motors LLC, is a division of the American automobile cManufacturer General Motors (GM) that primarily focuses on trucks and utility vehicles. GMC sells pickup and commercial trucks, buses, vans, military vehicles, and sport utility vehicles marketed worldwide by General Motors.`,\r\n cColor: 'Teal',\r\n cPrice: 64376,\r\n cCondition: 1,\r\n createdDate: '06/28/2017',\r\n cStatus: 0,\r\n cVINCode: 'SCFBF04BX7G920997'\r\n }, {\r\n id: 24,\r\n cModel: 'Firebird',\r\n cManufacture: 'Pontiac',\r\n cModelYear: 2002,\r\n cMileage: 74063,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Pontiac Firebird is an American automobile built by Pontiac from the 1967 to the 2002 cModel years. Designed as a pony car to compete with the Ford Mustang, it was introduced 23 February 1967, the same cModel year as GM's Chevrolet division platform-sharing Camaro.[1] This also coincided with the release of the 1967 Mercury Cougar, Ford's upscale, platform-sharing version of the Mustang. The name \"Firebird\" was also previously used by GM for the General Motors Firebird 1950s and early-1960s`,\r\n cColor: 'Puce',\r\n cPrice: 94178,\r\n cCondition: 1,\r\n createdDate: '09/13/2017',\r\n cStatus: 0,\r\n cVINCode: '3C63D2JL5CG563879'\r\n }, {\r\n id: 25,\r\n cModel: 'RAV4',\r\n cManufacture: 'Toyota',\r\n cModelYear: 1996,\r\n cMileage: 99461,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Toyota RAV4 (Japanese: トヨタ RAV4 Toyota Ravufō) is a compact crossover SUV (sport utility vehicle) produced by the Japanese automobile cManufacturer Toyota. This was the first compact crossover SUV;[1] it made its debut in Japan and Europe in 1994,[2] and in North America in 1995. The vehicle was designed for consumers wanting a vehicle that had most of the benefits of SUVs, such as increased cargo room, higher visibility, and the option of full-time four-wheel drive, along with the maneuverability and fuel economy of a compact car. Although not all RAV4s are four-wheel-drive, RAV4 stands for \"Recreational Activity Vehicle: 4-wheel drive\", because the aforementioned equipment is an option in select countries`,\r\n cColor: 'Goldenrod',\r\n cPrice: 48342,\r\n cCondition: 0,\r\n createdDate: '12/29/2017',\r\n cStatus: 0,\r\n cVINCode: '2C4RDGDG6DR836144'\r\n }, {\r\n id: 26,\r\n cModel: 'Amanti / Opirus',\r\n cManufacture: 'Kia',\r\n cModelYear: 2007,\r\n cMileage: 189651,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Kia Opirus was an executive car cManufactured and marketed by Kia Motors that was launched in April 2003 and was marketed globally under various nameplates, prominently as the Amanti. It was considered to be Kia's flagship vehicle.`,\r\n cColor: 'Indigo',\r\n cPrice: 44292,\r\n cCondition: 1,\r\n createdDate: '09/01/2017',\r\n cStatus: 1,\r\n cVINCode: '1C4SDHCT2CC055294'\r\n }, {\r\n id: 27,\r\n cModel: 'S60',\r\n cManufacture: 'Volvo',\r\n cModelYear: 2001,\r\n cMileage: 78963,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `First introduced in 2004, Volvo's S60 R used a Haldex all-wheel-drive system mated to a 300 PS (221 kW; 296 hp) / 400 N⋅m (300 lbf⋅ft) inline-5. The 2004–2005 cModels came with a 6-speed manual transmission, or an available 5-speed automatic which allowed only 258 lb⋅ft (350 N⋅m) torque in 1st and 2nd gears. The 2006–2007 cModels came with a 6-speed manual or 6-speed automatic transmission (which was no longer torque-restricted)`,\r\n cColor: 'Goldenrod',\r\n cPrice: 9440,\r\n cCondition: 0,\r\n createdDate: '11/06/2017',\r\n cStatus: 0,\r\n cVINCode: '3C6TD5CT5CG316067',\r\n }, {\r\n id: 28,\r\n cModel: 'Grand Marquis',\r\n cManufacture: 'Mercury',\r\n cModelYear: 1984,\r\n cMileage: 153027,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Mercury Grand Marquis is an automobile that was sold by the Mercury division of Ford Motor Company from 1975 to 2011. From 1975 to 1982, it was the premium cModel of the Mercury Marquis cModel line, becoming a standalone cModel line in 1983. For its entire production run, the Grand Marquis served as the flagship of the Mercury line, with the Ford (LTD) Crown Victoria serving as its Ford counterpart. In addition, from 1979 to 2011, the Grand Marquis shared the rear-wheel drive Panther platform alongside the Lincoln Town Car`,\r\n cColor: 'Goldenrod',\r\n cPrice: 76027,\r\n cCondition: 0,\r\n createdDate: '12/16/2017',\r\n cStatus: 1,\r\n cVINCode: '3C3CFFJH2DT871398'\r\n }, {\r\n id: 29,\r\n cModel: 'Talon',\r\n cManufacture: 'Eagle',\r\n cModelYear: 1991,\r\n cMileage: 111234,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `Cosmetically, differences between the three were found in wheels, availability of cColors, tail lights, front and rear bumpers, and spoilers. The Talon featured two-tone body cColor with a black 'greenhouse' (roof, pillars, door-mounted mirrors) regardless of the body cColor. The variants featured 5-speed manual or 4-speed automatic transmissions and a hood bulge on the left-hand side of the car in order for camshaft clearance on the 4G63 engine. The base cModel DL did not use this engine but still had a bulge as evident in the 1992 Talon brochure. 2nd Generation cars all had such a bulge, even with the inclusion of the 420A engine`,\r\n cColor: 'Teal',\r\n cPrice: 157216,\r\n cCondition: 0,\r\n createdDate: '05/08/2017',\r\n cStatus: 1,\r\n cVINCode: 'YV1902FH1D2957659'\r\n }, {\r\n id: 30,\r\n cModel: 'Passport',\r\n cManufacture: 'Honda',\r\n cModelYear: 2002,\r\n cMileage: 3812,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Passport was a part of a partnership between Isuzu and Honda in the 1990s, which saw an exchange of passenger vehicles from Honda to Isuzu, such as the Isuzu Oasis, and trucks from Isuzu to Honda, such as the Passport and Acura SLX. This arrangement was convenient for both companies, as Isuzu discontinued passenger car production in 1993 after a corporate restructuring, and Honda was in desperate need a SUV, a segment that was growing in popularity in North America as well as Japan during the 1990s. The partnership ended in 2002 with the discontinuation of the Passport in favor of the Honda-engineered Pilot`,\r\n cColor: 'Puce',\r\n cPrice: 41299,\r\n cCondition: 1,\r\n createdDate: '03/08/2018',\r\n cStatus: 0,\r\n cVINCode: 'WVWEU9AN4AE524071'\r\n }, {\r\n id: 31,\r\n cModel: 'H3',\r\n cManufacture: 'Hummer',\r\n cModelYear: 2006,\r\n cMileage: 196321,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Hummer H3 is a sport utility vehicle/off-road vehicle from Hummer that was produced from 2005 to 2010. Introduced for the 2006 cModel year, it was based on a highly modified GMT355 underpinning the Chevrolet cColorado/GMC Canyon compact pickup trucks that were also built at GM's Shreveport Operations in Shreveport, Louisiana and the Port Elizabeth plant in South Africa. The H3 was actually the smallest among the Hummer cModels. It was available either as a traditional midsize SUV or as a midsize pickup known as the H3T`,\r\n cColor: 'Pink',\r\n cPrice: 186964,\r\n cCondition: 1,\r\n createdDate: '06/04/2017',\r\n cStatus: 1,\r\n cVINCode: '4T1BF1FK4FU746230',\r\n }, {\r\n id: 32,\r\n cModel: 'Comanche',\r\n cManufacture: 'Jeep',\r\n cModelYear: 1992,\r\n cMileage: 72285,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The Jeep Comanche (designated MJ) is a pickup truck variant of the Cherokee compact SUV (1984–2001)[3] cManufactured and marketed by Jeep for cModel years 1986-1992 in rear wheel (RWD) and four-wheel drive (4WD) cModels as well as two cargo bed lengths: six-feet (1.83 metres) and seven-feet (2.13 metres)`,\r\n cColor: 'Mauv',\r\n cPrice: 145971,\r\n cCondition: 1,\r\n createdDate: '09/01/2017',\r\n cStatus: 0,\r\n cVINCode: '1J4PN2GK1BW745045'\r\n }, {\r\n id: 33,\r\n cModel: 'Blazer',\r\n cManufacture: 'Chevrolet',\r\n cModelYear: 1993,\r\n cMileage: 189804,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The 2014 – 2nd generation, MY14 Duramax 2.8L diesel engines have several new parts, namely a new water-cooled variable-geometry turbocharger, a new high-pressure common-rail fuel delivery system, a new exhaust gas recirculation (EGR) system, a new intake manifold, a new cylinder head, a new cylinder block, a new balance shaft unit and a new Engine Control Module (ECM). and now produce 197 hp and 369 Ft/Lbs of torque`,\r\n cColor: 'Indigo',\r\n cPrice: 154594,\r\n cCondition: 0,\r\n createdDate: '09/13/2017',\r\n cStatus: 0,\r\n cVINCode: '1G6KD57Y43U482896'\r\n }, {\r\n id: 34,\r\n cModel: 'Envoy XUV',\r\n cManufacture: 'GMC',\r\n cModelYear: 2004,\r\n cMileage: 187960,\r\n // tslint:disable-next-line:max-line-length\r\n cDescription: `The GMC Envoy is a mid-size SUV that was produced by General Motors. It was introduced for the 1998 cModel year. After the first generation Envoy was discontinued after the 2000 cModel year, but the Envoy was reintroduced and redesigned for the 2002 cModel year, and it was available in the GMC line of vehicles from the 2002 to 2009 cModel years`,\r\n cColor: 'Turquoise',\r\n cPrice: 185103,\r\n cCondition: 1,\r\n createdDate: '12/07/2017',\r\n cStatus: 0,\r\n cVINCode: '5GAER23D09J658030'\r\n }\r\n ];\r\n}\r\n","// Angular\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n// RxJS\r\nimport { Observable } from 'rxjs';\r\n// Models\r\nimport { DataTableItemModel } from '../models/datatable-item.model';\r\n\r\nconst API_DATATABLE_URL = 'api/cars';\r\n\r\n@Injectable()\r\nexport class DataTableService {\r\n /**\r\n * Service Constructor\r\n *\r\n * @param http: HttpClient\r\n */\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n /**\r\n * Returns data from fake server\r\n */\r\n getAllItems(): Observable {\r\n return this.http.get(API_DATATABLE_URL);\r\n }\r\n}\r\n","// Angular\r\nimport { Injectable } from '@angular/core';\r\n// RxJS\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class KtDialogService {\r\n private ktDialog: any;\r\n private currentState: BehaviorSubject = new BehaviorSubject(false);\r\n\r\n // Public properties\r\n constructor() {\r\n this.ktDialog = new KTDialog({type: 'loader', placement: 'top center', message: 'Loading ...'});\r\n }\r\n\r\n show() {\r\n this.currentState.next(true);\r\n this.ktDialog.show();\r\n }\r\n\r\n hide() {\r\n this.currentState.next(false);\r\n this.ktDialog.hide();\r\n }\r\n\r\n checkIsShown() {\r\n return this.currentState.value;\r\n }\r\n}\r\n","// Angular\r\nimport { Injectable } from \"@angular/core\";\r\n// RxJS\r\nimport { Subject } from \"rxjs\";\r\n// Object-Path\r\nimport * as objectPath from \"object-path\";\r\n// Lodash\r\nimport { merge } from \"lodash\";\r\n// Models\r\nimport { LayoutConfigModel } from \"../models/layout-config.model\";\r\n\r\n@Injectable()\r\nexport class LayoutConfigService {\r\n // Public properties\r\n onConfigUpdated$: Subject;\r\n layoutConfig: LayoutConfigModel;\r\n\r\n /**\r\n * Service constructor\r\n */\r\n constructor() {\r\n // register on config changed event and set default config\r\n this.onConfigUpdated$ = new Subject();\r\n }\r\n\r\n /**\r\n * Save layout config to the local storage\r\n * param layoutConfig\r\n */\r\n saveConfig(layoutConfig: LayoutConfigModel): void {\r\n if (layoutConfig) {\r\n localStorage.setItem(\"layoutConfig\", JSON.stringify(layoutConfig));\r\n }\r\n }\r\n\r\n /**\r\n * Get layout config from local storage\r\n */\r\n getSavedConfig(): LayoutConfigModel {\r\n const config = localStorage.getItem(\"layoutConfig\");\r\n try {\r\n return JSON.parse(config);\r\n } catch (e) {}\r\n }\r\n\r\n /**\r\n * Remove saved layout config and revert back to default\r\n */\r\n resetConfig(): void {\r\n localStorage.removeItem(\"layoutConfig\");\r\n }\r\n\r\n /**\r\n * Get all config or by object path\r\n * @param path | object path separated by dot\r\n */\r\n getConfig(path?: string): LayoutConfigModel | any {\r\n // merge default layout config with the saved config from layout storage\r\n // @todo; known issue; viewing 2 or more demos at the time in different browser's tabs, can cause conflict to the layout config\r\n this.layoutConfig = this.getSavedConfig();\r\n\r\n if (path) {\r\n // if path is specified, get the value within object\r\n return objectPath.get(this.layoutConfig, path);\r\n }\r\n\r\n return this.layoutConfig;\r\n }\r\n\r\n /**\r\n * Set existing config with a new value\r\n * param value\r\n * param save\r\n */\r\n setConfig(value: any, save?: boolean): void {\r\n this.layoutConfig = merge(this.layoutConfig, value);\r\n\r\n if (save) {\r\n this.saveConfig(this.layoutConfig);\r\n }\r\n\r\n // fire off an event that all subscribers will listen\r\n this.onConfigUpdated$.next(this.layoutConfig);\r\n }\r\n\r\n /**\r\n * Get brand logo\r\n */\r\n getLogo(): string {\r\n const menuAsideLeftSkin = objectPath.get(\r\n this.layoutConfig,\r\n \"brand.self.theme\"\r\n );\r\n // set brand logo\r\n const logoObject = objectPath.get(this.layoutConfig, \"self.logo\");\r\n\r\n let logo;\r\n if (typeof logoObject === \"string\") {\r\n logo = logoObject;\r\n }\r\n if (typeof logoObject === \"object\") {\r\n logo = objectPath.get(logoObject, menuAsideLeftSkin + \"\");\r\n }\r\n if (typeof logo === \"undefined\") {\r\n try {\r\n const logos = objectPath.get(this.layoutConfig, \"self.logo\");\r\n logo = logos[Object.keys(logos)[0]];\r\n } catch (e) {}\r\n }\r\n return logo;\r\n }\r\n\r\n /**\r\n * Returns sticky logo\r\n */\r\n getStickyLogo(): string {\r\n let logo = objectPath.get(this.layoutConfig, \"self.logo.sticky\");\r\n if (typeof logo === \"undefined\") {\r\n logo = this.getLogo();\r\n }\r\n return logo + \"\";\r\n }\r\n\r\n /**\r\n * Initialize layout config\r\n * param config\r\n */\r\n loadConfigs(config: LayoutConfigModel) {\r\n this.layoutConfig = this.getSavedConfig();\r\n // use saved config as priority, or load new config if demo does not matched\r\n if (\r\n !this.layoutConfig ||\r\n objectPath.get(this.layoutConfig, \"demo\") !== config.demo\r\n ) {\r\n this.layoutConfig = config;\r\n }\r\n this.saveConfig(this.layoutConfig);\r\n }\r\n\r\n /**\r\n * Reload current layout config to the state of latest saved config\r\n */\r\n reloadConfigs(): LayoutConfigModel {\r\n this.layoutConfig = this.getSavedConfig();\r\n this.onConfigUpdated$.next(this.layoutConfig);\r\n return this.layoutConfig;\r\n }\r\n}\r\n","// Angular\r\nimport { Injectable } from '@angular/core';\r\n// RxJS\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class LayoutRefService {\r\n // Public properties\r\n layoutRefs$: BehaviorSubject = new BehaviorSubject({});\r\n layoutRefs: any = {};\r\n\r\n /**\r\n * Add element to Ref\r\n *\r\n * @param name: any\r\n * @param element: any\r\n */\r\n addElement(name, element) {\r\n const obj = {};\r\n obj[name] = element;\r\n\r\n this.layoutRefs = Object.assign({}, this.layoutRefs, obj);\r\n this.layoutRefs$.next(this.layoutRefs);\r\n }\r\n}\r\n","// Angular\r\nimport { Injectable } from \"@angular/core\";\r\n// RxJS\r\nimport { BehaviorSubject } from \"rxjs\";\r\n// Object path\r\nimport * as objectPath from \"object-path\";\r\n// Services\r\nimport { MenuConfigService } from \"./menu-config.service\";\r\n\r\n@Injectable()\r\nexport class MenuAsideService {\r\n // Public properties\r\n menuList$: BehaviorSubject = new BehaviorSubject([]);\r\n\r\n /**\r\n * Service constructor\r\n *\r\n * @param menuConfigService: MenuConfigService\r\n */\r\n constructor(private menuConfigService: MenuConfigService) {\r\n this.loadMenu();\r\n this.menuConfigService.onConfigUpdated$.subscribe(() => {\r\n this.loadMenu();\r\n });\r\n }\r\n\r\n /**\r\n * Load menu list\r\n */\r\n loadMenu() {\r\n // get menu list\r\n const menuItems: any[] = objectPath.get(\r\n this.menuConfigService.getMenus(),\r\n \"aside.items\"\r\n );\r\n this.menuList$.next(menuItems);\r\n }\r\n}\r\n","// Angular\r\nimport { Injectable } from \"@angular/core\";\r\n// RxJS\r\nimport { Subject } from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class MenuConfigService {\r\n // Public properties\r\n onConfigUpdated$: Subject;\r\n // Private properties\r\n private menuConfig: any;\r\n\r\n /**\r\n * Service Constructor\r\n */\r\n constructor() {\r\n // register on config changed event and set default config\r\n this.onConfigUpdated$ = new Subject();\r\n }\r\n\r\n /**\r\n * Returns the menuConfig\r\n */\r\n getMenus() {\r\n return this.menuConfig;\r\n }\r\n\r\n /**\r\n * Load config\r\n *\r\n * @param config: any\r\n */\r\n loadConfigs(config: any) {\r\n this.menuConfig = config;\r\n this.onConfigUpdated$.next(this.menuConfig);\r\n }\r\n}\r\n","// Angular\r\nimport { Injectable } from '@angular/core';\r\n// RxJS\r\nimport { BehaviorSubject } from 'rxjs';\r\n// Object path\r\nimport * as objectPath from 'object-path';\r\n// Services\r\nimport { MenuConfigService } from './menu-config.service';\r\n\r\n@Injectable()\r\nexport class MenuHorizontalService {\r\n // Public properties\r\n menuList$: BehaviorSubject = new BehaviorSubject([]);\r\n\r\n /**\r\n * Service constructor\r\n *\r\n * @param menuConfigService: MenuConfigService\r\n */\r\n constructor(private menuConfigService: MenuConfigService) {\r\n this.loadMenu();\r\n }\r\n\r\n /**\r\n * Load menu list\r\n */\r\n loadMenu() {\r\n // get menu list\r\n const menuItems: any[] = objectPath.get(this.menuConfigService.getMenus(), 'header.items');\r\n this.menuList$.next(menuItems);\r\n }\r\n}\r\n","// Angular\r\nimport { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n// RxJS\r\nimport { Subject } from 'rxjs';\r\n// Object-Path\r\nimport * as objectPath from 'object-path';\r\n// Lodash\r\nimport { merge } from 'lodash';\r\n\r\n@Injectable()\r\nexport class PageConfigService {\r\n // Public properties\r\n onConfigUpdated$: Subject;\r\n pageConfig: any;\r\n\r\n /**\r\n * Service Constructor\r\n *\r\n * @param router: Router\r\n */\r\n constructor(private router: Router) {\r\n // register on config changed event and set default config\r\n this.onConfigUpdated$ = new Subject();\r\n }\r\n\r\n /**\r\n * Get current page config based on route\r\n */\r\n getCurrentPageConfig(path?: string): any {\r\n let configPath = this.cleanUrl(this.router.url);\r\n\r\n if (path) {\r\n configPath += '.' + path;\r\n }\r\n\r\n // get page config by path\r\n return objectPath.get(this.pageConfig, configPath);\r\n }\r\n\r\n /**\r\n * Set existing config with a new value\r\n * @param value: any\r\n * @param sav: boolean?\r\n */\r\n setConfig(value: any, save?: boolean): void {\r\n this.pageConfig = merge(this.pageConfig, value);\r\n\r\n if (save) {\r\n // not implemented\r\n }\r\n\r\n // fire off an event that all subscribers will listen\r\n this.onConfigUpdated$.next(this.pageConfig);\r\n }\r\n\r\n /**\r\n * Load confgis\r\n *\r\n * @param config: any\r\n */\r\n loadConfigs(config: any) {\r\n this.pageConfig = config;\r\n this.onConfigUpdated$.next(this.pageConfig);\r\n }\r\n\r\n /**\r\n * Remove unnecessary params from URL\r\n * param url\r\n */\r\n cleanUrl(url: string): string {\r\n // remove first route (demo name) from url router\r\n if (new RegExp(/^\\/demo/).test(url)) {\r\n const urls = url.split('/');\r\n urls.splice(0, 2);\r\n url = urls.join('/');\r\n }\r\n\r\n if (url.charAt(0) === '/') {\r\n url = url.substr(1);\r\n }\r\n\r\n // we get the page title from config, using url path.\r\n // we need to remove query from url ?id=1 before we use the path to search in array config.\r\n let finalUrl = url.replace(/\\//g, '.');\r\n if (finalUrl.indexOf('?') !== -1) {\r\n finalUrl = finalUrl.substring(0, finalUrl.indexOf('?'));\r\n }\r\n\r\n return finalUrl;\r\n }\r\n}\r\n","// Angular\r\nimport { ElementRef, Injectable } from '@angular/core';\r\nimport { animate, AnimationBuilder, style } from '@angular/animations';\r\n\r\n@Injectable()\r\nexport class SplashScreenService {\r\n // Private properties\r\n private el: ElementRef;\r\n private stopped: boolean;\r\n\r\n /**\r\n * Service constructor\r\n *\r\n * @param animationBuilder: AnimationBuilder\r\n */\r\n constructor(private animationBuilder: AnimationBuilder) {\r\n }\r\n\r\n /**\r\n * Init\r\n *\r\n * @param element: ElementRef\r\n */\r\n init(element: ElementRef) {\r\n this.el = element;\r\n }\r\n\r\n /**\r\n * Hide\r\n */\r\n hide() {\r\n if (this.stopped) {\r\n return;\r\n }\r\n\r\n const player = this.animationBuilder.build([\r\n style({opacity: '1'}),\r\n animate(800, style({opacity: '0'}))\r\n ]).create(this.el.nativeElement);\r\n\r\n player.onDone(() => {\r\n if (typeof this.el.nativeElement.remove === 'function') {\r\n this.el.nativeElement.remove();\r\n } else {\r\n this.el.nativeElement.style.display = 'none';\r\n }\r\n this.stopped = true;\r\n });\r\n\r\n setTimeout(() => player.play(), 300);\r\n }\r\n}\r\n","// Angular\r\nimport { Injectable } from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\n// RxJS\r\nimport { BehaviorSubject, Subject } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\n// Object-Path\r\nimport * as objectPath from 'object-path';\r\n// Services\r\nimport { PageConfigService } from './page-config.service';\r\nimport { MenuConfigService } from './menu-config.service';\r\n\r\nexport interface Breadcrumb {\r\n title: string;\r\n page: string | any;\r\n}\r\n\r\nexport interface BreadcrumbTitle {\r\n title: string;\r\n desc?: string;\r\n}\r\n\r\n@Injectable()\r\nexport class SubheaderService {\r\n // Public properties\r\n title$: BehaviorSubject = new BehaviorSubject({title: '', desc: ''});\r\n breadcrumbs$: BehaviorSubject = new BehaviorSubject([]);\r\n disabled$: Subject = new Subject();\r\n\r\n // Private properties\r\n private manualBreadcrumbs: any = {};\r\n private appendingBreadcrumbs: any = {};\r\n private manualTitle: any = {};\r\n\r\n private asideMenus: any;\r\n private headerMenus: any;\r\n private pageConfig: any;\r\n\r\n /**\r\n * Service Constructor\r\n *\r\n * @param router: Router\r\n * @param pageConfigService: PageConfigServie\r\n * @param menuConfigService: MenuConfigService\r\n */\r\n constructor(\r\n private router: Router,\r\n private pageConfigService: PageConfigService,\r\n private menuConfigService: MenuConfigService) {\r\n const initBreadcrumb = () => {\r\n // get updated title current page config\r\n this.pageConfig = this.pageConfigService.getCurrentPageConfig();\r\n\r\n this.headerMenus = objectPath.get(this.menuConfigService.getMenus(), 'header');\r\n this.asideMenus = objectPath.get(this.menuConfigService.getMenus(), 'aside');\r\n\r\n // update breadcrumb on initial page load\r\n this.updateBreadcrumbs();\r\n\r\n if (objectPath.get(this.manualTitle, this.router.url)) {\r\n this.setTitle(this.manualTitle[this.router.url]);\r\n } else {\r\n // get updated page title on every route changed\r\n this.title$.next(objectPath.get(this.pageConfig, 'page'));\r\n\r\n // subheader enable/disable\r\n const hideSubheader = objectPath.get(this.pageConfig, 'page.subheader');\r\n this.disabled$.next(typeof hideSubheader !== 'undefined' && !hideSubheader);\r\n\r\n if (objectPath.get(this.manualBreadcrumbs, this.router.url)) {\r\n // breadcrumbs was set manually\r\n this.setBreadcrumbs(this.manualBreadcrumbs[this.router.url]);\r\n } else {\r\n // get updated breadcrumbs on every route changed\r\n this.updateBreadcrumbs();\r\n // breadcrumbs was appended before, reuse it for this page\r\n if (objectPath.get(this.appendingBreadcrumbs, this.router.url)) {\r\n this.appendBreadcrumbs(this.appendingBreadcrumbs[this.router.url]);\r\n }\r\n }\r\n }\r\n };\r\n\r\n initBreadcrumb();\r\n\r\n // subscribe to router events\r\n this.router.events\r\n .pipe(filter(event => event instanceof NavigationEnd))\r\n .subscribe(initBreadcrumb);\r\n }\r\n\r\n /**\r\n * Update breadCrumbs\r\n */\r\n updateBreadcrumbs() {\r\n // get breadcrumbs from header menu\r\n let breadcrumbs = this.getBreadcrumbs(this.headerMenus);\r\n // if breadcrumbs empty from header menu\r\n if (breadcrumbs.length === 0) {\r\n // get breadcrumbs from aside menu\r\n breadcrumbs = this.getBreadcrumbs(this.asideMenus);\r\n }\r\n\r\n if (\r\n // if breadcrumb has only 1 item\r\n breadcrumbs.length === 1 &&\r\n // and breadcrumb title is same as current page title\r\n breadcrumbs[0].title.indexOf(objectPath.get(this.pageConfig, 'page.title')) !== -1) {\r\n // no need to display on frontend\r\n breadcrumbs = [];\r\n }\r\n\r\n this.breadcrumbs$.next(breadcrumbs);\r\n }\r\n\r\n /**\r\n * Manually set full breadcrumb paths\r\n */\r\n setBreadcrumbs(breadcrumbs: Breadcrumb[] | any[]) {\r\n this.manualBreadcrumbs[this.router.url] = breadcrumbs;\r\n this.breadcrumbs$.next(breadcrumbs);\r\n }\r\n\r\n /**\r\n * Append breadcrumb to the last existing breadcrumbs\r\n * param breadcrumbs\r\n */\r\n appendBreadcrumbs(breadcrumbs: Breadcrumb[] | any[]) {\r\n this.appendingBreadcrumbs[this.router.url] = breadcrumbs;\r\n const prev = this.breadcrumbs$.getValue();\r\n this.breadcrumbs$.next(prev.concat(breadcrumbs));\r\n }\r\n\r\n /**\r\n * Get breadcrumbs from menu items\r\n * param menus\r\n */\r\n getBreadcrumbs(menus: any) {\r\n let url = this.pageConfigService.cleanUrl(this.router.url);\r\n url = url.replace(new RegExp(/\\./, 'g'), '/');\r\n\r\n const breadcrumbs = [];\r\n const menuPath = this.getPath(menus, url) || [];\r\n menuPath.forEach(key => {\r\n menus = menus[key];\r\n if (typeof menus !== 'undefined' && menus.title) {\r\n breadcrumbs.push(menus);\r\n }\r\n });\r\n\r\n return breadcrumbs;\r\n }\r\n\r\n /**\r\n * Set title\r\n *\r\n * @param title: string\r\n */\r\n setTitle(title: string) {\r\n this.manualTitle[this.router.url] = title;\r\n this.title$.next({title});\r\n }\r\n\r\n /**\r\n * Get object path by value\r\n * param obj\r\n * param value\r\n */\r\n getPath(obj, value) {\r\n if (typeof obj !== 'object') {\r\n return;\r\n }\r\n const path = [];\r\n let found = false;\r\n\r\n const search = (haystack) => {\r\n // tslint:disable-next-line\r\n for (let key in haystack) {\r\n path.push(key);\r\n if (haystack[key] === value) {\r\n found = true;\r\n break;\r\n }\r\n if (typeof haystack[key] === 'object') {\r\n search(haystack[key]);\r\n if (found) {\r\n break;\r\n }\r\n }\r\n path.pop();\r\n }\r\n };\r\n\r\n search(obj);\r\n return path;\r\n }\r\n}\r\n","// Angular\r\nimport { Injectable } from '@angular/core';\r\n// Translation\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\nexport interface Locale {\r\n lang: string;\r\n // tslint:disable-next-line:ban-types\r\n data: Object;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TranslationService {\r\n // Private properties\r\n private langIds: any = [];\r\n\r\n /**\r\n * Service Constructor\r\n *\r\n * @param translate: TranslateService\r\n */\r\n constructor(private translate: TranslateService) {\r\n // add new langIds to the list\r\n this.translate.addLangs(['en']);\r\n\r\n // this language will be used as a fallback when a translation isn't found in the current language\r\n this.translate.setDefaultLang('en');\r\n }\r\n\r\n /**\r\n * Load Translation\r\n *\r\n * @param args: Locale[]\r\n */\r\n loadTranslations(...args: Locale[]): void {\r\n const locales = [...args];\r\n\r\n locales.forEach(locale => {\r\n // use setTranslation() with the third argument set to true\r\n // to append translations instead of replacing them\r\n this.translate.setTranslation(locale.lang, locale.data, true);\r\n\r\n this.langIds.push(locale.lang);\r\n });\r\n\r\n // add new languages to the list\r\n this.translate.addLangs(this.langIds);\r\n }\r\n\r\n /**\r\n * Setup language\r\n *\r\n * @param lang: any\r\n */\r\n setLanguage(lang) {\r\n if (lang) {\r\n this.translate.use(this.translate.getDefaultLang());\r\n this.translate.use(lang);\r\n localStorage.setItem('language', lang);\r\n }\r\n }\r\n\r\n /**\r\n * Returns selected language\r\n */\r\n getSelectedLanguage(): any {\r\n return localStorage.getItem('language') || this.translate.getDefaultLang();\r\n }\r\n}\r\n","// China\r\nexport const locale = {\r\n lang: 'ch',\r\n data: {\r\n TRANSLATOR: {\r\n SELECT: '选择你的语言',\r\n },\r\n MENU: {\r\n NEW: '新',\r\n ACTIONS: '行动',\r\n CREATE_POST: '创建新帖子',\r\n PAGES: 'Pages',\r\n FEATURES: '特征',\r\n APPS: '应用',\r\n DASHBOARD: '仪表板',\r\n },\r\n AUTH: {\r\n GENERAL: {\r\n OR: '要么',\r\n SUBMIT_BUTTON: '提交',\r\n NO_ACCOUNT: '没有账号?',\r\n SIGNUP_BUTTON: '注册',\r\n FORGOT_BUTTON: '忘记密码',\r\n BACK_BUTTON: '背部',\r\n PRIVACY: '隐私',\r\n LEGAL: '法律',\r\n CONTACT: '联系',\r\n },\r\n LOGIN: {\r\n TITLE: '创建帐号',\r\n BUTTON: '签到',\r\n },\r\n FORGOT: {\r\n TITLE: 'Forgotten Password?',\r\n DESC: 'Enter your email to reset your password',\r\n SUCCESS: 'Your account has been successfully reset.'\r\n },\r\n REGISTER: {\r\n TITLE: 'Sign Up',\r\n DESC: 'Enter your details to create your account',\r\n SUCCESS: 'Your account has been successfuly registered.'\r\n },\r\n INPUT: {\r\n EMAIL: 'Email',\r\n FULLNAME: 'Fullname',\r\n PASSWORD: 'Password',\r\n CONFIRM_PASSWORD: 'Confirm Password',\r\n USERNAME: '用戶名'\r\n },\r\n VALIDATION: {\r\n INVALID: '{{name}} is not valid',\r\n REQUIRED: '{{name}} is required',\r\n MIN_LENGTH: '{{name}} minimum length is {{min}}',\r\n AGREEMENT_REQUIRED: 'Accepting terms & conditions are required',\r\n NOT_FOUND: 'The requested {{name}} is not found',\r\n INVALID_LOGIN: 'The login detail is incorrect',\r\n REQUIRED_FIELD: 'Required field',\r\n MIN_LENGTH_FIELD: 'Minimum field length:',\r\n MAX_LENGTH_FIELD: 'Maximum field length:',\r\n INVALID_FIELD: 'Field is not valid',\r\n }\r\n },\r\n ECOMMERCE: {\r\n COMMON: {\r\n SELECTED_RECORDS_COUNT: 'Selected records count: ',\r\n ALL: 'All',\r\n SUSPENDED: 'Suspended',\r\n ACTIVE: 'Active',\r\n FILTER: 'Filter',\r\n BY_STATUS: 'by Status',\r\n BY_TYPE: 'by Type',\r\n BUSINESS: 'Business',\r\n INDIVIDUAL: 'Individual',\r\n SEARCH: 'Search',\r\n IN_ALL_FIELDS: 'in all fields'\r\n },\r\n ECOMMERCE: 'eCommerce',\r\n CUSTOMERS: {\r\n CUSTOMERS: '顾客',\r\n CUSTOMERS_LIST: '客户名单',\r\n NEW_CUSTOMER: 'New Customer',\r\n DELETE_CUSTOMER_SIMPLE: {\r\n TITLE: 'Customer Delete',\r\n DESCRIPTION: 'Are you sure to permanently delete this customer?',\r\n WAIT_DESCRIPTION: 'Customer is deleting...',\r\n MESSAGE: 'Customer has been deleted'\r\n },\r\n DELETE_CUSTOMER_MULTY: {\r\n TITLE: 'Customers Delete',\r\n DESCRIPTION: 'Are you sure to permanently delete selected customers?',\r\n WAIT_DESCRIPTION: 'Customers are deleting...',\r\n MESSAGE: 'Selected customers have been deleted'\r\n },\r\n UPDATE_STATUS: {\r\n TITLE: 'Status has been updated for selected customers',\r\n MESSAGE: 'Selected customers status have successfully been updated'\r\n },\r\n EDIT: {\r\n UPDATE_MESSAGE: 'Customer has been updated',\r\n ADD_MESSAGE: 'Customer has been created'\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","// Germany\r\nexport const locale = {\r\n lang: 'de',\r\n data: {\r\n TRANSLATOR: {\r\n SELECT: 'Wähle deine Sprache',\r\n },\r\n MENU: {\r\n NEW: 'Neu',\r\n ACTIONS: 'Aktionen',\r\n CREATE_POST: 'Erstellen Sie einen neuen Beitrag',\r\n PAGES: 'Pages',\r\n FEATURES: 'Eigenschaften',\r\n APPS: 'Apps',\r\n DASHBOARD: 'Instrumententafel'\r\n },\r\n AUTH: {\r\n GENERAL: {\r\n OR: 'Oder',\r\n SUBMIT_BUTTON: 'einreichen',\r\n NO_ACCOUNT: 'Hast du kein Konto?',\r\n SIGNUP_BUTTON: 'Anmelden',\r\n FORGOT_BUTTON: 'Passwort vergessen',\r\n BACK_BUTTON: 'Zurück',\r\n PRIVACY: 'Privatsphäre',\r\n LEGAL: 'Legal',\r\n CONTACT: 'Kontakt',\r\n },\r\n LOGIN: {\r\n TITLE: 'Create Account',\r\n BUTTON: 'Sign In',\r\n },\r\n FORGOT: {\r\n TITLE: 'Forgotten Password?',\r\n DESC: 'Enter your email to reset your password',\r\n SUCCESS: 'Your account has been successfully reset.'\r\n },\r\n REGISTER: {\r\n TITLE: 'Sign Up',\r\n DESC: 'Enter your details to create your account',\r\n SUCCESS: 'Your account has been successfuly registered.'\r\n },\r\n INPUT: {\r\n EMAIL: 'Email',\r\n FULLNAME: 'Fullname',\r\n PASSWORD: 'Password',\r\n CONFIRM_PASSWORD: 'Confirm Password',\r\n USERNAME: 'Nutzername'\r\n },\r\n VALIDATION: {\r\n INVALID: '{{name}} is not valid',\r\n REQUIRED: '{{name}} is required',\r\n MIN_LENGTH: '{{name}} minimum length is {{min}}',\r\n AGREEMENT_REQUIRED: 'Accepting terms & conditions are required',\r\n NOT_FOUND: 'The requested {{name}} is not found',\r\n INVALID_LOGIN: 'The login detail is incorrect',\r\n REQUIRED_FIELD: 'Required field',\r\n MIN_LENGTH_FIELD: 'Minimum field length:',\r\n MAX_LENGTH_FIELD: 'Maximum field length:',\r\n INVALID_FIELD: 'Field is not valid',\r\n }\r\n },\r\n ECOMMERCE: {\r\n COMMON: {\r\n SELECTED_RECORDS_COUNT: 'Selected records count: ',\r\n ALL: 'All',\r\n SUSPENDED: 'Suspended',\r\n ACTIVE: 'Active',\r\n FILTER: 'Filter',\r\n BY_STATUS: 'by Status',\r\n BY_TYPE: 'by Type',\r\n BUSINESS: 'Business',\r\n INDIVIDUAL: 'Individual',\r\n SEARCH: 'Search',\r\n IN_ALL_FIELDS: 'in all fields'\r\n },\r\n ECOMMERCE: 'eCommerce',\r\n CUSTOMERS: {\r\n CUSTOMERS: 'Customers',\r\n CUSTOMERS_LIST: 'Customers list',\r\n NEW_CUSTOMER: 'New Customer',\r\n DELETE_CUSTOMER_SIMPLE: {\r\n TITLE: 'Customer Delete',\r\n DESCRIPTION: 'Are you sure to permanently delete this customer?',\r\n WAIT_DESCRIPTION: 'Customer is deleting...',\r\n MESSAGE: 'Customer has been deleted'\r\n },\r\n DELETE_CUSTOMER_MULTY: {\r\n TITLE: 'Customers Delete',\r\n DESCRIPTION: 'Are you sure to permanently delete selected customers?',\r\n WAIT_DESCRIPTION: 'Customers are deleting...',\r\n MESSAGE: 'Selected customers have been deleted'\r\n },\r\n UPDATE_STATUS: {\r\n TITLE: 'Status has been updated for selected customers',\r\n MESSAGE: 'Selected customers status have successfully been updated'\r\n },\r\n EDIT: {\r\n UPDATE_MESSAGE: 'Customer has been updated',\r\n ADD_MESSAGE: 'Customer has been created'\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","// USA\r\nexport const locale = {\r\n lang: \"en\",\r\n data: {\r\n TRANSLATOR: {\r\n SELECT: \"Select your language\",\r\n },\r\n MENU: {\r\n NEW: \"new\",\r\n ACTIONS: \"Actions\",\r\n CREATE_POST: \"Create New Post\",\r\n PAGES: \"Pages\",\r\n FEATURES: \"Features\",\r\n APPS: \"Apps\",\r\n DASHBOARD: \"Dashboard\",\r\n },\r\n AUTH: {\r\n GENERAL: {\r\n OR: \"Or\",\r\n SUBMIT_BUTTON: \"Submit\",\r\n NO_ACCOUNT: \"Don't have an account?\",\r\n SIGNUP_BUTTON: \"Sign Up\",\r\n FORGOT_BUTTON: \"Forgot Password\",\r\n BACK_BUTTON: \"Back\",\r\n PRIVACY: \"Privacy\",\r\n LEGAL: \"Legal\",\r\n CONTACT: \"Contact us\",\r\n TITLE: \"AKSATA 360 ©\",\r\n },\r\n LOGIN: {\r\n TITLE: \"Login Account\",\r\n BUTTON: \"Sign In\",\r\n },\r\n FORGOT: {\r\n TITLE: \"Forgotten Password?\",\r\n DESC: \"Enter your email to reset your password\",\r\n SUCCESS: \"Your account has been successfully reset.\",\r\n },\r\n REGISTER: {\r\n TITLE: \"Sign Up\",\r\n DESC: \"Enter your details to create your account\",\r\n SUCCESS: \"Your account has been successfuly registered.\",\r\n },\r\n INPUT: {\r\n EMAIL: \"Email\",\r\n FULLNAME: \"Fullname\",\r\n PASSWORD: \"Password\",\r\n CONFIRM_PASSWORD: \"Confirm Password\",\r\n USERNAME: \"Username\",\r\n },\r\n VALIDATION: {\r\n INVALID: \"{{name}} is not valid\",\r\n REQUIRED: \"{{name}} is required\",\r\n MIN_LENGTH: \"{{name}} minimum length is {{min}}\",\r\n AGREEMENT_REQUIRED: \"Accepting terms & conditions are required\",\r\n NOT_FOUND: \"The requested {{name}} is not found\",\r\n INVALID_LOGIN: \"The login detail is incorrect\",\r\n REQUIRED_FIELD: \"Required field\",\r\n MIN_LENGTH_FIELD: \"Minimum field length:\",\r\n MAX_LENGTH_FIELD: \"Maximum field length:\",\r\n INVALID_FIELD: \"Field is not valid\",\r\n },\r\n },\r\n ECOMMERCE: {\r\n COMMON: {\r\n SELECTED_RECORDS_COUNT: \"Selected records count: \",\r\n ALL: \"All\",\r\n SUSPENDED: \"Suspended\",\r\n ACTIVE: \"Active\",\r\n FILTER: \"Filter\",\r\n BY_STATUS: \"by Status\",\r\n BY_TYPE: \"by Type\",\r\n BUSINESS: \"Business\",\r\n INDIVIDUAL: \"Individual\",\r\n SEARCH: \"Search\",\r\n IN_ALL_FIELDS: \"in all fields\",\r\n },\r\n ECOMMERCE: \"eCommerce\",\r\n CUSTOMERS: {\r\n CUSTOMERS: \"Customers\",\r\n CUSTOMERS_LIST: \"Customers list\",\r\n NEW_CUSTOMER: \"New Customer\",\r\n DELETE_CUSTOMER_SIMPLE: {\r\n TITLE: \"Customer Delete\",\r\n DESCRIPTION: \"Are you sure to permanently delete this customer?\",\r\n WAIT_DESCRIPTION: \"Customer is deleting...\",\r\n MESSAGE: \"Customer has been deleted\",\r\n },\r\n DELETE_CUSTOMER_MULTY: {\r\n TITLE: \"Customers Delete\",\r\n DESCRIPTION: \"Are you sure to permanently delete selected customers?\",\r\n WAIT_DESCRIPTION: \"Customers are deleting...\",\r\n MESSAGE: \"Selected customers have been deleted\",\r\n },\r\n UPDATE_STATUS: {\r\n TITLE: \"Status has been updated for selected customers\",\r\n MESSAGE: \"Selected customers status have successfully been updated\",\r\n },\r\n EDIT: {\r\n UPDATE_MESSAGE: \"Customer has been updated\",\r\n ADD_MESSAGE: \"Customer has been created\",\r\n },\r\n },\r\n },\r\n },\r\n};\r\n","// Spain\r\nexport const locale = {\r\n lang: 'es',\r\n data: {\r\n TRANSLATOR: {\r\n SELECT: 'Elige tu idioma',\r\n },\r\n MENU: {\r\n NEW: 'nuevo',\r\n ACTIONS: 'Comportamiento',\r\n CREATE_POST: 'Crear nueva publicación',\r\n PAGES: 'Pages',\r\n FEATURES: 'Caracteristicas',\r\n APPS: 'Aplicaciones',\r\n DASHBOARD: 'Tablero'\r\n },\r\n AUTH: {\r\n GENERAL: {\r\n OR: 'O',\r\n SUBMIT_BUTTON: 'Enviar',\r\n NO_ACCOUNT: 'No tienes una cuenta?',\r\n SIGNUP_BUTTON: 'Regístrate',\r\n FORGOT_BUTTON: 'Se te olvidó tu contraseña',\r\n BACK_BUTTON: 'Espalda',\r\n PRIVACY: 'Intimidad',\r\n LEGAL: 'Legal',\r\n CONTACT: 'Contacto',\r\n },\r\n LOGIN: {\r\n TITLE: 'Crear una cuenta',\r\n BUTTON: 'Registrarse',\r\n },\r\n FORGOT: {\r\n TITLE: 'Contraseña olvidada?',\r\n DESC: 'Ingrese su correo electrónico para restablecer su contraseña',\r\n SUCCESS: 'Your account has been successfully reset.'\r\n },\r\n REGISTER: {\r\n TITLE: 'Sign Up',\r\n DESC: 'Enter your details to create your account',\r\n SUCCESS: 'Your account has been successfuly registered.'\r\n },\r\n INPUT: {\r\n EMAIL: 'Email',\r\n FULLNAME: 'Fullname',\r\n PASSWORD: 'Password',\r\n CONFIRM_PASSWORD: 'Confirm Password',\r\n USERNAME: 'Usuario'\r\n },\r\n VALIDATION: {\r\n INVALID: '{{name}} is not valid',\r\n REQUIRED: '{{name}} is required',\r\n MIN_LENGTH: '{{name}} minimum length is {{min}}',\r\n AGREEMENT_REQUIRED: 'Accepting terms & conditions are required',\r\n NOT_FOUND: 'The requested {{name}} is not found',\r\n INVALID_LOGIN: 'The login detail is incorrect',\r\n REQUIRED_FIELD: 'Required field',\r\n MIN_LENGTH_FIELD: 'Minimum field length:',\r\n MAX_LENGTH_FIELD: 'Maximum field length:',\r\n INVALID_FIELD: 'Field is not valid',\r\n }\r\n },\r\n ECOMMERCE: {\r\n COMMON: {\r\n SELECTED_RECORDS_COUNT: 'Selected records count: ',\r\n ALL: 'All',\r\n SUSPENDED: 'Suspended',\r\n ACTIVE: 'Active',\r\n FILTER: 'Filter',\r\n BY_STATUS: 'by Status',\r\n BY_TYPE: 'by Type',\r\n BUSINESS: 'Business',\r\n INDIVIDUAL: 'Individual',\r\n SEARCH: 'Search',\r\n IN_ALL_FIELDS: 'in all fields'\r\n },\r\n ECOMMERCE: 'eCommerce',\r\n CUSTOMERS: {\r\n CUSTOMERS: 'Customers',\r\n CUSTOMERS_LIST: 'Customers list',\r\n NEW_CUSTOMER: 'New Customer',\r\n DELETE_CUSTOMER_SIMPLE: {\r\n TITLE: 'Customer Delete',\r\n DESCRIPTION: 'Are you sure to permanently delete this customer?',\r\n WAIT_DESCRIPTION: 'Customer is deleting...',\r\n MESSAGE: 'Customer has been deleted'\r\n },\r\n DELETE_CUSTOMER_MULTY: {\r\n TITLE: 'Customers Delete',\r\n DESCRIPTION: 'Are you sure to permanently delete selected customers?',\r\n WAIT_DESCRIPTION: 'Customers are deleting...',\r\n MESSAGE: 'Selected customers have been deleted'\r\n },\r\n UPDATE_STATUS: {\r\n TITLE: 'Status has been updated for selected customers',\r\n MESSAGE: 'Selected customers status have successfully been updated'\r\n },\r\n EDIT: {\r\n UPDATE_MESSAGE: 'Customer has been updated',\r\n ADD_MESSAGE: 'Customer has been created'\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","// France\r\nexport const locale = {\r\n lang: 'fr',\r\n data: {\r\n TRANSLATOR: {\r\n SELECT: 'choisissez votre langue',\r\n },\r\n MENU: {\r\n NEW: 'Nouveau',\r\n ACTIONS: 'Actes',\r\n CREATE_POST: 'Créer un nouveau Post',\r\n PAGES: 'Pages',\r\n FEATURES: 'Fonctionnalités',\r\n APPS: 'Applications',\r\n DASHBOARD: 'Tableau de Bord',\r\n },\r\n AUTH: {\r\n GENERAL: {\r\n OR: 'Ou',\r\n SUBMIT_BUTTON: 'Soumettre',\r\n NO_ACCOUNT: 'Ne pas avoir de compte?',\r\n SIGNUP_BUTTON: 'Registre',\r\n FORGOT_BUTTON: 'Mot de passe oublié',\r\n BACK_BUTTON: 'Back',\r\n PRIVACY: 'Privacy',\r\n LEGAL: 'Legal',\r\n CONTACT: 'Contact',\r\n },\r\n LOGIN: {\r\n TITLE: 'Créer un compte',\r\n BUTTON: 'Sign In',\r\n },\r\n FORGOT: {\r\n TITLE: 'Forgotten Password?',\r\n DESC: 'Enter your email to reset your password',\r\n SUCCESS: 'Your account has been successfully reset.'\r\n },\r\n REGISTER: {\r\n TITLE: 'Sign Up',\r\n DESC: 'Enter your details to create your account',\r\n SUCCESS: 'Your account has been successfuly registered.'\r\n },\r\n INPUT: {\r\n EMAIL: 'Email',\r\n FULLNAME: 'Fullname',\r\n PASSWORD: 'Mot de passe',\r\n CONFIRM_PASSWORD: 'Confirm Password',\r\n USERNAME: 'Nom d\\'utilisateur'\r\n },\r\n VALIDATION: {\r\n INVALID: '{{name}} n\\'est pas valide',\r\n REQUIRED: '{{name}} est requis',\r\n MIN_LENGTH: '{{name}} minimum length is {{min}}',\r\n AGREEMENT_REQUIRED: 'Accepting terms & conditions are required',\r\n NOT_FOUND: 'The requested {{name}} is not found',\r\n INVALID_LOGIN: 'The login detail is incorrect',\r\n REQUIRED_FIELD: 'Required field',\r\n MIN_LENGTH_FIELD: 'Minimum field length:',\r\n MAX_LENGTH_FIELD: 'Maximum field length:',\r\n INVALID_FIELD: 'Field is not valid',\r\n }\r\n },\r\n ECOMMERCE: {\r\n COMMON: {\r\n SELECTED_RECORDS_COUNT: 'Nombre d\\'enregistrements sélectionnés: ',\r\n ALL: 'All',\r\n SUSPENDED: 'Suspended',\r\n ACTIVE: 'Active',\r\n FILTER: 'Filter',\r\n BY_STATUS: 'by Status',\r\n BY_TYPE: 'by Type',\r\n BUSINESS: 'Business',\r\n INDIVIDUAL: 'Individual',\r\n SEARCH: 'Search',\r\n IN_ALL_FIELDS: 'in all fields'\r\n },\r\n ECOMMERCE: 'éCommerce',\r\n CUSTOMERS: {\r\n CUSTOMERS: 'Les clients',\r\n CUSTOMERS_LIST: 'Liste des clients',\r\n NEW_CUSTOMER: 'Nouveau client',\r\n DELETE_CUSTOMER_SIMPLE: {\r\n TITLE: 'Suppression du client',\r\n DESCRIPTION: 'Êtes-vous sûr de supprimer définitivement ce client?',\r\n WAIT_DESCRIPTION: 'Le client est en train de supprimer ...',\r\n MESSAGE: 'Le client a été supprimé'\r\n },\r\n DELETE_CUSTOMER_MULTY: {\r\n TITLE: 'Supprimer les clients',\r\n DESCRIPTION: 'Êtes-vous sûr de supprimer définitivement les clients sélectionnés?',\r\n WAIT_DESCRIPTION: 'Les clients suppriment ...',\r\n MESSAGE: 'Les clients sélectionnés ont été supprimés'\r\n },\r\n UPDATE_STATUS: {\r\n TITLE: 'Le statut a été mis à jour pour les clients sélectionnés',\r\n MESSAGE: 'Le statut des clients sélectionnés a été mis à jour avec succès'\r\n },\r\n EDIT: {\r\n UPDATE_MESSAGE: 'Le client a été mis à jour',\r\n ADD_MESSAGE: 'Le client a été créé'\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","// Japan\r\nexport const locale = {\r\n lang: 'jp',\r\n data: {\r\n TRANSLATOR: {\r\n SELECT: 'あなたが使う言語を選んでください',\r\n },\r\n MENU: {\r\n NEW: '新しい',\r\n ACTIONS: '行動',\r\n CREATE_POST: '新しい投稿を作成',\r\n PAGES: 'Pages',\r\n FEATURES: '特徴',\r\n APPS: 'アプリ',\r\n DASHBOARD: 'ダッシュボード',\r\n },\r\n AUTH: {\r\n GENERAL: {\r\n OR: 'または',\r\n SUBMIT_BUTTON: '提出する',\r\n NO_ACCOUNT: 'アカウントを持っていない?',\r\n SIGNUP_BUTTON: 'サインアップ',\r\n FORGOT_BUTTON: 'パスワードをお忘れですか',\r\n BACK_BUTTON: 'バック',\r\n PRIVACY: 'プライバシー',\r\n LEGAL: '法的',\r\n CONTACT: '接触',\r\n },\r\n LOGIN: {\r\n TITLE: 'Create Account',\r\n BUTTON: 'Sign In',\r\n },\r\n FORGOT: {\r\n TITLE: 'Forgotten Password?',\r\n DESC: 'Enter your email to reset your password',\r\n SUCCESS: 'Your account has been successfully reset.'\r\n },\r\n REGISTER: {\r\n TITLE: 'Sign Up',\r\n DESC: 'Enter your details to create your account',\r\n SUCCESS: 'Your account has been successfuly registered.'\r\n },\r\n INPUT: {\r\n EMAIL: 'Email',\r\n FULLNAME: 'Fullname',\r\n PASSWORD: 'Password',\r\n CONFIRM_PASSWORD: 'Confirm Password',\r\n USERNAME: 'ユーザー名'\r\n },\r\n VALIDATION: {\r\n INVALID: '{{name}} is not valid',\r\n REQUIRED: '{{name}} is required',\r\n MIN_LENGTH: '{{name}} minimum length is {{min}}',\r\n AGREEMENT_REQUIRED: 'Accepting terms & conditions are required',\r\n NOT_FOUND: 'The requested {{name}} is not found',\r\n INVALID_LOGIN: 'The login detail is incorrect',\r\n REQUIRED_FIELD: 'Required field',\r\n MIN_LENGTH_FIELD: 'Minimum field length:',\r\n MAX_LENGTH_FIELD: 'Maximum field length:',\r\n INVALID_FIELD: 'Field is not valid',\r\n }\r\n },\r\n ECOMMERCE: {\r\n COMMON: {\r\n SELECTED_RECORDS_COUNT: 'Selected records count: ',\r\n ALL: 'All',\r\n SUSPENDED: 'Suspended',\r\n ACTIVE: 'Active',\r\n FILTER: 'Filter',\r\n BY_STATUS: 'by Status',\r\n BY_TYPE: 'by Type',\r\n BUSINESS: 'Business',\r\n INDIVIDUAL: 'Individual',\r\n SEARCH: 'Search',\r\n IN_ALL_FIELDS: 'in all fields'\r\n },\r\n ECOMMERCE: 'eCommerce',\r\n CUSTOMERS: {\r\n CUSTOMERS: 'Customers',\r\n CUSTOMERS_LIST: 'Customers list',\r\n NEW_CUSTOMER: 'New Customer',\r\n DELETE_CUSTOMER_SIMPLE: {\r\n TITLE: 'Customer Delete',\r\n DESCRIPTION: 'Are you sure to permanently delete this customer?',\r\n WAIT_DESCRIPTION: 'Customer is deleting...',\r\n MESSAGE: 'Customer has been deleted'\r\n },\r\n DELETE_CUSTOMER_MULTY: {\r\n TITLE: 'Customers Delete',\r\n DESCRIPTION: 'Are you sure to permanently delete selected customers?',\r\n WAIT_DESCRIPTION: 'Customers are deleting...',\r\n MESSAGE: 'Selected customers have been deleted'\r\n },\r\n UPDATE_STATUS: {\r\n TITLE: 'Status has been updated for selected customers',\r\n MESSAGE: 'Selected customers status have successfully been updated'\r\n },\r\n EDIT: {\r\n UPDATE_MESSAGE: 'Customer has been updated',\r\n ADD_MESSAGE: 'Customer has been created'\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","import { LayoutConfigModel } from \"../_base/layout\";\r\n\r\nexport class LayoutConfig {\r\n public defaults: LayoutConfigModel = {\r\n demo: \"demo1\",\r\n js: {\r\n breakpoints: {\r\n sm: 576,\r\n md: 768,\r\n lg: 992,\r\n xl: 1200,\r\n xxl: 1200,\r\n },\r\n colors: {\r\n theme: {\r\n base: {\r\n white: \"#ffffff\",\r\n primary: \"#6993FF\",\r\n secondary: \"#E5EAEE\",\r\n success: \"#1BC5BD\",\r\n info: \"#8950FC\",\r\n warning: \"#FFA800\",\r\n danger: \"#F64E60\",\r\n light: \"#F3F6F9\",\r\n dark: \"#212121\",\r\n },\r\n light: {\r\n white: \"#ffffff\",\r\n primary: \"#E1E9FF\",\r\n secondary: \"#ECF0F3\",\r\n success: \"#C9F7F5\",\r\n info: \"#EEE5FF\",\r\n warning: \"#FFF4DE\",\r\n danger: \"#FFE2E5\",\r\n light: \"#F3F6F9\",\r\n dark: \"#D6D6E0\",\r\n },\r\n inverse: {\r\n white: \"#ffffff\",\r\n primary: \"#ffffff\",\r\n secondary: \"#212121\",\r\n success: \"#ffffff\",\r\n info: \"#ffffff\",\r\n warning: \"#ffffff\",\r\n danger: \"#ffffff\",\r\n light: \"#464E5F\",\r\n dark: \"#ffffff\",\r\n },\r\n },\r\n gray: {\r\n gray100: \"#F3F6F9\",\r\n gray200: \"#ECF0F3\",\r\n gray300: \"#E5EAEE\",\r\n gray400: \"#D6D6E0\",\r\n gray500: \"#B5B5C3\",\r\n gray600: \"#80808F\",\r\n gray700: \"#464E5F\",\r\n gray800: \"#1B283F\",\r\n gray900: \"#212121\",\r\n },\r\n },\r\n fontFamily: \"Poppins\",\r\n },\r\n // == Base Layout\r\n self: {\r\n layout: \"default\", // blank/default page mode\r\n },\r\n // == Page Splash Screen loading\r\n \"page-loader\": {\r\n type: \"default\", // default|spinner-message|spinner-logo\r\n },\r\n header: {\r\n self: {\r\n display: true,\r\n width: \"fluid\", // fixed|fluid,\r\n theme: \"light\", // light|dark\r\n fixed: {\r\n desktop: true,\r\n mobile: true,\r\n },\r\n },\r\n menu: {\r\n self: {\r\n display: true,\r\n layout: \"default\", // tab/default,\r\n rootArrow: false,\r\n \"icon-style\": \"duotone\", // duotone, line, bold, solid\r\n },\r\n desktop: {\r\n arrow: true,\r\n toggle: \"click\",\r\n submenu: {\r\n theme: \"light\", // light/dark\r\n arrow: true,\r\n },\r\n },\r\n mobile: {\r\n submenu: {\r\n theme: \"dark\", // light/dark\r\n accordion: true,\r\n },\r\n },\r\n },\r\n },\r\n subheader: {\r\n display: true,\r\n displayDesc: false,\r\n displayDaterangepicker: true,\r\n layout: \"subheader-v1\", // 'subheader-v2'|'subheader-v3'\r\n fixed: true,\r\n width: \"fluid\", // fixed|fluid\r\n clear: false,\r\n style: \"solid\", // transparent/solid\r\n },\r\n content: {\r\n width: \"fluid\", // fluid/fixed\r\n },\r\n brand: {\r\n self: {\r\n theme: \"dark\", // light/dark\r\n },\r\n },\r\n aside: {\r\n self: {\r\n theme: \"dark\", // light/dark\r\n display: true,\r\n fixed: true,\r\n minimize: {\r\n toggle: true, // allow toggle\r\n default: false, // default state\r\n hoverable: true,\r\n },\r\n },\r\n footer: {\r\n self: {\r\n display: true,\r\n },\r\n },\r\n menu: {\r\n dropdown: false, // ok\r\n scroll: false, // ok\r\n \"icon-style\": \"duotone\",\r\n submenu: {\r\n accordion: true,\r\n dropdown: {\r\n arrow: true,\r\n \"hover-timeout\": 500, // in milliseconds\r\n },\r\n },\r\n },\r\n },\r\n footer: {\r\n width: \"fluid\",\r\n fixed: false,\r\n },\r\n extras: {\r\n search: {\r\n display: true,\r\n layout: \"dropdown\", // offcanvas, dropdown\r\n offcanvas: {\r\n direction: \"right\",\r\n },\r\n },\r\n notifications: {\r\n display: true,\r\n layout: \"dropdown\", // offcanvas, dropdown\r\n dropdown: {\r\n style: \"dark\", // light|dark\r\n },\r\n offcanvas: {\r\n direction: \"right\",\r\n },\r\n },\r\n user: {\r\n display: true,\r\n layout: \"offcanvas\", // offcanvas, dropdown\r\n dropdown: {\r\n style: \"dark\", // light|dark\r\n },\r\n offcanvas: {\r\n direction: \"right\",\r\n },\r\n },\r\n languages: {\r\n display: true,\r\n },\r\n cart: {\r\n display: true,\r\n dropdown: {\r\n style: \"dark\",\r\n },\r\n },\r\n \"quick-actions\": {\r\n display: true,\r\n layout: \"dropdown\", // offcanvas, dropdown\r\n dropdown: {\r\n style: \"dark\",\r\n },\r\n offcanvas: {\r\n direction: \"right\",\r\n },\r\n },\r\n \"quick-panel\": {\r\n display: true,\r\n offcanvas: {\r\n direction: \"right\",\r\n },\r\n },\r\n chat: {\r\n display: false,\r\n },\r\n toolbar: {\r\n display: true,\r\n },\r\n scrolltop: {\r\n display: true,\r\n },\r\n },\r\n };\r\n\r\n /**\r\n * Good place for getting the remote config\r\n */\r\n public get configs(): LayoutConfigModel {\r\n return this.defaults;\r\n }\r\n}\r\n","import { RoleType } from \"./../auth/_models/role-type.model\";\r\nexport class MenuConfig {\r\n public defaults: any = {\r\n header: {\r\n self: {},\r\n items: [\r\n {\r\n title: \"Dashboards\",\r\n root: true,\r\n alignment: \"left\",\r\n page: \"/dashboard\",\r\n translate: \"MENU.DASHBOARD\",\r\n },\r\n // {\r\n // title: \"Components\",\r\n // root: true,\r\n // alignment: \"left\",\r\n // toggle: \"click\",\r\n // submenu: [\r\n // {\r\n // title: \"Google Material\",\r\n // bullet: \"dot\",\r\n // icon: \"flaticon-interface-7\",\r\n // submenu: [\r\n // {\r\n // title: \"Form Controls\",\r\n // bullet: \"dot\",\r\n // submenu: [\r\n // {\r\n // title: \"Auto Complete\",\r\n // page: \"/material/form-controls/autocomplete\",\r\n // permission: \"accessToECommerceModule\",\r\n // },\r\n // {\r\n // title: \"Checkbox\",\r\n // page: \"/material/form-controls/checkbox\",\r\n // },\r\n // {\r\n // title: \"Radio Button\",\r\n // page: \"/material/form-controls/radiobutton\",\r\n // },\r\n // {\r\n // title: \"Datepicker\",\r\n // page: \"/material/form-controls/datepicker\",\r\n // },\r\n // {\r\n // title: \"Form Field\",\r\n // page: \"/material/form-controls/formfield\",\r\n // },\r\n // {\r\n // title: \"Input\",\r\n // page: \"/material/form-controls/input\",\r\n // },\r\n // {\r\n // title: \"Select\",\r\n // page: \"/material/form-controls/select\",\r\n // },\r\n // {\r\n // title: \"Slider\",\r\n // page: \"/material/form-controls/slider\",\r\n // },\r\n // {\r\n // title: \"Slider Toggle\",\r\n // page: \"/material/form-controls/slidertoggle\",\r\n // },\r\n // ],\r\n // },\r\n // {\r\n // title: \"Navigation\",\r\n // bullet: \"dot\",\r\n // submenu: [\r\n // {\r\n // title: \"Menu\",\r\n // page: \"/material/navigation/menu\",\r\n // },\r\n // {\r\n // title: \"Sidenav\",\r\n // page: \"/material/navigation/sidenav\",\r\n // },\r\n // {\r\n // title: \"Toolbar\",\r\n // page: \"/material/navigation/toolbar\",\r\n // },\r\n // ],\r\n // },\r\n // {\r\n // title: \"Layout\",\r\n // bullet: \"dot\",\r\n // submenu: [\r\n // {\r\n // title: \"Card\",\r\n // page: \"/material/layout/card\",\r\n // },\r\n // {\r\n // title: \"Divider\",\r\n // page: \"/material/layout/divider\",\r\n // },\r\n // {\r\n // title: \"Expansion panel\",\r\n // page: \"/material/layout/expansion-panel\",\r\n // },\r\n // {\r\n // title: \"Grid list\",\r\n // page: \"/material/layout/grid-list\",\r\n // },\r\n // {\r\n // title: \"List\",\r\n // page: \"/material/layout/list\",\r\n // },\r\n // {\r\n // title: \"Tabs\",\r\n // page: \"/material/layout/tabs\",\r\n // },\r\n // {\r\n // title: \"Stepper\",\r\n // page: \"/material/layout/stepper\",\r\n // },\r\n // {\r\n // title: \"Tree\",\r\n // page: \"/material/layout/tree\",\r\n // },\r\n // ],\r\n // },\r\n // {\r\n // title: \"Buttons & Indicators\",\r\n // bullet: \"dot\",\r\n // submenu: [\r\n // {\r\n // title: \"Button\",\r\n // page: \"/material/buttons-and-indicators/button\",\r\n // },\r\n // {\r\n // title: \"Button toggle\",\r\n // page: \"/material/buttons-and-indicators/button-toggle\",\r\n // },\r\n // {\r\n // title: \"Chips\",\r\n // page: \"/material/buttons-and-indicators/chips\",\r\n // },\r\n // {\r\n // title: \"Icon\",\r\n // page: \"/material/buttons-and-indicators/icon\",\r\n // },\r\n // {\r\n // title: \"Progress bar\",\r\n // page: \"/material/buttons-and-indicators/progress-bar\",\r\n // },\r\n // {\r\n // title: \"Progress spinner\",\r\n // page: \"/material/buttons-and-indicators/progress-spinner\",\r\n // },\r\n // {\r\n // title: \"Ripples\",\r\n // page: \"/material/buttons-and-indicators/ripples\",\r\n // },\r\n // ],\r\n // },\r\n // {\r\n // title: \"Popups & Modals\",\r\n // bullet: \"dot\",\r\n // submenu: [\r\n // {\r\n // title: \"Bottom sheet\",\r\n // page: \"/material/popups-and-modals/bottom-sheet\",\r\n // },\r\n // {\r\n // title: \"Dialog\",\r\n // page: \"/material/popups-and-modals/dialog\",\r\n // },\r\n // {\r\n // title: \"Snackbar\",\r\n // page: \"/material/popups-and-modals/snackbar\",\r\n // },\r\n // {\r\n // title: \"Tooltip\",\r\n // page: \"/material/popups-and-modals/tooltip\",\r\n // },\r\n // ],\r\n // },\r\n // {\r\n // title: \"Data table\",\r\n // bullet: \"dot\",\r\n // submenu: [\r\n // {\r\n // title: \"Paginator\",\r\n // page: \"/material/data-table/paginator\",\r\n // },\r\n // {\r\n // title: \"Sort header\",\r\n // page: \"/material/data-table/sort-header\",\r\n // },\r\n // {\r\n // title: \"Table\",\r\n // page: \"/material/data-table/table\",\r\n // },\r\n // ],\r\n // },\r\n // ],\r\n // },\r\n // {\r\n // title: \"Ng-Bootstrap\",\r\n // bullet: \"dot\",\r\n // icon: \"flaticon-web\",\r\n // submenu: [\r\n // {\r\n // title: \"Accordion\",\r\n // page: \"/ngbootstrap/accordion\",\r\n // },\r\n // {\r\n // title: \"Alert\",\r\n // page: \"/ngbootstrap/alert\",\r\n // },\r\n // {\r\n // title: \"Buttons\",\r\n // page: \"/ngbootstrap/buttons\",\r\n // },\r\n // {\r\n // title: \"Carousel\",\r\n // page: \"/ngbootstrap/carousel\",\r\n // },\r\n // {\r\n // title: \"Collapse\",\r\n // page: \"/ngbootstrap/collapse\",\r\n // },\r\n // {\r\n // title: \"Datepicker\",\r\n // page: \"/ngbootstrap/datepicker\",\r\n // },\r\n // {\r\n // title: \"Dropdown\",\r\n // page: \"/ngbootstrap/dropdown\",\r\n // },\r\n // {\r\n // title: \"Modal\",\r\n // page: \"/ngbootstrap/modal\",\r\n // },\r\n // {\r\n // title: \"Pagination\",\r\n // page: \"/ngbootstrap/pagination\",\r\n // },\r\n // {\r\n // title: \"Popover\",\r\n // page: \"/ngbootstrap/popover\",\r\n // },\r\n // {\r\n // title: \"Progressbar\",\r\n // page: \"/ngbootstrap/progressbar\",\r\n // },\r\n // {\r\n // title: \"Rating\",\r\n // page: \"/ngbootstrap/rating\",\r\n // },\r\n // {\r\n // title: \"Tabs\",\r\n // page: \"/ngbootstrap/tabs\",\r\n // },\r\n // {\r\n // title: \"Timepicker\",\r\n // page: \"/ngbootstrap/timepicker\",\r\n // },\r\n // {\r\n // title: \"Tooltips\",\r\n // page: \"/ngbootstrap/tooltip\",\r\n // },\r\n // {\r\n // title: \"Typehead\",\r\n // page: \"/ngbootstrap/typehead\",\r\n // },\r\n // ],\r\n // },\r\n // ],\r\n // },\r\n // {\r\n // title: \"Applications\",\r\n // root: true,\r\n // alignment: \"left\",\r\n // toggle: \"click\",\r\n // submenu: [\r\n // {\r\n // title: \"eCommerce\",\r\n // bullet: \"dot\",\r\n // icon: \"flaticon-business\",\r\n // permission: \"accessToECommerceModule\",\r\n // submenu: [\r\n // {\r\n // title: \"Customers\",\r\n // page: \"/ecommerce/customers\",\r\n // },\r\n // {\r\n // title: \"Products\",\r\n // page: \"/ecommerce/products\",\r\n // },\r\n // ],\r\n // },\r\n // {\r\n // title: \"User Management\",\r\n // bullet: \"dot\",\r\n // icon: \"flaticon-user\",\r\n // submenu: [\r\n // {\r\n // title: \"Users\",\r\n // page: \"/user-management/users\",\r\n // },\r\n // ],\r\n // },\r\n // ],\r\n // },\r\n ],\r\n },\r\n aside: {\r\n self: {},\r\n items: [\r\n {\r\n title: \"Dashboard\",\r\n root: true,\r\n icon: \"flaticon2-architecture-and-city\",\r\n page: \"/dashboard\",\r\n translate: \"MENU.DASHBOARD\",\r\n bullet: \"dot\",\r\n },\r\n { section: \"Applications\" },\r\n\r\n {\r\n title: \"User Managements\",\r\n root: true,\r\n bullet: \"dot\",\r\n icon: \"flaticon2-user-outline-symbol\",\r\n submenu: [\r\n {\r\n title: \"Users\",\r\n page: \"/user-management/users\",\r\n },\r\n {\r\n title: \"My Profile\",\r\n page: \"/user-management/user-profile\",\r\n },\r\n {\r\n title: \"Roles and permisssions\",\r\n page: \"/user-management/roles\",\r\n },\r\n ],\r\n },\r\n {\r\n title: \"Settings\",\r\n root: true,\r\n icon: \"fas fa-cog\",\r\n submenu: [\r\n {\r\n title: \"Drones\",\r\n root: true,\r\n bullet: \"dot\",\r\n icon: \"fas fa-rocket\",\r\n page: \"/drones\",\r\n },\r\n {\r\n title: \"Drone Pilots\",\r\n root: true,\r\n bullet: \"dot\",\r\n page: \"/drone-pilots\",\r\n icon: \"fas fa-user-friends\",\r\n },\r\n {\r\n title: \"Materials\",\r\n root: true,\r\n bullet: \"dot\",\r\n icon: \" fas fa-spray-can\",\r\n page: \"/materials\",\r\n },\r\n {\r\n title: \"Protocols\",\r\n root: true,\r\n bullet: \"dot\",\r\n icon: \" fas fa-tasks\",\r\n page: \"/protocols\",\r\n },\r\n ],\r\n },\r\n\r\n {\r\n title: \"Operations\",\r\n root: true,\r\n bullet: \"dot\",\r\n icon: \"flaticon2-layers-2\",\r\n submenu: [\r\n {\r\n title: \"Tasks\",\r\n bullet: \"dot\",\r\n submenu: [\r\n {\r\n title: \"Tasks List\",\r\n page: \"/tasks/list\",\r\n },\r\n {\r\n title: \"Planning Tool\",\r\n page: \"/tasks/map\",\r\n },\r\n {\r\n title: \"Task Control\",\r\n page: \"/tasks/controller\",\r\n },\r\n {\r\n title: \"Completed tasks\",\r\n page: \"/tasks/completed\",\r\n },\r\n ],\r\n },\r\n {\r\n title: \"Customers\",\r\n bullet: \"dot\",\r\n page: \"/customers\",\r\n },\r\n {\r\n title: \"Fields\",\r\n bullet: \"dot\",\r\n page: \"/fields\",\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n };\r\n\r\n public pilotMenu: any = {\r\n header: {\r\n self: {},\r\n items: [\r\n {\r\n title: \"Dashboards\",\r\n root: true,\r\n alignment: \"left\",\r\n page: \"/dashboard\",\r\n translate: \"MENU.DASHBOARD\",\r\n },\r\n ],\r\n },\r\n aside: {\r\n self: {},\r\n items: [\r\n {\r\n title: \"Dashboard\",\r\n root: true,\r\n icon: \"flaticon2-architecture-and-city\",\r\n page: \"/dashboard\",\r\n translate: \"MENU.DASHBOARD\",\r\n bullet: \"dot\",\r\n },\r\n {\r\n title: \"Daily tasks\",\r\n root: true,\r\n icon: \"fas fa-tasks\",\r\n page: \"/pilot-tasks/list\",\r\n bullet: \"dot\",\r\n },\r\n {\r\n title: \"My Profile\",\r\n page: \"/user-management/user-profile\",\r\n root: true,\r\n icon: \"flaticon2-user-outline-symbol\",\r\n },\r\n ],\r\n },\r\n };\r\n\r\n public getConfigs(role: RoleType): any {\r\n switch (role.name) {\r\n case \"Pilot\": {\r\n return this.pilotMenu;\r\n }\r\n }\r\n return this.defaults;\r\n }\r\n}\r\n","export class PageConfig {\r\n public defaults: any = {\r\n dashboard: {\r\n page: {\r\n title: 'Dashboard',\r\n desc: 'Latest updates and statistic charts'\r\n },\r\n },\r\n ngbootstrap: {\r\n accordion: {\r\n page: {title: 'Accordion', desc: ''}\r\n },\r\n alert: {\r\n page: {title: 'Alert', desc: ''}\r\n },\r\n buttons: {\r\n page: {title: 'Buttons', desc: ''}\r\n },\r\n carousel: {\r\n page: {title: 'Carousel', desc: ''}\r\n },\r\n collapse: {\r\n page: {title: 'Collapse', desc: ''}\r\n },\r\n datepicker: {\r\n page: {title: 'Datepicker', desc: ''}\r\n },\r\n dropdown: {\r\n page: {title: 'Dropdown', desc: ''}\r\n },\r\n modal: {\r\n page: {title: 'Modal', desc: ''}\r\n },\r\n pagination: {\r\n page: {title: 'Pagination', desc: ''}\r\n },\r\n popover: {\r\n page: {title: 'Popover', desc: ''}\r\n },\r\n progressbar: {\r\n page: {title: 'Progressbar', desc: ''}\r\n },\r\n rating: {\r\n page: {title: 'Rating', desc: ''}\r\n },\r\n tabs: {\r\n page: {title: 'Tabs', desc: ''}\r\n },\r\n timepicker: {\r\n page: {title: 'Timepicker', desc: ''}\r\n },\r\n tooltip: {\r\n page: {title: 'Tooltip', desc: ''}\r\n },\r\n typehead: {\r\n page: {title: 'Typehead', desc: ''}\r\n }\r\n },\r\n material: {\r\n // form controls\r\n 'form-controls': {\r\n autocomplete: {\r\n page: {title: 'Auto Complete', desc: ''}\r\n },\r\n checkbox: {\r\n page: {title: 'Checkbox', desc: ''}\r\n },\r\n datepicker: {\r\n page: {title: 'Datepicker', desc: ''}\r\n },\r\n radiobutton: {\r\n page: {title: 'Radio Button', desc: ''}\r\n },\r\n formfield: {\r\n page: {title: 'Form field', desc: ''}\r\n },\r\n input: {\r\n page: {title: 'Input', desc: ''}\r\n },\r\n select: {\r\n page: {title: 'Select', desc: ''}\r\n },\r\n slider: {\r\n page: {title: 'Slider', desc: ''}\r\n },\r\n slidertoggle: {\r\n page: {title: 'Slider Toggle', desc: ''}\r\n }\r\n },\r\n // navigation\r\n navigation: {\r\n menu: {\r\n page: {title: 'Menu', desc: ''}\r\n },\r\n sidenav: {\r\n page: {title: 'Sidenav', desc: ''}\r\n },\r\n toolbar: {\r\n page: {title: 'Toolbar', desc: ''}\r\n }\r\n },\r\n // layout\r\n layout: {\r\n card: {\r\n page: {title: 'Card', desc: ''}\r\n },\r\n divider: {\r\n page: {title: 'Divider', desc: ''}\r\n },\r\n 'expansion-panel': {\r\n page: {title: 'Expansion panel', desc: ''}\r\n },\r\n 'grid-list': {\r\n page: {title: 'Grid list', desc: ''}\r\n },\r\n list: {\r\n page: {title: 'List', desc: ''}\r\n },\r\n tabs: {\r\n page: {title: 'Tabs', desc: ''}\r\n },\r\n stepper: {\r\n page: {title: 'Stepper', desc: ''}\r\n },\r\n 'default-forms': {\r\n page: {title: 'Default Forms', desc: ''}\r\n },\r\n tree: {\r\n page: {title: 'Tree', desc: ''}\r\n },\r\n },\r\n // buttons & indicators\r\n 'buttons-and-indicators': {\r\n button: {\r\n page: {title: 'Button', desc: ''}\r\n },\r\n 'button-toggle': {\r\n page: {title: 'Button toggle', desc: ''}\r\n },\r\n chips: {\r\n page: {title: 'Chips', desc: ''}\r\n },\r\n icon: {\r\n page: {title: 'Icon', desc: ''}\r\n },\r\n 'progress-bar': {\r\n page: {title: 'Progress bar', desc: ''}\r\n },\r\n 'progress-spinner': {\r\n page: {title: 'Progress spinner', desc: ''}\r\n }\r\n },\r\n // popups & models\r\n 'popups-and-modals': {\r\n 'bottom-sheet': {\r\n page: {title: 'Bottom sheet', desc: ''}\r\n },\r\n dialog: {\r\n page: {title: 'Dialog', desc: ''}\r\n },\r\n snackbar: {\r\n page: {title: 'Snackbar', desc: ''}\r\n },\r\n tooltip: {\r\n page: {title: 'Tooltip', desc: ''}\r\n }\r\n },\r\n // Data tables\r\n 'data-table': {\r\n paginator: {\r\n page: {title: 'Paginator', desc: ''}\r\n },\r\n 'sort-header': {\r\n page: {title: 'Sort header', desc: ''}\r\n },\r\n table: {\r\n page: {title: 'Table', desc: ''}\r\n }\r\n }\r\n },\r\n forms: {\r\n page: {title: 'Forms', desc: ''}\r\n },\r\n mail: {\r\n page: {title: 'Mail', desc: 'Mail'}\r\n },\r\n ecommerce: {\r\n customers: {\r\n page: {title: 'Customers', desc: ''}\r\n },\r\n products: {\r\n edit: {\r\n page: {title: 'Edit product', desc: ''}\r\n },\r\n add: {\r\n page: {title: 'Create product', desc: ''}\r\n }\r\n },\r\n orders: {\r\n page: {title: 'Orders', desc: ''}\r\n }\r\n },\r\n 'user-management': {\r\n users: {\r\n page: {title: 'Users', desc: ''}\r\n },\r\n roles: {\r\n page: {title: 'Roles', desc: ''}\r\n }\r\n },\r\n builder: {\r\n page: {title: 'Layout Builder', desc: ''}\r\n },\r\n header: {\r\n actions: {\r\n page: {title: 'Actions', desc: 'Actions example page'}\r\n }\r\n },\r\n profile: {\r\n page: {title: 'User Profile', desc: ''}\r\n },\r\n error: {\r\n 404: {\r\n page: {title: '404 Not Found', desc: '', subheader: false}\r\n },\r\n 403: {\r\n page: {title: '403 Access Forbidden', desc: '', subheader: false}\r\n }\r\n },\r\n wizard: {\r\n 'wizard-1': {page: {title: 'Wizard 1', desc: ''}},\r\n 'wizard-2': {page: {title: 'Wizard 2', desc: ''}},\r\n 'wizard-3': {page: {title: 'Wizard 3', desc: ''}},\r\n 'wizard-4': {page: {title: 'Wizard 4', desc: ''}},\r\n },\r\n };\r\n\r\n public get configs(): any {\r\n return this.defaults;\r\n }\r\n}\r\n","import { Action } from '@ngrx/store';\r\nimport { User } from '../_models/user.model';\r\n\r\nexport enum AuthActionTypes {\r\n Login = '[Login] Action',\r\n Logout = '[Logout] Action',\r\n Register = '[Register] Action',\r\n UserRequested = '[Request User] Action',\r\n UserLoaded = '[Load User] Auth API'\r\n}\r\n\r\nexport class Login implements Action {\r\n readonly type = AuthActionTypes.Login;\r\n constructor(public payload: { authToken: string }) { }\r\n}\r\n\r\nexport class Logout implements Action {\r\n readonly type = AuthActionTypes.Logout;\r\n}\r\n\r\nexport class Register implements Action {\r\n readonly type = AuthActionTypes.Register;\r\n constructor(public payload: { authToken: string }) { }\r\n}\r\n\r\n\r\nexport class UserRequested implements Action {\r\n readonly type = AuthActionTypes.UserRequested;\r\n}\r\n\r\nexport class UserLoaded implements Action {\r\n readonly type = AuthActionTypes.UserLoaded;\r\n constructor(public payload: { user: User }) { }\r\n}\r\n\r\nexport type AuthActions = Login | Logout | Register | UserRequested | UserLoaded;\r\n","// NGRX\r\nimport { Action } from '@ngrx/store';\r\n// Models\r\nimport { Permission } from '../_models/permission.model';\r\n\r\nexport enum PermissionActionTypes {\r\n AllPermissionsRequested = '[Init] All Permissions Requested',\r\n AllPermissionsLoaded = '[Init] All Permissions Loaded'\r\n}\r\n\r\nexport class AllPermissionsRequested implements Action {\r\n readonly type = PermissionActionTypes.AllPermissionsRequested;\r\n}\r\n\r\nexport class AllPermissionsLoaded implements Action {\r\n readonly type = PermissionActionTypes.AllPermissionsLoaded;\r\n constructor(public payload: { permissions: Permission[] }) { }\r\n}\r\n\r\nexport type PermissionActions = AllPermissionsRequested | AllPermissionsLoaded;\r\n","// NGRX\r\nimport { Action } from '@ngrx/store';\r\nimport { Update } from '@ngrx/entity';\r\n// CRUD\r\nimport { QueryParamsModel } from '../../_base/crud';\r\n// Models\r\nimport { Role } from '../_models/role.model';\r\n\r\nexport enum RoleActionTypes {\r\n AllRolesRequested = '[Roles Home Page] All Roles Requested',\r\n AllRolesLoaded = '[Roles API] All Roles Loaded',\r\n RoleOnServerCreated = '[Edit Role Dialog] Role On Server Created',\r\n RoleCreated = '[Edit Roles Dialog] Roles Created',\r\n RoleUpdated = '[Edit Role Dialog] Role Updated',\r\n RoleDeleted = '[Roles List Page] Role Deleted',\r\n RolesPageRequested = '[Roles List Page] Roles Page Requested',\r\n RolesPageLoaded = '[Roles API] Roles Page Loaded',\r\n RolesPageCancelled = '[Roles API] Roles Page Cancelled',\r\n RolesPageToggleLoading = '[Roles page] Roles Page Toggle Loading',\r\n RolesActionToggleLoading = '[Roles] Roles Action Toggle Loading'\r\n}\r\n\r\nexport class RoleOnServerCreated implements Action {\r\n readonly type = RoleActionTypes.RoleOnServerCreated;\r\n constructor(public payload: { role: Role }) { }\r\n}\r\n\r\nexport class RoleCreated implements Action {\r\n readonly type = RoleActionTypes.RoleCreated;\r\n constructor(public payload: { role: Role }) { }\r\n}\r\n\r\nexport class RoleUpdated implements Action {\r\n readonly type = RoleActionTypes.RoleUpdated;\r\n constructor(public payload: {\r\n partialrole: Update,\r\n role: Role\r\n }) { }\r\n}\r\n\r\nexport class RoleDeleted implements Action {\r\n readonly type = RoleActionTypes.RoleDeleted;\r\n constructor(public payload: { id: number }) {}\r\n}\r\n\r\nexport class RolesPageRequested implements Action {\r\n readonly type = RoleActionTypes.RolesPageRequested;\r\n constructor(public payload: { page: QueryParamsModel }) { }\r\n}\r\n\r\nexport class RolesPageLoaded implements Action {\r\n readonly type = RoleActionTypes.RolesPageLoaded;\r\n constructor(public payload: { roles: Role[], totalCount: number, page: QueryParamsModel }) { }\r\n}\r\n\r\nexport class RolesPageCancelled implements Action {\r\n readonly type = RoleActionTypes.RolesPageCancelled;\r\n}\r\n\r\nexport class AllRolesRequested implements Action {\r\n readonly type = RoleActionTypes.AllRolesRequested;\r\n}\r\n\r\nexport class AllRolesLoaded implements Action {\r\n readonly type = RoleActionTypes.AllRolesLoaded;\r\n constructor(public payload: { roles: Role[] }) { }\r\n}\r\n\r\nexport class RolesPageToggleLoading implements Action {\r\n readonly type = RoleActionTypes.RolesPageToggleLoading;\r\n constructor(public payload: { isLoading: boolean }) { }\r\n}\r\n\r\nexport class RolesActionToggleLoading implements Action {\r\n readonly type = RoleActionTypes.RolesActionToggleLoading;\r\n constructor(public payload: { isLoading: boolean }) { }\r\n}\r\n\r\nexport type RoleActions = RoleCreated\r\n| RoleUpdated\r\n| RoleDeleted\r\n| RolesPageRequested\r\n| RolesPageLoaded\r\n| RolesPageCancelled\r\n| AllRolesLoaded\r\n| AllRolesRequested\r\n| RoleOnServerCreated\r\n| RolesPageToggleLoading\r\n| RolesActionToggleLoading;\r\n","// NGRX\r\nimport { Action } from '@ngrx/store';\r\nimport { Update } from '@ngrx/entity';\r\n// CRUD\r\nimport { User } from '../_models/user.model';\r\n// Models\r\nimport { QueryParamsModel } from '../../_base/crud';\r\n\r\nexport enum UserActionTypes {\r\n AllUsersRequested = '[Users Module] All Users Requested',\r\n AllUsersLoaded = '[Users API] All Users Loaded',\r\n UserOnServerCreated = '[Edit User Component] User On Server Created',\r\n UserCreated = '[Edit User Dialog] User Created',\r\n UserUpdated = '[Edit User Dialog] User Updated',\r\n UserDeleted = '[Users List Page] User Deleted',\r\n UsersPageRequested = '[Users List Page] Users Page Requested',\r\n UsersPageLoaded = '[Users API] Users Page Loaded',\r\n UsersPageCancelled = '[Users API] Users Page Cancelled',\r\n UsersPageToggleLoading = '[Users] Users Page Toggle Loading',\r\n UsersActionToggleLoading = '[Users] Users Action Toggle Loading'\r\n}\r\n\r\nexport class UserOnServerCreated implements Action {\r\n readonly type = UserActionTypes.UserOnServerCreated;\r\n constructor(public payload: { user: User }) { }\r\n}\r\n\r\nexport class UserCreated implements Action {\r\n readonly type = UserActionTypes.UserCreated;\r\n constructor(public payload: { user: User }) { }\r\n}\r\n\r\n\r\nexport class UserUpdated implements Action {\r\n readonly type = UserActionTypes.UserUpdated;\r\n constructor(public payload: {\r\n partialUser: Update,\r\n user: User\r\n }) { }\r\n}\r\n\r\nexport class UserDeleted implements Action {\r\n readonly type = UserActionTypes.UserDeleted;\r\n constructor(public payload: { id: number }) {}\r\n}\r\n\r\nexport class UsersPageRequested implements Action {\r\n readonly type = UserActionTypes.UsersPageRequested;\r\n constructor(public payload: { page: QueryParamsModel }) { }\r\n}\r\n\r\nexport class UsersPageLoaded implements Action {\r\n readonly type = UserActionTypes.UsersPageLoaded;\r\n constructor(public payload: { users: User[], totalCount: number, page: QueryParamsModel }) { }\r\n}\r\n\r\n\r\nexport class UsersPageCancelled implements Action {\r\n readonly type = UserActionTypes.UsersPageCancelled;\r\n}\r\n\r\nexport class UsersPageToggleLoading implements Action {\r\n readonly type = UserActionTypes.UsersPageToggleLoading;\r\n constructor(public payload: { isLoading: boolean }) { }\r\n}\r\n\r\nexport class UsersActionToggleLoading implements Action {\r\n readonly type = UserActionTypes.UsersActionToggleLoading;\r\n constructor(public payload: { isLoading: boolean }) { }\r\n}\r\n\r\nexport type UserActions = UserCreated\r\n| UserUpdated\r\n| UserDeleted\r\n| UserOnServerCreated\r\n| UsersPageLoaded\r\n| UsersPageCancelled\r\n| UsersPageToggleLoading\r\n| UsersPageRequested\r\n| UsersActionToggleLoading;\r\n","// RxJS\r\nimport { of } from 'rxjs';\r\nimport { catchError, finalize, tap, debounceTime, delay, distinctUntilChanged } from 'rxjs/operators';\r\n// NGRX\r\nimport { Store, select } from '@ngrx/store';\r\n// CRUD\r\nimport { BaseDataSource, QueryResultsModel } from '../../_base/crud';\r\n// State\r\nimport { AppState } from '../../../core/reducers';\r\n// Selectors\r\nimport { selectQueryResult, selectRolesPageLoading, selectRolesShowInitWaitingMessage } from '../_selectors/role.selectors';\r\n\r\nexport class RolesDataSource extends BaseDataSource {\r\n constructor(private store: Store) {\r\n super();\r\n\r\n this.loading$ = this.store.pipe(\r\n select(selectRolesPageLoading)\r\n );\r\n\r\n this.isPreloadTextViewed$ = this.store.pipe(\r\n select(selectRolesShowInitWaitingMessage)\r\n );\r\n\r\n this.store.pipe(\r\n select(selectQueryResult)\r\n ).subscribe((response: QueryResultsModel) => {\r\n this.paginatorTotalSubject.next(response.totalCount);\r\n this.entitySubject.next(response.items);\r\n });\r\n\r\n }\r\n}\r\n","// NGRX\r\nimport { Store, select } from '@ngrx/store';\r\n// CRUD\r\nimport { BaseDataSource, QueryResultsModel } from '../../_base/crud';\r\n// State\r\nimport { AppState } from '../../../core/reducers';\r\nimport { selectUsersInStore, selectUsersPageLoading, selectUsersShowInitWaitingMessage } from '../_selectors/user.selectors';\r\n\r\n\r\nexport class UsersDataSource extends BaseDataSource {\r\n constructor(private store: Store) {\r\n super();\r\n\r\n this.loading$ = this.store.pipe(\r\n select(selectUsersPageLoading)\r\n );\r\n\r\n this.isPreloadTextViewed$ = this.store.pipe(\r\n select(selectUsersShowInitWaitingMessage)\r\n );\r\n\r\n this.store.pipe(\r\n select(selectUsersInStore)\r\n ).subscribe((response: QueryResultsModel) => {\r\n this.paginatorTotalSubject.next(response.totalCount);\r\n this.entitySubject.next(response.items);\r\n });\r\n }\r\n}\r\n","// Angular\r\nimport { Injectable } from \"@angular/core\";\r\nimport { NavigationEnd, Router } from \"@angular/router\";\r\n// RxJS\r\nimport { filter, mergeMap, tap, withLatestFrom } from \"rxjs/operators\";\r\nimport { defer, Observable, of } from \"rxjs\";\r\n// NGRX\r\nimport { Actions, Effect, ofType } from \"@ngrx/effects\";\r\nimport { Action, select, Store } from \"@ngrx/store\";\r\n// Auth actions\r\nimport {\r\n AuthActionTypes,\r\n Login,\r\n Logout,\r\n Register,\r\n UserLoaded,\r\n UserRequested,\r\n} from \"../_actions/auth.actions\";\r\nimport { AuthService } from \"../_services/index\";\r\nimport { AppState } from \"../../reducers\";\r\nimport { environment } from \"../../../../environments/environment\";\r\nimport { isUserLoaded } from \"../_selectors/auth.selectors\";\r\n\r\n@Injectable()\r\nexport class AuthEffects {\r\n @Effect({ dispatch: false })\r\n login$ = this.actions$.pipe(\r\n ofType(AuthActionTypes.Login),\r\n tap((action) => {\r\n localStorage.setItem(environment.authTokenKey, action.payload.authToken);\r\n this.store.dispatch(new UserRequested());\r\n })\r\n );\r\n\r\n @Effect({ dispatch: false })\r\n logout$ = this.actions$.pipe(\r\n ofType(AuthActionTypes.Logout),\r\n tap(() => {\r\n localStorage.removeItem(environment.authTokenKey);\r\n this.router.navigate([\"/auth/login\"], {\r\n queryParams: { returnUrl: this.returnUrl },\r\n });\r\n document.location.reload();\r\n })\r\n );\r\n\r\n @Effect({ dispatch: false })\r\n register$ = this.actions$.pipe(\r\n ofType(AuthActionTypes.Register),\r\n tap((action) => {\r\n localStorage.setItem(environment.authTokenKey, action.payload.authToken);\r\n })\r\n );\r\n\r\n // @Effect({dispatch: false})\r\n // loadUser$ = this.actions$\r\n // .pipe(\r\n // ofType(AuthActionTypes.UserRequested),\r\n // withLatestFrom(this.store.pipe(select(isUserLoaded))),\r\n // filter(([action, _isUserLoaded]) => !_isUserLoaded),\r\n // mergeMap(([action, _isUserLoaded]) => this.auth.getUserByToken()),\r\n // tap(_user => {\r\n // if (_user) {\r\n // this.store.dispatch(new UserLoaded({user: _user}));\r\n // } else {\r\n // this.store.dispatch(new Logout());\r\n // }\r\n // })\r\n // );\r\n\r\n @Effect()\r\n init$: Observable = defer(() => {\r\n const userToken = localStorage.getItem(environment.authTokenKey);\r\n let observableResult = of({ type: \"NO_ACTION\" });\r\n if (userToken) {\r\n observableResult = of(new Login({ authToken: userToken }));\r\n }\r\n return observableResult;\r\n });\r\n\r\n private returnUrl: string;\r\n\r\n constructor(\r\n private actions$: Actions,\r\n private router: Router,\r\n private auth: AuthService,\r\n private store: Store\r\n ) {\r\n this.router.events.subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n this.returnUrl = event.url;\r\n }\r\n });\r\n }\r\n}\r\n","// Angular\r\nimport { Injectable } from '@angular/core';\r\n// RxJS\r\nimport { mergeMap, map, tap } from 'rxjs/operators';\r\nimport { defer, Observable, of } from 'rxjs';\r\n// NGRX\r\nimport { Effect, Actions, ofType } from '@ngrx/effects';\r\nimport { Action } from '@ngrx/store';\r\n// Services\r\nimport { AuthService } from '../_services';\r\n// Actions\r\nimport {\r\n AllPermissionsLoaded,\r\n AllPermissionsRequested,\r\n PermissionActionTypes\r\n} from '../_actions/permission.actions';\r\n// Models\r\nimport { Permission } from '../_models/permission.model';\r\n\r\n@Injectable()\r\nexport class PermissionEffects {\r\n // @Effect()\r\n // loadAllPermissions$ = this.actions$\r\n // .pipe(\r\n // ofType(PermissionActionTypes.AllPermissionsRequested),\r\n // mergeMap(() => this.auth.getAllPermissions()),\r\n // map((result: Permission[]) => {\r\n // return new AllPermissionsLoaded({\r\n // permissions: result\r\n // });\r\n // })\r\n // );\r\n\r\n // @Effect()\r\n // init$: Observable = defer(() => {\r\n // return of(new AllPermissionsRequested());\r\n // });\r\n\r\n // constructor(private actions$: Actions, private auth: AuthService) {\r\n // }\r\n}\r\n","// Angular\r\nimport { Injectable } from '@angular/core';\r\n// RxJS\r\nimport { of, Observable, defer, forkJoin } from 'rxjs';\r\nimport { mergeMap, map, withLatestFrom, filter, tap } from 'rxjs/operators';\r\n// NGRX\r\nimport { Effect, Actions, ofType } from '@ngrx/effects';\r\nimport { Store, select, Action } from '@ngrx/store';\r\n// CRUD\r\nimport { QueryResultsModel, QueryParamsModel } from '../../_base/crud';\r\n// Services\r\nimport { AuthService } from '../_services';\r\n// State\r\nimport { AppState } from '../../../core/reducers';\r\n// Selectors\r\nimport { allRolesLoaded } from '../_selectors/role.selectors';\r\n// Actions\r\nimport {\r\n AllRolesLoaded,\r\n AllRolesRequested,\r\n RoleActionTypes,\r\n RolesPageRequested,\r\n RolesPageLoaded,\r\n RoleUpdated,\r\n RolesPageToggleLoading,\r\n RoleDeleted,\r\n RoleOnServerCreated,\r\n RoleCreated,\r\n RolesActionToggleLoading\r\n} from '../_actions/role.actions';\r\n\r\n@Injectable()\r\nexport class RoleEffects {\r\n // showPageLoadingDistpatcher = new RolesPageToggleLoading({isLoading: true});\r\n // hidePageLoadingDistpatcher = new RolesPageToggleLoading({isLoading: false});\r\n\r\n // showActionLoadingDistpatcher = new RolesActionToggleLoading({isLoading: true});\r\n // hideActionLoadingDistpatcher = new RolesActionToggleLoading({isLoading: false});\r\n\r\n // @Effect()\r\n // loadAllRoles$ = this.actions$\r\n // .pipe(\r\n // ofType(RoleActionTypes.AllRolesRequested),\r\n // withLatestFrom(this.store.pipe(select(allRolesLoaded))),\r\n // filter(([action, isAllRolesLoaded]) => !isAllRolesLoaded),\r\n // mergeMap(() => this.auth.getAllRoles()),\r\n // map(roles => {\r\n // return new AllRolesLoaded({roles});\r\n // })\r\n // );\r\n\r\n // @Effect()\r\n // loadRolesPage$ = this.actions$\r\n // .pipe(\r\n // ofType(RoleActionTypes.RolesPageRequested),\r\n // mergeMap(({payload}) => {\r\n // this.store.dispatch(this.showPageLoadingDistpatcher);\r\n // const requestToServer = this.auth.findRoles(payload.page);\r\n // const lastQuery = of(payload.page);\r\n // return forkJoin(requestToServer, lastQuery);\r\n // }),\r\n // map(response => {\r\n // const result: QueryResultsModel = response[0];\r\n // const lastQuery: QueryParamsModel = response[1];\r\n // this.store.dispatch(this.hidePageLoadingDistpatcher);\r\n\r\n // return new RolesPageLoaded({\r\n // roles: result.items,\r\n // totalCount: result.totalCount,\r\n // page: lastQuery\r\n // });\r\n // }),\r\n // );\r\n\r\n // @Effect()\r\n // deleteRole$ = this.actions$\r\n // .pipe(\r\n // ofType(RoleActionTypes.RoleDeleted),\r\n // mergeMap(({payload}) => {\r\n // this.store.dispatch(this.showActionLoadingDistpatcher);\r\n // return this.auth.deleteRole(payload.id);\r\n // }\r\n // ),\r\n // map(() => {\r\n // return this.hideActionLoadingDistpatcher;\r\n // }),\r\n // );\r\n\r\n // @Effect()\r\n // updateRole$ = this.actions$\r\n // .pipe(\r\n // ofType(RoleActionTypes.RoleUpdated),\r\n // mergeMap(({payload}) => {\r\n // this.store.dispatch(this.showActionLoadingDistpatcher);\r\n // return this.auth.updateRole(payload.role);\r\n // }),\r\n // map(() => {\r\n // return this.hideActionLoadingDistpatcher;\r\n // }),\r\n // );\r\n\r\n\r\n // @Effect()\r\n // createRole$ = this.actions$\r\n // .pipe(\r\n // ofType(RoleActionTypes.RoleOnServerCreated),\r\n // mergeMap(({payload}) => {\r\n // this.store.dispatch(this.showActionLoadingDistpatcher);\r\n // return this.auth.createRole(payload.role).pipe(\r\n // tap(res => {\r\n // this.store.dispatch(new RoleCreated({role: res}));\r\n // })\r\n // );\r\n // }),\r\n // map(() => {\r\n // return this.hideActionLoadingDistpatcher;\r\n // }),\r\n // );\r\n\r\n // @Effect()\r\n // init$: Observable = defer(() => {\r\n // return of(new AllRolesRequested());\r\n // });\r\n\r\n // constructor(private actions$: Actions, private auth: AuthService, private store: Store) {\r\n // }\r\n}\r\n","// Angular\r\nimport { Injectable } from \"@angular/core\";\r\n// RxJS\r\nimport { mergeMap, map, tap } from \"rxjs/operators\";\r\nimport { Observable, defer, of, forkJoin } from \"rxjs\";\r\n// NGRX\r\nimport { Effect, Actions, ofType } from \"@ngrx/effects\";\r\nimport { Store, select, Action } from \"@ngrx/store\";\r\n// CRUD\r\nimport { QueryResultsModel, QueryParamsModel } from \"../../_base/crud\";\r\n// Services\r\nimport { AuthService } from \"../../../core/auth/_services\";\r\n// State\r\nimport { AppState } from \"../../../core/reducers\";\r\nimport {\r\n UserActionTypes,\r\n UsersPageRequested,\r\n UsersPageLoaded,\r\n UserCreated,\r\n UserDeleted,\r\n UserUpdated,\r\n UserOnServerCreated,\r\n UsersActionToggleLoading,\r\n UsersPageToggleLoading,\r\n} from \"../_actions/user.actions\";\r\n\r\n@Injectable()\r\nexport class UserEffects {\r\n // showPageLoadingDistpatcher = new UsersPageToggleLoading({isLoading: true});\r\n // hidePageLoadingDistpatcher = new UsersPageToggleLoading({isLoading: false});\r\n\r\n // showActionLoadingDistpatcher = new UsersActionToggleLoading({isLoading: true});\r\n // hideActionLoadingDistpatcher = new UsersActionToggleLoading({isLoading: false});\r\n\r\n // @Effect()\r\n // loadUsersPage$ = this.actions$\r\n // .pipe(\r\n // ofType(UserActionTypes.UsersPageRequested),\r\n // mergeMap(({payload}) => {\r\n // this.store.dispatch(this.showPageLoadingDistpatcher);\r\n // const requestToServer = this.auth.findUsers(payload.page);\r\n // const lastQuery = of(payload.page);\r\n // return forkJoin(requestToServer, lastQuery);\r\n // }),\r\n // map(response => {\r\n // const result: QueryResultsModel = response[0];\r\n // const lastQuery: QueryParamsModel = response[1];\r\n // return new UsersPageLoaded({\r\n // users: result.items,\r\n // totalCount: result.totalCount,\r\n // page: lastQuery\r\n // });\r\n // }),\r\n // );\r\n\r\n // @Effect()\r\n // deleteUser$ = this.actions$\r\n // .pipe(\r\n // ofType(UserActionTypes.UserDeleted),\r\n // mergeMap(({payload}) => {\r\n // this.store.dispatch(this.showActionLoadingDistpatcher);\r\n // return this.auth.deleteUser(payload.id);\r\n // }\r\n // ),\r\n // map(() => {\r\n // return this.hideActionLoadingDistpatcher;\r\n // }),\r\n // );\r\n\r\n // @Effect()\r\n // updateUser$ = this.actions$\r\n // .pipe(\r\n // ofType(UserActionTypes.UserUpdated),\r\n // mergeMap(({payload}) => {\r\n // this.store.dispatch(this.showActionLoadingDistpatcher);\r\n // return this.auth.updateUser(payload.user);\r\n // }),\r\n // map(() => {\r\n // return this.hideActionLoadingDistpatcher;\r\n // }),\r\n // );\r\n\r\n // @Effect()\r\n // createUser$ = this.actions$\r\n // .pipe(\r\n // ofType(UserActionTypes.UserOnServerCreated),\r\n // mergeMap(({payload}) => {\r\n // this.store.dispatch(this.showActionLoadingDistpatcher);\r\n // return this.auth.createUser(payload.user).pipe(\r\n // tap(res => {\r\n // this.store.dispatch(new UserCreated({user: res}));\r\n // })\r\n // );\r\n // }),\r\n // map(() => {\r\n // return this.hideActionLoadingDistpatcher;\r\n // }),\r\n // );\r\n\r\n constructor(\r\n private actions$: Actions,\r\n private auth: AuthService,\r\n private store: Store\r\n ) {}\r\n}\r\n","// Angular\r\nimport { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from '@angular/router';\r\n// RxJS\r\nimport { Observable } from 'rxjs';\r\nimport { tap } from 'rxjs/operators';\r\n// NGRX\r\nimport { select, Store } from '@ngrx/store';\r\n// Auth reducers and selectors\r\nimport { AppState} from '../../../core/reducers/';\r\nimport { isLoggedIn } from '../../store/selectors/auth.selectors';\r\n\r\n@Injectable()\r\nexport class AuthGuard implements CanActivate {\r\n constructor(private store: Store, private router: Router) {\r\n }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\r\n return this.store\r\n .pipe(\r\n select(isLoggedIn),\r\n tap(loggedIn => {\r\n if (!loggedIn) {\r\n this.router.navigateByUrl('/auth/login');\r\n }\r\n })\r\n );\r\n }\r\n}\r\n","import { NgxPermissionsService } from \"ngx-permissions\";\r\n// Angular\r\nimport { Injectable } from \"@angular/core\";\r\nimport {\r\n ActivatedRouteSnapshot,\r\n CanActivate,\r\n CanActivateChild,\r\n Router,\r\n RouterStateSnapshot,\r\n} from \"@angular/router\";\r\n// RxJS\r\nimport { Observable, of, pipe } from \"rxjs\";\r\nimport { tap, map, withLatestFrom, filter, concatMap } from \"rxjs/operators\";\r\n// NGRX\r\nimport { select, Store } from \"@ngrx/store\";\r\n// Module reducers and selectors\r\nimport { AppState } from \"../../../core/reducers/\";\r\nimport {\r\n currentUserPermissions,\r\n currentUser,\r\n} from \"../_selectors/auth.selectors\";\r\nimport { Permission } from \"../_models/permission.model\";\r\nimport { find } from \"lodash\";\r\n\r\n@Injectable()\r\nexport class ChildModuleGuard implements CanActivateChild {\r\n constructor(private store: Store, private router: Router) {}\r\n\r\n canActivateChild(\r\n route: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot\r\n ): Observable {\r\n const permission = route.data.permissions.only;\r\n const redirectTo = route.data.permissions.redirectTo;\r\n\r\n return this.store.pipe(\r\n select(currentUser),\r\n filter((v) => v != null),\r\n concatMap((user) => {\r\n let hasAccess = user.roleType.name == permission;\r\n if (!hasAccess) {\r\n this.router.navigateByUrl(\"/\" + redirectTo);\r\n }\r\n\r\n return of(hasAccess);\r\n })\r\n );\r\n }\r\n}\r\n","import { NgxPermissionsService } from \"ngx-permissions\";\r\n// Angular\r\nimport { Injectable } from \"@angular/core\";\r\nimport {\r\n ActivatedRouteSnapshot,\r\n CanActivate,\r\n Router,\r\n RouterStateSnapshot,\r\n} from \"@angular/router\";\r\n// RxJS\r\nimport { Observable, of, pipe } from \"rxjs\";\r\nimport { tap, map, withLatestFrom, filter, concatMap } from \"rxjs/operators\";\r\n// NGRX\r\nimport { select, Store } from \"@ngrx/store\";\r\n// Module reducers and selectors\r\nimport { AppState } from \"../../../core/reducers/\";\r\nimport {\r\n currentUserPermissions,\r\n currentUser,\r\n} from \"../_selectors/auth.selectors\";\r\nimport { Permission } from \"../_models/permission.model\";\r\nimport { find } from \"lodash\";\r\n\r\n@Injectable()\r\nexport class ModuleGuard implements CanActivate {\r\n constructor(private store: Store, private router: Router) {}\r\n\r\n canActivate(\r\n route: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot\r\n ): Observable {\r\n const permission = route.data.permissions.only;\r\n const redirectTo = route.data.permissions.redirectTo;\r\n\r\n if (permission == \"Everyone\") {\r\n return of(true);\r\n }\r\n\r\n return this.store.pipe(\r\n select(currentUser),\r\n filter((v) => v != null),\r\n concatMap((user) => {\r\n let hasAccess = user.roleType.name == permission;\r\n if (!hasAccess) {\r\n this.router.navigateByUrl(\"/\" + redirectTo);\r\n }\r\n\r\n return of(hasAccess);\r\n })\r\n );\r\n }\r\n}\r\n","export class Address {\r\n addressLine: string;\r\n city: string;\r\n state: string;\r\n postCode: string;\r\n\r\n clear() {\r\n this.addressLine = '';\r\n this.city = '';\r\n this.state = '';\r\n this.postCode = '';\r\n }\r\n}\r\n","import { BaseModel } from '../../_base/crud';\r\n\r\nexport class Permission extends BaseModel {\r\n id: number;\r\n title: string;\r\n level: number;\r\n parentId: number;\r\n isSelected: boolean;\r\n name: string;\r\n // tslint:disable-next-line\r\n _children: Permission[];\r\n\r\n clear(): void {\r\n this.id = undefined;\r\n this.title = '';\r\n this.level = 1;\r\n this.parentId = undefined;\r\n this.isSelected = false;\r\n this.name = '';\r\n this._children = [];\r\n }\r\n}\r\n","import { BaseModel } from '../../_base/crud';\r\n\r\nexport class Role extends BaseModel {\r\n id: number;\r\n title: string;\r\n permissions: number[];\r\n isCoreRole = false;\r\n\r\n clear(): void {\r\n this.id = undefined;\r\n this.title = '';\r\n this.permissions = [];\r\n this.isCoreRole = false;\r\n }\r\n}\r\n","export class SocialNetworks {\r\n linkedIn: string;\r\n facebook: string;\r\n twitter: string;\r\n instagram: string;\r\n\r\n clear() {\r\n this.linkedIn = '';\r\n this.facebook = '';\r\n this.twitter = '';\r\n this.instagram = '';\r\n }\r\n}\r\n","import { DronePilot } from \"src/app/core/models/drone-pilot.model\";\r\nimport { RoleType } from \"./role-type.model\";\r\nimport { BaseModel } from \"../../_base/crud\";\r\nimport { Address } from \"./address.model\";\r\nimport { SocialNetworks } from \"./social-networks.model\";\r\nimport { Customer } from \"../../models/customer.model\";\r\n\r\nexport class User extends BaseModel {\r\n userId: number;\r\n username: string;\r\n password: string;\r\n email: string;\r\n accessToken: string;\r\n refreshToken: string;\r\n phone: string;\r\n roleType: RoleType;\r\n customer: Customer;\r\n pilot?: DronePilot;\r\n viewFromAnyDate?: Boolean;\r\n\r\n // use this in the future maybe\r\n roles: number[];\r\n\r\n clear(): void {\r\n this.userId = undefined;\r\n this.username = \"\";\r\n this.password = \"\";\r\n this.email = \"\";\r\n this.roles = [];\r\n // this.fullname = '';\r\n this.accessToken = \"access-token-\" + Math.random();\r\n this.refreshToken = \"access-token-\" + Math.random();\r\n // this.pic = './assets/media/users/default.jpg';\r\n // this.occupation = '';\r\n // this.companyName = '';\r\n this.phone = \"\";\r\n // this.address = new Address();\r\n // this.address.clear();\r\n // this.socialNetworks = new SocialNetworks();\r\n // this.socialNetworks.clear();\r\n }\r\n\r\n static createEmpty(): User {\r\n return new User();\r\n }\r\n static parseBack(user: User): object {\r\n return {\r\n username: user.username,\r\n email: user.email,\r\n roleTypeId: user.roleType?.roleTypeId,\r\n phone: user.phone,\r\n password: user.password,\r\n customerId: user.customer?.customerId,\r\n pilotId: user.pilot?.pilotId,\r\n viewTasksFromAnyDateForPilot: user.viewFromAnyDate,\r\n };\r\n }\r\n\r\n static parse(obj: any) {\r\n const roleType = JSON.parse(JSON.stringify(obj.RoleType));\r\n const pilot = DronePilot.parse(obj.Pilot) ?? {};\r\n const user = new User();\r\n user.userId = obj.userId;\r\n user.username = obj.username;\r\n user.email = obj.email;\r\n user.phone = obj.phone;\r\n user.roleType = roleType;\r\n user.password = obj.password;\r\n user.pilot = pilot;\r\n user.viewFromAnyDate = obj.viewTasksFromAnyDateForPilot;\r\n user.customer = obj.Customer ?? {};\r\n\r\n return user;\r\n }\r\n}\r\n","// Actions\r\nimport { AuthActions, AuthActionTypes } from '../_actions/auth.actions';\r\n// Models\r\nimport { User } from '../_models/user.model';\r\n\r\nexport interface AuthState {\r\n loggedIn: boolean;\r\n authToken: string;\r\n user: User;\r\n isUserLoaded: boolean;\r\n}\r\n\r\nexport const initialAuthState: AuthState = {\r\n loggedIn: false,\r\n authToken: undefined,\r\n user: undefined,\r\n isUserLoaded: false\r\n};\r\n\r\nexport function authReducer(state = initialAuthState, action: AuthActions): AuthState {\r\n switch (action.type) {\r\n case AuthActionTypes.Login: {\r\n const token: string = action.payload.authToken;\r\n return {\r\n loggedIn: true,\r\n authToken: token,\r\n user: undefined,\r\n isUserLoaded: false\r\n };\r\n }\r\n\r\n case AuthActionTypes.Register: {\r\n const token: string = action.payload.authToken;\r\n return {\r\n loggedIn: true,\r\n authToken: token,\r\n user: undefined,\r\n isUserLoaded: false\r\n };\r\n }\r\n\r\n case AuthActionTypes.Logout:\r\n return initialAuthState;\r\n\r\n case AuthActionTypes.UserLoaded: {\r\n const user: User = action.payload.user;\r\n return {\r\n ...state,\r\n user,\r\n isUserLoaded: true\r\n };\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","// NGRX\r\nimport { EntityState, EntityAdapter, createEntityAdapter } from '@ngrx/entity';\r\nimport { createFeatureSelector } from '@ngrx/store';\r\n// Actions\r\nimport { PermissionActionTypes, PermissionActions } from '../_actions/permission.actions';\r\n// Models\r\nimport { Permission } from '../_models/permission.model';\r\n\r\nexport interface PermissionsState extends EntityState {\r\n _isAllPermissionsLoaded: boolean;\r\n}\r\n\r\nexport const adapter: EntityAdapter = createEntityAdapter();\r\n\r\nexport const initialPermissionsState: PermissionsState = adapter.getInitialState({\r\n _isAllPermissionsLoaded: false\r\n});\r\n\r\nexport function permissionsReducer(state = initialPermissionsState, action: PermissionActions): PermissionsState {\r\n switch (action.type) {\r\n case PermissionActionTypes.AllPermissionsRequested:\r\n return {\r\n ...state,\r\n _isAllPermissionsLoaded: false\r\n };\r\n case PermissionActionTypes.AllPermissionsLoaded:\r\n return adapter.addAll(action.payload.permissions, {\r\n ...state,\r\n _isAllPermissionsLoaded: true\r\n });\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport const getRoleState = createFeatureSelector('permissions');\r\n\r\nexport const {\r\n selectAll,\r\n selectEntities,\r\n selectIds,\r\n selectTotal\r\n} = adapter.getSelectors();\r\n","// NGRX\r\nimport { EntityState, EntityAdapter, createEntityAdapter } from '@ngrx/entity';\r\n// Actions\r\nimport { RoleActions, RoleActionTypes } from '../_actions/role.actions';\r\n// Models\r\nimport { Role } from '../_models/role.model';\r\nimport { QueryParamsModel } from '../../_base/crud';\r\n\r\nexport interface RolesState extends EntityState {\r\n isAllRolesLoaded: boolean;\r\n queryRowsCount: number;\r\n queryResult: Role[];\r\n lastCreatedRoleId: number;\r\n listLoading: boolean;\r\n actionsloading: boolean;\r\n lastQuery: QueryParamsModel;\r\n showInitWaitingMessage: boolean;\r\n}\r\n\r\nexport const adapter: EntityAdapter = createEntityAdapter();\r\n\r\nexport const initialRolesState: RolesState = adapter.getInitialState({\r\n isAllRolesLoaded: false,\r\n queryRowsCount: 0,\r\n queryResult: [],\r\n lastCreatedRoleId: undefined,\r\n listLoading: false,\r\n actionsloading: false,\r\n lastQuery: new QueryParamsModel({}),\r\n showInitWaitingMessage: true\r\n});\r\n\r\nexport function rolesReducer(state = initialRolesState, action: RoleActions): RolesState {\r\n switch (action.type) {\r\n case RoleActionTypes.RolesPageToggleLoading:\r\n return {\r\n ...state, listLoading: action.payload.isLoading, lastCreatedRoleId: undefined\r\n };\r\n case RoleActionTypes.RolesActionToggleLoading:\r\n return {\r\n ...state, actionsloading: action.payload.isLoading\r\n };\r\n case RoleActionTypes.RoleOnServerCreated:\r\n return {\r\n ...state\r\n };\r\n case RoleActionTypes.RoleCreated:\r\n return adapter.addOne(action.payload.role, {\r\n ...state, lastCreatedRoleId: action.payload.role.id\r\n });\r\n case RoleActionTypes.RoleUpdated:\r\n return adapter.updateOne(action.payload.partialrole, state);\r\n case RoleActionTypes.RoleDeleted:\r\n return adapter.removeOne(action.payload.id, state);\r\n case RoleActionTypes.AllRolesLoaded:\r\n return adapter.addAll(action.payload.roles, {\r\n ...state, isAllRolesLoaded: true\r\n });\r\n case RoleActionTypes.RolesPageCancelled:\r\n return {\r\n ...state, listLoading: false, queryRowsCount: 0, queryResult: [], lastQuery: new QueryParamsModel({})\r\n };\r\n case RoleActionTypes.RolesPageLoaded:\r\n return adapter.addMany(action.payload.roles, {\r\n ...initialRolesState,\r\n listLoading: false,\r\n queryRowsCount: action.payload.totalCount,\r\n queryResult: action.payload.roles,\r\n lastQuery: action.payload.page,\r\n showInitWaitingMessage: false\r\n });\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport const {\r\n selectAll,\r\n selectEntities,\r\n selectIds,\r\n selectTotal\r\n} = adapter.getSelectors();\r\n","// NGRX\r\nimport { createFeatureSelector } from \"@ngrx/store\";\r\nimport { EntityState, EntityAdapter, createEntityAdapter } from \"@ngrx/entity\";\r\n// Actions\r\nimport { UserActions, UserActionTypes } from \"../_actions/user.actions\";\r\n// CRUD\r\nimport { QueryParamsModel } from \"../../_base/crud\";\r\n// Models\r\nimport { User } from \"../_models/user.model\";\r\n\r\n// tslint:disable-next-line:no-empty-interface\r\nexport interface UsersState extends EntityState {\r\n listLoading: boolean;\r\n actionsloading: boolean;\r\n totalCount: number;\r\n lastCreatedUserId: number;\r\n lastQuery: QueryParamsModel;\r\n showInitWaitingMessage: boolean;\r\n}\r\n\r\nexport const adapter: EntityAdapter = createEntityAdapter();\r\n\r\nexport const initialUsersState: UsersState = adapter.getInitialState({\r\n listLoading: false,\r\n actionsloading: false,\r\n totalCount: 0,\r\n lastQuery: new QueryParamsModel({}),\r\n lastCreatedUserId: undefined,\r\n showInitWaitingMessage: true,\r\n});\r\n\r\nexport function usersReducer(\r\n state = initialUsersState,\r\n action: UserActions\r\n): UsersState {\r\n switch (action.type) {\r\n case UserActionTypes.UsersPageToggleLoading:\r\n return {\r\n ...state,\r\n listLoading: action.payload.isLoading,\r\n lastCreatedUserId: undefined,\r\n };\r\n case UserActionTypes.UsersActionToggleLoading:\r\n return {\r\n ...state,\r\n actionsloading: action.payload.isLoading,\r\n };\r\n case UserActionTypes.UserOnServerCreated:\r\n return {\r\n ...state,\r\n };\r\n case UserActionTypes.UserCreated:\r\n return adapter.addOne(action.payload.user, {\r\n ...state,\r\n lastCreatedUserId: action.payload.user.userId,\r\n });\r\n case UserActionTypes.UserUpdated:\r\n return adapter.updateOne(action.payload.partialUser, state);\r\n case UserActionTypes.UserDeleted:\r\n return adapter.removeOne(action.payload.id, state);\r\n case UserActionTypes.UsersPageCancelled:\r\n return {\r\n ...state,\r\n listLoading: false,\r\n lastQuery: new QueryParamsModel({}),\r\n };\r\n case UserActionTypes.UsersPageLoaded: {\r\n return adapter.addMany(action.payload.users, {\r\n ...initialUsersState,\r\n totalCount: action.payload.totalCount,\r\n lastQuery: action.payload.page,\r\n listLoading: false,\r\n showInitWaitingMessage: false,\r\n });\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport const getUserState = createFeatureSelector(\"users\");\r\n\r\nexport const {\r\n selectAll,\r\n selectEntities,\r\n selectIds,\r\n selectTotal,\r\n} = adapter.getSelectors();\r\n","import { createSelector } from \"@ngrx/store\";\r\n// Lodash\r\nimport { each, find, some } from \"lodash\";\r\n// Selectors\r\nimport { selectAllRoles } from \"./role.selectors\";\r\nimport { selectAllPermissions } from \"./permission.selectors\";\r\n// Models\r\nimport { Role } from \"../_models/role.model\";\r\nimport { Permission } from \"../_models/permission.model\";\r\n\r\nexport const selectAuthState = (state) => state.auth;\r\n\r\nexport const isLoggedIn = createSelector(\r\n selectAuthState,\r\n (auth) => auth.loggedIn\r\n);\r\n\r\nexport const isLoggedOut = createSelector(isLoggedIn, (loggedIn) => !loggedIn);\r\n\r\nexport const currentAuthToken = createSelector(\r\n selectAuthState,\r\n (auth) => auth.authToken\r\n);\r\n\r\nexport const isUserLoaded = createSelector(\r\n selectAuthState,\r\n (auth) => auth.isUserLoaded\r\n);\r\n\r\nexport const currentUser = createSelector(\r\n selectAuthState,\r\n (auth) => auth.currentUser\r\n);\r\n\r\nexport const currentUserRoleIds = createSelector(currentUser, (user) => {\r\n if (!user) {\r\n return [];\r\n }\r\n\r\n return user.roles;\r\n});\r\n\r\nexport const currentUserPermissionsIds = createSelector(\r\n currentUserRoleIds,\r\n selectAllRoles,\r\n (userRoleIds: number[], allRoles: Role[]) => {\r\n return getPermissionsIdsFrom(userRoleIds, allRoles);\r\n }\r\n);\r\n\r\nexport const checkHasUserPermission = (permissionId: number) =>\r\n createSelector(currentUserPermissionsIds, (ids: number[]) => {\r\n return ids.some((id) => id === permissionId);\r\n });\r\n\r\nexport const currentUserPermissions = createSelector(\r\n currentUserPermissionsIds,\r\n selectAllPermissions,\r\n (permissionIds: number[], allPermissions: Permission[]) => {\r\n const result: Permission[] = [];\r\n each(permissionIds, (id) => {\r\n const userPermission = find(allPermissions, (elem) => elem.id === id);\r\n if (userPermission) {\r\n result.push(userPermission);\r\n }\r\n });\r\n return result;\r\n }\r\n);\r\n\r\nfunction getPermissionsIdsFrom(\r\n userRolesIds: number[] = [],\r\n allRoles: Role[] = []\r\n): number[] {\r\n const userRoles: Role[] = [];\r\n each(userRolesIds, (id: number) => {\r\n const userRole = find(allRoles, (role: Role) => role.id === id);\r\n if (userRole) {\r\n userRoles.push(userRole);\r\n }\r\n });\r\n\r\n const result: number[] = [];\r\n each(userRoles, (role: Role) => {\r\n each(role.permissions, (id) => {\r\n if (!some(result, (gid) => gid === id)) {\r\n result.push(id);\r\n }\r\n });\r\n });\r\n return result;\r\n}\r\n","// NGRX\r\nimport { createFeatureSelector, createSelector } from '@ngrx/store';\r\n// State\r\nimport { PermissionsState } from '../_reducers/permission.reducers';\r\nimport * as fromPermissions from '../_reducers/permission.reducers';\r\n\r\nexport const selectPermissionsState = createFeatureSelector('permissions');\r\n\r\nexport const selectPermissionById = (permissionId: number) => createSelector(\r\n selectPermissionsState,\r\n ps => ps.entities[permissionId]\r\n);\r\n\r\nexport const selectAllPermissions = createSelector(\r\n selectPermissionsState,\r\n fromPermissions.selectAll\r\n);\r\n\r\nexport const selectAllPermissionsIds = createSelector(\r\n selectPermissionsState,\r\n fromPermissions.selectIds\r\n);\r\n\r\nexport const allPermissionsLoaded = createSelector(\r\n selectPermissionsState,\r\n ps => ps._isAllPermissionsLoaded\r\n);\r\n","import { Role } from './../_models/role.model';\r\n\r\n// NGRX\r\nimport { createFeatureSelector, createSelector } from '@ngrx/store';\r\n// CRUD\r\nimport { QueryResultsModel, HttpExtenstionsModel } from '../../_base/crud';\r\n// State\r\nimport { RolesState } from '../_reducers/role.reducers';\r\nimport * as fromRole from '../_reducers/role.reducers';\r\nimport { each } from 'lodash';\r\n\r\nexport const selectRolesState = createFeatureSelector('roles');\r\n\r\nexport const selectRoleById = (roleId: number) => createSelector(\r\n selectRolesState,\r\n rolesState => rolesState.entities[roleId]\r\n);\r\n\r\nexport const selectAllRoles = createSelector(\r\n selectRolesState,\r\n fromRole.selectAll\r\n);\r\n\r\nexport const selectAllRolesIds = createSelector(\r\n selectRolesState,\r\n fromRole.selectIds\r\n);\r\n\r\nexport const allRolesLoaded = createSelector(\r\n selectRolesState,\r\n rolesState => rolesState.isAllRolesLoaded\r\n);\r\n\r\n\r\nexport const selectRolesPageLoading = createSelector(\r\n selectRolesState,\r\n rolesState => rolesState.listLoading\r\n);\r\n\r\nexport const selectRolesActionLoading = createSelector(\r\n selectRolesState,\r\n rolesState => rolesState.actionsloading\r\n);\r\n\r\nexport const selectLastCreatedRoleId = createSelector(\r\n selectRolesState,\r\n rolesState => rolesState.lastCreatedRoleId\r\n);\r\n\r\nexport const selectRolesShowInitWaitingMessage = createSelector(\r\n selectRolesState,\r\n rolesState => rolesState.showInitWaitingMessage\r\n);\r\n\r\n\r\nexport const selectQueryResult = createSelector(\r\n selectRolesState,\r\n rolesState => {\r\n const items: Role[] = [];\r\n each(rolesState.entities, element => {\r\n items.push(element);\r\n });\r\n const httpExtension = new HttpExtenstionsModel();\r\n const result: Role[] = httpExtension.sortArray(items, rolesState.lastQuery.sortField, rolesState.lastQuery.sortOrder);\r\n return new QueryResultsModel(rolesState.queryResult, rolesState.queryRowsCount);\r\n }\r\n);\r\n","// NGRX\r\nimport { createFeatureSelector, createSelector } from '@ngrx/store';\r\n// CRUD\r\nimport { QueryResultsModel, HttpExtenstionsModel } from '../../_base/crud';\r\n// State\r\nimport { UsersState } from '../_reducers/user.reducers';\r\nimport { each } from 'lodash';\r\nimport { User } from '../_models/user.model';\r\n\r\nexport const selectUsersState = createFeatureSelector('users');\r\n\r\nexport const selectUserById = (userId: number) => createSelector(\r\n selectUsersState,\r\n usersState => usersState.entities[userId]\r\n);\r\n\r\nexport const selectUsersPageLoading = createSelector(\r\n selectUsersState,\r\n usersState => {\r\n return usersState.listLoading;\r\n }\r\n);\r\n\r\nexport const selectUsersActionLoading = createSelector(\r\n selectUsersState,\r\n usersState => usersState.actionsloading\r\n);\r\n\r\nexport const selectLastCreatedUserId = createSelector(\r\n selectUsersState,\r\n usersState => usersState.lastCreatedUserId\r\n);\r\n\r\nexport const selectUsersPageLastQuery = createSelector(\r\n selectUsersState,\r\n usersState => usersState.lastQuery\r\n);\r\n\r\nexport const selectUsersInStore = createSelector(\r\n selectUsersState,\r\n usersState => {\r\n const items: User[] = [];\r\n each(usersState.entities, element => {\r\n items.push(element);\r\n });\r\n const httpExtension = new HttpExtenstionsModel();\r\n const result: User[] = httpExtension.sortArray(items, usersState.lastQuery.sortField, usersState.lastQuery.sortOrder);\r\n return new QueryResultsModel(result, usersState.totalCount, '');\r\n }\r\n);\r\n\r\nexport const selectUsersShowInitWaitingMessage = createSelector(\r\n selectUsersState,\r\n usersState => usersState.showInitWaitingMessage\r\n);\r\n\r\nexport const selectHasUsersInStore = createSelector(\r\n selectUsersState,\r\n queryResult => {\r\n if (!queryResult.totalCount) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n);\r\n","import { UsersTable } from './users.table';\r\nimport { PermissionsTable } from './permissions.table';\r\nimport { RolesTable } from './roles.table';\r\n\r\n// Wrapper class\r\nexport class AuthDataContext {\r\n public static users: any = UsersTable.users;\r\n public static roles: any = RolesTable.roles;\r\n public static permissions = PermissionsTable.permissions;\r\n}\r\n","export class PermissionsTable {\r\n public static permissions: any = [\r\n {\r\n id: 1,\r\n name: 'accessToECommerceModule',\r\n level: 1,\r\n title: 'eCommerce module'\r\n },\r\n {\r\n id: 2,\r\n name: 'accessToAuthModule',\r\n level: 1,\r\n title: 'Users Management module'\r\n },\r\n {\r\n id: 3,\r\n name: 'accessToMailModule',\r\n level: 1,\r\n title: 'Mail module'\r\n },\r\n {\r\n id: 4,\r\n name: 'canReadECommerceData',\r\n level: 2,\r\n parentId: 1,\r\n title: 'Read'\r\n },\r\n {\r\n id: 5,\r\n name: 'canEditECommerceData',\r\n level: 2,\r\n parentId: 1,\r\n title: 'Edit'\r\n },\r\n {\r\n id: 6,\r\n name: 'canDeleteECommerceData',\r\n level: 2,\r\n parentId: 1,\r\n title: 'Delete'\r\n },\r\n {\r\n id: 7,\r\n name: 'canReadAuthData',\r\n level: 2,\r\n parentId: 2,\r\n title: 'Read'\r\n },\r\n {\r\n id: 8,\r\n name: 'canEditAuthData',\r\n level: 2,\r\n parentId: 2,\r\n title: 'Edit'\r\n },\r\n {\r\n id: 9,\r\n name: 'canDeleteAuthData',\r\n level: 2,\r\n parentId: 2,\r\n title: 'Delete'\r\n },\r\n {\r\n id: 10,\r\n name: 'canReadMailData',\r\n level: 2,\r\n parentId: 3,\r\n title: 'Read'\r\n },\r\n {\r\n id: 11,\r\n name: 'canEditMailData',\r\n level: 2,\r\n parentId: 3,\r\n title: 'Edit'\r\n },\r\n {\r\n id: 12,\r\n name: 'canDeleteMailData',\r\n level: 2,\r\n parentId: 3,\r\n title: 'Delete'\r\n },\r\n ];\r\n}\r\n","export class RolesTable {\r\n public static roles: any = [\r\n {\r\n id: 1,\r\n title: 'Administrator',\r\n isCoreRole: true,\r\n permissions: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]\r\n },\r\n {\r\n id: 2,\r\n title: 'Manager',\r\n isCoreRole: false,\r\n permissions: [3, 4, 10]\r\n },\r\n {\r\n id: 3,\r\n title: 'Guest',\r\n isCoreRole: false,\r\n permissions: []\r\n }\r\n ];\r\n}\r\n","export class UsersTable {\r\n public static users: any = [\r\n {\r\n id: 1,\r\n username: 'omri',\r\n password: '123456',\r\n email: 'omri@agridrones.co.il',\r\n accessToken: 'access-token-8f3ae836da744329a6f93bf20594b5cc',\r\n refreshToken: 'access-token-f8c137a2c98743f48b643e71161d90aa',\r\n roles: [1], // Administrator\r\n pic: './assets/media/users/omri-pic.png',\r\n fullname: 'Omri',\r\n occupation: 'CEO',\r\n companyName: 'AgriDrones',\r\n phone: '456669067890',\r\n address: {\r\n addressLine: 'L-12-20 Vertex, Cybersquare',\r\n city: 'San Francisco',\r\n state: 'California',\r\n postCode: '45000'\r\n },\r\n socialNetworks: {\r\n linkedIn: 'https://linkedin.com/admin',\r\n facebook: 'https://facebook.com/admin',\r\n twitter: 'https://twitter.com/admin',\r\n instagram: 'https://instagram.com/admin'\r\n }\r\n },\r\n {\r\n id: 2,\r\n username: 'user',\r\n password: 'demo',\r\n email: 'user@demo.com',\r\n accessToken: 'access-token-6829bba69dd3421d8762-991e9e806dbf',\r\n refreshToken: 'access-token-f8e4c61a318e4d618b6c199ef96b9e55',\r\n roles: [2], // Manager\r\n pic: './assets/media/users/100_2.jpg',\r\n fullname: 'Megan',\r\n occupation: 'Deputy Head of Keenthemes in New York office',\r\n companyName: 'Keenthemes',\r\n phone: '456669067891',\r\n address: {\r\n addressLine: '3487 Ingram Road',\r\n city: 'Greensboro',\r\n state: 'North Carolina',\r\n postCode: '27409'\r\n },\r\n socialNetworks: {\r\n linkedIn: 'https://linkedin.com/user',\r\n facebook: 'https://facebook.com/user',\r\n twitter: 'https://twitter.com/user',\r\n instagram: 'https://instagram.com/user'\r\n }\r\n },\r\n {\r\n id: 3,\r\n username: 'guest',\r\n password: 'demo',\r\n email: 'guest@demo.com',\r\n accessToken: 'access-token-d2dff7b82f784de584b60964abbe45b9',\r\n refreshToken: 'access-token-c999ccfe74aa40d0aa1a64c5e620c1a5',\r\n roles: [3], // Guest\r\n pic: './assets/media/users/default.jpg',\r\n fullname: 'Ginobili Maccari',\r\n occupation: 'CFO',\r\n companyName: 'Keenthemes',\r\n phone: '456669067892',\r\n address: {\r\n addressLine: '1467 Griffin Street',\r\n city: 'Phoenix',\r\n state: 'Arizona',\r\n postCode: '85012'\r\n },\r\n socialNetworks: {\r\n linkedIn: 'https://linkedin.com/guest',\r\n facebook: 'https://facebook.com/guest',\r\n twitter: 'https://twitter.com/guest',\r\n instagram: 'https://instagram.com/guest'\r\n }\r\n }\r\n ];\r\n\r\n public static tokens: any = [\r\n {\r\n id: 1,\r\n accessToken: 'access-token-' + Math.random(),\r\n refreshToken: 'access-token-' + Math.random()\r\n }\r\n ];\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\nimport { User } from '../_models/user.model';\r\nimport { Permission } from '../_models/permission.model';\r\nimport { Role } from '../_models/role.model';\r\nimport { catchError, map } from 'rxjs/operators';\r\nimport { QueryParamsModel, QueryResultsModel } from '../../_base/crud';\r\nimport { environment } from '../../../../environments/environment';\r\n\r\nconst API_USERS_URL = 'api/users';\r\nconst API_PERMISSION_URL = 'api/permissions';\r\nconst API_ROLES_URL = 'api/roles';\r\n\r\n@Injectable()\r\nexport class AuthService {\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n // Authentication/Authorization\r\n login(email: string, password: string): Observable {\r\n return this.http.post(API_USERS_URL, {email, password});\r\n }\r\n\r\n getUserByToken(): Observable {\r\n const userToken = localStorage.getItem(environment.authTokenKey);\r\n let httpHeaders = new HttpHeaders();\r\n httpHeaders = httpHeaders.set('Authorization', 'Bearer ' + userToken);\r\n return this.http.get(API_USERS_URL, {headers: httpHeaders});\r\n }\r\n\r\n register(user: User): Observable {\r\n let httpHeaders = new HttpHeaders();\r\n httpHeaders = httpHeaders.set('Content-Type', 'application/json');\r\n return this.http.post(API_USERS_URL, user, {headers: httpHeaders})\r\n .pipe(\r\n map((res: User) => {\r\n return res;\r\n }),\r\n catchError(err => {\r\n return null;\r\n })\r\n );\r\n }\r\n\r\n /*\r\n * Submit forgot password request\r\n *\r\n * @param {string} email\r\n * @returns {Observable}\r\n */\r\n public requestPassword(email: string): Observable {\r\n return this.http.get(API_USERS_URL + '/forgot?=' + email)\r\n .pipe(catchError(this.handleError('forgot-password', []))\r\n );\r\n }\r\n\r\n\r\n getAllUsers(): Observable {\r\n return this.http.get(API_USERS_URL);\r\n }\r\n\r\n getUserById(userId: number): Observable {\r\n return this.http.get(API_USERS_URL + `/${userId}`);\r\n }\r\n\r\n\r\n // DELETE => delete the user from the server\r\n deleteUser(userId: number) {\r\n const url = `${API_USERS_URL}/${userId}`;\r\n return this.http.delete(url);\r\n }\r\n\r\n // UPDATE => PUT: update the user on the server\r\n // tslint:disable-next-line\r\n updateUser(_user: User): Observable {\r\n let httpHeaders = new HttpHeaders();\r\n httpHeaders = httpHeaders.set('Content-Type', 'application/json');\r\n return this.http.put(API_USERS_URL, _user, {headers: httpHeaders});\r\n }\r\n\r\n // CREATE => POST: add a new user to the server\r\n createUser(user: User): Observable {\r\n let httpHeaders = new HttpHeaders();\r\n httpHeaders = httpHeaders.set('Content-Type', 'application/json');\r\n return this.http.post(API_USERS_URL, user, {headers: httpHeaders});\r\n }\r\n\r\n // Method from server should return QueryResultsModel(items: any[], totalsCount: number)\r\n // items => filtered/sorted result\r\n findUsers(queryParams: QueryParamsModel): Observable {\r\n let httpHeaders = new HttpHeaders();\r\n httpHeaders = httpHeaders.set('Content-Type', 'application/json');\r\n return this.http.post(API_USERS_URL + '/findUsers', queryParams, {headers: httpHeaders});\r\n }\r\n\r\n // Permission\r\n getAllPermissions(): Observable {\r\n return this.http.get(API_PERMISSION_URL);\r\n }\r\n\r\n getRolePermissions(roleId: number): Observable {\r\n return this.http.get(API_PERMISSION_URL + '/getRolePermission?=' + roleId);\r\n }\r\n\r\n // Roles\r\n getAllRoles(): Observable {\r\n return this.http.get(API_ROLES_URL);\r\n }\r\n\r\n getRoleById(roleId: number): Observable {\r\n return this.http.get(API_ROLES_URL + `/${roleId}`);\r\n }\r\n\r\n // CREATE => POST: add a new role to the server\r\n createRole(role: Role): Observable {\r\n // Note: Add headers if needed (tokens/bearer)\r\n let httpHeaders = new HttpHeaders();\r\n httpHeaders = httpHeaders.set('Content-Type', 'application/json');\r\n return this.http.post(API_ROLES_URL, role, {headers: httpHeaders});\r\n }\r\n\r\n // UPDATE => PUT: update the role on the server\r\n updateRole(role: Role): Observable {\r\n let httpHeaders = new HttpHeaders();\r\n httpHeaders = httpHeaders.set('Content-Type', 'application/json');\r\n return this.http.put(API_ROLES_URL, role, {headers: httpHeaders});\r\n }\r\n\r\n // DELETE => delete the role from the server\r\n deleteRole(roleId: number): Observable {\r\n const url = `${API_ROLES_URL}/${roleId}`;\r\n return this.http.delete(url);\r\n }\r\n\r\n // Check Role Before deletion\r\n isRoleAssignedToUsers(roleId: number): Observable {\r\n return this.http.get(API_ROLES_URL + '/checkIsRollAssignedToUser?roleId=' + roleId);\r\n }\r\n\r\n findRoles(queryParams: QueryParamsModel): Observable {\r\n // This code imitates server calls\r\n let httpHeaders = new HttpHeaders();\r\n httpHeaders = httpHeaders.set('Content-Type', 'application/json');\r\n return this.http.post(API_ROLES_URL + '/findRoles', queryParams, {headers: httpHeaders});\r\n }\r\n\r\n /*\r\n * Handle Http operation that failed.\r\n * Let the app continue.\r\n *\r\n * @param operation - name of the operation that failed\r\n * @param result - optional value to return as the observable result\r\n */\r\n private handleError(operation = 'operation', result?: any) {\r\n return (error: any): Observable => {\r\n // TODO: send the error to remote logging infrastructure\r\n console.error(error); // log to console instead\r\n\r\n // Let the app keep running by returning an empty result.\r\n return of(result);\r\n };\r\n }\r\n}\r\n","// export { AuthService } from './auth.service.fake'; // You have to comment this, when your real back-end is done\r\nexport { AuthService } from \"./auth.service\"; // You have to uncomment this, when your real back-end is done\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { AuthNotice } from './auth-notice.interface';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthNoticeService {\r\n onNoticeChanged$: BehaviorSubject;\r\n\r\n constructor() {\r\n this.onNoticeChanged$ = new BehaviorSubject(null);\r\n }\r\n\r\n setNotice(message: string, type?: string) {\r\n const notice: AuthNotice = {\r\n message,\r\n type\r\n };\r\n this.onNoticeChanged$.next(notice);\r\n }\r\n}\r\n","// SERVICES\r\nexport { AuthService } from './_services';\r\nexport { AuthNoticeService } from './auth-notice/auth-notice.service';\r\n\r\n// DATA SOURCERS\r\nexport { RolesDataSource } from './_data-sources/roles.datasource';\r\nexport { UsersDataSource } from './_data-sources/users.datasource';\r\n\r\n// ACTIONS\r\nexport {\r\n Login,\r\n Logout,\r\n Register,\r\n UserRequested,\r\n UserLoaded,\r\n AuthActionTypes,\r\n AuthActions\r\n} from './_actions/auth.actions';\r\nexport {\r\n AllPermissionsRequested,\r\n AllPermissionsLoaded,\r\n PermissionActionTypes,\r\n PermissionActions\r\n} from './_actions/permission.actions';\r\nexport {\r\n RoleOnServerCreated,\r\n RoleCreated,\r\n RoleUpdated,\r\n RoleDeleted,\r\n RolesPageRequested,\r\n RolesPageLoaded,\r\n RolesPageCancelled,\r\n AllRolesLoaded,\r\n AllRolesRequested,\r\n RoleActionTypes,\r\n RoleActions\r\n} from './_actions/role.actions';\r\nexport {\r\n UserCreated,\r\n UserUpdated,\r\n UserDeleted,\r\n UserOnServerCreated,\r\n UsersPageLoaded,\r\n UsersPageCancelled,\r\n UsersPageToggleLoading,\r\n UsersPageRequested,\r\n UsersActionToggleLoading\r\n} from './_actions/user.actions';\r\n\r\n// EFFECTS\r\nexport { AuthEffects } from './_effects/auth.effects';\r\nexport { PermissionEffects } from './_effects/permission.effects';\r\nexport { RoleEffects } from './_effects/role.effects';\r\nexport { UserEffects } from './_effects/user.effects';\r\n\r\n// REDUCERS\r\nexport { authReducer } from './_reducers/auth.reducers';\r\nexport { permissionsReducer } from './_reducers/permission.reducers';\r\nexport { rolesReducer } from './_reducers/role.reducers';\r\nexport { usersReducer } from './_reducers/user.reducers';\r\n\r\n// SELECTORS\r\nexport {\r\n isLoggedIn,\r\n isLoggedOut,\r\n isUserLoaded,\r\n currentAuthToken,\r\n currentUser,\r\n currentUserRoleIds,\r\n currentUserPermissionsIds,\r\n currentUserPermissions,\r\n checkHasUserPermission\r\n} from './_selectors/auth.selectors';\r\nexport {\r\n selectPermissionById,\r\n selectAllPermissions,\r\n selectAllPermissionsIds,\r\n allPermissionsLoaded\r\n} from './_selectors/permission.selectors';\r\nexport {\r\n selectRoleById,\r\n selectAllRoles,\r\n selectAllRolesIds,\r\n allRolesLoaded,\r\n selectLastCreatedRoleId,\r\n selectRolesPageLoading,\r\n selectQueryResult,\r\n selectRolesActionLoading,\r\n selectRolesShowInitWaitingMessage\r\n} from './_selectors/role.selectors';\r\nexport {\r\n selectUserById,\r\n selectUsersPageLoading,\r\n selectLastCreatedUserId,\r\n selectUsersInStore,\r\n selectHasUsersInStore,\r\n selectUsersPageLastQuery,\r\n selectUsersActionLoading,\r\n selectUsersShowInitWaitingMessage\r\n} from './_selectors/user.selectors';\r\n\r\n// GUARDS\r\nexport { AuthGuard } from './_guards/auth.guard';\r\nexport { ModuleGuard } from './_guards/module.guard';\r\n\r\n// MODELS\r\nexport { User } from './_models/user.model';\r\nexport { Permission } from './_models/permission.model';\r\nexport { Role } from './_models/role.model';\r\nexport { Address } from './_models/address.model';\r\nexport { SocialNetworks } from './_models/social-networks.model';\r\nexport { AuthNotice } from './auth-notice/auth-notice.interface';\r\n\r\nexport { AuthDataContext } from './_server/auth.data-context';\r\n","// Anglar\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n// Layout Directives\r\n// Services\r\nimport {\r\n ContentAnimateDirective,\r\n FirstLetterPipe,\r\n GetObjectPipe,\r\n HeaderDirective,\r\n JoinPipe,\r\n MenuDirective,\r\n OffcanvasDirective,\r\n SafePipe,\r\n ScrollTopDirective,\r\n SparklineChartDirective,\r\n StickyDirective,\r\n TabClickEventDirective,\r\n TimeElapsedPipe,\r\n ToggleDirective\r\n} from './_base/layout';\r\n\r\n@NgModule({\r\n imports: [CommonModule],\r\n declarations: [\r\n // directives\r\n ScrollTopDirective,\r\n HeaderDirective,\r\n OffcanvasDirective,\r\n ToggleDirective,\r\n MenuDirective,\r\n TabClickEventDirective,\r\n SparklineChartDirective,\r\n ContentAnimateDirective,\r\n StickyDirective,\r\n // pipes\r\n TimeElapsedPipe,\r\n JoinPipe,\r\n GetObjectPipe,\r\n SafePipe,\r\n FirstLetterPipe,\r\n ],\r\n exports: [\r\n // directives\r\n ScrollTopDirective,\r\n HeaderDirective,\r\n OffcanvasDirective,\r\n ToggleDirective,\r\n MenuDirective,\r\n TabClickEventDirective,\r\n SparklineChartDirective,\r\n ContentAnimateDirective,\r\n StickyDirective,\r\n // pipes\r\n TimeElapsedPipe,\r\n JoinPipe,\r\n GetObjectPipe,\r\n SafePipe,\r\n FirstLetterPipe,\r\n ],\r\n providers: []\r\n})\r\nexport class CoreModule {\r\n}\r\n","export class Coordinate {\r\n constructor(public lat: number, public lng: number) {}\r\n\r\n static parseBack(coor: Coordinate) {\r\n return {\r\n lat: coor.lat,\r\n long: coor.lng,\r\n };\r\n }\r\n}\r\n","export class Customer {\r\n constructor(\r\n public customerId?: string,\r\n public name?: string,\r\n public email?: string,\r\n public phone?: string,\r\n public dateCreated?: string\r\n ) {}\r\n\r\n static createEmpty(): Customer {\r\n return new Customer(null, null, null, null, null);\r\n }\r\n static parseBack(customer: Customer): object {\r\n return {\r\n name: customer.name,\r\n email: customer.email,\r\n phone: customer.phone,\r\n };\r\n }\r\n}\r\n","export class DatasourceOptions {\r\n constructor(\r\n public totalAmount: number,\r\n public page: number,\r\n public search: string,\r\n public totalPages: number,\r\n public perPage: number,\r\n public sortBy: string,\r\n public sortOrder: string\r\n ) {}\r\n\r\n static parse(obj): DatasourceOptions {\r\n let options;\r\n\r\n options = new DatasourceOptions(\r\n obj.total_amount,\r\n obj.page,\r\n obj.search,\r\n obj.total_pages,\r\n obj.per_page,\r\n obj.sort_by,\r\n obj.sort_order\r\n );\r\n\r\n return options;\r\n }\r\n}\r\n","export class DroneModel {\r\n constructor(public modelId: string, public name:string ) {}\r\n\r\n static parse(obj) {\r\n const model = new DroneModel(obj.modelId, obj.name);\r\n return model;\r\n }\r\n}","export class DronePayload {\r\n constructor(public payloadId: string, public name: string) {}\r\n\r\n static parse(obj) {\r\n const payload = new DronePayload(obj?.payloadId, obj?.name);\r\n\r\n return payload;\r\n }\r\n}\r\n","import { PilotType } from \"./pilot-type.model\";\r\n\r\nexport class DronePilot {\r\n constructor(\r\n public pilotId?: string,\r\n public name?: string,\r\n public pilotType?: PilotType,\r\n public phone?: string,\r\n public isLicenseGimel?: boolean,\r\n public isLicenseRT?: boolean\r\n ) {}\r\n\r\n static parse(obj) {\r\n const pilotType = PilotType.parse(obj?.PilotType);\r\n const pilot = new DronePilot(\r\n obj?.pilotId,\r\n obj?.name,\r\n pilotType,\r\n obj?.phone,\r\n obj?.isLicenseGimel,\r\n obj?.isLicenseRT\r\n );\r\n\r\n return pilot;\r\n }\r\n\r\n static parseBack(pilot: DronePilot) {\r\n return {\r\n name: pilot.name,\r\n pilotTypeId: pilot.pilotType.pilotTypeId,\r\n phone: pilot.phone,\r\n isLicenseGimel: pilot.isLicenseGimel,\r\n isLicenseRT: pilot.isLicenseRT,\r\n };\r\n }\r\n\r\n static createEmpty(): DronePilot {\r\n return new DronePilot(null, null, null, null, false, false);\r\n }\r\n}\r\n","import { Coordinate } from \"./coordinate.mode\";\r\nimport { DroneRouteCoordinate } from \"./drone-route-coordinate.model\";\r\nimport { RouteChunk } from \"./route-chunk-model\";\r\n\r\nexport class DroneRoute {\r\n color: string;\r\n\r\n constructor(public routeChunks: RouteChunk[], public tailNumber: string) {\r\n this.color =\r\n \"#\" + (0x1000000 + Math.random() * 0xffffff).toString(16).substr(1, 6);\r\n }\r\n\r\n static parse(obj) {\r\n let routeChunks = obj.routeChunks.map((chunk) => ({\r\n coordinates: JSON.parse(chunk.coordinates).map(\r\n (c) => new Coordinate(+c.lat, +c.long)\r\n ),\r\n isOn: chunk.isOn,\r\n }));\r\n return new DroneRoute(routeChunks, obj.tailNumber);\r\n }\r\n}\r\n","import { DroneModel } from \"./drone-model.model\";\r\nimport { DronePayload } from \"./drone-payload.model\";\r\n\r\nexport class Drone {\r\n constructor(\r\n public droneId: string,\r\n public payload: DronePayload,\r\n public tailNumber: string,\r\n public model: DroneModel,\r\n public blackBoxId: string\r\n ) {}\r\n\r\n static parse(obj) {\r\n const model = DroneModel.parse(obj.Model);\r\n const payload = DronePayload.parse(obj.Payload);\r\n const drone = new Drone(\r\n obj.droneId,\r\n payload,\r\n obj.tailNumber,\r\n model,\r\n obj.blackBoxId\r\n );\r\n return drone;\r\n }\r\n\r\n static parseBack(drone: Drone) {\r\n return {\r\n payloadId: drone.payload.payloadId,\r\n modelId: drone.model.modelId,\r\n tailNumber: drone.tailNumber,\r\n blackBoxId: drone.blackBoxId,\r\n };\r\n }\r\n\r\n static createEmpty(): Drone {\r\n return new Drone(null, null, \"\", null, null);\r\n }\r\n}\r\n\r\n// export enum DronePayloads {\r\n// scss = \"scss\",\r\n// splat = \"splat\",\r\n// }\r\n\r\n// export enum DroneModels {\r\n// M6EX = \"M6E-X\",\r\n// M6EY = \"M6E-Y\",\r\n// M6EZ = \"M6E-Z\",\r\n// }\r\n","import { Customer } from \"./customer.model\";\r\nimport { Coordinate } from \"./coordinate.mode\";\r\n\r\nexport class Field {\r\n static createEmpty(): Field {\r\n return new Field(null, null, [], null, null, null, null, null);\r\n }\r\n static parseBack(field: Field): object {\r\n return {\r\n customerId: field.customer.customerId,\r\n cropName: field.cropName,\r\n plantingYear: field.plantingYear,\r\n coordinates: JSON.stringify(\r\n field.coordinates.map((c) => Coordinate.parseBack(c))\r\n ),\r\n plotNumber: field.plotNumber,\r\n moagId: field.moagId,\r\n areaSquareMeters: field.areaSquareMeters,\r\n };\r\n }\r\n static parse(obj: any) {\r\n const customer = JSON.parse(JSON.stringify(obj.Customer));\r\n\r\n let c = JSON.parse(obj.coordinates);\r\n const coordinates = c.map((c) => new Coordinate(+c.lat, +c.long));\r\n return new Field(\r\n obj.fieldId,\r\n customer,\r\n coordinates,\r\n obj.cropName,\r\n obj.plotNumber,\r\n obj.plantingYear,\r\n obj.moagId,\r\n obj.areaSquareMeters\r\n );\r\n }\r\n constructor(\r\n public fieldId: string,\r\n public customer: Customer,\r\n public coordinates: Coordinate[],\r\n public cropName: string,\r\n public plotNumber: number,\r\n public plantingYear: number,\r\n public moagId: string,\r\n public areaSquareMeters: number\r\n ) {}\r\n\r\n get isFullyLoaded() {\r\n return (\r\n this.cropName &&\r\n this.plotNumber &&\r\n this.coordinates &&\r\n this.coordinates.length > 0 &&\r\n this.customer\r\n );\r\n }\r\n}\r\n","import { Task } from \"./task.model\";\r\nimport { LatLngBounds, LatLngLiteral } from \"@agm/core\";\r\n\r\ndeclare const google: any;\r\n\r\nexport class MapTask {\r\n bounds;\r\n\r\n constructor(public task: Task, public isSelected: boolean) {\r\n this.bounds = new google.maps.LatLngBounds();\r\n task.field.coordinates.map((c) => this.bounds.extend(c));\r\n }\r\n\r\n static parse(obj) {\r\n let task = Task.parse(obj);\r\n\r\n return new MapTask(task, false);\r\n }\r\n\r\n getNorth() {\r\n let lats = this.task.field.coordinates.map((c) => c.lat);\r\n let northLat = Math.max(...lats);\r\n let north = this.task.field.coordinates.find((c) => c.lat == northLat);\r\n return north;\r\n }\r\n}\r\n","export class Material {\r\n constructor(public materialId: string, public name: string) {}\r\n\r\n static parseBack(material: Material): object {\r\n return { name: material.name };\r\n }\r\n\r\n static parse(obj): Material {\r\n return new Material(obj.materialId, obj.name);\r\n }\r\n}\r\n","export class PilotType {\r\n constructor(public pilotTypeId: string, public name: string) {}\r\n\r\n static parse(obj) {\r\n const pilotType = new PilotType(obj?.pilotTypeId, obj?.name);\r\n return pilotType;\r\n }\r\n}\r\n","import { DronePayload } from \"./drone-payload.model\";\r\nimport { Material } from \"src/app/core/models/material.model\";\r\n\r\nexport class Protocol {\r\n constructor(\r\n public protocolId: string,\r\n public name: string,\r\n public material: Material,\r\n public payload: DronePayload,\r\n public nozzle: string,\r\n public marginSpace: number,\r\n public rowSpace: number,\r\n public dunamVolume: number,\r\n public waterVolume: number\r\n ) {}\r\n\r\n static parse(obj): Protocol {\r\n const material = Material.parse(obj.Material);\r\n const payload = DronePayload.parse(obj.Payload);\r\n\r\n const protocol = new Protocol(\r\n obj.protocolId,\r\n obj.name,\r\n material,\r\n payload,\r\n obj.nozzle,\r\n obj.marginSpace,\r\n obj.rowSpace,\r\n obj.dunamVolume,\r\n obj.waterVolume\r\n );\r\n return protocol;\r\n }\r\n\r\n static parseBack(protocol: Protocol): object {\r\n return {\r\n name: protocol.name,\r\n materialId: protocol.material.materialId,\r\n marginSpace: protocol.marginSpace,\r\n rowSpace: protocol.rowSpace,\r\n dunamVolume: protocol.dunamVolume,\r\n waterVolume: protocol.waterVolume,\r\n payloadId: protocol.payload.payloadId,\r\n nozzle: protocol.nozzle,\r\n };\r\n }\r\n\r\n static createEmpty() {\r\n return new Protocol(null, null, null, null, null, 0, 0, 0, 0);\r\n }\r\n}\r\n","import { DronePilot } from \"./drone-pilot.model\";\r\nimport { Material } from \"./material.model\";\r\nimport { Field } from \"./field.model\";\r\nimport { Customer } from \"./customer.model\";\r\nimport { Protocol } from \"./protocol.model\";\r\nimport { Status } from \"./status.model\";\r\n\r\nexport class Task {\r\n static parseBack(task: Task): object {\r\n return {\r\n customerId: task.customer.customerId,\r\n protocolId: task.protocol.protocolId,\r\n materialId: task.material.materialId,\r\n //statusId: task.status.statusId,\r\n executionDate: task.executionDate.toDateString(),\r\n //pilotId: task.pilot.pilotId,\r\n fieldId: task.field?.fieldId,\r\n };\r\n }\r\n //added this because on update it didnt update statusid and pilotid\r\n static parseBackUpdate(task: Task): object {\r\n return {\r\n customerId: task.customer.customerId,\r\n protocolId: task.protocol.protocolId,\r\n materialId: task.material.materialId,\r\n statusId: task.status.statusId,\r\n scheduledDate: task.scheduledDate?.toDateString(),\r\n executionDate: task.executionDate?.toDateString(),\r\n approvedExecutionDate: task.approvedExecutionDate?.toDateString(),\r\n executionStatusId: task.executionStatus?.statusId,\r\n approvedStatusId: task.approvedStatus?.statusId,\r\n pilotId: task.pilot.pilotId,\r\n fieldId: task.field?.fieldId,\r\n };\r\n }\r\n static parse(d: any) {\r\n let field = Field.parse(d.Field);\r\n let customer = field.customer;\r\n let protocol = Protocol.parse(d.Protocol);\r\n let material = Material.parse(d.Material);\r\n let status = JSON.parse(JSON.stringify(d.Status));\r\n let approvedStatus = JSON.parse(JSON.stringify(d.ApprovedStatus));\r\n let executionStatus = JSON.parse(JSON.stringify(d.ExecutionStatus));\r\n let createdAt = new Date(d.createdDate);\r\n let executionDate = d.executionDate ? new Date(d.executionDate) : new Date();\r\n let scheduledDate = d.scheduledDate ? new Date(d.scheduledDate) : null;\r\n let approvedExecutionDate = d.approvedExecutionDate ? new Date(d.approvedExecutionDate) : null;\r\n let executionStatusId = d.executionStatusId;\r\n\r\n let pilot = DronePilot.parse(d.Pilot);\r\n\r\n return new Task(\r\n d.taskId,\r\n customer,\r\n field,\r\n material,\r\n protocol,\r\n pilot,\r\n status,\r\n createdAt,\r\n executionDate,\r\n scheduledDate,\r\n approvedExecutionDate,\r\n executionStatusId,\r\n executionStatus,\r\n approvedStatus\r\n );\r\n }\r\n constructor(\r\n public taskId: string,\r\n public customer: Customer,\r\n public field: Field,\r\n public material: Material,\r\n public protocol: Protocol,\r\n public pilot: DronePilot,\r\n public status: Status,\r\n public createdAt: Date,\r\n public executionDate: Date,\r\n public scheduledDate: Date,\r\n public approvedExecutionDate: Date,\r\n public executionStatusId: string,\r\n public executionStatus: Status,\r\n public approvedStatus: Status\r\n ) {}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';\r\nimport { HttpUtilsService } from '../_base/crud';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiService {\r\n\r\n constructor(private http: HttpClient, httpUtils: HttpUtilsService) { }\r\n\r\n \r\n get(path: string, params: HttpParams = new HttpParams()): Observable {\r\n return this.http\r\n .get(`${environment.api_url}${path}`, { params })\r\n .pipe();\r\n}\r\n\r\nput(path: string, body: object = {}): Observable {\r\n const headers = new HttpHeaders().set(\r\n \"Content-Type\",\r\n \"application/json\"\r\n );\r\n\r\n return this.http.put(\r\n `${environment.api_url}${path}`,\r\n JSON.stringify(body),\r\n { headers }\r\n );\r\n}\r\n\r\npost(\r\n path: string,\r\n params: HttpParams = new HttpParams(),\r\n body: object = {}\r\n): Observable {\r\n const headers = new HttpHeaders({\r\n \"Content-Type\": \"application/json\"\r\n });\r\n\r\n return this.http.post(\r\n `${environment.api_url}${path}`,\r\n JSON.stringify(body),\r\n { headers, params }\r\n );\r\n}\r\n\r\ndelete(path: string, params: HttpParams = new HttpParams()): Observable {\r\n return this.http.delete(\r\n `${environment.api_url}${path}`, {params}\r\n );\r\n}\r\n}\r\n"," import { Injectable } from '@angular/core';\r\nimport { ApiService } from './api.service';\r\nimport { of } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\nimport { map } from 'rxjs/operators';\r\nimport { User } from '../auth';\r\n\r\n@Injectable({providedIn: 'root'})\r\nexport class AuthService {\r\n constructor(private api: ApiService) {}\r\n\r\n getToken() { \r\n return localStorage.getItem(environment.authTokenKey);\r\n }\r\n\r\n login(username: string, password: string){\r\n return this.api.post(\"login\", null, {username: username, password: password})\r\n }\r\n\r\n getUserByToken() { \r\n return this.api.get(\"login\").pipe(map(result => { \r\n const user = User.parse(result);\r\n return user;\r\n }))\r\n }\r\n \r\n \r\n}","import { Injectable } from \"@angular/core\";\r\nimport { ApiService } from \"./api.service\";\r\nimport { Customer } from \"../models/customer.model\";\r\nimport { map } from \"rxjs/operators\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class CustomersService {\r\n constructor(private api: ApiService) {}\r\n\r\n getAllCustomers() {\r\n return this.api.get(\"customers\").pipe(\r\n map((result) => {\r\n const customers = result.map((d) => JSON.parse(JSON.stringify(d)));\r\n\r\n return customers;\r\n })\r\n );\r\n }\r\n\r\n getCustomerById(id) {\r\n return this.api.get(\"customers/\" + id).pipe(\r\n map((result) => {\r\n const customer = JSON.parse(JSON.stringify(result));\r\n\r\n return customer;\r\n })\r\n );\r\n }\r\n\r\n addCustomer(customer: Customer) {\r\n return this.api.post(\"customers\", null, Customer.parseBack(customer)).pipe(\r\n map((result) => {\r\n return customer;\r\n })\r\n );\r\n }\r\n\r\n updateCustomer(customer: Customer) {\r\n return this.api\r\n .put(\"customers/\" + customer.customerId, Customer.parseBack(customer))\r\n .pipe(\r\n map((result) => {\r\n return customer;\r\n })\r\n );\r\n }\r\n\r\n deleteCustomer(customer: Customer) {\r\n return this.api.delete(\"customers/\" + customer.customerId).pipe(\r\n map((result) => {\r\n return customer;\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { ApiService } from \"./api.service\";\r\nimport { Drone } from \"../models/drone.model\";\r\nimport { DronePilot } from \"../models/drone-pilot.model\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { PilotType } from \"../models/pilot-type.model\";\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class DronePilotsService {\r\n constructor(private api: ApiService) {}\r\n getAllDronePilots() {\r\n return this.api.get(\"pilots\").pipe(\r\n map((result) => {\r\n const drones = result.map((d) => DronePilot.parse(d));\r\n return drones;\r\n })\r\n );\r\n }\r\n\r\n getAllPilotTypes() {\r\n return this.api.get(\"pilottypes\").pipe(\r\n map((result) => {\r\n const pilotTypes = result.map((p) => PilotType.parse(p));\r\n\r\n return pilotTypes;\r\n })\r\n );\r\n }\r\n\r\n getPilotById(id) {\r\n return this.api.get(\"pilots/\" + id).pipe(\r\n map((result) => {\r\n const pilot = DronePilot.parse(result);\r\n return pilot;\r\n })\r\n );\r\n }\r\n\r\n addDronePilot(pilot: DronePilot) {\r\n return this.api.post(\"pilots\", null, DronePilot.parseBack(pilot)).pipe(\r\n map((result) => {\r\n return pilot;\r\n })\r\n );\r\n }\r\n\r\n updatePilot(pilot: DronePilot) {\r\n return this.api\r\n .put(\"pilots/\" + pilot.pilotId, DronePilot.parseBack(pilot))\r\n .pipe(\r\n map((result) => {\r\n return pilot;\r\n })\r\n );\r\n }\r\n\r\n deletePilot(pilot: DronePilot) {\r\n return this.api.delete(\"pilots/\" + pilot.pilotId).pipe(\r\n map((result) => {\r\n return pilot;\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { ApiService } from \"./api.service\";\r\nimport { Drone } from \"../models/drone.model\";\r\nimport { of } from \"rxjs\";\r\nimport { delay, map } from \"rxjs/operators\";\r\nimport * as _ from \"lodash\";\r\nimport { DronePayload } from \"../models/drone-payload.model\";\r\nimport { DroneModel } from \"../models/drone-model.model\";\r\nimport { HttpParams } from \"@angular/common/http\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class DronesService {\r\n constructor(private api: ApiService) {}\r\n\r\n getAllDrones() {\r\n return this.api.get(\"drones\").pipe(\r\n map((result) => {\r\n const drones = result.map((d) => Drone.parse(d));\r\n\r\n return drones;\r\n })\r\n );\r\n }\r\n\r\n getAllModels() {\r\n return this.api.get(\"models\").pipe(\r\n map((result) => {\r\n const models = result.map((m) => DroneModel.parse(m));\r\n\r\n return models;\r\n })\r\n );\r\n }\r\n\r\n getAllPayloads() {\r\n return this.api.get(\"payloads\").pipe(\r\n map((result) => {\r\n const payloads = result.map((p) => DronePayload.parse(p));\r\n\r\n return payloads;\r\n })\r\n );\r\n }\r\n\r\n getDroneById(id) {\r\n return this.api.get(\"drones/\" + id).pipe(\r\n map((result) => {\r\n const drone = Drone.parse(result);\r\n\r\n return drone;\r\n })\r\n );\r\n }\r\n\r\n addDrone(drone: Drone) {\r\n return this.api.post(\"drones\", null, Drone.parseBack(drone)).pipe(\r\n map((result) => {\r\n return drone;\r\n })\r\n );\r\n }\r\n\r\n updateDrone(drone: Drone) {\r\n return this.api.put(\"drones/\" + drone.droneId, Drone.parseBack(drone)).pipe(\r\n map((result) => {\r\n return drone;\r\n })\r\n );\r\n }\r\n\r\n deleteDrone(drone: Drone) {\r\n return this.api.delete(\"drones/\" + drone.droneId).pipe(\r\n map((result) => {\r\n return drone;\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { ApiService } from \"./api.service\";\r\nimport { Field } from \"../models/field.model\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { FieldImportWrapper } from \"../models/field-import-wrapper.model\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { environment } from \"src/environments/environment\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class FieldsService {\r\n constructor(private api: ApiService, private http: HttpClient) {}\r\n\r\n getAllFields() {\r\n return this.api.get(\"fields\").pipe(\r\n map((result) => {\r\n const fields = result.map((d) => Field.parse(d));\r\n\r\n return fields;\r\n })\r\n );\r\n }\r\n\r\n getFieldById(id) {\r\n return this.api.get(\"fields/\" + id).pipe(\r\n map((result) => {\r\n const field = Field.parse(result);\r\n\r\n return field;\r\n })\r\n );\r\n }\r\n\r\n addField(field: Field) {\r\n return this.api.post(\"fields\", null, Field.parseBack(field)).pipe(\r\n map((result) => {\r\n return field;\r\n })\r\n );\r\n }\r\n\r\n updateField(field: Field) {\r\n return this.api.put(\"fields/\" + field.fieldId, Field.parseBack(field)).pipe(\r\n map((result) => {\r\n return field;\r\n })\r\n );\r\n }\r\n\r\n deleteField(field: Field) {\r\n return this.api.delete(\"fields/\" + field.fieldId).pipe(\r\n map((result) => {\r\n return field;\r\n })\r\n );\r\n }\r\n\r\n importFields(fieldImportWrapper: FieldImportWrapper) {\r\n let file = fieldImportWrapper.file[0];\r\n const formData: FormData = new FormData();\r\n\r\n formData.append(\"file\", file, file.name);\r\n formData.append(\"customerId\", fieldImportWrapper.customerId);\r\n return this.http.post(`${environment.api_url}kmlfile`, formData).pipe(\r\n map((result) => {\r\n return result;\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { ApiService } from \"./api.service\";\r\nimport { Material } from \"../models/material.model\";\r\nimport { map } from \"rxjs/operators\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class MaterialsService {\r\n constructor(private api: ApiService) {}\r\n\r\n getAllMaterials() {\r\n return this.api.get(\"materials\").pipe(\r\n map((result) => {\r\n const materials = result.map((d) => Material.parse(d));\r\n\r\n return materials;\r\n })\r\n );\r\n }\r\n\r\n getMaterialById(id) {\r\n return this.api.get(\"materials/\" + id).pipe(\r\n map((result) => {\r\n const material = Material.parse(result);\r\n\r\n return material;\r\n })\r\n );\r\n }\r\n\r\n addMaterial(material: Material) {\r\n return this.api.post(\"materials\", null, Material.parseBack(material)).pipe(\r\n map((result) => {\r\n return material;\r\n })\r\n );\r\n }\r\n\r\n updateMaterial(material: Material) {\r\n return this.api\r\n .put(\"materials/\" + material.materialId, Material.parseBack(material))\r\n .pipe(\r\n map((result) => {\r\n return material;\r\n })\r\n );\r\n }\r\n\r\n deleteMaterial(material: Material) {\r\n return this.api.delete(\"materials/\" + material.materialId).pipe(\r\n map((result) => {\r\n return material;\r\n })\r\n );\r\n }\r\n}\r\n","import { MapTask } from \"./../models/map-task.model\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { ApiService } from \"./api.service\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { Task } from \"../models/task.model\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class PilotTasksService {\r\n constructor(private api: ApiService, private http: HttpClient) {}\r\n\r\n getPilotTasks(pilotId, date: Date) {\r\n //TODO: temp fix, parse all dates to ISO in prototype\r\n date = new Date(date.setTime(date.getTime() + 3 * 60 * 60 * 1000));\r\n return this.api\r\n .post(\"DailyTasks\", null, { pilotId: pilotId.toString(), date: date })\r\n .pipe(\r\n map((result) => {\r\n const tasks = result.map((d) => Task.parse(d));\r\n const mapTasks = result.map((d) => MapTask.parse(d));\r\n return { tasks: tasks, mapTasks: mapTasks };\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { ApiService } from \"./api.service\";\r\nimport { Protocol } from \"../models/protocol.model\";\r\nimport { map } from \"rxjs/operators\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class ProtocolsService {\r\n constructor(private api: ApiService) {}\r\n\r\n getAllProtocols() {\r\n return this.api.get(\"protocols\").pipe(\r\n map((result) => {\r\n const protocols = result.map((d) => Protocol.parse(d));\r\n\r\n return protocols;\r\n })\r\n );\r\n }\r\n\r\n getProtocolById(id) {\r\n return this.api.get(\"protocols/\" + id).pipe(\r\n map((result) => {\r\n const protocol = Protocol.parse(result);\r\n\r\n return protocol;\r\n })\r\n );\r\n }\r\n\r\n addProtocol(protocol: Protocol) {\r\n return this.api.post(\"protocols\", null, Protocol.parseBack(protocol)).pipe(\r\n map((result) => {\r\n return protocol;\r\n })\r\n );\r\n }\r\n\r\n updateProtocol(protocol: Protocol) {\r\n return this.api\r\n .put(\"protocols/\" + protocol.protocolId, Protocol.parseBack(protocol))\r\n .pipe(\r\n map((result) => {\r\n return protocol;\r\n })\r\n );\r\n }\r\n\r\n deleteProtocol(protocol: Protocol) {\r\n return this.api.delete(\"protocols/\" + protocol.protocolId).pipe(\r\n map((result) => {\r\n return protocol;\r\n })\r\n );\r\n }\r\n}\r\n","import { TaskFilterWrapper } from \"./../models/task-filter-wrapper.model\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { ApiService } from \"./api.service\";\r\nimport { Task } from \"../models/task.model\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { MapTask } from \"../models/map-task.model\";\r\nimport { AssignTaskWrapper } from \"../models/assignTaskWrapper.model\";\r\nimport { DroneRoute } from \"../models/drone-route-model\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class TasksService {\r\n constructor(private api: ApiService, private http: HttpClient) {}\r\n\r\n getAllTasks() {\r\n return this.api.get(\"tasks\").pipe(\r\n map((result) => {\r\n const tasks = result.map((d) => Task.parse(d));\r\n\r\n return tasks;\r\n })\r\n );\r\n }\r\n\r\n getTaskById(id) {\r\n return this.api.get(\"tasks/\" + id).pipe(\r\n map((result) => {\r\n const task = Task.parse(result);\r\n\r\n return task;\r\n })\r\n );\r\n }\r\n\r\n getStauses() {\r\n return this.api.get(\"status\").pipe(\r\n map((result) => {\r\n const statuses = result.map((d) => JSON.parse(JSON.stringify(d)));\r\n\r\n return statuses;\r\n })\r\n );\r\n }\r\n\r\n deleteTask(task: Task) {\r\n return this.api.delete(\"tasks/\" + task.taskId).pipe(\r\n map((result) => {\r\n return task;\r\n })\r\n );\r\n }\r\n\r\n updateTask(task: Task) {\r\n return this.api\r\n .put(\"tasks/\" + task.taskId, Task.parseBackUpdate(task))\r\n .pipe(\r\n map((result) => {\r\n return task;\r\n })\r\n );\r\n }\r\n\r\n importTasks(task: Task, files, isPreview = false) {\r\n let file = files[0];\r\n const formData: FormData = new FormData();\r\n\r\n formData.append(\"file\", file, file.name);\r\n\r\n if (isPreview) {\r\n formData.append(\"isPreview\", \"true\");\r\n } else {\r\n formData.append(\"task\", JSON.stringify(Task.parseBack(task)));\r\n }\r\n\r\n return this.http.post(`${environment.api_url}tasks`, formData).pipe(\r\n map((result) => {\r\n return result;\r\n })\r\n );\r\n }\r\n\r\n filterTasks(taskFilterWrapper: TaskFilterWrapper) {\r\n return this.api.post(\"TaskSearch\", null, taskFilterWrapper).pipe(\r\n map((result) => {\r\n let mapTasks = result.map((t) => MapTask.parse(t));\r\n return mapTasks;\r\n })\r\n );\r\n }\r\n\r\n assignTasks(taskAssignWrapper: AssignTaskWrapper) {\r\n return this.api.post(\"taskassign\", null, taskAssignWrapper).pipe(\r\n map((result) => {\r\n return result;\r\n })\r\n );\r\n }\r\n\r\n filterControllerTasks(taskFilterWrapper: TaskFilterWrapper) {\r\n return this.api.post(\"TaskControl\", null, taskFilterWrapper).pipe(\r\n map((result) => {\r\n let mapTasks = result.tasksList.map((t) => MapTask.parse(t));\r\n let droneRoutes = result.droneRoutes.map((d) => DroneRoute.parse(d));\r\n\r\n return { mapTasks, droneRoutes };\r\n })\r\n );\r\n }\r\n\r\n assignControllerTasks(taskAssignWrapper: AssignTaskWrapper) {\r\n return this.api.post(\"TaskControlAssign\", null, taskAssignWrapper).pipe(\r\n map((result) => {\r\n return result;\r\n })\r\n );\r\n }\r\n\r\n filterCompletedTasks(taskFilterWrapper: TaskFilterWrapper) {\r\n return this.api.post(\"completedTasks\", null, taskFilterWrapper).pipe(\r\n map((result) => {\r\n let tasks = result.map((t) => Task.parse(t));\r\n return tasks;\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { ApiService } from \"./api.service\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { User } from \"../auth/_models/user.model\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class UsersService {\r\n constructor(private api: ApiService) {}\r\n\r\n getAllUsers() {\r\n return this.api.get(\"users\").pipe(\r\n map((result) => {\r\n const users = result.map((d) => User.parse(d));\r\n\r\n return users;\r\n })\r\n );\r\n }\r\n\r\n getUserById(id) {\r\n return this.api.get(\"users/\" + id).pipe(\r\n map((result) => {\r\n const user = User.parse(result);\r\n\r\n return user;\r\n })\r\n );\r\n }\r\n\r\n getAllRoleTypes() {\r\n return this.api.get(\"roleTypes\").pipe(\r\n map((result) => {\r\n const roleTypes = result.map((r) => JSON.parse(JSON.stringify(r)));\r\n\r\n return roleTypes;\r\n })\r\n );\r\n }\r\n\r\n addUser(user: User) {\r\n return this.api.post(\"users\", null, User.parseBack(user)).pipe(\r\n map((result) => {\r\n return user;\r\n })\r\n );\r\n }\r\n\r\n updateUser(user: User) {\r\n return this.api.put(\"users/\" + user.userId, User.parseBack(user)).pipe(\r\n map((result) => {\r\n return user;\r\n })\r\n );\r\n }\r\n\r\n deleteUser(user: User) {\r\n return this.api.delete(\"users/\" + user.userId).pipe(\r\n map((result) => {\r\n return user;\r\n })\r\n );\r\n }\r\n}\r\n","import { createAction, props } from \"@ngrx/store\";\r\n\r\nexport const login = createAction(\r\n \"[Auth] Login\",\r\n props<{ username: string; password: string }>()\r\n);\r\n\r\nexport const loginSuccess = createAction(\r\n \"[Auth] Login Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loginFailure = createAction(\r\n \"[Auth] Login Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const logout = createAction(\"[Auth] Logout\");\r\n\r\nexport const loadUserProfile = createAction(\"[Auth] LoadUser\");\r\n\r\nexport const loadUserProfileSuccess = createAction(\r\n \"[Auth] LoadUser Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadUserProfileFailure = createAction(\r\n \"[Auth] LoadUser Failure\",\r\n props<{ error: any }>()\r\n);\r\n","import { createAction, props } from \"@ngrx/store\";\r\nimport { Customer } from \"../../models/customer.model\";\r\n\r\nexport const loadCustomers = createAction(\"[Customer] Load Customers\");\r\n\r\nexport const loadCustomersSuccess = createAction(\r\n \"[Customer] Load Customers Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadCustomersFailure = createAction(\r\n \"[Customer] Load Customers Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const loadCustomer = createAction(\r\n \"[Customer] Load Customer\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadCustomerSuccess = createAction(\r\n \"[Customer] Load Customer Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadCustomerFailure = createAction(\r\n \"[Customer] Load Customer Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const addCustomer = createAction(\r\n \"[Customer] AddCustomer\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const addCustomerSuccess = createAction(\r\n \"[Customer] AddCustomer Success\",\r\n props<{ data: Customer }>()\r\n);\r\n\r\nexport const addCustomerFailure = createAction(\r\n \"[Customer] AddCustomer Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const updateCustomer = createAction(\r\n \"[Customer] UpdateCustomer\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const updateCustomerSuccess = createAction(\r\n \"[Customer] UpdateCustomer Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const updateCustomerFailure = createAction(\r\n \"[Customer] UpdateCustomer Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const deleteCustomer = createAction(\r\n \"[Customer] DeleteCustomer\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const deleteCustomerSuccess = createAction(\r\n \"[Customer] DeleteCustomer Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const deleteCustomerFailure = createAction(\r\n \"[Customer] DeleteCustomer Failure\",\r\n props<{ error: any }>()\r\n);\r\n","import { createAction, props } from \"@ngrx/store\";\r\nimport { DronePilot } from \"../../models/drone-pilot.model\";\r\nimport { PilotType } from \"../../models/pilot-type.model\";\r\n\r\nexport const loadDronePilots = createAction(\"[DronePilots] Load DronePilots\");\r\n\r\nexport const loadDronePilotsSuccess = createAction(\r\n \"[DronePilots] Load DronePilots Success\",\r\n props<{ data: DronePilot[] }>()\r\n);\r\n\r\nexport const loadDronePilotsFailure = createAction(\r\n \"[DronePilots] Load DronePilots Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const loadPilotTypes = createAction(\"[DronePilots] Load PilotTypes\");\r\n\r\nexport const loadPilotTypesSuccess = createAction(\r\n \"[DronePilots] Load PilotTypes Success\",\r\n props<{ data: PilotType[] }>()\r\n);\r\n\r\nexport const lloadPilotTypesFailure = createAction(\r\n \"[DronePilots] Load PilotTypes Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const loadDronePilot = createAction(\r\n \"[DronePilots] load DronePilot\",\r\n props<{ data: string }>()\r\n);\r\n\r\nexport const loadDronePilotSuccess = createAction(\r\n \"[DronePilots] load DronePilot Success\",\r\n props<{ data: DronePilot }>()\r\n);\r\n\r\nexport const loadDronePilotFailure = createAction(\r\n \"[DronePilots] load DronePilot Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const addDronePilot = createAction(\r\n \"[DronePilots] Add DronePilots\",\r\n props<{ data: DronePilot }>()\r\n);\r\n\r\nexport const addDronePilotSuccess = createAction(\r\n \"[DronePilots] Add DronePilots Success\",\r\n props<{ data: DronePilot }>()\r\n);\r\n\r\nexport const addDronePilotFailure = createAction(\r\n \"[DronePilots] Add DronePilots Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const updateDronePilot = createAction(\r\n \"[DronePilots] UpdateDronePilot\",\r\n props<{ data: DronePilot }>()\r\n);\r\n\r\nexport const updateDronePilotSuccess = createAction(\r\n \"[DronePilots] UpdateDronePilot Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const updateDronePilotFailure = createAction(\r\n \"[DronePilots] UpdateDronePilot Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const deleteDronePilot = createAction(\r\n \"[DronePilots] DeleteDronePilot\",\r\n props<{ data: DronePilot }>()\r\n);\r\n\r\nexport const deleteDronePilotSuccess = createAction(\r\n \"[DronePilots] DeleteDronePilot Success\",\r\n props<{ data: DronePilot }>()\r\n);\r\n\r\nexport const deleteDronePilotFailure = createAction(\r\n \"[DronePilots] DeleteDronePilot Failure\",\r\n props<{ error: any }>()\r\n);\r\n","import { createAction, props } from \"@ngrx/store\";\r\n\r\nexport const loadDrones = createAction(\"[Drones] Load Droness\");\r\n\r\nexport const loadDronesSuccess = createAction(\r\n \"[Drones] Load Droness Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadDronesFailure = createAction(\r\n \"[Drones] Load Droness Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const loadDroneModels = createAction(\"[Drones] Load Drones Models\");\r\n\r\nexport const loadDroneModelsSuccess = createAction(\r\n \"[Drones] Load Droness Models Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadDroneModelsFailure = createAction(\r\n \"[Drones] Load Droness Models Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const loadDronePayloads = createAction(\"[Drones] Load Drones Payloads\");\r\n\r\nexport const loadDronePayloadsSuccess = createAction(\r\n \"[Drones] Load Droness Payloads Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadDronePayloadsFailure = createAction(\r\n \"[Drones] Load Droness Models Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const loadDrone = createAction(\r\n \"[Drones] Load Drone\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadDroneSuccess = createAction(\r\n \"[Drones] Load Drone Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadDroneFailure = createAction(\r\n \"[Drones] Load Drone Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const addDrone = createAction(\r\n \"[Drones] AddDrone\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const addDroneSuccess = createAction(\r\n \"[Drones] AddDrone Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const addDroneFailure = createAction(\r\n \"[Drones] AddDrone Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const updateDrone = createAction(\r\n \"[Drones] UpdateDrone\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const updateDroneSuccess = createAction(\r\n \"[Drones] UpdateDrone Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const updateDroneFailure = createAction(\r\n \"[Drones] UpdateDrone Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const deleteDrone = createAction(\r\n \"[Drones] DeleteDrone\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const deleteDroneSuccess = createAction(\r\n \"[Drones] DeleteDrone Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const deleteDroneFailure = createAction(\r\n \"[Drones] DeleteDrone Failure\",\r\n props<{ error: any }>()\r\n);\r\n","import { createAction, props } from \"@ngrx/store\";\r\nimport { Field } from \"../../models/field.model\";\r\nimport { FieldImportWrapper } from \"../../models/field-import-wrapper.model\";\r\n\r\nexport const loadFields = createAction(\"[Field] Load Fields\");\r\n\r\nexport const loadFieldsSuccess = createAction(\r\n \"[Field] Load Fields Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadFieldsFailure = createAction(\r\n \"[Field] Load Fields Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const loadField = createAction(\r\n \"[Field] Load Field\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadFieldSuccess = createAction(\r\n \"[Field] Load Field Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadFieldFailure = createAction(\r\n \"[Field] Load Field Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const addField = createAction(\r\n \"[Field] AddField\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const addFieldSuccess = createAction(\r\n \"[Field] AddField Success\",\r\n props<{ data: Field }>()\r\n);\r\n\r\nexport const addFieldFailure = createAction(\r\n \"[Field] AddField Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const updateField = createAction(\r\n \"[Field] UpdateField\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const updateFieldSuccess = createAction(\r\n \"[Field] UpdateField Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const updateFieldFailure = createAction(\r\n \"[Field] UpdateField Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const deleteField = createAction(\r\n \"[Field] DeleteField\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const deleteFieldSuccess = createAction(\r\n \"[Field] DeleteField Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const deleteFieldFailure = createAction(\r\n \"[Field] DeleteField Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const importFields = createAction(\r\n \"[Field] ImportFields\",\r\n props<{ data: FieldImportWrapper }>()\r\n);\r\n\r\nexport const importFieldsSuccess = createAction(\r\n \"[Field] ImportFields Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const importFieldsFailure = createAction(\r\n \"[Field] ImportFields Failure\",\r\n props<{ error: any }>()\r\n);\r\n","import { createAction, props } from \"@ngrx/store\";\r\nimport { Material } from \"../../models/material.model\";\r\n\r\nexport const loadMaterials = createAction(\"[Material] Load Materials\");\r\n\r\nexport const loadMaterialsSuccess = createAction(\r\n \"[Material] Load Materials Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadMaterialsFailure = createAction(\r\n \"[Material] Load Materials Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const loadMaterial = createAction(\r\n \"[Material] Load Material\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadMaterialSuccess = createAction(\r\n \"[Material] Load Material Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadMaterialFailure = createAction(\r\n \"[Material] Load Material Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const addMaterial = createAction(\r\n \"[Material] AddMaterial\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const addMaterialSuccess = createAction(\r\n \"[Material] AddMaterial Success\",\r\n props<{ data: Material }>()\r\n);\r\n\r\nexport const addMaterialFailure = createAction(\r\n \"[Material] AddMaterial Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const updateMaterial = createAction(\r\n \"[Material] UpdateMaterial\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const updateMaterialSuccess = createAction(\r\n \"[Material] UpdateMaterial Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const updateMaterialFailure = createAction(\r\n \"[Material] UpdateMaterial Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const deleteMaterial = createAction(\r\n \"[Material] DeleteMaterial\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const deleteMaterialSuccess = createAction(\r\n \"[Material] DeleteMaterial Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const deleteMaterialFailure = createAction(\r\n \"[Material] DeleteMaterial Failure\",\r\n props<{ error: any }>()\r\n);\r\n","import { MapTask } from \"./../../models/map-task.model\";\r\nimport { Task } from \"./../../models/task.model\";\r\nimport { createAction, props } from \"@ngrx/store\";\r\n\r\nexport const loadPilotTasks = createAction(\r\n \"[PilotTasks] Load PilotTasks\",\r\n props<{ date?: Date }>()\r\n);\r\n\r\nexport const loadPilotTasksSuccess = createAction(\r\n \"[PilotTasks] Load PilotTasks Success\",\r\n props<{ tasks: Task[]; mapTasks: MapTask[] }>()\r\n);\r\n\r\nexport const loadPilotTasksFailure = createAction(\r\n \"[PilotTasks] Load PilotTasks Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const loadTaskById = createAction(\r\n \"[PilotTasks] Load taskById\",\r\n props<{ taskId: string }>()\r\n);\r\n\r\nexport const loadTaskByIdSuccess = createAction(\r\n \"[PilotTasks] Load taskById Success\",\r\n props<{ task: Task }>()\r\n);\r\n\r\nexport const loadTaskByIdFailure = createAction(\r\n \"[PilotTasks] Load taskById Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const updateTask = createAction(\r\n \"[PilotTasks] updateTask \",\r\n props<{ task: Task }>()\r\n);\r\n\r\nexport const updateTaskSuccess = createAction(\r\n \"[PilotTasks] updateTask Success\",\r\n props<{ task: Task }>()\r\n);\r\n\r\nexport const updateTaskFailure = createAction(\r\n \"[PilotTasks] updateTask Failure\",\r\n props<{ error: any }>()\r\n);\r\n","import { createAction, props } from \"@ngrx/store\";\r\nimport { Protocol } from \"../../models/protocol.model\";\r\n\r\nexport const loadProtocols = createAction(\"[Protocol] Load Protocols\");\r\n\r\nexport const loadProtocolsSuccess = createAction(\r\n \"[Protocol] Load Protocols Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadProtocolsFailure = createAction(\r\n \"[Protocol] Load Protocols Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const loadProtocol = createAction(\r\n \"[Protocol] Load Protocol\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadProtocolSuccess = createAction(\r\n \"[Protocol] Load Protocol Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadProtocolFailure = createAction(\r\n \"[Protocol] Load Protocol Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const addProtocol = createAction(\r\n \"[Protocol] AddProtocol\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const addProtocolSuccess = createAction(\r\n \"[Protocol] AddProtocol Success\",\r\n props<{ data: Protocol }>()\r\n);\r\n\r\nexport const addProtocolFailure = createAction(\r\n \"[Protocol] AddProtocol Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const updateProtocol = createAction(\r\n \"[Protocol] UpdateProtocol\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const updateProtocolSuccess = createAction(\r\n \"[Protocol] UpdateProtocol Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const updateProtocolFailure = createAction(\r\n \"[Protocol] UpdateProtocol Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const deleteProtocol = createAction(\r\n \"[Protocol] DeleteProtocol\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const deleteProtocolSuccess = createAction(\r\n \"[Protocol] DeleteProtocol Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const deleteProtocolFailure = createAction(\r\n \"[Protocol] DeleteProtocol Failure\",\r\n props<{ error: any }>()\r\n);\r\n","import { TaskFilterWrapper } from \"./../../models/task-filter-wrapper.model\";\r\nimport { createAction, props } from \"@ngrx/store\";\r\nimport { Task } from \"../../models/task.model\";\r\nimport { MapTask } from \"../../models/map-task.model\";\r\nimport { AssignTaskWrapper } from \"../../models/assignTaskWrapper.model\";\r\nimport { DroneRoute } from \"../../models/drone-route-model\";\r\n\r\nexport const loadTasks = createAction(\"[Task] Load Tasks\");\r\n\r\nexport const loadTasksSuccess = createAction(\r\n \"[Task] Load Tasks Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadTasksFailure = createAction(\r\n \"[Task] Load Tasks Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const deleteTask = createAction(\r\n \"[Task] DeleteTask\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadTask = createAction(\r\n \"[Task] Load Task\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadTaskSuccess = createAction(\r\n \"[Task] Load Task Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadTaskFailure = createAction(\r\n \"[Task] Load Task Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const updateTask = createAction(\r\n \"[Task] update Task\",\r\n props<{ task: Task }>()\r\n);\r\n\r\nexport const updateTaskSuccess = createAction(\r\n \"[Task] update Task Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const updateTaskFailure = createAction(\r\n \"[Task] update Task Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const deleteTaskSuccess = createAction(\r\n \"[Task] DeleteTask Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const deleteTaskFailure = createAction(\r\n \"[Task] DeleteTask Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const loadStatuses = createAction(\"[Task] loadStatuses\");\r\n\r\nexport const loadStatusesSuccess = createAction(\r\n \"[Task] loadStatuses Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadStatusesFailure = createAction(\r\n \"[Task] loadStatuses Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const importTasks = createAction(\r\n \"[Task] importTasks\",\r\n props<{ task: Task; file: File }>()\r\n);\r\n\r\nexport const importTasksSuccess = createAction(\r\n \"[Task] importTasks Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const importTasksFailure = createAction(\r\n \"[Task] importTasks Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const importTasksPreview = createAction(\r\n \"[Task] importTasksPreview\",\r\n props<{ task: Task; file: File }>()\r\n);\r\n\r\nexport const importTasksPreviewSuccess = createAction(\r\n \"[Task] importTasksPreview Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const importTasksPreviewFailure = createAction(\r\n \"[Task] importTasksPreview Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const filterTasks = createAction(\r\n \"[Task] filter tasks\",\r\n props<{ data: TaskFilterWrapper }>()\r\n);\r\n\r\nexport const filterTasksSuccess = createAction(\r\n \"[Task] filter tasks success\",\r\n props<{ data: MapTask[] }>()\r\n);\r\n\r\nexport const filterTasksFailed = createAction(\r\n \"[Task] filter tasks failed\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const mapTaskSelected = createAction(\r\n \"[Task] map task selected\",\r\n props<{ mapTask: MapTask; selected: boolean }>()\r\n);\r\n\r\nexport const controllerMapTaskSelected = createAction(\r\n \"[Task] controller map task selected\",\r\n props<{ mapTask: MapTask; selected: boolean }>()\r\n);\r\n\r\nexport const mapTaskTableClick = createAction(\r\n \"[Task] map task table click\",\r\n props<{ data: MapTask }>()\r\n);\r\n\r\nexport const assignTasks = createAction(\r\n \"[Task] assign tasks\",\r\n props<{ data: AssignTaskWrapper }>()\r\n);\r\n\r\nexport const assignTasksSuccess = createAction(\"[Task] assign tasks success\");\r\n\r\nexport const assignTasksFailed = createAction(\r\n \"[Task] assign tasks failed\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const assignControllerTasks = createAction(\r\n \"[Task] assign controller tasks\",\r\n props<{ data: AssignTaskWrapper }>()\r\n);\r\n\r\nexport const assignControllerTasksSuccess = createAction(\r\n \"[Task] assign controller tasks success\"\r\n);\r\n\r\nexport const assignControllerTasksFailed = createAction(\r\n \"[Task] assign controller tasks failed\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const filterControllerTasks = createAction(\r\n \"[Task] filter Controller tasks\",\r\n props<{ data: TaskFilterWrapper }>()\r\n);\r\n\r\nexport const filterControllerTasksSuccess = createAction(\r\n \"[Task] filter Controller tasks success\",\r\n props<{ mapTasks: MapTask[]; droneRoutes: DroneRoute[] }>()\r\n);\r\n\r\nexport const filterControllerTasksFailed = createAction(\r\n \"[Task] filter Controller tasks failed\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const filterCompletedTasks = createAction(\r\n \"[Task] filter Completed tasks\",\r\n props<{ data: TaskFilterWrapper }>()\r\n);\r\n\r\nexport const filterCompletedTasksSuccess = createAction(\r\n \"[Task] filter Completed tasks success\",\r\n props<{ tasks: Task[] }>()\r\n);\r\n\r\nexport const filterCompletedTasksFailed = createAction(\r\n \"[Task] filter Completed tasks failed\",\r\n props<{ error: any }>()\r\n);\r\n","import { createAction, props } from \"@ngrx/store\";\r\nimport { User } from \"../../auth/_models/user.model\";\r\n\r\nexport const loadUsers = createAction(\"[User] Load Users !!!\");\r\n\r\nexport const loadUsersSuccess = createAction(\r\n \"[User] Load Users Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadUsersFailure = createAction(\r\n \"[User] Load Users Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const loadRoleTypes = createAction(\"[User] Load RoleTypes\");\r\n\r\nexport const loadRoleTypesSuccess = createAction(\r\n \"[User] Load RoleTypes Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadRoleTypesFailure = createAction(\r\n \"[User] Load RoleTypes Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const loadUser = createAction(\r\n \"[User] Load User\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadUserSuccess = createAction(\r\n \"[User] Load User Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const loadUserFailure = createAction(\r\n \"[User] Load User Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const addUser = createAction(\"[User] AddUser\", props<{ data: any }>());\r\n\r\nexport const addUserSuccess = createAction(\r\n \"[User] AddUser Success\",\r\n props<{ data: User }>()\r\n);\r\n\r\nexport const addUserFailure = createAction(\r\n \"[User] AddUser Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const updateUser = createAction(\r\n \"[User] UpdateUser\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const updateUserSuccess = createAction(\r\n \"[User] UpdateUser Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const updateUserFailure = createAction(\r\n \"[User] UpdateUser Failure\",\r\n props<{ error: any }>()\r\n);\r\n\r\nexport const deleteUser = createAction(\r\n \"[User] DeleteUser\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const deleteUserSuccess = createAction(\r\n \"[User] DeleteUser Success\",\r\n props<{ data: any }>()\r\n);\r\n\r\nexport const deleteUserFailure = createAction(\r\n \"[User] DeleteUser Failure\",\r\n props<{ error: any }>()\r\n);\r\n","import { NgxPermissionsService } from \"ngx-permissions\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Actions, createEffect, ofType } from \"@ngrx/effects\";\r\nimport { catchError, map, concatMap, tap } from \"rxjs/operators\";\r\nimport { EMPTY, of, defer } from \"rxjs\";\r\n\r\nimport * as AuthActions from \"../actions/auth.actions\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { LayoutUtilsService } from \"../../_base/crud\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport { loadUserProfile } from \"../actions/auth.actions\";\r\nimport { environment } from \"src/environments/environment\";\r\n\r\n@Injectable()\r\nexport class AuthEffects {\r\n login$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(AuthActions.login),\r\n concatMap((action) =>\r\n this.authService.login(action.username, action.password).pipe(\r\n map((data) => {\r\n this.router.navigateByUrl(\"/dashboard\");\r\n return AuthActions.loginSuccess({ data: data.authToken });\r\n }),\r\n catchError((error) => {\r\n let message = \"error\";\r\n\r\n if (error.status == 400 && error.error.Message == \"login failed\") {\r\n message = \"Username or password incorrect.\";\r\n } else {\r\n message = \"Login failed, please try again later.\";\r\n }\r\n\r\n return of(AuthActions.loginFailure({ error: message }));\r\n })\r\n )\r\n )\r\n );\r\n });\r\n\r\n loginSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(AuthActions.loginSuccess),\r\n tap((action) => {\r\n localStorage.setItem(environment.authTokenKey, action.data);\r\n this.store.dispatch(loadUserProfile());\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n loadUserProfile$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(AuthActions.loadUserProfile),\r\n concatMap((action) =>\r\n this.authService.getUserByToken().pipe(\r\n map((data) => AuthActions.loadUserProfileSuccess({ data })),\r\n catchError((error) =>\r\n of(AuthActions.loadUserProfileFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n loadUserProfileSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(AuthActions.loadUserProfileSuccess),\r\n tap((action) => {\r\n this.permissionService.loadPermissions([action.data.roleType.name]);\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n logout$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(AuthActions.logout),\r\n tap((action) => {\r\n localStorage.clear();\r\n this.router.navigateByUrl(\"/auth/login\");\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n init$ = createEffect(() =>\r\n defer(() => {\r\n const userToken = localStorage.getItem(environment.authTokenKey);\r\n let observableResult = of({ type: \"NO_ACTION\" });\r\n if (userToken) {\r\n observableResult = of(AuthActions.loginSuccess({ data: userToken }));\r\n // this.store.dispatch(loadUserProfile());\r\n }\r\n return observableResult;\r\n })\r\n );\r\n\r\n constructor(\r\n private actions$: Actions,\r\n private authService: AuthService,\r\n private layoutUtilsService: LayoutUtilsService,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private permissionService: NgxPermissionsService,\r\n private store: Store\r\n ) {}\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Actions, createEffect, ofType } from \"@ngrx/effects\";\r\nimport { catchError, map, concatMap, tap } from \"rxjs/operators\";\r\nimport { EMPTY, of } from \"rxjs\";\r\n\r\nimport * as CustomerActions from \"../actions/customer.actions\";\r\nimport { CustomersService } from \"../../services/customers.service\";\r\nimport { MessageType, LayoutUtilsService } from \"../../_base/crud\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\n\r\n@Injectable()\r\nexport class CustomerEffects {\r\n loadCustomers$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(CustomerActions.loadCustomers),\r\n concatMap(() =>\r\n this.customersService.getAllCustomers().pipe(\r\n map((data) => {\r\n return CustomerActions.loadCustomersSuccess({ data });\r\n }),\r\n catchError((error) =>\r\n of(CustomerActions.loadCustomersFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n loadCustomer$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(CustomerActions.loadCustomer),\r\n concatMap((action) =>\r\n this.customersService.getCustomerById(action.data).pipe(\r\n map((data) => {\r\n return CustomerActions.loadCustomerSuccess({ data });\r\n }),\r\n catchError((error) =>\r\n of(CustomerActions.loadCustomerFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n addCustomer$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(CustomerActions.addCustomer),\r\n concatMap((action) =>\r\n this.customersService.addCustomer(action.data).pipe(\r\n map((data) => {\r\n return CustomerActions.addCustomerSuccess({ data });\r\n }),\r\n catchError((error) =>\r\n of(CustomerActions.addCustomerFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n addCustomerSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(CustomerActions.addCustomerSuccess),\r\n tap((action) => {\r\n const message = `Customer successfully has been created.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Create,\r\n 5000,\r\n true,\r\n false\r\n );\r\n\r\n this.router.navigate([\"customers\"], { relativeTo: this.route });\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n addCustomerFailed$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(CustomerActions.addCustomerFailure),\r\n tap((action) => {\r\n const message = `Customer add failed. Try again later.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Read,\r\n 5000,\r\n true,\r\n false\r\n );\r\n console.log(action.error);\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n updateCustomer$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(CustomerActions.updateCustomer),\r\n concatMap((action) =>\r\n this.customersService.updateCustomer(action.data).pipe(\r\n map((data) => {\r\n return CustomerActions.updateCustomerSuccess({ data });\r\n }),\r\n catchError((error) =>\r\n of(CustomerActions.updateCustomerFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n updateCustomerSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(CustomerActions.updateCustomerSuccess),\r\n tap((action) => {\r\n const message = `Customer successfully has been saved.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Update,\r\n 5000,\r\n true,\r\n true\r\n );\r\n\r\n this.router.navigate([\"customers\"], { relativeTo: this.route });\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n updateCustomerFailed$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(CustomerActions.updateCustomerFailure),\r\n tap((action) => {\r\n const message = `Customer update failed. Try again later.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Read,\r\n 5000,\r\n true,\r\n false\r\n );\r\n console.log(action.error);\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n deleteCustomer$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(CustomerActions.deleteCustomer),\r\n concatMap((action) =>\r\n this.customersService.deleteCustomer(action.data).pipe(\r\n map((data) => {\r\n return CustomerActions.deleteCustomerSuccess({ data });\r\n }),\r\n catchError((error) =>\r\n of(CustomerActions.deleteCustomerFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n deleteCustomerSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(CustomerActions.deleteCustomerSuccess),\r\n tap((action) => {\r\n const message = `Customer successfully has been deleted.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Delete,\r\n 5000,\r\n true,\r\n false\r\n );\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n constructor(\r\n private actions$: Actions,\r\n private customersService: CustomersService,\r\n private layoutUtilsService: LayoutUtilsService,\r\n private router: Router,\r\n private route: ActivatedRoute\r\n ) {}\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Actions, createEffect, ofType } from \"@ngrx/effects\";\r\nimport { catchError, map, concatMap, tap } from \"rxjs/operators\";\r\nimport { EMPTY, of } from \"rxjs\";\r\n\r\nimport * as DronePilotsActions from \"../actions/drone-pilots.actions\";\r\nimport { DronePilotsService } from \"../../services/drone-pilots.service\";\r\nimport { LayoutUtilsService, MessageType } from \"../../_base/crud\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\n\r\n@Injectable()\r\nexport class DronePilotsEffects {\r\n loadDronePilots$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(DronePilotsActions.loadDronePilots),\r\n concatMap(() =>\r\n this.dronePilotsService.getAllDronePilots().pipe(\r\n map((data) => {\r\n return DronePilotsActions.loadDronePilotsSuccess({ data });\r\n }),\r\n catchError((error) =>\r\n of(DronePilotsActions.loadDronePilotsFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n loadPilotTypes$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(DronePilotsActions.loadPilotTypes),\r\n concatMap(() =>\r\n this.dronePilotsService.getAllPilotTypes().pipe(\r\n map((data) => {\r\n return DronePilotsActions.loadPilotTypesSuccess({ data });\r\n }),\r\n catchError((error) =>\r\n of(DronePilotsActions.loadDronePilotsFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n loadDronePilot$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(DronePilotsActions.loadDronePilot),\r\n concatMap((action) =>\r\n this.dronePilotsService.getPilotById(action.data).pipe(\r\n map((data) => {\r\n return DronePilotsActions.loadDronePilotSuccess({ data });\r\n }),\r\n catchError((error) =>\r\n of(DronePilotsActions.loadDronePilotFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n addDronePilot$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(DronePilotsActions.addDronePilot),\r\n concatMap((action) =>\r\n this.dronePilotsService.addDronePilot(action.data).pipe(\r\n map((data) => {\r\n return DronePilotsActions.addDronePilotSuccess({ data });\r\n }),\r\n catchError((error) =>\r\n of(DronePilotsActions.addDronePilotFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n addDronePilotSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(DronePilotsActions.addDronePilotSuccess),\r\n tap((action) => {\r\n const message = `Drone pilot successfully has been created.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Create,\r\n 5000,\r\n true,\r\n false\r\n );\r\n\r\n this.router.navigate([\"drone-pilots\"], { relativeTo: this.route });\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n addDronePilotFailed$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(DronePilotsActions.addDronePilotFailure),\r\n tap((action) => {\r\n const message = `Drone pilot add failed. Try again later.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Read,\r\n 5000,\r\n true,\r\n false\r\n );\r\n console.log(action.error);\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n updatePilot$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(DronePilotsActions.updateDronePilot),\r\n concatMap((action) =>\r\n this.dronePilotsService.updatePilot(action.data).pipe(\r\n map((data) => {\r\n return DronePilotsActions.updateDronePilotSuccess({ data });\r\n }),\r\n catchError((error) =>\r\n of(DronePilotsActions.updateDronePilotFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n updatePilotSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(DronePilotsActions.updateDronePilotSuccess),\r\n tap((action) => {\r\n const message = `Drone pilot successfully has been saved.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Update,\r\n 5000,\r\n true,\r\n true\r\n );\r\n\r\n this.router.navigate([\"drone-pilots\"], { relativeTo: this.route });\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n deletePilot$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(DronePilotsActions.deleteDronePilot),\r\n concatMap((action) =>\r\n this.dronePilotsService.deletePilot(action.data).pipe(\r\n map((data) => {\r\n return DronePilotsActions.deleteDronePilotSuccess({ data });\r\n }),\r\n catchError((error) =>\r\n of(DronePilotsActions.deleteDronePilotFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n deletePilotSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(DronePilotsActions.deleteDronePilotFailure),\r\n tap((action) => {\r\n const message = `Drone pilot successfully has been deleted.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Delete,\r\n 5000,\r\n true,\r\n false\r\n );\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n constructor(\r\n private actions$: Actions,\r\n private dronePilotsService: DronePilotsService,\r\n private layoutUtilsService: LayoutUtilsService,\r\n private router: Router,\r\n private route: ActivatedRoute\r\n ) {}\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Actions, createEffect, ofType } from \"@ngrx/effects\";\r\nimport { catchError, map, concatMap, tap } from \"rxjs/operators\";\r\nimport { EMPTY, of } from \"rxjs\";\r\n\r\nimport * as DronesActions from \"../actions/drones.actions\";\r\nimport { DronesService } from \"../../services/drones.service\";\r\nimport { props } from \"@ngrx/store\";\r\nimport { LayoutUtilsService, MessageType } from \"../../_base/crud\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\n\r\n@Injectable()\r\nexport class DronesEffects {\r\n loadDrones$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(DronesActions.loadDrones),\r\n concatMap(() =>\r\n this.dronesService.getAllDrones().pipe(\r\n map((data) => {\r\n return DronesActions.loadDronesSuccess({ data });\r\n }),\r\n catchError((error) => \r\n of(DronesActions.loadDronesFailure({ error })\r\n ))\r\n )\r\n )\r\n );\r\n });\r\n\r\n loadDroneModels$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(DronesActions.loadDroneModels),\r\n concatMap(() =>\r\n this.dronesService.getAllModels().pipe(\r\n map((data) => {\r\n return DronesActions.loadDroneModelsSuccess({ data });\r\n }),\r\n catchError((error) => of(DronesActions.loadDroneModelsFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n loadDronePayloads$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(DronesActions.loadDronePayloads),\r\n concatMap(() =>\r\n this.dronesService.getAllPayloads().pipe(\r\n map((data) => {\r\n return DronesActions.loadDronePayloadsSuccess({ data });\r\n }),\r\n catchError((error) => of(DronesActions.loadDronePayloadsFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n loadDrone$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(DronesActions.loadDrone),\r\n concatMap((action) =>\r\n this.dronesService.getDroneById(action.data).pipe(\r\n map((data) => {\r\n return DronesActions.loadDroneSuccess({ data });\r\n }),\r\n catchError((error) => of(DronesActions.loadDroneFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n addDrone$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(DronesActions.addDrone),\r\n concatMap((action) =>\r\n this.dronesService.addDrone(action.data).pipe(\r\n map((data) => {\r\n return DronesActions.addDroneSuccess({ data });\r\n }),\r\n catchError((error) => of(DronesActions.addDroneFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n addDroneSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(DronesActions.addDroneSuccess),\r\n tap((action) => {\r\n const message = `Drone successfully has been created.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Create,\r\n 5000,\r\n true,\r\n false\r\n );\r\n\r\n this.router.navigate([\"drones\"], { relativeTo: this.route });\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n addDroneFailed$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(DronesActions.addDroneFailure),\r\n tap((action) => {\r\n const message = `Drone add failed. Try again later.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Read,\r\n 5000,\r\n true,\r\n false\r\n );\r\n console.log(action.error)\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n updateDrone$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(DronesActions.updateDrone),\r\n concatMap((action) =>\r\n this.dronesService.updateDrone(action.data).pipe(\r\n map((data) => {\r\n return DronesActions.updateDroneSuccess({ data });\r\n }),\r\n catchError((error) => of(DronesActions.updateDroneFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n updateDroneSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(DronesActions.updateDroneSuccess),\r\n tap((action) => {\r\n const message = `Drone successfully has been saved.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Update,\r\n 5000,\r\n true,\r\n true\r\n );\r\n\r\n this.router.navigate([\"drones\"], { relativeTo: this.route });\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n updateDroneFailed$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(DronesActions.updateDroneFailure),\r\n tap((action) => {\r\n const message = `Drone update failed. Try again later.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Read,\r\n 5000,\r\n true,\r\n false\r\n );\r\n console.log(action.error)\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n deleteDrone$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(DronesActions.deleteDrone),\r\n concatMap((action) =>\r\n this.dronesService.deleteDrone(action.data).pipe(\r\n map((data) => {\r\n return DronesActions.deleteDroneSuccess({ data });\r\n }),\r\n catchError((error) => of(DronesActions.deleteDroneFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n deleteDroneSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(DronesActions.deleteDroneSuccess),\r\n tap((action) => {\r\n const message = `Drone successfully has been deleted.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Delete,\r\n 5000,\r\n true,\r\n false\r\n );\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n constructor(\r\n private actions$: Actions,\r\n private dronesService: DronesService,\r\n private layoutUtilsService: LayoutUtilsService,\r\n private router: Router,\r\n private route: ActivatedRoute\r\n ) {}\r\n}\r\n","import { importFieldsFailure } from \"./../actions/field.actions\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Actions, createEffect, ofType } from \"@ngrx/effects\";\r\nimport { catchError, map, concatMap, tap } from \"rxjs/operators\";\r\nimport { EMPTY, of } from \"rxjs\";\r\n\r\nimport * as FieldActions from \"../actions/field.actions\";\r\nimport { MessageType, LayoutUtilsService } from \"../../_base/crud\";\r\nimport { FieldsService } from \"../../services/fields.service\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\n\r\n@Injectable()\r\nexport class FieldEffects {\r\n loadFields$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(FieldActions.loadFields),\r\n concatMap(() =>\r\n this.fieldsService.getAllFields().pipe(\r\n map((data) => {\r\n return FieldActions.loadFieldsSuccess({ data });\r\n }),\r\n catchError((error) => of(FieldActions.loadFieldsFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n loadField$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(FieldActions.loadField),\r\n concatMap((action) =>\r\n this.fieldsService.getFieldById(action.data).pipe(\r\n map((data) => {\r\n return FieldActions.loadFieldSuccess({ data });\r\n }),\r\n catchError((error) => of(FieldActions.loadFieldFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n addField$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(FieldActions.addField),\r\n concatMap((action) =>\r\n this.fieldsService.addField(action.data).pipe(\r\n map((data) => {\r\n return FieldActions.addFieldSuccess({ data });\r\n }),\r\n catchError((error) => of(FieldActions.addFieldFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n addFieldSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(FieldActions.addFieldSuccess),\r\n tap((action) => {\r\n const message = `Field successfully has been created.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Create,\r\n 5000,\r\n true,\r\n false\r\n );\r\n\r\n this.router.navigate([\"fields\"], { relativeTo: this.route });\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n addFieldFailed$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(FieldActions.addFieldFailure),\r\n tap((action) => {\r\n const message = `Field add failed. Try again later.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Read,\r\n 5000,\r\n true,\r\n false\r\n );\r\n console.log(action.error);\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n updateField$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(FieldActions.updateField),\r\n concatMap((action) =>\r\n this.fieldsService.updateField(action.data).pipe(\r\n map((data) => {\r\n return FieldActions.updateFieldSuccess({ data });\r\n }),\r\n catchError((error) => of(FieldActions.updateFieldFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n updateFieldSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(FieldActions.updateFieldSuccess),\r\n tap((action) => {\r\n const message = `Field successfully has been saved.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Update,\r\n 5000,\r\n true,\r\n true\r\n );\r\n\r\n this.router.navigate([\"fields\"], { relativeTo: this.route });\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n updateFieldFailed$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(FieldActions.updateFieldFailure),\r\n tap((action) => {\r\n const message = `Field update failed. Try again later.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Read,\r\n 5000,\r\n true,\r\n false\r\n );\r\n console.log(action.error);\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n deleteField$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(FieldActions.deleteField),\r\n concatMap((action) =>\r\n this.fieldsService.deleteField(action.data).pipe(\r\n map((data) => {\r\n return FieldActions.deleteFieldSuccess({ data });\r\n }),\r\n catchError((error) => of(FieldActions.deleteFieldFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n deleteFieldSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(FieldActions.deleteFieldSuccess),\r\n tap((action) => {\r\n const message = `Field successfully has been deleted.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Delete,\r\n 5000,\r\n true,\r\n false\r\n );\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n importField$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(FieldActions.importFields),\r\n concatMap((action) =>\r\n this.fieldsService.importFields(action.data).pipe(\r\n map((data) => {\r\n return FieldActions.importFieldsSuccess({ data });\r\n }),\r\n catchError((error) => of(FieldActions.importFieldsFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n importFieldsSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(FieldActions.importFieldsSuccess),\r\n tap((action) => {\r\n const message = `Fields imported from server successfully.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Update,\r\n 5000,\r\n true,\r\n true\r\n );\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n constructor(\r\n private actions$: Actions,\r\n private fieldsService: FieldsService,\r\n private layoutUtilsService: LayoutUtilsService,\r\n private router: Router,\r\n private route: ActivatedRoute\r\n ) {}\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Actions, createEffect, ofType } from \"@ngrx/effects\";\r\nimport { catchError, map, concatMap, tap } from \"rxjs/operators\";\r\nimport { EMPTY, of } from \"rxjs\";\r\n\r\nimport * as MaterialActions from \"../actions/material.actions\";\r\nimport { MaterialsService } from \"../../services/materials.service\";\r\nimport { LayoutUtilsService, MessageType } from \"../../_base/crud\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\n\r\n@Injectable()\r\nexport class MaterialEffects {\r\n loadMaterials$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(MaterialActions.loadMaterials),\r\n concatMap(() =>\r\n this.materialsService.getAllMaterials().pipe(\r\n map((data) => {\r\n return MaterialActions.loadMaterialsSuccess({ data });\r\n }),\r\n catchError((error) =>\r\n of(MaterialActions.loadMaterialsFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n loadMaterial$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(MaterialActions.loadMaterial),\r\n concatMap((action) =>\r\n this.materialsService.getMaterialById(action.data).pipe(\r\n map((data) => {\r\n return MaterialActions.loadMaterialSuccess({ data });\r\n }),\r\n catchError((error) =>\r\n of(MaterialActions.loadMaterialFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n addMaterial$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(MaterialActions.addMaterial),\r\n concatMap((action) =>\r\n this.materialsService.addMaterial(action.data).pipe(\r\n map((data) => {\r\n return MaterialActions.addMaterialSuccess({ data });\r\n }),\r\n catchError((error) =>\r\n of(MaterialActions.addMaterialFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n addMaterialSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(MaterialActions.addMaterialSuccess),\r\n tap((action) => {\r\n const message = `Material successfully has been created.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Create,\r\n 5000,\r\n true,\r\n false\r\n );\r\n\r\n this.router.navigate([\"materials\"], { relativeTo: this.route });\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n addMaterialFailed$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(MaterialActions.addMaterialFailure),\r\n tap((action) => {\r\n const message = `Material add failed. Try again later.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Read,\r\n 5000,\r\n true,\r\n false\r\n );\r\n console.log(action.error);\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n updateMaterial$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(MaterialActions.updateMaterial),\r\n concatMap((action) =>\r\n this.materialsService.updateMaterial(action.data).pipe(\r\n map((data) => {\r\n return MaterialActions.updateMaterialSuccess({ data });\r\n }),\r\n catchError((error) =>\r\n of(MaterialActions.updateMaterialFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n updateMaterialSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(MaterialActions.updateMaterialSuccess),\r\n tap((action) => {\r\n const message = `Material successfully has been saved.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Update,\r\n 5000,\r\n true,\r\n true\r\n );\r\n\r\n this.router.navigate([\"materials\"], { relativeTo: this.route });\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n updateMaterialFailed$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(MaterialActions.updateMaterialFailure),\r\n tap((action) => {\r\n const message = `Material update failed. Try again later.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Read,\r\n 5000,\r\n true,\r\n false\r\n );\r\n console.log(action.error);\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n deleteMaterial$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(MaterialActions.deleteMaterial),\r\n concatMap((action) =>\r\n this.materialsService.deleteMaterial(action.data).pipe(\r\n map((data) => {\r\n return MaterialActions.deleteMaterialSuccess({ data });\r\n }),\r\n catchError((error) =>\r\n of(MaterialActions.deleteMaterialFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n deleteMaterialSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(MaterialActions.deleteMaterialSuccess),\r\n tap((action) => {\r\n const message = `Material successfully has been deleted.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Delete,\r\n 5000,\r\n true,\r\n false\r\n );\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n constructor(\r\n private actions$: Actions,\r\n private materialsService: MaterialsService,\r\n private layoutUtilsService: LayoutUtilsService,\r\n private router: Router,\r\n private route: ActivatedRoute\r\n ) {}\r\n}\r\n","import { TasksService } from \"./../../services/tasks.service\";\r\nimport { PilotTasksService } from \"./../../services/pilot-tasks.service\";\r\nimport { currentUser } from \"./../../auth/_selectors/auth.selectors\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Actions, createEffect, ofType } from \"@ngrx/effects\";\r\nimport {\r\n catchError,\r\n map,\r\n concatMap,\r\n withLatestFrom,\r\n filter,\r\n tap,\r\n switchMap,\r\n} from \"rxjs/operators\";\r\nimport { EMPTY, of, pipe } from \"rxjs\";\r\n\r\nimport * as PilotTasksActions from \"../actions/pilot-tasks.actions\";\r\nimport { MessageType, LayoutUtilsService } from \"../../_base/crud\";\r\n\r\n@Injectable()\r\nexport class PilotTasksEffects {\r\n loadPilotTasks$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(PilotTasksActions.loadPilotTasks),\r\n pipe(withLatestFrom(this.store.select(currentUser))),\r\n switchMap(([action, user]) => {\r\n return this.pilotTasksService\r\n .getPilotTasks(user.pilot.pilotId, action.date)\r\n .pipe(\r\n map((result) => {\r\n return PilotTasksActions.loadPilotTasksSuccess({\r\n tasks: result.tasks,\r\n mapTasks: result.mapTasks,\r\n });\r\n }),\r\n catchError((error) =>\r\n of(PilotTasksActions.loadPilotTasksFailure({ error }))\r\n )\r\n );\r\n })\r\n );\r\n });\r\n\r\n loadTaskById$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(PilotTasksActions.loadTaskById),\r\n concatMap((action) =>\r\n this.tasksService.getTaskById(action.taskId).pipe(\r\n map((data) => {\r\n return PilotTasksActions.loadTaskByIdSuccess({ task: data });\r\n }),\r\n catchError((error) =>\r\n of(PilotTasksActions.loadTaskByIdFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n updateTask$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(PilotTasksActions.updateTask),\r\n concatMap((action) =>\r\n this.tasksService.updateTask(action.task).pipe(\r\n map((data) => {\r\n return PilotTasksActions.updateTaskSuccess({ task: action.task });\r\n }),\r\n catchError((error) =>\r\n of(PilotTasksActions.updateTaskFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n updateTaskSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(PilotTasksActions.updateTaskSuccess),\r\n tap((action) => {\r\n const message = \"Task status updated\";\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Update,\r\n 5000,\r\n true,\r\n false\r\n );\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n constructor(\r\n private actions$: Actions,\r\n private store: Store,\r\n private layoutUtilsService: LayoutUtilsService,\r\n private pilotTasksService: PilotTasksService,\r\n private tasksService: TasksService\r\n ) {}\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Actions, createEffect, ofType } from \"@ngrx/effects\";\r\nimport { catchError, map, concatMap, tap } from \"rxjs/operators\";\r\nimport { EMPTY, of } from \"rxjs\";\r\n\r\nimport * as ProtocolActions from \"../actions/protocol.actions\";\r\nimport { MessageType, LayoutUtilsService } from \"../../_base/crud\";\r\nimport { ProtocolsService } from \"../../services/protocols.service\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\n\r\n@Injectable()\r\nexport class ProtocolEffects {\r\n loadProtocols$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(ProtocolActions.loadProtocols),\r\n concatMap(() =>\r\n this.protocolsService.getAllProtocols().pipe(\r\n map((data) => {\r\n return ProtocolActions.loadProtocolsSuccess({ data });\r\n }),\r\n catchError((error) =>\r\n of(ProtocolActions.loadProtocolsFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n loadProtocol$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(ProtocolActions.loadProtocol),\r\n concatMap((action) =>\r\n this.protocolsService.getProtocolById(action.data).pipe(\r\n map((data) => {\r\n return ProtocolActions.loadProtocolSuccess({ data });\r\n }),\r\n catchError((error) =>\r\n of(ProtocolActions.loadProtocolFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n addProtocol$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(ProtocolActions.addProtocol),\r\n concatMap((action) =>\r\n this.protocolsService.addProtocol(action.data).pipe(\r\n map((data) => {\r\n return ProtocolActions.addProtocolSuccess({ data });\r\n }),\r\n catchError((error) =>\r\n of(ProtocolActions.addProtocolFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n addProtocolSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(ProtocolActions.addProtocolSuccess),\r\n tap((action) => {\r\n const message = `Protocol successfully has been created.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Create,\r\n 5000,\r\n true,\r\n false\r\n );\r\n\r\n this.router.navigate([\"protocols\"], { relativeTo: this.route });\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n addProtocolFailed$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(ProtocolActions.addProtocolFailure),\r\n tap((action) => {\r\n const message = `Protocol add failed. Try again later.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Read,\r\n 5000,\r\n true,\r\n false\r\n );\r\n console.log(action.error);\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n updateProtocol$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(ProtocolActions.updateProtocol),\r\n concatMap((action) =>\r\n this.protocolsService.updateProtocol(action.data).pipe(\r\n map((data) => {\r\n return ProtocolActions.updateProtocolSuccess({ data });\r\n }),\r\n catchError((error) =>\r\n of(ProtocolActions.updateProtocolFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n updateProtocolSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(ProtocolActions.updateProtocolSuccess),\r\n tap((action) => {\r\n const message = `Protocol successfully has been saved.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Update,\r\n 5000,\r\n true,\r\n true\r\n );\r\n\r\n this.router.navigate([\"protocols\"], { relativeTo: this.route });\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n updateProtocolFailed$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(ProtocolActions.updateProtocolFailure),\r\n tap((action) => {\r\n const message = `Protocol update failed. Try again later.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Read,\r\n 5000,\r\n true,\r\n false\r\n );\r\n console.log(action.error);\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n deleteProtocol$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(ProtocolActions.deleteProtocol),\r\n concatMap((action) =>\r\n this.protocolsService.deleteProtocol(action.data).pipe(\r\n map((data) => {\r\n return ProtocolActions.deleteProtocolSuccess({ data });\r\n }),\r\n catchError((error) =>\r\n of(ProtocolActions.deleteProtocolFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n deleteProtocolSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(ProtocolActions.deleteProtocolSuccess),\r\n tap((action) => {\r\n const message = `Protocol successfully has been deleted.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Delete,\r\n 5000,\r\n true,\r\n false\r\n );\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n constructor(\r\n private actions$: Actions,\r\n private protocolsService: ProtocolsService,\r\n private layoutUtilsService: LayoutUtilsService,\r\n private router: Router,\r\n private route: ActivatedRoute\r\n ) {}\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Actions, createEffect, ofType } from \"@ngrx/effects\";\r\nimport {\r\n catchError,\r\n map,\r\n concatMap,\r\n tap,\r\n switchMap,\r\n withLatestFrom,\r\n} from \"rxjs/operators\";\r\nimport { EMPTY, of } from \"rxjs\";\r\n\r\nimport * as TaskActions from \"../actions/task.actions\";\r\nimport { TasksService } from \"../../services/tasks.service\";\r\nimport { LayoutUtilsService, MessageType } from \"../../_base/crud\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport { TaskState } from \"../reducers/task.reducer\";\r\nimport { selectTaskFilterWrapper } from \"../selectors/task.selectors\";\r\nimport { filterControllerTasks } from \"../actions/task.actions\";\r\n\r\n@Injectable()\r\nexport class TaskEffects {\r\n loadTasks$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(TaskActions.loadTasks),\r\n concatMap(() =>\r\n this.tasksService.getAllTasks().pipe(\r\n map((data) => {\r\n return TaskActions.loadTasksSuccess({ data });\r\n }),\r\n catchError((error) => of(TaskActions.loadTasksFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n loadTask$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(TaskActions.loadTask),\r\n concatMap((action) =>\r\n this.tasksService.getTaskById(action.data).pipe(\r\n map((data) => {\r\n return TaskActions.loadTaskSuccess({ data });\r\n }),\r\n catchError((error) => of(TaskActions.loadTaskFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n updateTask$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(TaskActions.updateTask),\r\n concatMap((action) =>\r\n this.tasksService.updateTask(action.task).pipe(\r\n map((data) => {\r\n return TaskActions.updateTaskSuccess({ data: action.task });\r\n }),\r\n catchError((error) => of(TaskActions.updateTaskFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n updateTaskSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(TaskActions.updateTaskSuccess),\r\n tap((action) => {\r\n const message = \"Task updated successfully\";\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Update,\r\n 5000,\r\n true,\r\n false\r\n );\r\n //commented this because it redirects back to planning tool when updating from tasks list\r\n //this.router.navigateByUrl(\"tasks/map\");\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n filterTasks$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(TaskActions.filterTasks),\r\n concatMap((action) =>\r\n this.tasksService.filterTasks(action.data).pipe(\r\n map((data) => {\r\n return TaskActions.filterTasksSuccess({ data });\r\n }),\r\n catchError((error) => of(TaskActions.filterTasksFailed({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n filterTaskSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(TaskActions.filterTasksSuccess),\r\n tap((action) => {\r\n const message = action.data.length + ` tasks filtered`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Read,\r\n 5000,\r\n true,\r\n false\r\n );\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n filterTaskControllerSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(TaskActions.filterControllerTasksSuccess),\r\n tap((action) => {\r\n const message =\r\n action.mapTasks.length +\r\n ` tasks filtered. ` +\r\n action.droneRoutes.length +\r\n ` drone routes filtered`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Read,\r\n 5000,\r\n true,\r\n false\r\n );\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n filterControllerTasks$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(TaskActions.filterControllerTasks),\r\n concatMap((action) =>\r\n this.tasksService.filterControllerTasks(action.data).pipe(\r\n map((data) => {\r\n return TaskActions.filterControllerTasksSuccess({\r\n mapTasks: data.mapTasks,\r\n droneRoutes: data.droneRoutes,\r\n });\r\n }),\r\n catchError((error) =>\r\n of(TaskActions.filterControllerTasksFailed({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n filterCompletedTasksSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(TaskActions.filterCompletedTasksSuccess),\r\n tap((action) => {\r\n const message = action.tasks.length + ` tasks filtered`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Read,\r\n 5000,\r\n true,\r\n false\r\n );\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n filterCompletedTasks$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(TaskActions.filterCompletedTasks),\r\n concatMap((action) =>\r\n this.tasksService.filterCompletedTasks(action.data).pipe(\r\n map((data) => {\r\n return TaskActions.filterCompletedTasksSuccess({ tasks: data });\r\n }),\r\n catchError((error) =>\r\n of(TaskActions.filterCompletedTasksFailed({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n assignTasks$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(TaskActions.assignTasks),\r\n concatMap((action) =>\r\n this.tasksService.assignTasks(action.data).pipe(\r\n map(() => {\r\n return TaskActions.assignTasksSuccess();\r\n }),\r\n catchError((error) => of(TaskActions.assignTasksFailed({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n assignControllerTasks$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(TaskActions.assignControllerTasks),\r\n concatMap((action) =>\r\n this.tasksService.assignControllerTasks(action.data).pipe(\r\n map(() => {\r\n return TaskActions.assignControllerTasksSuccess();\r\n }),\r\n catchError((error) =>\r\n of(TaskActions.assignControllerTasksFailed({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n assignTaskSuccess$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(TaskActions.assignTasksSuccess),\r\n concatMap(() =>\r\n of([]).pipe(\r\n withLatestFrom(this.store$.select(selectTaskFilterWrapper)),\r\n map(([action, filterWrapper]) => {\r\n const message = `Tasks assign successfully`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Read,\r\n 5000,\r\n true,\r\n false\r\n );\r\n\r\n return TaskActions.filterTasks({\r\n data: filterWrapper,\r\n });\r\n })\r\n )\r\n )\r\n )\r\n );\r\n\r\n assignControllerTaskSuccess$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(TaskActions.assignControllerTasksSuccess),\r\n concatMap(() =>\r\n of([]).pipe(\r\n withLatestFrom(this.store$.select(selectTaskFilterWrapper)),\r\n map(([action, filterWrapper]) => {\r\n const message = `Tasks assign successfully`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Read,\r\n 5000,\r\n true,\r\n false\r\n );\r\n\r\n return TaskActions.filterTasks({\r\n data: filterWrapper,\r\n });\r\n })\r\n )\r\n )\r\n )\r\n );\r\n\r\n loadStatuses$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(TaskActions.loadStatuses),\r\n concatMap(() =>\r\n this.tasksService.getStauses().pipe(\r\n map((data) => {\r\n return TaskActions.loadStatusesSuccess({ data });\r\n }),\r\n catchError((error) => of(TaskActions.loadStatusesFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n deleteTask$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(TaskActions.deleteTask),\r\n concatMap((action) =>\r\n this.tasksService.deleteTask(action.data).pipe(\r\n map((data) => {\r\n return TaskActions.deleteTaskSuccess({ data });\r\n }),\r\n catchError((error) => of(TaskActions.deleteTaskFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n deleteTaskSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(TaskActions.deleteTaskSuccess),\r\n tap((action) => {\r\n const message = `Task successfully has been deleted.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Delete,\r\n 5000,\r\n true,\r\n false\r\n );\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n importTasksPreview$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(TaskActions.importTasksPreview),\r\n concatMap((action) =>\r\n this.tasksService.importTasks(action.task, action.file, true).pipe(\r\n map((data) => {\r\n return TaskActions.importTasksPreviewSuccess({ data });\r\n }),\r\n catchError((error) =>\r\n of(TaskActions.importTasksPreviewFailure({ error }))\r\n )\r\n )\r\n )\r\n );\r\n });\r\n\r\n importTasks$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(TaskActions.importTasks),\r\n concatMap((action) =>\r\n this.tasksService.importTasks(action.task, action.file).pipe(\r\n map((data) => {\r\n return TaskActions.importTasksSuccess({ data });\r\n }),\r\n catchError((error) => of(TaskActions.importTasksFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n importTasksSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(TaskActions.importTasksSuccess),\r\n tap((action) => {\r\n const message = `Task successfully has been imported.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Create,\r\n 5000,\r\n true,\r\n false\r\n );\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n constructor(\r\n private actions$: Actions,\r\n private tasksService: TasksService,\r\n private layoutUtilsService: LayoutUtilsService,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private store$: Store\r\n ) {}\r\n}\r\n","import { Store } from \"@ngrx/store\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Actions, createEffect, ofType } from \"@ngrx/effects\";\r\nimport {\r\n catchError,\r\n map,\r\n concatMap,\r\n tap,\r\n withLatestFrom,\r\n filter,\r\n} from \"rxjs/operators\";\r\nimport { EMPTY, of, pipe } from \"rxjs\";\r\n\r\nimport * as UserActions from \"../actions/user.actions\";\r\nimport { MessageType, LayoutUtilsService } from \"../../_base/crud\";\r\nimport { UsersService } from \"../../services/users.service\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { selectRoleTypes } from \"../selectors/user.selectors\";\r\nimport { UserState } from \"../reducers/user.reducer\";\r\n\r\n@Injectable()\r\nexport class UserEffects {\r\n loadUsers$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(UserActions.loadUsers),\r\n concatMap(() =>\r\n this.usersService.getAllUsers().pipe(\r\n map((data) => {\r\n return UserActions.loadUsersSuccess({ data });\r\n }),\r\n catchError((error) => of(UserActions.loadUsersFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n loadUser$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(UserActions.loadUser),\r\n concatMap((action) =>\r\n this.usersService.getUserById(action.data).pipe(\r\n map((data) => {\r\n return UserActions.loadUserSuccess({ data });\r\n }),\r\n catchError((error) => of(UserActions.loadUserFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n loadRoleTypes$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(UserActions.loadRoleTypes),\r\n pipe(\r\n withLatestFrom(this.store.select(selectRoleTypes)),\r\n filter(([action, data]) => data == null)\r\n ),\r\n concatMap(() =>\r\n this.usersService.getAllRoleTypes().pipe(\r\n map((data) => {\r\n return UserActions.loadRoleTypesSuccess({ data });\r\n }),\r\n catchError((error) => of(UserActions.loadRoleTypesFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n addUser$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(UserActions.addUser),\r\n concatMap((action) =>\r\n this.usersService.addUser(action.data).pipe(\r\n map((data) => {\r\n return UserActions.addUserSuccess({ data });\r\n }),\r\n catchError((error) => of(UserActions.addUserFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n addUserSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(UserActions.addUserSuccess),\r\n tap((action) => {\r\n const message = `User successfully has been created.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Create,\r\n 5000,\r\n true,\r\n false\r\n );\r\n\r\n this.router.navigate([\"user-management/users\"], {\r\n relativeTo: this.route,\r\n });\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n addUserFailed$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(UserActions.addUserFailure),\r\n tap((action) => {\r\n const message = `User add failed. Try again later.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Read,\r\n 5000,\r\n true,\r\n false\r\n );\r\n console.log(action.error);\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n updateUser$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(UserActions.updateUser),\r\n concatMap((action) =>\r\n this.usersService.updateUser(action.data).pipe(\r\n map((data) => {\r\n return UserActions.updateUserSuccess({ data });\r\n }),\r\n catchError((error) => of(UserActions.updateUserFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n updateUserSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(UserActions.updateUserSuccess),\r\n tap((action) => {\r\n const message = `User successfully has been saved.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Update,\r\n 5000,\r\n true,\r\n true\r\n );\r\n\r\n this.router.navigate([\"user-management/users\"], {\r\n relativeTo: this.route,\r\n });\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n updateUserFailed$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(UserActions.updateUserFailure),\r\n tap((action) => {\r\n const message = `User update failed. Try again later.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Read,\r\n 5000,\r\n true,\r\n false\r\n );\r\n console.log(action.error);\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n deleteUser$ = createEffect(() => {\r\n return this.actions$.pipe(\r\n ofType(UserActions.deleteUser),\r\n concatMap((action) =>\r\n this.usersService.deleteUser(action.data).pipe(\r\n map((data) => {\r\n return UserActions.deleteUserSuccess({ data });\r\n }),\r\n catchError((error) => of(UserActions.deleteUserFailure({ error })))\r\n )\r\n )\r\n );\r\n });\r\n\r\n deleteUserSuccess$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(UserActions.deleteUserSuccess),\r\n tap((action) => {\r\n const message = `User successfully has been deleted.`;\r\n this.layoutUtilsService.showActionNotification(\r\n message,\r\n MessageType.Delete,\r\n 5000,\r\n true,\r\n false\r\n );\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n constructor(\r\n private actions$: Actions,\r\n private usersService: UsersService,\r\n private layoutUtilsService: LayoutUtilsService,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private store: Store\r\n ) {}\r\n}\r\n","import { Action, createReducer, on } from \"@ngrx/store\";\r\nimport * as AuthActions from \"../actions/auth.actions\";\r\nimport { User } from \"../../auth/_models/user.model\";\r\n\r\nexport const authFeatureKey = \"auth\";\r\n\r\nexport interface AuthState {\r\n loggedIn: boolean;\r\n currentUser: User;\r\n error: any;\r\n loading: boolean;\r\n}\r\n\r\nexport const initialState: AuthState = {\r\n loggedIn: false,\r\n currentUser: null,\r\n error: null,\r\n loading: false,\r\n};\r\n\r\nconst authReducer = createReducer(\r\n initialState,\r\n on(AuthActions.login, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(AuthActions.loginSuccess, (state) => ({\r\n ...state,\r\n loading: false,\r\n loggedIn: true,\r\n })),\r\n on(AuthActions.loginFailure, (state, action) => ({\r\n ...state,\r\n error: action.error,\r\n loading: false,\r\n })),\r\n\r\n on(AuthActions.logout, (state) => ({\r\n ...state,\r\n loggedIn: false,\r\n currentUser: null,\r\n })),\r\n\r\n on(AuthActions.loadUserProfile, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(AuthActions.loadUserProfileSuccess, (state, action) => {\r\n return {\r\n ...state,\r\n currentUser: action.data,\r\n loading: false,\r\n };\r\n }),\r\n on(AuthActions.loadUserProfileFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n }))\r\n);\r\n\r\nexport function reducer(state: AuthState | undefined, action: Action) {\r\n return authReducer(state, action);\r\n}\r\n","import { Action, createReducer, on, State } from \"@ngrx/store\";\r\nimport * as CustomerActions from \"../actions/customer.actions\";\r\nimport { Customer } from \"../../models/customer.model\";\r\nimport { EntityAdapter, createEntityAdapter, EntityState } from \"@ngrx/entity\";\r\n\r\nexport const customerFeatureKey = \"customer\";\r\n\r\nexport interface CustomersState extends EntityState {\r\n loading: boolean;\r\n currentCustomer: Customer;\r\n}\r\n\r\nexport const adapter: EntityAdapter = createEntityAdapter({\r\n selectId: (customer: Customer) => customer.customerId,\r\n});\r\n\r\nexport const initialState: CustomersState = adapter.getInitialState({\r\n loading: false,\r\n currentCustomer: null,\r\n});\r\n\r\nconst customerReducer = createReducer(\r\n initialState,\r\n\r\n on(CustomerActions.loadCustomers, (state) => state),\r\n on(CustomerActions.loadCustomersSuccess, (state, action) => {\r\n return { ...adapter.setAll(action.data, state), loading: false };\r\n }),\r\n on(CustomerActions.loadCustomersFailure, (state, action) => state),\r\n\r\n on(CustomerActions.addCustomer, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(CustomerActions.addCustomerSuccess, (state, action) => {\r\n return { ...adapter.addOne(action.data, state), loading: false };\r\n }),\r\n on(CustomerActions.addCustomerFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(CustomerActions.updateCustomer, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(CustomerActions.updateCustomerSuccess, (state, action) => {\r\n return { ...adapter.updateOne(action.data, state), loading: false };\r\n }),\r\n on(CustomerActions.updateCustomerFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(CustomerActions.deleteCustomer, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(CustomerActions.deleteCustomerSuccess, (state, action) => {\r\n return {\r\n ...adapter.removeOne(action.data.customerId, state),\r\n loading: false,\r\n };\r\n }),\r\n on(CustomerActions.addCustomerFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(CustomerActions.loadCustomer, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(CustomerActions.loadCustomerSuccess, (state, action) => {\r\n return { ...state, currentCustomer: action.data, loading: false };\r\n }),\r\n on(CustomerActions.loadCustomerFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n }))\r\n);\r\n\r\nexport function reducer(state: CustomersState | undefined, action: Action) {\r\n return customerReducer(state, action);\r\n}\r\n\r\nexport const {\r\n selectIds,\r\n selectEntities,\r\n selectAll,\r\n selectTotal,\r\n} = adapter.getSelectors();\r\n","import { Action, createReducer, on } from \"@ngrx/store\";\r\nimport * as DronePilotsActions from \"../actions/drone-pilots.actions\";\r\nimport { EntityAdapter, EntityState, createEntityAdapter } from \"@ngrx/entity\";\r\nimport { DronePilot } from \"../../models/drone-pilot.model\";\r\nimport { PilotType } from \"../../models/pilot-type.model\";\r\n\r\nexport const dronePilotsFeatureKey = \"dronePilots\";\r\n\r\nexport interface DronePilotsState extends EntityState {\r\n loading: boolean;\r\n currentDronePilot: DronePilot;\r\n pilotTypes: PilotType[];\r\n}\r\n\r\nexport const adapter: EntityAdapter = createEntityAdapter<\r\n DronePilot\r\n>({\r\n selectId: (dronePilot: DronePilot) => dronePilot.pilotId,\r\n});\r\n\r\nexport const initialDronePilotState: DronePilotsState = adapter.getInitialState(\r\n {\r\n loading: false,\r\n currentDronePilot: null,\r\n pilotTypes: null,\r\n }\r\n);\r\n\r\nconst dronePilotsReducer = createReducer(\r\n initialDronePilotState,\r\n\r\n on(DronePilotsActions.loadDronePilots, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(DronePilotsActions.loadDronePilotsSuccess, (state, action) => {\r\n return { ...adapter.setAll(action.data, state), loading: false };\r\n }),\r\n on(DronePilotsActions.loadDronePilotsFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(DronePilotsActions.loadPilotTypesSuccess, (state, action) => {\r\n return { ...state, pilotTypes: action.data };\r\n }),\r\n\r\n on(DronePilotsActions.addDronePilot, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(DronePilotsActions.addDronePilotSuccess, (state, action) => {\r\n return { ...adapter.addOne(action.data, state), loading: false };\r\n }),\r\n on(DronePilotsActions.addDronePilotFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(DronePilotsActions.updateDronePilot, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(DronePilotsActions.updateDronePilotSuccess, (state, action) => {\r\n return { ...adapter.updateOne(action.data, state), loading: false };\r\n }),\r\n on(DronePilotsActions.updateDronePilotFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(DronePilotsActions.deleteDronePilot, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(DronePilotsActions.deleteDronePilotSuccess, (state, action) => {\r\n return {\r\n ...adapter.removeOne(action.data.pilotId, state),\r\n loading: false,\r\n };\r\n }),\r\n on(DronePilotsActions.addDronePilotFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(DronePilotsActions.loadDronePilot, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(DronePilotsActions.loadDronePilotSuccess, (state, action) => {\r\n return { ...state, currentDronePilot: action.data, loading: false };\r\n }),\r\n on(DronePilotsActions.loadDronePilotFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n }))\r\n);\r\n\r\nexport function reducer(state: DronePilotsState | undefined, action: Action) {\r\n return dronePilotsReducer(state, action);\r\n}\r\n\r\nexport const {\r\n selectIds,\r\n selectEntities,\r\n selectAll,\r\n selectTotal,\r\n} = adapter.getSelectors();\r\n","//ng generate feature Drones -m ../../views/pages/drones/drones.module.ts --skipTest --group\r\n\r\nimport { Action, createReducer, on } from \"@ngrx/store\";\r\nimport * as DronesActions from \"../actions/drones.actions\";\r\nimport { Drone } from \"../../models/drone.model\";\r\nimport { EntityState, EntityAdapter, createEntityAdapter } from \"@ngrx/entity\";\r\nimport { DroneModel } from '../../models/drone-model.model';\r\nimport { DronePayload } from '../../models/drone-payload.model';\r\n\r\nexport const dronesFeatureKey = \"drones\";\r\n\r\nexport interface DroneState extends EntityState {\r\n loading: boolean;\r\n currentDrone: Drone;\r\n models: DroneModel[];\r\n payloads: DronePayload[];\r\n\r\n}\r\n\r\nexport const adapter: EntityAdapter = createEntityAdapter({\r\n selectId: (drone: Drone) => drone.droneId,\r\n});\r\n\r\nexport const initialDroneState: DroneState = adapter.getInitialState({\r\n loading: false,\r\n currentDrone: null,\r\n models: null,\r\n payloads: null\r\n});\r\n\r\nconst dronesReducer = createReducer(\r\n initialDroneState,\r\n\r\n on(DronesActions.loadDrones, (state) => ({ ...state, loading: true })),\r\n on(DronesActions.loadDronesSuccess, (state, action) => {\r\n return { ...adapter.setAll(action.data, state), loading: false };\r\n }),\r\n on(DronesActions.loadDronesFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(DronesActions.loadDroneModelsSuccess, (state, action) => {\r\n return { ...state, models: action.data };\r\n }),\r\n\r\n on(DronesActions.loadDronePayloadsSuccess, (state, action) => {\r\n return { ...state, payloads: action.data };\r\n }),\r\n\r\n on(DronesActions.loadDrone, (state) => ({ ...state, loading: true })),\r\n on(DronesActions.loadDroneSuccess, (state, action) => {\r\n return { ...state, currentDrone: action.data, loading: false };\r\n }),\r\n on(DronesActions.loadDroneFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(DronesActions.addDrone, (state) => ({ ...state, loading: true })),\r\n on(DronesActions.addDroneSuccess, (state, action) => {\r\n return { ...adapter.addOne(action.data, state), loading: false };\r\n }),\r\n on(DronesActions.addDroneFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(DronesActions.updateDrone, (state) => ({ ...state, loading: true })),\r\n on(DronesActions.updateDroneSuccess, (state, action) => {\r\n return { ...adapter.updateOne(action.data, state), loading: false };\r\n }),\r\n on(DronesActions.updateDroneFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(DronesActions.deleteDrone, (state) => ({ ...state, loading: true })),\r\n on(DronesActions.deleteDroneSuccess, (state, action) => {\r\n return { ...adapter.removeOne(action.data.droneId, state), loading: false };\r\n }),\r\n on(DronesActions.deleteDroneFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n }))\r\n);\r\n\r\nexport function reducer(state: DroneState | undefined, action: Action) {\r\n return dronesReducer(state, action);\r\n}\r\n\r\nexport const {\r\n selectIds,\r\n selectEntities,\r\n selectAll,\r\n selectTotal,\r\n} = adapter.getSelectors();\r\n","import { Action, createReducer, on } from \"@ngrx/store\";\r\nimport * as FieldActions from \"../actions/field.actions\";\r\nimport { Field } from \"../../models/field.model\";\r\nimport { EntityState, EntityAdapter, createEntityAdapter } from \"@ngrx/entity\";\r\n\r\nexport const fieldFeatureKey = \"field\";\r\n\r\nexport interface FieldState extends EntityState {\r\n loading: boolean;\r\n currentField: Field;\r\n}\r\n\r\nexport const adapter: EntityAdapter = createEntityAdapter({\r\n selectId: (field: Field) => field.fieldId,\r\n});\r\n\r\nexport const initialState: FieldState = adapter.getInitialState({\r\n loading: false,\r\n currentField: null,\r\n});\r\n\r\nconst fieldReducer = createReducer(\r\n initialState,\r\n\r\n on(FieldActions.loadFields, (state) => state),\r\n on(FieldActions.loadFieldsSuccess, (state, action) => {\r\n return { ...adapter.setAll(action.data, state), loading: false };\r\n }),\r\n on(FieldActions.loadFieldsFailure, (state, action) => state),\r\n\r\n on(FieldActions.addField, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(FieldActions.addFieldSuccess, (state, action) => {\r\n return { ...adapter.addOne(action.data, state), loading: false };\r\n }),\r\n on(FieldActions.addFieldFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(FieldActions.updateField, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(FieldActions.updateFieldSuccess, (state, action) => {\r\n return { ...adapter.updateOne(action.data, state), loading: false };\r\n }),\r\n on(FieldActions.updateFieldFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(FieldActions.deleteField, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(FieldActions.deleteFieldSuccess, (state, action) => {\r\n return {\r\n ...adapter.removeOne(action.data.fieldId, state),\r\n loading: false,\r\n };\r\n }),\r\n on(FieldActions.addFieldFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(FieldActions.loadField, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(FieldActions.loadFieldSuccess, (state, action) => {\r\n return { ...state, currentField: action.data, loading: false };\r\n }),\r\n on(FieldActions.loadFieldFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(FieldActions.importFields, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(FieldActions.importFieldsSuccess, (state, action) => {\r\n return { ...state, loading: false };\r\n }),\r\n on(FieldActions.loadFieldFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n }))\r\n);\r\n\r\nexport function reducer(state: FieldState | undefined, action: Action) {\r\n return fieldReducer(state, action);\r\n}\r\n\r\nexport const {\r\n selectIds,\r\n selectEntities,\r\n selectAll,\r\n selectTotal,\r\n} = adapter.getSelectors();\r\n","import { Action, createReducer, on } from \"@ngrx/store\";\r\nimport * as MaterialActions from \"../actions/material.actions\";\r\nimport { Material } from \"../../models/material.model\";\r\nimport { EntityAdapter, createEntityAdapter, EntityState } from \"@ngrx/entity\";\r\n\r\nexport const materialFeatureKey = \"material\";\r\n\r\nexport interface MaterialState extends EntityState {\r\n loading: boolean;\r\n currentMaterial: Material;\r\n}\r\n\r\nexport const adapter: EntityAdapter = createEntityAdapter({\r\n selectId: (material: Material) => material.materialId,\r\n});\r\n\r\nexport const initialMaterialState: MaterialState = adapter.getInitialState({\r\n loading: false,\r\n currentMaterial: null,\r\n});\r\n\r\nconst materialReducer = createReducer(\r\n initialMaterialState,\r\n\r\n on(MaterialActions.loadMaterials, (state) => state),\r\n on(MaterialActions.loadMaterialsSuccess, (state, action) => {\r\n return { ...adapter.setAll(action.data, state), loading: false };\r\n }),\r\n on(MaterialActions.loadMaterialsFailure, (state, action) => state),\r\n\r\n on(MaterialActions.addMaterial, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(MaterialActions.addMaterialSuccess, (state, action) => {\r\n return { ...adapter.addOne(action.data, state), loading: false };\r\n }),\r\n on(MaterialActions.addMaterialFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(MaterialActions.updateMaterial, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(MaterialActions.updateMaterialSuccess, (state, action) => {\r\n return { ...adapter.updateOne(action.data, state), loading: false };\r\n }),\r\n on(MaterialActions.updateMaterialFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(MaterialActions.deleteMaterial, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(MaterialActions.deleteMaterialSuccess, (state, action) => {\r\n return {\r\n ...adapter.removeOne(action.data.materialId, state),\r\n loading: false,\r\n };\r\n }),\r\n on(MaterialActions.addMaterialFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(MaterialActions.loadMaterial, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(MaterialActions.loadMaterialSuccess, (state, action) => {\r\n return { ...state, currentMaterial: action.data, loading: false };\r\n }),\r\n on(MaterialActions.loadMaterialFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n }))\r\n);\r\n\r\nexport function reducer(state: MaterialState | undefined, action: Action) {\r\n return materialReducer(state, action);\r\n}\r\n\r\nexport const {\r\n selectIds,\r\n selectEntities,\r\n selectAll,\r\n selectTotal,\r\n} = adapter.getSelectors();\r\n","import { updateTask } from \"./../actions/task.actions\";\r\nimport { Action, createReducer, on } from \"@ngrx/store\";\r\nimport * as PilotTasksActions from \"../actions/pilot-tasks.actions\";\r\nimport { EntityState, EntityAdapter, createEntityAdapter } from \"@ngrx/entity\";\r\nimport { Task } from \"../../models/task.model\";\r\nimport { MapTask } from \"../../models/map-task.model\";\r\n\r\nexport const pilotTasksFeatureKey = \"pilotTasks\";\r\n\r\nexport interface State extends EntityState {\r\n loading: boolean;\r\n currentTask: Task;\r\n mapTasks: MapTask[];\r\n selectedDate: Date;\r\n}\r\n\r\nexport const allTasksAdapter: EntityAdapter = createEntityAdapter({\r\n selectId: (task: Task) => task.taskId,\r\n});\r\n\r\nexport const initialState: State = allTasksAdapter.getInitialState({\r\n loading: false,\r\n currentTask: null,\r\n mapTasks: null,\r\n selectedDate: new Date(),\r\n});\r\n\r\nconst pilotTasksReducer = createReducer(\r\n initialState,\r\n\r\n on(PilotTasksActions.loadPilotTasks, (state, action) => {\r\n return {\r\n ...state,\r\n selectedDate: action.date,\r\n loading: true,\r\n };\r\n }),\r\n on(PilotTasksActions.loadPilotTasksSuccess, (state, action) => {\r\n return {\r\n ...allTasksAdapter.setAll(action.tasks, state),\r\n mapTasks: action.mapTasks,\r\n loading: false,\r\n };\r\n }),\r\n\r\n on(PilotTasksActions.updateTask, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n\r\n on(\r\n PilotTasksActions.loadPilotTasksFailure,\r\n PilotTasksActions.updateTaskFailure,\r\n (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })\r\n ),\r\n on(PilotTasksActions.loadTaskById, (state, action) => ({\r\n ...state,\r\n currentTask: null,\r\n })),\r\n on(PilotTasksActions.loadTaskByIdSuccess, (state, action) => ({\r\n ...state,\r\n currentTask: action.task,\r\n })),\r\n\r\n on(PilotTasksActions.updateTaskSuccess, (state, action) => {\r\n let mapTasks = [...state.mapTasks];\r\n let index = mapTasks.findIndex((m) => m.task.taskId == action.task.taskId);\r\n mapTasks[index] = new MapTask(action.task, false);\r\n\r\n return {\r\n ...allTasksAdapter.updateOne(\r\n { id: action.task.taskId, changes: action.task },\r\n state\r\n ),\r\n mapTasks: mapTasks,\r\n //currentTask: action.task,\r\n loading: false,\r\n };\r\n })\r\n);\r\n\r\nexport function reducer(state: State | undefined, action: Action) {\r\n return pilotTasksReducer(state, action);\r\n}\r\n\r\nexport const {\r\n selectIds,\r\n selectEntities,\r\n selectAll,\r\n selectTotal,\r\n} = allTasksAdapter.getSelectors();\r\n","import { Action, createReducer, on } from \"@ngrx/store\";\r\nimport * as ProtocolActions from \"../actions/protocol.actions\";\r\nimport { EntityState, EntityAdapter, createEntityAdapter } from \"@ngrx/entity\";\r\nimport { Protocol } from \"../../models/protocol.model\";\r\n\r\nexport const protocolFeatureKey = \"protocol\";\r\n\r\nexport interface ProtocolState extends EntityState {\r\n loading: boolean;\r\n currentProtocol: Protocol;\r\n}\r\n\r\nexport const adapter: EntityAdapter = createEntityAdapter({\r\n selectId: (protocol: Protocol) => protocol.protocolId,\r\n});\r\n\r\nexport const initialState: ProtocolState = adapter.getInitialState({\r\n loading: false,\r\n currentProtocol: null,\r\n});\r\n\r\nconst protocolReducer = createReducer(\r\n initialState,\r\n\r\n on(ProtocolActions.loadProtocols, (state) => state),\r\n on(ProtocolActions.loadProtocolsSuccess, (state, action) => {\r\n return { ...adapter.setAll(action.data, state), loading: false };\r\n }),\r\n on(ProtocolActions.loadProtocolsFailure, (state, action) => state),\r\n\r\n on(ProtocolActions.addProtocol, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(ProtocolActions.addProtocolSuccess, (state, action) => {\r\n return { ...adapter.addOne(action.data, state), loading: false };\r\n }),\r\n on(ProtocolActions.addProtocolFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(ProtocolActions.updateProtocol, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(ProtocolActions.updateProtocolSuccess, (state, action) => {\r\n return { ...adapter.updateOne(action.data, state), loading: false };\r\n }),\r\n on(ProtocolActions.updateProtocolFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(ProtocolActions.deleteProtocol, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(ProtocolActions.deleteProtocolSuccess, (state, action) => {\r\n return {\r\n ...adapter.removeOne(action.data.protocolId, state),\r\n loading: false,\r\n };\r\n }),\r\n on(ProtocolActions.addProtocolFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(ProtocolActions.loadProtocol, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(ProtocolActions.loadProtocolSuccess, (state, action) => {\r\n return { ...state, currentProtocol: action.data, loading: false };\r\n }),\r\n on(ProtocolActions.loadProtocolFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n }))\r\n);\r\n\r\nexport function reducer(state: ProtocolState | undefined, action: Action) {\r\n return protocolReducer(state, action);\r\n}\r\n\r\nexport const {\r\n selectIds,\r\n selectEntities,\r\n selectAll,\r\n selectTotal,\r\n} = adapter.getSelectors();\r\n","import { filterControllerTasksFailed } from \"./../actions/task.actions\";\r\nimport { TaskFilterWrapper } from \"./../../models/task-filter-wrapper.model\";\r\nimport { cloneDeep } from \"lodash\";\r\nimport { MapTask } from \"./../../models/map-task.model\";\r\nimport { Action, createReducer, on } from \"@ngrx/store\";\r\nimport * as TaskActions from \"../actions/task.actions\";\r\nimport { Task } from \"../../models/task.model\";\r\nimport { EntityAdapter, createEntityAdapter, EntityState } from \"@ngrx/entity\";\r\nimport { Status } from \"../../models/status.model\";\r\nimport { state } from \"@angular/animations\";\r\nimport { DroneRoute } from \"../../models/drone-route-model\";\r\n\r\nexport const taskFeatureKey = \"task\";\r\n\r\nexport interface TaskState extends EntityState {\r\n loading: boolean;\r\n modalLoading: boolean;\r\n currentTask: Task;\r\n statuses: Status[];\r\n mapTasks: MapTask[];\r\n controllerMapTasks: MapTask[];\r\n droneRoutes: DroneRoute[];\r\n taskFilterWrapper: TaskFilterWrapper;\r\n controllerFilterWrapper: TaskFilterWrapper;\r\n completedTasksFilterWrapper: TaskFilterWrapper;\r\n completedTasks: Task[];\r\n}\r\n\r\nexport const allTasksAdapter: EntityAdapter = createEntityAdapter({\r\n selectId: (task: Task) => task.taskId,\r\n});\r\n\r\nexport const initialTaskState: TaskState = allTasksAdapter.getInitialState({\r\n loading: false,\r\n modalLoading: null,\r\n currentTask: null,\r\n droneRoutes: null,\r\n statuses: null,\r\n mapTasks: null,\r\n controllerMapTasks: null,\r\n taskFilterWrapper: null,\r\n controllerFilterWrapper: null,\r\n completedTasksFilterWrapper: null,\r\n completedTasks: null,\r\n});\r\n\r\nconst taskReducer = createReducer(\r\n initialTaskState,\r\n\r\n on(TaskActions.loadTasks, TaskActions.loadStatuses, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(\r\n TaskActions.loadTasksFailure,\r\n TaskActions.filterCompletedTasksFailed,\r\n TaskActions.loadStatusesFailure,\r\n (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })\r\n ),\r\n\r\n on(TaskActions.loadTasksSuccess, (state, action) => {\r\n return { ...allTasksAdapter.setAll(action.data, state), loading: false };\r\n }),\r\n\r\n on(TaskActions.loadStatusesSuccess, (state, action) => {\r\n return { ...state, statuses: action.data, loading: false };\r\n }),\r\n\r\n on(TaskActions.deleteTask, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(TaskActions.deleteTaskSuccess, (state, action) => {\r\n return {\r\n ...allTasksAdapter.removeOne(action.data.taskId, state),\r\n loading: false,\r\n };\r\n }),\r\n\r\n on(TaskActions.importTasks, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(TaskActions.importTasksSuccess, (state) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n on(TaskActions.importTasksFailure, (state) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(TaskActions.importTasksPreview, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(TaskActions.importTasksPreviewSuccess, (state) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n on(TaskActions.importTasksPreviewFailure, (state) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(TaskActions.assignTasks, TaskActions.assignControllerTasks, (state) => ({\r\n ...state,\r\n modalLoading: true,\r\n })),\r\n on(\r\n TaskActions.assignTasksSuccess,\r\n TaskActions.assignControllerTasksSuccess,\r\n (state) => ({\r\n ...state,\r\n modalLoading: false,\r\n })\r\n ),\r\n on(\r\n TaskActions.assignTasksFailed,\r\n TaskActions.assignControllerTasksFailed,\r\n (state) => ({\r\n ...state,\r\n modalLoading: false,\r\n })\r\n ),\r\n\r\n on(TaskActions.filterTasks, (state, action) => ({\r\n ...state,\r\n loading: true,\r\n taskFilterWrapper: action.data,\r\n })),\r\n on(TaskActions.filterTasksSuccess, (state, action) => {\r\n return { ...state, mapTasks: action.data, loading: false };\r\n }),\r\n on(TaskActions.filterTasksFailed, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(TaskActions.filterControllerTasks, (state, action) => ({\r\n ...state,\r\n loading: true,\r\n controllerFilterWrapper: action.data,\r\n })),\r\n on(TaskActions.filterControllerTasksSuccess, (state, action) => {\r\n return {\r\n ...state,\r\n controllerMapTasks: action.mapTasks,\r\n droneRoutes: action.droneRoutes,\r\n loading: false,\r\n };\r\n }),\r\n on(TaskActions.filterControllerTasksFailed, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(TaskActions.filterCompletedTasks, (state, action) => ({\r\n ...state,\r\n loading: true,\r\n completedTasksFilterWrapper: action.data,\r\n })),\r\n on(TaskActions.filterCompletedTasksSuccess, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n completedTasks: action.tasks,\r\n })),\r\n\r\n on(TaskActions.mapTaskSelected, (state, action) => {\r\n let mapTasks: MapTask[];\r\n if (state.mapTasks) {\r\n mapTasks = [...state.mapTasks];\r\n let updateIndex = mapTasks.findIndex(\r\n (t) => t.task.taskId == action.mapTask.task.taskId\r\n );\r\n\r\n let updated = cloneDeep(action.mapTask);\r\n\r\n updated.isSelected = action.selected;\r\n mapTasks[updateIndex] = updated;\r\n }\r\n return {\r\n ...state,\r\n mapTasks: mapTasks,\r\n };\r\n }),\r\n\r\n on(TaskActions.controllerMapTaskSelected, (state, action) => {\r\n let mapTasks: MapTask[];\r\n if (state.controllerMapTasks) {\r\n mapTasks = [...state.controllerMapTasks];\r\n let updateIndex = mapTasks.findIndex(\r\n (t) => t.task.taskId == action.mapTask.task.taskId\r\n );\r\n\r\n let updated = cloneDeep(action.mapTask);\r\n\r\n updated.isSelected = action.selected;\r\n mapTasks[updateIndex] = updated;\r\n }\r\n return {\r\n ...state,\r\n controllerMapTasks: mapTasks,\r\n };\r\n }),\r\n\r\n on(TaskActions.loadTask, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(TaskActions.loadTaskSuccess, (state, action) => {\r\n return { ...state, currentTask: action.data, loading: false };\r\n }),\r\n on(TaskActions.loadTaskFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n on(TaskActions.updateTask, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(TaskActions.updateTaskSuccess, (state, action) => {\r\n return {\r\n ...allTasksAdapter.updateOne(action.data, state),\r\n currentTask: action.data,\r\n loading: false,\r\n mapTasks: null,\r\n };\r\n }),\r\n on(TaskActions.updateTaskFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n }))\r\n);\r\n\r\nexport function reducer(state: TaskState | undefined, action: Action) {\r\n return taskReducer(state, action);\r\n}\r\n\r\nexport const {\r\n selectIds,\r\n selectEntities,\r\n selectAll,\r\n selectTotal,\r\n} = allTasksAdapter.getSelectors();\r\n","import { RoleType } from \"./../../auth/_models/role-type.model\";\r\nimport { Action, createReducer, on } from \"@ngrx/store\";\r\nimport * as UserActions from \"../actions/user.actions\";\r\nimport { User } from \"../../auth/_models/user.model\";\r\nimport { EntityState, EntityAdapter, createEntityAdapter } from \"@ngrx/entity\";\r\n\r\nexport const userFeatureKey = \"user\";\r\n\r\nexport interface UserState extends EntityState {\r\n loading: boolean;\r\n currentUser: User;\r\n roleTypes: RoleType[];\r\n}\r\n\r\nexport const adapter: EntityAdapter = createEntityAdapter({\r\n selectId: (user: User) => user.userId,\r\n});\r\n\r\nexport const initialState: UserState = adapter.getInitialState({\r\n loading: false,\r\n currentUser: null,\r\n roleTypes: null,\r\n});\r\n\r\nconst userReducer = createReducer(\r\n initialState,\r\n\r\n on(UserActions.loadUsers, (state) => state),\r\n on(UserActions.loadUsersSuccess, (state, action) => {\r\n return { ...adapter.setAll(action.data, state), loading: false };\r\n }),\r\n on(UserActions.loadUsersFailure, (state, action) => state),\r\n\r\n on(UserActions.loadRoleTypesSuccess, (state, action) => {\r\n return { ...state, roleTypes: action.data };\r\n }),\r\n\r\n on(UserActions.addUser, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(UserActions.addUserSuccess, (state, action) => {\r\n return { ...adapter.addOne(action.data, state), loading: false };\r\n }),\r\n on(UserActions.addUserFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(UserActions.updateUser, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(UserActions.updateUserSuccess, (state, action) => {\r\n return { ...adapter.updateOne(action.data, state), loading: false };\r\n }),\r\n on(UserActions.updateUserFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(UserActions.deleteUser, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(UserActions.deleteUserSuccess, (state, action) => {\r\n return {\r\n ...adapter.removeOne(action.data.userId, state),\r\n loading: false,\r\n };\r\n }),\r\n on(UserActions.addUserFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n })),\r\n\r\n on(UserActions.loadUser, (state) => ({\r\n ...state,\r\n loading: true,\r\n })),\r\n on(UserActions.loadUserSuccess, (state, action) => {\r\n return { ...state, currentUser: action.data, loading: false };\r\n }),\r\n on(UserActions.loadUserFailure, (state, action) => ({\r\n ...state,\r\n loading: false,\r\n }))\r\n);\r\n\r\nexport function reducer(state: UserState | undefined, action: Action) {\r\n return userReducer(state, action);\r\n}\r\n\r\nexport const {\r\n selectIds,\r\n selectEntities,\r\n selectAll,\r\n selectTotal,\r\n} = adapter.getSelectors();\r\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport * as fromAuth from '../reducers/auth.reducer';\r\n\r\nexport const selectAuthState = createFeatureSelector(\r\n fromAuth.authFeatureKey\r\n);\r\n\r\nexport const isLoggedIn = createSelector(selectAuthState, auth => auth.loggedIn);\r\n\r\nexport const isLoggedOut = createSelector(isLoggedIn, loggedIn => !loggedIn);\r\n\r\nexport const currentUser = createSelector(selectAuthState, auth => auth.currentUser);\r\n\r\nexport const authError = createSelector(selectAuthState, auth => auth.error);\r\n\r\nexport const authLoading = createSelector(\r\n selectAuthState,\r\n (state) => state.loading\r\n);","import { createFeatureSelector, createSelector, select } from \"@ngrx/store\";\r\nimport * as fromCustomer from \"../reducers/customer.reducer\";\r\nimport { pipe } from \"rxjs\";\r\nimport { skip } from \"rxjs/operators\";\r\n\r\nexport const selectCustomerState = createFeatureSelector<\r\n fromCustomer.CustomersState\r\n>(fromCustomer.customerFeatureKey);\r\n\r\nexport const selectCustomersSelector = createSelector(\r\n selectCustomerState,\r\n fromCustomer.selectAll\r\n);\r\n\r\n//export const selectCustomers = pipe(select(selectCustomersSelector), skip(1));\r\n\r\nexport const selectCustomersLoading = createSelector(\r\n selectCustomerState,\r\n (state) => state.loading\r\n);\r\n\r\nexport const selectCurrentCustomer = createSelector(\r\n selectCustomerState,\r\n (state) => state.currentCustomer\r\n);\r\n\r\nexport const selectCustomerById = (id) =>\r\n createSelector(selectCustomerState, (state) => state.entities[id]);\r\n","import { createFeatureSelector, createSelector, select } from \"@ngrx/store\";\r\nimport * as fromDronePilots from \"../reducers/drone-pilots.reducer\";\r\nimport { pipe } from \"rxjs\";\r\nimport { skip } from \"rxjs/operators\";\r\n\r\nexport const selectDronePilotsState = createFeatureSelector<\r\n fromDronePilots.DronePilotsState\r\n>(fromDronePilots.dronePilotsFeatureKey);\r\n\r\nexport const selectPilotsSelector = createSelector(\r\n selectDronePilotsState,\r\n fromDronePilots.selectAll\r\n);\r\n\r\n//export const selectPilots = pipe(select(selectDronesSelector), skip(1));\r\n\r\nexport const selectPilotsLoading = createSelector(\r\n selectDronePilotsState,\r\n (state) => state.loading\r\n);\r\n\r\nexport const selectPilotTypes = createSelector(\r\n selectDronePilotsState,\r\n (state) => state.pilotTypes\r\n);\r\n\r\nexport const selectCurrentPilot = createSelector(\r\n selectDronePilotsState,\r\n (state) => state.currentDronePilot\r\n);\r\n","import { createFeatureSelector, createSelector, select } from \"@ngrx/store\";\r\nimport * as fromDrones from \"../reducers/drones.reducer\";\r\nimport { pipe } from \"rxjs\";\r\nimport { skip } from \"rxjs/operators\";\r\n\r\nexport const selectDronesState = createFeatureSelector(\r\n fromDrones.dronesFeatureKey\r\n);\r\n\r\nconst selectDronesSelector = createSelector(\r\n selectDronesState,\r\n fromDrones.selectAll\r\n);\r\n\r\nexport const selectDrones = pipe(select(selectDronesSelector), skip(1));\r\n\r\nexport const selectModelsSelector = createSelector(\r\n selectDronesState,\r\n (state) => state.models\r\n);\r\n\r\n\r\nexport const selectPayloadsSelector = createSelector(\r\n selectDronesState,\r\n (state) => state.payloads\r\n);\r\n\r\nexport const selectDronesLoading = createSelector(\r\n selectDronesState,\r\n (state) => state.loading\r\n);\r\n\r\nexport const selectCurrentDrone = createSelector(\r\n selectDronesState,\r\n (state) => state.currentDrone\r\n);\r\n\r\nexport const selectDroneById = (id) =>\r\n createSelector(selectDronesState, (state) => state.entities[id]);\r\n\r\n\r\n","import { createFeatureSelector, createSelector, select } from \"@ngrx/store\";\r\nimport * as fromField from \"../reducers/field.reducer\";\r\nimport { pipe } from \"rxjs\";\r\nimport { skip } from \"rxjs/operators\";\r\n\r\nexport const selectFieldState = createFeatureSelector(\r\n fromField.fieldFeatureKey\r\n);\r\n\r\nexport const selectFieldsSelector = createSelector(\r\n selectFieldState,\r\n fromField.selectAll\r\n);\r\n\r\n//export const selectFields = pipe(select(selectFieldsSelector), skip(1));\r\n\r\nexport const selectFieldsLoading = createSelector(\r\n selectFieldState,\r\n (state) => state.loading\r\n);\r\n\r\nexport const selectCurrentField = createSelector(\r\n selectFieldState,\r\n (state) => state.currentField\r\n);\r\n\r\nexport const selectFieldsByCustomerId = (customerId) =>\r\n createSelector(selectFieldsSelector, (fields) =>\r\n fields.filter((f) => f.customer.customerId == customerId)\r\n );\r\n\r\nexport const selectFieldById = (id) =>\r\n createSelector(selectFieldState, (state) => state.entities[id]);\r\n","import { createFeatureSelector, createSelector, select } from \"@ngrx/store\";\r\nimport * as fromMaterial from \"../reducers/material.reducer\";\r\nimport { pipe } from \"rxjs\";\r\nimport { skip } from \"rxjs/operators\";\r\n\r\nexport const selectMaterialState = createFeatureSelector<\r\n fromMaterial.MaterialState\r\n>(fromMaterial.materialFeatureKey);\r\n\r\nexport const selectMaterialsSelector = createSelector(\r\n selectMaterialState,\r\n fromMaterial.selectAll\r\n);\r\n\r\n//export const selectMaterials = pipe(select(selectMaterialsSelector), skip(1));\r\n\r\nexport const selectMaterialsLoading = createSelector(\r\n selectMaterialState,\r\n (state) => state.loading\r\n);\r\n\r\nexport const selectCurrentMaterial = createSelector(\r\n selectMaterialState,\r\n (state) => state.currentMaterial\r\n);\r\n","import { createFeatureSelector, createSelector, select } from \"@ngrx/store\";\r\nimport * as fromProtocol from \"../reducers/protocol.reducer\";\r\nimport { pipe } from \"rxjs\";\r\nimport { skip } from \"rxjs/operators\";\r\n\r\nexport const selectProtocolState = createFeatureSelector<\r\n fromProtocol.ProtocolState\r\n>(fromProtocol.protocolFeatureKey);\r\n\r\nexport const selectProtocolsSelector = createSelector(\r\n selectProtocolState,\r\n fromProtocol.selectAll\r\n);\r\n\r\n//export const selectProtocols = pipe(select(selectProtocolsSelector), skip(1));\r\n\r\nexport const selectProtocolsLoading = createSelector(\r\n selectProtocolState,\r\n (state) => state.loading\r\n);\r\n\r\nexport const selectCurrentProtocol = createSelector(\r\n selectProtocolState,\r\n (state) => state.currentProtocol\r\n);\r\n","import { createFeatureSelector, createSelector, select } from \"@ngrx/store\";\r\nimport * as fromTask from \"../reducers/task.reducer\";\r\nimport { pipe } from \"rxjs\";\r\nimport { skip } from \"rxjs/operators\";\r\n\r\nexport const selectTaskState = createFeatureSelector(\r\n fromTask.taskFeatureKey\r\n);\r\n\r\nexport const selectTasksSelector = createSelector(\r\n selectTaskState,\r\n fromTask.selectAll\r\n);\r\n\r\n//export const selectTasks = pipe(select(selectTasksSelector), skip(1));\r\n\r\nexport const selectTasksLoading = createSelector(\r\n selectTaskState,\r\n (state) => state.loading\r\n);\r\n\r\nexport const selectTasksModalLoading = createSelector(\r\n selectTaskState,\r\n (state) => state.modalLoading\r\n);\r\n\r\nexport const selectCurrentTask = createSelector(\r\n selectTaskState,\r\n (state) => state.currentTask\r\n);\r\n\r\nexport const selectStatuses = createSelector(\r\n selectTaskState,\r\n (state) => state.statuses\r\n);\r\n\r\nexport const selectMapTasks = createSelector(\r\n selectTaskState,\r\n (state) => state.mapTasks\r\n);\r\n\r\nexport const selectSelectedMapTasks = createSelector(selectTaskState, (state) =>\r\n state.mapTasks?.filter((t) => t.isSelected)\r\n);\r\n\r\nexport const selectControllerMapTasks = createSelector(\r\n selectTaskState,\r\n (state) => state.controllerMapTasks\r\n);\r\n\r\nexport const selectSelectedControllerMapTasks = createSelector(\r\n selectTaskState,\r\n (state) => state.controllerMapTasks?.filter((t) => t.isSelected)\r\n);\r\n\r\nexport const selectTaskFilterWrapper = createSelector(\r\n selectTaskState,\r\n (state) => state.taskFilterWrapper\r\n);\r\n\r\nexport const selectControllerFilterWrapper = createSelector(\r\n selectTaskState,\r\n (state) => state.controllerFilterWrapper\r\n);\r\n\r\nexport const selectDroneRoutes = createSelector(\r\n selectTaskState,\r\n (state) => state.droneRoutes\r\n);\r\n\r\nexport const selectTasksByFieldId = (fieldId) =>\r\n createSelector(selectTasksSelector, (tasks) =>\r\n tasks.filter((t) => t.field.fieldId == fieldId)\r\n );\r\n\r\nexport const selectCompletedTasks = createSelector(\r\n selectTaskState,\r\n (state) => state.completedTasks\r\n);\r\n\r\nexport const selectCompletedTasksFilterWrapper = createSelector(\r\n selectTaskState,\r\n (state) => state.completedTasksFilterWrapper\r\n);\r\n","import { createFeatureSelector, createSelector, select } from \"@ngrx/store\";\r\nimport * as fromUser from \"../reducers/user.reducer\";\r\nimport { pipe } from \"rxjs\";\r\nimport { skip } from \"rxjs/operators\";\r\n\r\nexport const selectUserState = createFeatureSelector(\r\n fromUser.userFeatureKey\r\n);\r\n\r\nconst selectUsersSelector = createSelector(selectUserState, fromUser.selectAll);\r\n\r\nexport const selectUsers = pipe(select(selectUsersSelector), skip(1));\r\n\r\nexport const selectUsersLoading = createSelector(\r\n selectUserState,\r\n (state) => state.loading\r\n);\r\n\r\nexport const selectCurrentUser = createSelector(\r\n selectUserState,\r\n (state) => state.currentUser\r\n);\r\n\r\nexport const selectRoleTypes = createSelector(\r\n selectUserState,\r\n (state) => state.roleTypes\r\n);\r\n","import { MatDialogModule } from \"@angular/material/dialog\";\r\nimport { MatDatepickerModule } from \"@angular/material/datepicker\";\r\nimport { MatCardModule } from \"@angular/material/card\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { MatButtonModule } from \"@angular/material/button\";\r\nimport { MatTooltipModule } from \"@angular/material/tooltip\";\r\nimport { MatMenuModule } from \"@angular/material/menu\";\r\nimport { MatIconModule } from \"@angular/material/icon\";\r\nimport { MatInputModule } from \"@angular/material/input\";\r\nimport { MatSelectModule } from \"@angular/material/select\";\r\nimport { MatProgressBarModule } from \"@angular/material/progress-bar\";\r\nimport { MatCheckboxModule } from \"@angular/material/checkbox\";\r\nimport { MatListModule } from \"@angular/material/list\";\r\nimport { MatExpansionModule } from \"@angular/material/expansion\";\r\nimport { MatSlideToggleModule } from \"@angular/material/slide-toggle\";\r\n\r\n@NgModule({\r\n imports: [\r\n MatButtonModule,\r\n MatTooltipModule,\r\n MatMenuModule,\r\n MatIconModule,\r\n MatSelectModule,\r\n MatInputModule,\r\n MatProgressBarModule,\r\n MatCheckboxModule,\r\n MatCardModule,\r\n MatListModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatExpansionModule,\r\n MatSlideToggleModule,\r\n ],\r\n exports: [\r\n MatButtonModule,\r\n MatTooltipModule,\r\n MatMenuModule,\r\n MatIconModule,\r\n MatSelectModule,\r\n MatInputModule,\r\n MatProgressBarModule,\r\n MatCheckboxModule,\r\n MatCardModule,\r\n MatListModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatExpansionModule,\r\n MatSlideToggleModule,\r\n ],\r\n})\r\nexport class MatCoreModule {}\r\n","\r\n\r\n","import { EntitySelectService } from \"./entity-select.service\";\r\nimport { FormControl } from \"@angular/forms\";\r\nimport { Component, Input, OnInit, Output, EventEmitter } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"kt-entity-select\",\r\n templateUrl: \"./entity-select.component.html\",\r\n styleUrls: [\"./entity-select.component.scss\"],\r\n})\r\nexport class EntitySelectComponent implements OnInit {\r\n // Entity name, used to access api\r\n // *REQUIRED*\r\n @Input() entityName;\r\n\r\n // The dataset to display\r\n // *REQUIRED*\r\n @Input() data;\r\n\r\n // The property to filter by, usually the display property\r\n // *REQUIRED*\r\n @Input() filterBy: string;\r\n\r\n // The id property\r\n // *REQUIRED*\r\n @Input() valueProperty = \"id\";\r\n\r\n // To support being part of a form\r\n @Input() formControl: FormControl = new FormControl();\r\n\r\n // Error string if form is invalid\r\n @Input() error: string;\r\n\r\n @Input() hint = \"Select a entity\";\r\n @Input() placeHolder = \"Enter a value\";\r\n\r\n @Output() valueChanged = new EventEmitter();\r\n\r\n constructor(private service: EntitySelectService) {}\r\n\r\n ngOnInit(): void {\r\n if (!this.entityName) {\r\n throw \"Must supply entityName to EntitySelectComponent\";\r\n }\r\n\r\n this.service.getEntity(this.entityName).subscribe((x) => {\r\n this.data = x;\r\n });\r\n }\r\n}\r\n","import { PartialsModule } from \"./../../partials/partials.module\";\r\nimport { MatCoreModule } from \"./../../../core/utils/mat-core.module\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { EntitySelectComponent } from \"./entity-select.component\";\r\n\r\n@NgModule({\r\n declarations: [EntitySelectComponent],\r\n imports: [CommonModule, PartialsModule],\r\n exports: [EntitySelectComponent],\r\n})\r\nexport class EntitySelectModule {}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { ApiService } from \"src/app/core/services/api.service\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class EntitySelectService {\r\n constructor(private api: ApiService) {}\r\n\r\n getEntity(entityName: string) {\r\n return this.api.get(entityName);\r\n }\r\n}\r\n","
\r\n\t
\r\n
\r\n","// Angular\r\nimport { ChangeDetectorRef, Component, OnDestroy, OnInit, Output } from '@angular/core';\r\n// RxJS\r\nimport { Subscription } from 'rxjs';\r\n// Auth\r\nimport { AuthNotice, AuthNoticeService } from '../../../../core/auth/';\r\n\r\n@Component({\r\n\tselector: 'kt-auth-notice',\r\n\ttemplateUrl: './auth-notice.component.html',\r\n})\r\nexport class AuthNoticeComponent implements OnInit, OnDestroy {\r\n\t@Output() type: any;\r\n\t@Output() message: any = '';\r\n\r\n\t// Private properties\r\n\tprivate subscriptions: Subscription[] = [];\r\n\r\n\t/**\r\n\t * Component Constructure\r\n\t *\r\n\t * @param authNoticeService\r\n\t * @param cdr\r\n\t */\r\n\tconstructor(public authNoticeService: AuthNoticeService, private cdr: ChangeDetectorRef) {\r\n\t}\r\n\r\n\t/*\r\n\t * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n\t/**\r\n\t * On init\r\n\t */\r\n\tngOnInit() {\r\n\t\tthis.subscriptions.push(this.authNoticeService.onNoticeChanged$.subscribe(\r\n\t\t\t(notice: AuthNotice) => {\r\n\t\t\t\tnotice = Object.assign({}, {message: '', type: ''}, notice);\r\n\t\t\t\tthis.message = notice.message;\r\n\t\t\t\tthis.type = notice.type;\r\n\t\t\t\tthis.cdr.markForCheck();\r\n\t\t\t}\r\n\t\t));\r\n\t}\r\n\r\n\t/**\r\n\t * On destroy\r\n\t */\r\n\tngOnDestroy(): void {\r\n\t\tthis.subscriptions.forEach(sb => sb.unsubscribe());\r\n\t}\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 {{ \"AUTH.GENERAL.TITLE\" | translate }} {{ today | date: \"yyyy\" }}\r\n
\r\n
\r\n {{ \"AUTH.GENERAL.CONTACT\" | 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 Don't have an account yet?\r\n \r\n \r\n\r\n {{ \"AUTH.GENERAL.CONTACT\" | translate }}\r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n {{ \"AUTH.GENERAL.TITLE\" | translate }} {{ today | date: \"yyyy\" }}\r\n
\r\n
\r\n {{ \"AUTH.GENERAL.CONTACT\" | translate }}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n","// Angular\r\nimport {\r\n Component,\r\n ElementRef,\r\n OnInit,\r\n Renderer2,\r\n ViewEncapsulation,\r\n} from \"@angular/core\";\r\n// Layout\r\nimport {\r\n LayoutConfigService,\r\n SplashScreenService,\r\n TranslationService,\r\n} from \"../../../core/_base/layout\";\r\n// Auth\r\nimport { AuthNoticeService } from \"../../../core/auth\";\r\n\r\n@Component({\r\n selector: \"kt-auth\",\r\n templateUrl: \"./auth.component.html\",\r\n styleUrls: [\"./auth.component.scss\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class AuthComponent implements OnInit {\r\n // Public properties\r\n today: number = Date.now();\r\n headerLogo: string;\r\n /**\r\n * Component constructor\r\n *\r\n * @param el\r\n * @param render\r\n * @param layoutConfigService: LayoutConfigService\r\n * @param authNoticeService: authNoticeService\r\n * @param translationService: TranslationService\r\n * @param splashScreenService: SplashScreenService\r\n */\r\n constructor(\r\n private el: ElementRef,\r\n private render: Renderer2,\r\n private layoutConfigService: LayoutConfigService,\r\n public authNoticeService: AuthNoticeService,\r\n private translationService: TranslationService,\r\n private splashScreenService: SplashScreenService\r\n ) {}\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * On init\r\n */\r\n ngOnInit(): void {\r\n this.translationService.setLanguage(\r\n this.translationService.getSelectedLanguage()\r\n );\r\n this.headerLogo = this.layoutConfigService.getLogo();\r\n\r\n this.splashScreenService.hide();\r\n }\r\n\r\n /**\r\n * Load CSS for this specific page only, and destroy when navigate away\r\n * @param styleUrl\r\n */\r\n private loadCSS(styleUrl: string) {\r\n return new Promise((resolve, reject) => {\r\n const styleElement = document.createElement(\"link\");\r\n styleElement.href = styleUrl;\r\n styleElement.type = \"text/css\";\r\n styleElement.rel = \"stylesheet\";\r\n styleElement.onload = resolve;\r\n this.render.appendChild(this.el.nativeElement, styleElement);\r\n });\r\n }\r\n}\r\n","// Angular\r\nimport { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\r\n// Material\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\n// Translate\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n// NGRX\r\nimport { StoreModule } from '@ngrx/store';\r\nimport { EffectsModule } from '@ngrx/effects';\r\n// CRUD\r\nimport { InterceptService } from '../../../core/_base/crud/';\r\n// Module components\r\nimport { AuthComponent } from './auth.component';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { RegisterComponent } from './register/register.component';\r\nimport { ForgotPasswordComponent } from './forgot-password/forgot-password.component';\r\nimport { AuthNoticeComponent } from './auth-notice/auth-notice.component';\r\nimport { AuthEffects } from 'src/app/core/store/effects/auth.effects';\r\nimport * as fromAuth from \"../../../core/store/reducers/auth.reducer\";\r\nimport { AuthGuard } from 'src/app/core/auth';\r\n// Auth\r\n\r\nconst routes: Routes = [\r\n\t{\r\n\t\tpath: '',\r\n\t\tcomponent: AuthComponent,\r\n\t\tchildren: [\r\n\t\t\t{\r\n\t\t\t\tpath: '',\r\n\t\t\t\tredirectTo: 'login',\r\n\t\t\t\tpathMatch: 'full'\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: 'login',\r\n\t\t\t\tcomponent: LoginComponent,\r\n\t\t\t\tdata: {returnUrl: window.location.pathname}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: 'register',\r\n\t\t\t\tcomponent: RegisterComponent\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: 'forgot-password',\r\n\t\t\t\tcomponent: ForgotPasswordComponent,\r\n\t\t\t}\r\n\t\t]\r\n\t}\r\n];\r\n\r\n\r\n@NgModule({\r\n\timports: [\r\n\t\tCommonModule,\r\n\t\tFormsModule,\r\n\t\tReactiveFormsModule,\r\n\t\tMatButtonModule,\r\n\t\tRouterModule.forChild(routes),\r\n\t\tMatInputModule,\r\n\t\tMatFormFieldModule,\r\n\t\tMatCheckboxModule,\r\n\t\tTranslateModule.forChild(),\r\n\t\tStoreModule.forFeature(fromAuth.authFeatureKey, fromAuth.reducer),\r\n\t\tEffectsModule.forFeature([AuthEffects])\r\n\t],\r\n\tproviders: [\r\n\t\tInterceptService,\r\n\t\t{\r\n\t\t\tprovide: HTTP_INTERCEPTORS,\r\n\t\t\tuseClass: InterceptService,\r\n\t\t\tmulti: true\r\n\t\t},\r\n\t],\r\n\texports: [AuthComponent],\r\n\tdeclarations: [\r\n\t\tAuthComponent,\r\n\t\tLoginComponent,\r\n\t\tRegisterComponent,\r\n\t\tForgotPasswordComponent,\r\n\t\tAuthNoticeComponent\r\n\t]\r\n})\r\n\r\nexport class AuthModule {\r\n\tstatic forRoot(): ModuleWithProviders {\r\n\t\treturn {\r\n\t\t\tngModule: AuthModule,\r\n\t\t\tproviders: [\t\t\t\r\n\t\t\t\tAuthGuard\r\n\t\t\t]\r\n\t\t};\r\n\t}\r\n}\r\n","\r\n
\r\n\t\r\n\t
\r\n\t\t
\r\n\t\t\t

{{ 'AUTH.FORGOT.TITLE' | translate }}

\r\n\t\t\t

Enter your email to reset your password

\r\n\t\t
\r\n\r\n\t\t\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t{{ 'AUTH.INPUT.EMAIL' | translate }}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ 'AUTH.VALIDATION.REQUIRED_FIELD' | translate }}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ 'AUTH.VALIDATION.INVALID_FIELD' | translate }}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ 'AUTH.VALIDATION.MIN_LENGTH_FIELD' | translate }} 3\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ 'AUTH.VALIDATION.MAX_LENGTH_FIELD' | translate }} 320\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\r\n\t\t\t\t{{ 'AUTH.GENERAL.BACK_BUTTON' | translate }}\r\n\r\n\t\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n
","// Angular\r\nimport { ChangeDetectorRef, Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\n// RxJS\r\nimport { finalize, takeUntil, tap } from 'rxjs/operators';\r\nimport { Subject } from 'rxjs';\r\n// Translate\r\nimport { TranslateService } from '@ngx-translate/core';\r\n// Auth\r\nimport { AuthNoticeService, AuthService } from '../../../../core/auth';\r\n\r\n@Component({\r\n\tselector: 'kt-forgot-password',\r\n\ttemplateUrl: './forgot-password.component.html',\r\n\tencapsulation: ViewEncapsulation.None\r\n})\r\nexport class ForgotPasswordComponent implements OnInit, OnDestroy {\r\n\t// Public params\r\n\tforgotPasswordForm: FormGroup;\r\n\tloading = false;\r\n\terrors: any = [];\r\n\r\n\tprivate unsubscribe: Subject; // Read more: => https://brianflove.com/2016/12/11/anguar-2-unsubscribe-observables/\r\n\r\n\t/**\r\n\t * Component constructor\r\n\t *\r\n\t * @param authService\r\n\t * @param authNoticeService\r\n\t * @param translate\r\n\t * @param router\r\n\t * @param fb\r\n\t * @param cdr\r\n\t */\r\n\tconstructor(\r\n\t\tprivate authService: AuthService,\r\n\t\tpublic authNoticeService: AuthNoticeService,\r\n\t\tprivate translate: TranslateService,\r\n\t\tprivate router: Router,\r\n\t\tprivate fb: FormBuilder,\r\n\t\tprivate cdr: ChangeDetectorRef\r\n\t) {\r\n\t\tthis.unsubscribe = new Subject();\r\n\t}\r\n\r\n\t/**\r\n\t * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n\t */\r\n\r\n\t/**\r\n\t * On init\r\n\t */\r\n\tngOnInit() {\r\n\t\tthis.initRegistrationForm();\r\n\t}\r\n\r\n\t/**\r\n\t * On destroy\r\n\t */\r\n\tngOnDestroy(): void {\r\n\t\tthis.unsubscribe.next();\r\n\t\tthis.unsubscribe.complete();\r\n\t\tthis.loading = false;\r\n\t}\r\n\r\n\t/**\r\n\t * Form initalization\r\n\t * Default params, validators\r\n\t */\r\n\tinitRegistrationForm() {\r\n\t\tthis.forgotPasswordForm = this.fb.group({\r\n\t\t\temail: ['', Validators.compose([\r\n\t\t\t\tValidators.required,\r\n\t\t\t\tValidators.email,\r\n\t\t\t\tValidators.minLength(3),\r\n\t\t\t\tValidators.maxLength(320) // https://stackoverflow.com/questions/386294/what-is-the-maximum-length-of-a-valid-email-address\r\n\t\t\t])\r\n\t\t\t]\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Form Submit\r\n\t */\r\n\tsubmit() {\r\n\t\tconst controls = this.forgotPasswordForm.controls;\r\n\t\t/** check form */\r\n\t\tif (this.forgotPasswordForm.invalid) {\r\n\t\t\tObject.keys(controls).forEach(controlName =>\r\n\t\t\t\tcontrols[controlName].markAsTouched()\r\n\t\t\t);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.loading = true;\r\n\r\n\t\tconst email = controls.email.value;\r\n\t\tthis.authService.requestPassword(email).pipe(\r\n\t\t\ttap(response => {\r\n\t\t\t\tif (response) {\r\n\t\t\t\t\tthis.authNoticeService.setNotice(this.translate.instant('AUTH.FORGOT.SUCCESS'), 'success');\r\n\t\t\t\t\tthis.router.navigateByUrl('/auth/login');\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.authNoticeService.setNotice(this.translate.instant('AUTH.VALIDATION.NOT_FOUND', {name: this.translate.instant('AUTH.INPUT.EMAIL')}), 'danger');\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t\ttakeUntil(this.unsubscribe),\r\n\t\t\tfinalize(() => {\r\n\t\t\t\tthis.loading = false;\r\n\t\t\t\tthis.cdr.markForCheck();\r\n\t\t\t})\r\n\t\t).subscribe();\r\n\t}\r\n\r\n\t/**\r\n\t * Checking control validation\r\n\t *\r\n\t * @param controlName: string => Equals to formControlName\r\n\t * @param validationType: string => Equals to valitors name\r\n\t */\r\n\tisControlHasError(controlName: string, validationType: string): boolean {\r\n\t\tconst control = this.forgotPasswordForm.controls[controlName];\r\n\t\tif (!control) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tconst result =\r\n\t\t\tcontrol.hasError(validationType) &&\r\n\t\t\t(control.dirty || control.touched);\r\n\t\treturn result;\r\n\t}\r\n}\r\n","
\r\n \r\n
\r\n
\r\n

Sign In

\r\n

\r\n Enter your username and password\r\n

\r\n
\r\n\r\n \r\n\r\n \r\n \r\n
\r\n \r\n Username\r\n \r\n \r\n {{ \"AUTH.VALIDATION.REQUIRED_FIELD\" | translate }}\r\n \r\n \r\n {{ \"AUTH.VALIDATION.INVALID_FIELD\" | translate }}\r\n \r\n \r\n {{ \"AUTH.VALIDATION.MIN_LENGTH_FIELD\" | translate }} 3\r\n \r\n \r\n {{ \"AUTH.VALIDATION.MAX_LENGTH_FIELD\" | translate }} 320\r\n \r\n \r\n
\r\n
\r\n \r\n {{ \"AUTH.INPUT.PASSWORD\" | translate }}\r\n \r\n \r\n {{ \"AUTH.VALIDATION.REQUIRED_FIELD\" | translate }}\r\n \r\n \r\n {{ \"AUTH.VALIDATION.MIN_LENGTH_FIELD\" | translate }} 3\r\n \r\n \r\n {{ \"AUTH.VALIDATION.MAX_LENGTH_FIELD\" | translate }} 100\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n {{ \"AUTH.LOGIN.BUTTON\" | translate }}\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n\r\n","// Angular\r\nimport { ChangeDetectorRef, Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\n// RxJS\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { finalize, takeUntil, tap } from 'rxjs/operators';\r\n// Translate\r\nimport { TranslateService } from '@ngx-translate/core';\r\n// Store\r\nimport { Store, select } from '@ngrx/store';\r\nimport { AppState } from '../../../../core/reducers';\r\n// Auth\r\nimport { AuthNoticeService } from '../../../../core/auth';\r\nimport { AuthService } from 'src/app/core/services/auth.service';\r\nimport { login } from 'src/app/core/store/actions/auth.actions';\r\nimport { authLoading, authError } from 'src/app/core/store/selectors/auth.selectors';\r\nimport { untilDestroyed } from 'ngx-take-until-destroy';\r\n\r\n/**\r\n * ! Just example => Should be removed in development\r\n */\r\nconst DEMO_PARAMS = {\r\n\tEMAIL: 'admin@demo.com',\r\n\tPASSWORD: 'demo'\r\n};\r\n\r\n@Component({\r\n\tselector: 'kt-login',\r\n\ttemplateUrl: './login.component.html',\r\n\tencapsulation: ViewEncapsulation.None\r\n})\r\nexport class LoginComponent implements OnInit, OnDestroy {\r\n\t// Public params\r\n\tloginForm: FormGroup;\r\n\tloading = false;\r\n\tisLoggedIn$: Observable;\r\n\terrors: any = [];\r\n\r\n\tprivate unsubscribe: Subject;\r\n\r\n\tprivate returnUrl: any;\r\n\r\n\tconstructor(\r\n\t\tprivate router: Router,\r\n\t\tprivate auth: AuthService,\r\n\t\tprivate authNoticeService: AuthNoticeService,\r\n\t\tprivate translate: TranslateService,\r\n\t\tprivate store: Store,\r\n\t\tprivate fb: FormBuilder,\r\n\t\tprivate cdr: ChangeDetectorRef,\r\n\t\tprivate route: ActivatedRoute\r\n\t) {\r\n\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.initLoginForm();\r\n\r\n\t\t// redirect back to the returnUrl before login\r\n\t\tthis.route.queryParams.subscribe(params => {\r\n\t\t\tthis.returnUrl = params.returnUrl || '/';\r\n\t\t});\r\n\r\n\t\tthis.store.pipe(select(authLoading), untilDestroyed(this)).subscribe(loading => {\r\n\t\t\tthis.loading = loading;\r\n\t\t})\r\n\r\n\t\tthis.store.pipe(select(authError), untilDestroyed(this)).subscribe(error => {\t\t\r\n\t\t\tthis.authNoticeService.setNotice(error, 'danger');\r\n\t\t})\r\n\t}\r\n\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis.authNoticeService.setNotice(null);\r\n\t\tthis.loading = false;\r\n\t}\r\n\r\n\t/**\r\n\t * Form initalization\r\n\t * Default params, validators\r\n\t */\r\n\tinitLoginForm() {\r\n\t\t// demo message to show\r\n\t\t// if (!this.authNoticeService.onNoticeChanged$.getValue()) {\r\n\t\t// \tconst initialNotice = `Use account\r\n\t\t// \t${DEMO_PARAMS.EMAIL} and password\r\n\t\t// \t${DEMO_PARAMS.PASSWORD} to continue.`;\r\n\t\t// \tthis.authNoticeService.setNotice(initialNotice, 'info');\r\n\t\t// }\r\n\r\n\t\tthis.loginForm = this.fb.group({\r\n\t\t\temail: [\"\", Validators.compose([\r\n\t\t\t\tValidators.required,\t\t\t\r\n\t\t\t\tValidators.minLength(3),\r\n\t\t\t\tValidators.maxLength(320) // https://stackoverflow.com/questions/386294/what-is-the-maximum-length-of-a-valid-email-address\r\n\t\t\t])\r\n\t\t\t],\r\n\t\t\tpassword: [\"\", Validators.compose([\r\n\t\t\t\tValidators.required,\r\n\t\t\t\tValidators.minLength(3),\r\n\t\t\t\tValidators.maxLength(100)\r\n\t\t\t])\r\n\t\t\t]\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Form Submit\r\n\t */\r\n\tsubmit() {\r\n\t\tconst controls = this.loginForm.controls;\r\n\t\t/** check form */\r\n\t\tif (this.loginForm.invalid) {\r\n\t\t\tObject.keys(controls).forEach(controlName =>\r\n\t\t\t\tcontrols[controlName].markAsTouched()\r\n\t\t\t);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.loading = true;\r\n\r\n\t\r\n\t\tthis.store.dispatch(login({username: controls.email.value, password: controls.password.value}));\r\n\t\t//this.authNoticeService.setNotice(this.translate.instant('AUTH.VALIDATION.INVALID_LOGIN'), 'danger');\r\n\t}\r\n\r\n\t/**\r\n\t * Checking control validation\r\n\t *\r\n\t * @param controlName: string => Equals to formControlName\r\n\t * @param validationType: string => Equals to valitors name\r\n\t */\r\n\tisControlHasError(controlName: string, validationType: string): boolean {\r\n\t\tconst control = this.loginForm.controls[controlName];\r\n\t\tif (!control) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tconst result = control.hasError(validationType) && (control.dirty || control.touched);\r\n\t\treturn result;\r\n\t}\r\n}\r\n","import { AbstractControl } from '@angular/forms';\r\n\r\nexport class ConfirmPasswordValidator {\r\n\t/**\r\n\t * Check matching password with confirm password\r\n\t * @param control AbstractControl\r\n\t */\r\n\tstatic MatchPassword(control: AbstractControl) {\r\n\t\tconst password = control.get('password').value;\r\n\r\n\t\tconst confirmPassword = control.get('confirmPassword').value;\r\n\r\n\t\tif (password !== confirmPassword) {\r\n\t\t\tcontrol.get('confirmPassword').setErrors({ConfirmPassword: true});\r\n\t\t} else {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t}\r\n}\r\n","
\r\n\t\r\n\t
\r\n\t\t
\r\n\t\t\t

Sign Up

\r\n\t\t\t

Enter your details to create your account

\r\n\t\t
\r\n\r\n\t\t\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\tFullname\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ 'AUTH.VALIDATION.REQUIRED_FIELD' | translate }}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ 'AUTH.VALIDATION.MIN_LENGTH_FIELD' | translate }} 3\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ 'AUTH.VALIDATION.MAX_LENGTH_FIELD' | translate }} 100\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t{{ 'AUTH.INPUT.EMAIL' | translate }}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ 'AUTH.VALIDATION.REQUIRED_FIELD' | translate }}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ 'AUTH.VALIDATION.INVALID_FIELD' | translate }}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ 'AUTH.VALIDATION.MIN_LENGTH_FIELD' | translate }} 3\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ 'AUTH.VALIDATION.MAX_LENGTH_FIELD' | translate }} 320\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\tUsername\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ 'AUTH.VALIDATION.REQUIRED_FIELD' | translate }}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ 'AUTH.VALIDATION.MIN_LENGTH_FIELD' | translate }} 3\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ 'AUTH.VALIDATION.MAX_LENGTH_FIELD' | translate }} 100\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t{{ 'AUTH.INPUT.PASSWORD' | translate }}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ 'AUTH.VALIDATION.REQUIRED_FIELD' | translate }}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ 'AUTH.VALIDATION.MIN_LENGTH_FIELD' | translate }} 3\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ 'AUTH.VALIDATION.MAX_LENGTH_FIELD' | translate }} 100\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t{{ 'AUTH.INPUT.CONFIRM_PASSWORD' | translate }}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ 'AUTH.VALIDATION.REQUIRED_FIELD' | translate }}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ 'AUTH.VALIDATION.MIN_LENGTH_FIELD' | translate }} 3\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ 'AUTH.VALIDATION.MAX_LENGTH_FIELD' | translate }} 100\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tPasssword and ConfirmPassword didn't match.\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\tI agree the terms & conditions\r\n\t\t\t\t\r\n\t\t\t
\r\n\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\tCancel\r\n\t\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t\r\n
","// Angular\r\nimport {\r\n ChangeDetectorRef,\r\n Component,\r\n OnDestroy,\r\n OnInit,\r\n ViewEncapsulation,\r\n} from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\n// RxJS\r\nimport { finalize, takeUntil, tap } from \"rxjs/operators\";\r\n// Translate\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n// NGRX\r\nimport { Store } from \"@ngrx/store\";\r\nimport { AppState } from \"../../../../core/reducers\";\r\n// Auth\r\nimport {\r\n AuthNoticeService,\r\n AuthService,\r\n Register,\r\n User,\r\n} from \"../../../../core/auth/\";\r\nimport { Subject } from \"rxjs\";\r\nimport { ConfirmPasswordValidator } from \"./confirm-password.validator\";\r\n\r\n@Component({\r\n selector: \"kt-register\",\r\n templateUrl: \"./register.component.html\",\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class RegisterComponent implements OnInit, OnDestroy {\r\n registerForm: FormGroup;\r\n loading = false;\r\n errors: any = [];\r\n\r\n private unsubscribe: Subject; // Read more: => https://brianflove.com/2016/12/11/anguar-2-unsubscribe-observables/\r\n\r\n /**\r\n * Component constructor\r\n *\r\n * @param authNoticeService: AuthNoticeService\r\n * @param translate: TranslateService\r\n * @param router: Router\r\n * @param auth: AuthService\r\n * @param store: Store\r\n * @param fb: FormBuilder\r\n * @param cdr\r\n */\r\n constructor(\r\n private authNoticeService: AuthNoticeService,\r\n private translate: TranslateService,\r\n private router: Router,\r\n private auth: AuthService,\r\n private store: Store,\r\n private fb: FormBuilder,\r\n private cdr: ChangeDetectorRef\r\n ) {\r\n this.unsubscribe = new Subject();\r\n }\r\n\r\n /*\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * On init\r\n */\r\n ngOnInit() {\r\n this.initRegisterForm();\r\n }\r\n\r\n /*\r\n * On destroy\r\n */\r\n ngOnDestroy(): void {\r\n this.unsubscribe.next();\r\n this.unsubscribe.complete();\r\n this.loading = false;\r\n }\r\n\r\n /**\r\n * Form initalization\r\n * Default params, validators\r\n */\r\n initRegisterForm() {\r\n this.registerForm = this.fb.group(\r\n {\r\n fullname: [\r\n \"\",\r\n Validators.compose([\r\n Validators.required,\r\n Validators.minLength(3),\r\n Validators.maxLength(100),\r\n ]),\r\n ],\r\n email: [\r\n \"\",\r\n Validators.compose([\r\n Validators.required,\r\n Validators.email,\r\n Validators.minLength(3),\r\n // https://stackoverflow.com/questions/386294/what-is-the-maximum-length-of-a-valid-email-address\r\n Validators.maxLength(320),\r\n ]),\r\n ],\r\n username: [\r\n \"\",\r\n Validators.compose([\r\n Validators.required,\r\n Validators.minLength(3),\r\n Validators.maxLength(100),\r\n ]),\r\n ],\r\n password: [\r\n \"\",\r\n Validators.compose([\r\n Validators.required,\r\n Validators.minLength(3),\r\n Validators.maxLength(100),\r\n ]),\r\n ],\r\n confirmPassword: [\r\n \"\",\r\n Validators.compose([\r\n Validators.required,\r\n Validators.minLength(3),\r\n Validators.maxLength(100),\r\n ]),\r\n ],\r\n agree: [false, Validators.compose([Validators.required])],\r\n },\r\n {\r\n validator: ConfirmPasswordValidator.MatchPassword,\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * Form Submit\r\n */\r\n submit() {\r\n const controls = this.registerForm.controls;\r\n\r\n // check form\r\n if (this.registerForm.invalid) {\r\n Object.keys(controls).forEach((controlName) =>\r\n controls[controlName].markAsTouched()\r\n );\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n\r\n if (!controls.agree.value) {\r\n // you must agree the terms and condition\r\n // checkbox cannot work inside mat-form-field https://github.com/angular/material2/issues/7891\r\n this.authNoticeService.setNotice(\r\n \"You must agree the terms and condition\",\r\n \"danger\"\r\n );\r\n return;\r\n }\r\n\r\n const _user: User = new User();\r\n _user.clear();\r\n _user.email = controls.email.value;\r\n _user.username = controls.username.value;\r\n //_user.fullname = controls.fullname.value;\r\n _user.password = controls.password.value;\r\n _user.roles = [];\r\n this.auth\r\n .register(_user)\r\n .pipe(\r\n tap((user) => {\r\n if (user) {\r\n this.store.dispatch(new Register({ authToken: user.accessToken }));\r\n // pass notice message to the login page\r\n this.authNoticeService.setNotice(\r\n this.translate.instant(\"AUTH.REGISTER.SUCCESS\"),\r\n \"success\"\r\n );\r\n this.router.navigateByUrl(\"/auth/login\");\r\n } else {\r\n this.authNoticeService.setNotice(\r\n this.translate.instant(\"AUTH.VALIDATION.INVALID_LOGIN\"),\r\n \"danger\"\r\n );\r\n }\r\n }),\r\n takeUntil(this.unsubscribe),\r\n finalize(() => {\r\n this.loading = false;\r\n this.cdr.markForCheck();\r\n })\r\n )\r\n .subscribe();\r\n }\r\n\r\n /**\r\n * Checking control validation\r\n *\r\n * @param controlName: string => Equals to formControlName\r\n * @param validationType: string => Equals to valitors name\r\n */\r\n isControlHasError(controlName: string, validationType: string): boolean {\r\n const control = this.registerForm.controls[controlName];\r\n if (!control) {\r\n return false;\r\n }\r\n\r\n const result =\r\n control.hasError(validationType) && (control.dirty || control.touched);\r\n return result;\r\n }\r\n}\r\n","\r\n \r\n\r\n\r\n\r\n \r\n New Customer\r\n \r\n\r\n","import { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { Customer } from \"src/app/core/models/customer.model\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport { LayoutUtilsService, MessageType } from \"src/app/core/_base/crud\";\r\nimport {\r\n selectCustomersLoading,\r\n selectCustomersSelector,\r\n} from \"src/app/core/store/selectors/customer.selectors\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport {\r\n loadCustomers,\r\n deleteCustomer,\r\n} from \"src/app/core/store/actions/customer.actions\";\r\nimport { CustomersState } from \"src/app/core/store/reducers/customer.reducer\";\r\n\r\n@Component({\r\n selector: \"kt-customers-list\",\r\n templateUrl: \"./customers-list.component.html\",\r\n styleUrls: [\"./customers-list.component.scss\"],\r\n})\r\nexport class CustomersListComponent implements OnInit, OnDestroy {\r\n loading;\r\n customers: Customer[];\r\n\r\n constructor(\r\n private store: Store,\r\n private layoutUtilsService: LayoutUtilsService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.store\r\n .pipe(select(selectCustomersLoading), untilDestroyed(this))\r\n .subscribe((loading) => {\r\n this.loading = loading;\r\n });\r\n\r\n this.store\r\n .pipe(select(selectCustomersSelector), untilDestroyed(this))\r\n .subscribe((customers) => {\r\n this.customers = customers;\r\n });\r\n\r\n this.store.dispatch(loadCustomers());\r\n }\r\n\r\n deleteCustomer(_item: Customer) {\r\n const _title = \"Customer Delete\";\r\n const _description = \"Are you sure to permanently delete this customer?\";\r\n const _waitDesciption = \"Customer is deleting...\";\r\n const _deleteMessage = `Customer has been deleted`;\r\n\r\n const dialogRef = this.layoutUtilsService.deleteElement(\r\n _title,\r\n _description,\r\n _waitDesciption\r\n );\r\n dialogRef.afterClosed().subscribe((res) => {\r\n if (!res) {\r\n return;\r\n }\r\n\r\n this.store.dispatch(deleteCustomer({ data: _item }));\r\n this.layoutUtilsService.showActionNotification(\r\n _deleteMessage,\r\n MessageType.Delete\r\n );\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","\r\n\r\n\r\n \r\n create\r\n \r\n\r\n \r\n Fields\r\n \r\n\r\n \r\n delete\r\n \r\n\r\n\r\n\r\n \r\n clear_all\r\n Fetch Selected\r\n \r\n\r\n","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ViewChild,\r\n TemplateRef,\r\n AfterViewInit,\r\n} from \"@angular/core\";\r\nimport { Customer } from \"src/app/core/models/customer.model\";\r\nimport { DatasourceOptions } from \"src/app/core/models/datasource-options.model\";\r\nimport { DataTableColumn } from \"src/app/views/partials/content/general/datatable/datatable.component\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\n\r\n@Component({\r\n selector: \"kt-customers-table\",\r\n templateUrl: \"./customers-table.component.html\",\r\n styleUrls: [\"./customers-table.component.scss\"],\r\n})\r\nexport class CustomersTableComponent implements OnInit, AfterViewInit {\r\n @Input() customers: Customer[];\r\n @Input() loading: boolean;\r\n @Input() datasourceOptions: DatasourceOptions;\r\n @Output() loadData = new EventEmitter();\r\n @Output() deleteCustomer = new EventEmitter();\r\n\r\n @ViewChild(\"actionsTemplate\", { static: false }) actionsTemplate: TemplateRef<\r\n any\r\n >;\r\n\r\n columns: DataTableColumn[];\r\n\r\n constructor(private router: Router, private route: ActivatedRoute) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n this.columns = [\r\n {\r\n serverFieldName: \"name\",\r\n clientFieldName: \"name\",\r\n displayNameKey: \"Name\",\r\n sortable: true,\r\n },\r\n {\r\n serverFieldName: \"phone\",\r\n clientFieldName: \"phone\",\r\n displayNameKey: \"Phone\",\r\n sortable: true,\r\n },\r\n {\r\n serverFieldName: \"email\",\r\n clientFieldName: \"email\",\r\n displayNameKey: \"Email\",\r\n sortable: true,\r\n },\r\n {\r\n clientFieldName: \"actions\",\r\n serverFieldName: \"actions\",\r\n displayNameKey: \"Actions\",\r\n sortable: false,\r\n template: this.actionsTemplate,\r\n },\r\n ];\r\n });\r\n }\r\n\r\n editCustomerClick(customer: Customer) {\r\n this.router.navigate([customer.customerId], { relativeTo: this.route });\r\n }\r\n\r\n goToCustomerFields(customer: Customer) {\r\n this.router.navigateByUrl(\"fields/\" + customer.customerId);\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { RouterModule, Routes } from \"@angular/router\";\r\nimport { CustomersComponent } from \"./customers.component\";\r\nimport { CustomersListComponent } from \"./customers-list/customers-list.component\";\r\nimport { EditCustomerComponent } from \"./edit-customer/edit-customer.component\";\r\nimport { FieldsListComponent } from \"../fields/fields-list/fields-list.component\";\r\nimport { NgxPermissionsGuard } from \"ngx-permissions\";\r\nimport { ModuleGuard } from \"src/app/core/auth\";\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"\",\r\n component: CustomersComponent,\r\n canActivate: [ModuleGuard],\r\n data: {\r\n permissions: {\r\n only: \"Admin\",\r\n redirectTo: \"dashboard\",\r\n },\r\n },\r\n children: [\r\n {\r\n path: \"\",\r\n pathMatch: \"full\",\r\n component: CustomersListComponent,\r\n },\r\n {\r\n path: \":id\",\r\n component: EditCustomerComponent,\r\n },\r\n // {\r\n // path: \"field-list/:id\",\r\n // component: FieldsListComponent,\r\n // },\r\n {\r\n path: \"add\",\r\n component: EditCustomerComponent,\r\n },\r\n ],\r\n },\r\n];\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [CommonModule, RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class CustomersRoutingModule {}\r\n","\r\n
\r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'kt-customers',\r\n templateUrl: './customers.component.html',\r\n styleUrls: ['./customers.component.scss']\r\n})\r\nexport class CustomersComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { CustomersRoutingModule } from \"./customers-routing.module\";\r\nimport { FieldsListComponent } from \"./../fields/fields-list/fields-list.component\";\r\nimport { FieldsModule } from \"./../fields/fields.module\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { CustomersComponent } from \"./customers.component\";\r\nimport { CustomersListComponent } from \"./customers-list/customers-list.component\";\r\nimport { EditCustomerComponent } from \"./edit-customer/edit-customer.component\";\r\nimport { CustomersTableComponent } from \"./customers-list/customers-table/customers-table.component\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { MatCoreModule } from \"src/app/core/utils/mat-core.module\";\r\nimport { HttpClientModule } from \"@angular/common/http\";\r\nimport { PartialsModule } from \"../../partials/partials.module\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { StoreModule } from \"@ngrx/store\";\r\nimport * as fromCustomer from \"../../../core/store/reducers/customer.reducer\";\r\nimport { EffectsModule } from \"@ngrx/effects\";\r\nimport { CustomerEffects } from \"../../../core/store/effects/customer.effects\";\r\nimport { CustomerFieldsComponent } from \"./customers-list/customer-fields/customer-fields.component\";\r\n\r\n@NgModule({\r\n declarations: [\r\n CustomersComponent,\r\n CustomersListComponent,\r\n EditCustomerComponent,\r\n CustomersTableComponent,\r\n CustomerFieldsComponent,\r\n ],\r\n imports: [\r\n MatCoreModule,\r\n CommonModule,\r\n HttpClientModule,\r\n PartialsModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n CustomersRoutingModule,\r\n StoreModule.forFeature(\r\n fromCustomer.customerFeatureKey,\r\n fromCustomer.reducer\r\n ),\r\n EffectsModule.forFeature([CustomerEffects]),\r\n ],\r\n})\r\nexport class CustomersModule {}\r\n","\r\n \r\n \r\n Oh snap! Change a few things up and try submitting again.\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n Name is\r\n required\r\n \r\n Please enter\r\n name\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n phone is\r\n required\r\n \r\n Please enter a valid\r\n phone\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n Email is\r\n required\r\n \r\n Please enter a valid\r\n email\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n\r\n \r\n Save\r\n \r\n\r\n \r\n \r\n Back\r\n \r\n\r\n \r\n\r\n","import { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport {\r\n updateCustomer,\r\n loadCustomer,\r\n addCustomer,\r\n} from \"src/app/core/store/actions/customer.actions\";\r\nimport { Customer } from \"src/app/core/models/customer.model\";\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { Observable } from \"rxjs\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport {\r\n selectCustomersLoading,\r\n selectCurrentCustomer,\r\n} from \"src/app/core/store/selectors/customer.selectors\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport { cloneDeep } from \"lodash\";\r\nimport { CustomersState } from \"src/app/core/store/reducers/customer.reducer\";\r\nimport { RegEx } from \"src/app/core/_base/crud/utils/regex-utils\";\r\n\r\n@Component({\r\n selector: \"kt-edit-customer\",\r\n templateUrl: \"./edit-customer.component.html\",\r\n styleUrls: [\"./edit-customer.component.scss\"],\r\n})\r\nexport class EditCustomerComponent implements OnInit, OnDestroy {\r\n title = \"Add Customer\";\r\n isEdit = false;\r\n customer: Customer;\r\n customerForm: FormGroup;\r\n hasFormErrors = false;\r\n loading$: Observable;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private store: Store,\r\n private customerFB: FormBuilder\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.loading$ = this.store.pipe(\r\n select(selectCustomersLoading),\r\n untilDestroyed(this)\r\n );\r\n\r\n this.customer = Customer.createEmpty();\r\n\r\n this.store\r\n .pipe(select(selectCurrentCustomer), untilDestroyed(this))\r\n .subscribe((currentCustomer) => {\r\n if (currentCustomer && this.isEdit) {\r\n this.customer = cloneDeep(currentCustomer);\r\n }\r\n\r\n this.createForm();\r\n });\r\n\r\n let customerId = this.route.snapshot.params[\"id\"];\r\n\r\n if (customerId && customerId != \"add\") {\r\n this.isEdit = true;\r\n this.title = \"Edit Customer\";\r\n\r\n this.store.dispatch(loadCustomer({ data: customerId }));\r\n }\r\n }\r\n\r\n createForm() {\r\n this.customerForm = this.customerFB.group({\r\n name: [this.customer.name, Validators.required],\r\n phone: [\r\n this.customer.phone,\r\n [Validators.pattern(new RegExp(RegEx.phone))],\r\n ],\r\n email: [this.customer.email, Validators.email],\r\n });\r\n }\r\n\r\n onSumbit() {\r\n this.hasFormErrors = false;\r\n const controls = this.customerForm.controls;\r\n /** check form */\r\n if (this.customerForm.invalid) {\r\n Object.keys(controls).forEach((controlName) =>\r\n controls[controlName].markAsTouched()\r\n );\r\n\r\n this.hasFormErrors = true;\r\n return;\r\n }\r\n\r\n this.prepareCustomer();\r\n\r\n if (this.isEdit) {\r\n this.store.dispatch(updateCustomer({ data: this.customer }));\r\n } else {\r\n this.store.dispatch(addCustomer({ data: this.customer }));\r\n }\r\n }\r\n\r\n prepareCustomer() {\r\n this.customer.name = this.customerForm.controls.name.value;\r\n this.customer.phone = this.customerForm.controls.phone.value;\r\n this.customer.email = this.customerForm.controls.email.value;\r\n }\r\n\r\n onAlertClose($event) {\r\n this.hasFormErrors = false;\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","\r\n \r\n\r\n\r\n\r\n \r\n New Drone Pilot\r\n \r\n\r\n","import { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { DronePilot } from \"src/app/core/models/drone-pilot.model\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport { LayoutUtilsService, MessageType } from \"src/app/core/_base/crud\";\r\nimport { DronePilotsState } from \"src/app/core/store/reducers/drone-pilots.reducer\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport {\r\n selectPilotsLoading,\r\n selectPilotsSelector,\r\n} from \"src/app/core/store/selectors/drone-pilots.selectors\";\r\nimport {\r\n loadDronePilots,\r\n deleteDronePilot,\r\n loadPilotTypes,\r\n} from \"src/app/core/store/actions/drone-pilots.actions\";\r\n\r\n@Component({\r\n selector: \"kt-drone-pilots-list\",\r\n templateUrl: \"./drone-pilots-list.component.html\",\r\n styleUrls: [\"./drone-pilots-list.component.scss\"],\r\n})\r\nexport class DronePilotsListComponent implements OnInit, OnDestroy {\r\n pilots: DronePilot[];\r\n loading = false;\r\n\r\n constructor(\r\n private store: Store,\r\n private layoutUtilsService: LayoutUtilsService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.store\r\n .pipe(select(selectPilotsLoading), untilDestroyed(this))\r\n .subscribe((loading) => {\r\n this.loading = loading;\r\n });\r\n\r\n this.store\r\n .pipe(select(selectPilotsSelector), untilDestroyed(this))\r\n .subscribe((pilots) => {\r\n this.pilots = pilots;\r\n });\r\n\r\n this.store.dispatch(loadDronePilots());\r\n }\r\n\r\n deletePilot(_item: DronePilot) {\r\n const _title = \"Drone Pilot Delete\";\r\n const _description = \"Are you sure to permanently delete this pilot?\";\r\n const _waitDesciption = \"Drone Pilot is deleting...\";\r\n const _deleteMessage = `Drone Pilot has been deleted`;\r\n\r\n const dialogRef = this.layoutUtilsService.deleteElement(\r\n _title,\r\n _description,\r\n _waitDesciption\r\n );\r\n dialogRef.afterClosed().subscribe((res) => {\r\n if (!res) {\r\n return;\r\n }\r\n\r\n this.store.dispatch(deleteDronePilot({ data: _item }));\r\n this.layoutUtilsService.showActionNotification(\r\n _deleteMessage,\r\n MessageType.Delete\r\n );\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","\r\n\r\n\r\n \r\n create\r\n \r\n\r\n \r\n delete\r\n \r\n\r\n\r\n\r\n {{ row.pilotType.name }}\r\n\r\n\r\n\r\n {{ row.isLicenseGimel ? \"Yes\" : \"No\" }}\r\n\r\n\r\n\r\n {{ row.isLicenseRT ? \"Yes\" : \"No\" }}\r\n\r\n\r\n\r\n \r\n clear_all\r\n Fetch Selected\r\n \r\n\r\n","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ViewChild,\r\n TemplateRef,\r\n AfterViewInit,\r\n} from \"@angular/core\";\r\nimport { DronePilot } from \"src/app/core/models/drone-pilot.model\";\r\nimport { DatasourceOptions } from \"src/app/core/models/datasource-options.model\";\r\nimport { DataTableColumn } from \"src/app/views/partials/content/general/datatable/datatable.component\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\n\r\n@Component({\r\n selector: \"kt-drone-pilots-table\",\r\n templateUrl: \"./drone-pilots-table.component.html\",\r\n styleUrls: [\"./drone-pilots-table.component.scss\"],\r\n})\r\nexport class DronePilotsTableComponent implements OnInit, AfterViewInit {\r\n @Input() pilots: DronePilot[];\r\n @Input() loading: boolean;\r\n @Input() datasourceOptions: DatasourceOptions;\r\n @Output() loadData = new EventEmitter();\r\n @Output() deletePilot = new EventEmitter();\r\n\r\n @ViewChild(\"actionsTemplate\", { static: false }) actionsTemplate: TemplateRef<\r\n any\r\n >;\r\n @ViewChild(\"pilotTypeTemplate\", { static: false })\r\n pilotTypeTemplate: TemplateRef;\r\n\r\n @ViewChild(\"licenseGimelTemplate\", { static: false })\r\n licenseGimelTemplate: TemplateRef;\r\n\r\n @ViewChild(\"licenseRTTemplate\", { static: false })\r\n licenseRtTemplate: TemplateRef;\r\n\r\n columns: DataTableColumn[];\r\n\r\n constructor(private router: Router, private route: ActivatedRoute) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n this.columns = [\r\n {\r\n serverFieldName: \"name\",\r\n clientFieldName: \"name\",\r\n displayNameKey: \"Name\",\r\n sortable: true,\r\n },\r\n {\r\n serverFieldName: \"pilotType\",\r\n clientFieldName: \"pilotType\",\r\n displayNameKey: \"Pilot Type\",\r\n sortable: true,\r\n template: this.pilotTypeTemplate,\r\n },\r\n {\r\n serverFieldName: \"phone\",\r\n clientFieldName: \"phone\",\r\n displayNameKey: \"Phone\",\r\n sortable: true,\r\n },\r\n {\r\n serverFieldName: \"islicenseGimel\",\r\n clientFieldName: \"islicenseGimel\",\r\n displayNameKey: \"License Gimel\",\r\n sortable: true,\r\n template: this.licenseGimelTemplate,\r\n },\r\n {\r\n serverFieldName: \"islicenseRT\",\r\n clientFieldName: \"islicenseRT\",\r\n displayNameKey: \"License RT\",\r\n sortable: true,\r\n template: this.licenseRtTemplate,\r\n },\r\n {\r\n clientFieldName: \"actions\",\r\n serverFieldName: \"actions\",\r\n displayNameKey: \"Actions\",\r\n sortable: false,\r\n template: this.actionsTemplate,\r\n },\r\n ];\r\n });\r\n }\r\n\r\n editPilotClick(pilot: DronePilot) {\r\n this.router.navigate([pilot.pilotId], { relativeTo: this.route });\r\n }\r\n}\r\n","\r\n
\r\n \r\n
\r\n","import { Component, OnInit, ChangeDetectionStrategy } from \"@angular/core\";\r\nimport { loadPilotTypes } from \"src/app/core/store/actions/drone-pilots.actions\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport { DronePilotsState } from \"src/app/core/store/reducers/drone-pilots.reducer\";\r\n\r\n@Component({\r\n selector: \"kt-drone-pilots\",\r\n templateUrl: \"./drone-pilots.component.html\",\r\n styleUrls: [\"./drone-pilots.component.scss\"],\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class DronePilotsComponent implements OnInit {\r\n constructor(private store: Store) {}\r\n\r\n ngOnInit(): void {\r\n this.store.dispatch(loadPilotTypes());\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DronePilotsComponent } from './drone-pilots.component';\r\nimport { EditDronePilotComponent } from './edit-drone-pilot/edit-drone-pilot.component';\r\nimport { DronePilotsTableComponent } from './drone-pilots-list/drone-pilots-table/drone-pilots-table.component';\r\nimport { DronePilotsListComponent } from './drone-pilots-list/drone-pilots-list.component';\r\nimport { MatCoreModule } from 'src/app/core/utils/mat-core.module';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { PartialsModule } from '../../partials/partials.module';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { StoreModule } from '@ngrx/store';\r\nimport * as fromDronePilots from '../../../core/store/reducers/drone-pilots.reducer';\r\nimport { EffectsModule } from '@ngrx/effects';\r\nimport { DronePilotsEffects } from '../../../core/store/effects/drone-pilots.effects';\r\n\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"\",\r\n component: DronePilotsComponent,\r\n children: [\r\n {\r\n path: \"\",\r\n pathMatch: \"full\",\r\n component: DronePilotsListComponent,\r\n },\r\n {\r\n path: \":id\",\r\n component: EditDronePilotComponent,\r\n },\r\n {\r\n path: \"add\",\r\n component: EditDronePilotComponent,\r\n },\r\n ],\r\n },\r\n];\r\n\r\n\r\n@NgModule({\r\n declarations: [DronePilotsComponent, EditDronePilotComponent, DronePilotsTableComponent, DronePilotsListComponent],\r\n imports: [\r\n CommonModule,\r\n MatCoreModule,\r\n CommonModule,\r\n HttpClientModule,\r\n PartialsModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n RouterModule.forChild(routes),\r\n StoreModule.forFeature(fromDronePilots.dronePilotsFeatureKey, fromDronePilots.reducer),\r\n EffectsModule.forFeature([DronePilotsEffects])\r\n ]\r\n})\r\nexport class DronePilotsModule { }\r\n","\r\n \r\n \r\n Oh snap! Change a few things up and try submitting again.\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n Name is\r\n required\r\n \r\n Please enter\r\n name\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n phone is\r\n required\r\n \r\n Please enter a valid\r\n phone\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n {{ type.name }}\r\n \r\n Pilot type is\r\n required\r\n \r\n Please select a\r\n pilot type\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n License Gimel\r\n
\r\n
\r\n License RT\r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n\r\n \r\n Save\r\n \r\n\r\n \r\n \r\n Back\r\n \r\n \r\n\r\n","import { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport { DronePilotsState } from \"src/app/core/store/reducers/drone-pilots.reducer\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { Observable, combineLatest } from \"rxjs\";\r\nimport { PilotType } from \"src/app/core/models/pilot-type.model\";\r\nimport { DronePilot } from \"src/app/core/models/drone-pilot.model\";\r\nimport {\r\n updateDronePilot,\r\n addDronePilot,\r\n loadDronePilot,\r\n loadPilotTypes,\r\n} from \"src/app/core/store/actions/drone-pilots.actions\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport {\r\n selectPilotsLoading,\r\n selectPilotTypes,\r\n selectCurrentPilot,\r\n} from \"src/app/core/store/selectors/drone-pilots.selectors\";\r\nimport * as _ from \"lodash\";\r\nimport { RegEx } from \"src/app/core/_base/crud/utils/regex-utils\";\r\n\r\n@Component({\r\n selector: \"kt-edit-drone-pilot\",\r\n templateUrl: \"./edit-drone-pilot.component.html\",\r\n styleUrls: [\"./edit-drone-pilot.component.scss\"],\r\n})\r\nexport class EditDronePilotComponent implements OnInit, OnDestroy {\r\n title = \"Add Drone Pilot\";\r\n isEdit = false;\r\n pilot: DronePilot;\r\n pilotForm: FormGroup;\r\n hasFormErrors = false;\r\n\r\n pilotTypes: PilotType[];\r\n\r\n loading$: Observable;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private store: Store,\r\n private pilotFB: FormBuilder\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.loading$ = this.store.pipe(\r\n select(selectPilotsLoading),\r\n untilDestroyed(this)\r\n );\r\n\r\n this.pilot = DronePilot.createEmpty();\r\n\r\n combineLatest(\r\n this.store.pipe(select(selectPilotTypes), untilDestroyed(this)),\r\n this.store.pipe(select(selectCurrentPilot), untilDestroyed(this))\r\n ).subscribe(([pilotTypes, currentPilot]) => {\r\n this.pilotTypes = pilotTypes;\r\n\r\n if (currentPilot && this.isEdit) {\r\n this.pilot = _.cloneDeep(currentPilot);\r\n }\r\n\r\n this.createForm();\r\n });\r\n\r\n let pilotId = this.route.snapshot.params[\"id\"];\r\n\r\n if (pilotId && pilotId != \"add\") {\r\n this.isEdit = true;\r\n this.title = \"Edit Drone Pilot\";\r\n\r\n this.store.dispatch(loadDronePilot({ data: pilotId }));\r\n }\r\n }\r\n\r\n createForm() {\r\n this.pilotForm = this.pilotFB.group({\r\n name: [this.pilot.name, Validators.required],\r\n pilotType: [this.pilot.pilotType?.pilotTypeId, Validators.required],\r\n phone: [\r\n this.pilot.phone,\r\n [Validators.required, Validators.pattern(new RegExp(RegEx.phone))],\r\n ],\r\n isLicenseGimel: [this.pilot.isLicenseGimel],\r\n isLicenseRT: [this.pilot.isLicenseRT],\r\n });\r\n }\r\n\r\n onSumbit() {\r\n this.hasFormErrors = false;\r\n const controls = this.pilotForm.controls;\r\n /** check form */\r\n if (this.pilotForm.invalid) {\r\n Object.keys(controls).forEach((controlName) =>\r\n controls[controlName].markAsTouched()\r\n );\r\n\r\n this.hasFormErrors = true;\r\n return;\r\n }\r\n\r\n this.preparePilot();\r\n\r\n if (this.isEdit) {\r\n console.log(\"updating pilot with value:\", this.pilot);\r\n this.store.dispatch(updateDronePilot({ data: this.pilot }));\r\n } else {\r\n console.log(\"adding drone with value:\", this.pilot);\r\n this.store.dispatch(addDronePilot({ data: this.pilot }));\r\n }\r\n }\r\n\r\n preparePilot() {\r\n this.pilot.name = this.pilotForm.controls.name.value;\r\n this.pilot.pilotType = this.pilotTypes.find(\r\n (p) => p.pilotTypeId == this.pilotForm.controls.pilotType.value\r\n );\r\n this.pilot.phone = this.pilotForm.controls.phone.value;\r\n this.pilot.isLicenseGimel = this.pilotForm.controls.isLicenseGimel.value;\r\n this.pilot.isLicenseRT = this.pilotForm.controls.isLicenseRT.value;\r\n }\r\n\r\n onAlertClose($event) {\r\n this.hasFormErrors = false;\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","\r\n \r\n\r\n\r\n\r\n \r\n New Drone\r\n \r\n\r\n","import {\r\n Component,\r\n OnInit,\r\n OnDestroy,\r\n ChangeDetectionStrategy,\r\n} from \"@angular/core\";\r\nimport { AppState } from \"src/app/core/reducers\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport {\r\n loadDrones,\r\n deleteDrone,\r\n} from \"src/app/core/store/actions/drones.actions\";\r\nimport {\r\n DroneState,\r\n selectEntities,\r\n} from \"src/app/core/store/reducers/drones.reducer\";\r\nimport {\r\n selectDrones,\r\n selectDronesLoading,\r\n} from \"src/app/core/store/selectors/drones.selectors\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport { Drone } from \"src/app/core/models/drone.model\";\r\nimport { Router } from \"@angular/router\";\r\nimport { LayoutUtilsService, MessageType } from \"src/app/core/_base/crud\";\r\n\r\n@Component({\r\n selector: \"kt-drones-list\",\r\n templateUrl: \"./drones-list.component.html\",\r\n styleUrls: [\"./drones-list.component.scss\"],\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class DronesListComponent implements OnInit, OnDestroy {\r\n drones: Drone[];\r\n loading = false;\r\n\r\n constructor(\r\n private store: Store,\r\n private layoutUtilsService: LayoutUtilsService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.store\r\n .pipe(select(selectDronesLoading), untilDestroyed(this))\r\n .subscribe((loading) => {\r\n this.loading = loading;\r\n });\r\n\r\n this.store.pipe(selectDrones, untilDestroyed(this)).subscribe((drones) => {\r\n this.drones = drones;\r\n });\r\n\r\n this.store.dispatch(loadDrones());\r\n }\r\n\r\n deleteDrone(_item: Drone) {\r\n const _title = \"Drone Delete\";\r\n const _description = \"Are you sure to permanently delete this drone?\";\r\n const _waitDesciption = \"Drone is deleting...\";\r\n const _deleteMessage = `Drone has been deleted`;\r\n\r\n const dialogRef = this.layoutUtilsService.deleteElement(\r\n _title,\r\n _description,\r\n _waitDesciption\r\n );\r\n dialogRef.afterClosed().subscribe((res) => {\r\n if (!res) {\r\n return;\r\n }\r\n\r\n this.store.dispatch(deleteDrone({ data: _item }));\r\n this.layoutUtilsService.showActionNotification(\r\n _deleteMessage,\r\n MessageType.Delete\r\n );\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","\r\n\r\n\r\n \r\n create\r\n \r\n\r\n \r\n delete\r\n \r\n\r\n\r\n\r\n {{ row.model.name }}\r\n\r\n\r\n\r\n {{ row.payload.name }}\r\n\r\n\r\n\r\n \r\n clear_all\r\n Fetch Selected\r\n \r\n\r\n","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ChangeDetectionStrategy,\r\n ViewChild,\r\n TemplateRef,\r\n AfterViewInit,\r\n} from \"@angular/core\";\r\nimport { Drone } from \"src/app/core/models/drone.model\";\r\nimport { DatasourceOptions } from \"src/app/core/models/datasource-options.model\";\r\nimport { DataTableColumn } from \"src/app/views/partials/content/general/datatable/datatable.component\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\n\r\n@Component({\r\n selector: \"kt-drones-table\",\r\n templateUrl: \"./drones-table.component.html\",\r\n styleUrls: [\"./drones-table.component.scss\"],\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class DronesTableComponent implements OnInit, AfterViewInit {\r\n @Input() drones: Drone[];\r\n @Input() loading: boolean;\r\n @Input() datasourceOptions: DatasourceOptions;\r\n @Output() loadData = new EventEmitter();\r\n @Output() deleteDrone = new EventEmitter();\r\n\r\n @ViewChild(\"actionsTemplate\", { static: false }) actionsTemplate: TemplateRef<\r\n any\r\n >;\r\n @ViewChild(\"modelTemplate\", { static: false }) modelTemplate: TemplateRef<\r\n any\r\n >;\r\n @ViewChild(\"payloadTemplate\", { static: false }) payloadTemplate: TemplateRef<\r\n any\r\n >;\r\n columns: DataTableColumn[];\r\n\r\n constructor(private router: Router, private route: ActivatedRoute) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n this.columns = [\r\n {\r\n serverFieldName: \"tailNumber\",\r\n clientFieldName: \"tailNumber\",\r\n displayNameKey: \"Tail Number\",\r\n sortable: true,\r\n },\r\n {\r\n serverFieldName: \"model\",\r\n clientFieldName: \"model\",\r\n displayNameKey: \"Model\",\r\n sortable: true,\r\n template: this.modelTemplate,\r\n },\r\n {\r\n serverFieldName: \"payload\",\r\n clientFieldName: \"payload\",\r\n displayNameKey: \"Payload\",\r\n template: this.payloadTemplate,\r\n sortable: true,\r\n },\r\n {\r\n serverFieldName: \"blackBoxId\",\r\n clientFieldName: \"blackBoxId\",\r\n displayNameKey: \"Black box Id\",\r\n sortable: true,\r\n },\r\n {\r\n clientFieldName: \"actions\",\r\n serverFieldName: \"actions\",\r\n displayNameKey: \"Actions\",\r\n sortable: false,\r\n template: this.actionsTemplate,\r\n },\r\n ];\r\n });\r\n }\r\n\r\n editDroneClick(drone: Drone) {\r\n this.router.navigate([drone.droneId], { relativeTo: this.route });\r\n }\r\n}\r\n","\r\n
\r\n \r\n
\r\n","import { Component, OnInit, ChangeDetectionStrategy } from \"@angular/core\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport { DroneState } from \"src/app/core/store/reducers/drones.reducer\";\r\nimport {\r\n loadDroneModels,\r\n loadDronePayloads,\r\n} from \"src/app/core/store/actions/drones.actions\";\r\n\r\n@Component({\r\n selector: \"kt-drones\",\r\n templateUrl: \"./drones.component.html\",\r\n styleUrls: [\"./drones.component.scss\"],\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class DronesComponent implements OnInit {\r\n constructor(private store: Store) {}\r\n\r\n ngOnInit(): void {\r\n this.store.dispatch(loadDroneModels());\r\n this.store.dispatch(loadDronePayloads());\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { DronesComponent } from \"./drones.component\";\r\nimport { RouterModule, Routes } from \"@angular/router\";\r\nimport { PartialsModule } from \"../../partials/partials.module\";\r\nimport { HttpClientModule } from \"@angular/common/http\";\r\nimport { DronesListComponent } from \"./drones-list/drones-list.component\";\r\nimport { StoreModule } from \"@ngrx/store\";\r\nimport * as fromDrones from \"../../../core/store/reducers/drones.reducer\";\r\nimport { EffectsModule } from \"@ngrx/effects\";\r\nimport { DronesEffects } from \"../../../core/store/effects/drones.effects\";\r\nimport { DronesTableComponent } from \"./drones-list/drones-table/drones-table.component\";\r\nimport { MatButtonModule } from \"@angular/material/button\";\r\nimport { MatTooltipModule } from \"@angular/material/tooltip\";\r\nimport { MatCoreModule } from \"src/app/core/utils/mat-core.module\";\r\nimport { EditDroneComponent } from \"./edit-drone/edit-drone.component\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { NgxPermissionsGuard } from \"ngx-permissions\";\r\nimport { ModuleGuard } from \"src/app/core/auth\";\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"\",\r\n component: DronesComponent,\r\n canActivate: [ModuleGuard],\r\n data: {\r\n permissions: {\r\n only: \"Admin\",\r\n redirectTo: \"dashboard\",\r\n },\r\n },\r\n children: [\r\n {\r\n path: \"\",\r\n pathMatch: \"full\",\r\n component: DronesListComponent,\r\n },\r\n {\r\n path: \":id\",\r\n component: EditDroneComponent,\r\n },\r\n {\r\n path: \"add\",\r\n component: EditDroneComponent,\r\n },\r\n ],\r\n },\r\n];\r\n\r\n@NgModule({\r\n declarations: [\r\n DronesComponent,\r\n DronesListComponent,\r\n DronesTableComponent,\r\n EditDroneComponent,\r\n ],\r\n imports: [\r\n MatCoreModule,\r\n CommonModule,\r\n HttpClientModule,\r\n PartialsModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n RouterModule.forChild(routes),\r\n StoreModule.forFeature(fromDrones.dronesFeatureKey, fromDrones.reducer),\r\n EffectsModule.forFeature([DronesEffects]),\r\n ],\r\n})\r\nexport class DronesModule {}\r\n","\r\n \r\n \r\n Oh snap! Change a few things up and try submitting again.\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n Tail number is\r\n required\r\n \r\n Please enter\r\n tail number\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n {{ model.name }}\r\n \r\n Model is\r\n required\r\n \r\n Please select a\r\n model\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n {{ payload.name }}\r\n \r\n Payload is\r\n required\r\n \r\n Please select a\r\n payload\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n Tail number is\r\n required\r\n \r\n Please enter\r\n Black box Id\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n\r\n \r\n Save\r\n \r\n\r\n \r\n \r\n Back\r\n \r\n \r\n\r\n","import { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { Drone } from \"src/app/core/models/drone.model\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport { DroneState } from \"src/app/core/store/reducers/drones.reducer\";\r\nimport {\r\n selectDroneById,\r\n selectDronesLoading,\r\n selectCurrentDrone,\r\n selectModelsSelector,\r\n selectPayloadsSelector,\r\n} from \"src/app/core/store/selectors/drones.selectors\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport * as _ from \"lodash\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport {\r\n addDrone,\r\n updateDrone,\r\n loadDrone,\r\n} from \"src/app/core/store/actions/drones.actions\";\r\nimport { Observable, combineLatest, pipe } from \"rxjs\";\r\nimport { filter, zip, debounceTime } from \"rxjs/operators\";\r\nimport { DroneModel } from \"src/app/core/models/drone-model.model\";\r\nimport { DronePayload } from \"src/app/core/models/drone-payload.model\";\r\nimport { cloneDeep } from \"lodash\";\r\n\r\n@Component({\r\n selector: \"kt-edit-drone\",\r\n templateUrl: \"./edit-drone.component.html\",\r\n styleUrls: [\"./edit-drone.component.scss\"],\r\n})\r\nexport class EditDroneComponent implements OnInit, OnDestroy {\r\n title = \"Add Drone\";\r\n isEdit = false;\r\n drone: Drone;\r\n droneForm: FormGroup;\r\n hasFormErrors = false;\r\n\r\n droneModels: DroneModel[];\r\n dronePayloads: DronePayload[];\r\n\r\n loading$: Observable;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private store: Store,\r\n private droneFB: FormBuilder\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.loading$ = this.store.pipe(\r\n select(selectDronesLoading),\r\n untilDestroyed(this)\r\n );\r\n\r\n this.drone = Drone.createEmpty();\r\n\r\n combineLatest(\r\n this.store.pipe(select(selectModelsSelector), untilDestroyed(this)),\r\n this.store.pipe(select(selectPayloadsSelector), untilDestroyed(this)),\r\n this.store.pipe(select(selectCurrentDrone), untilDestroyed(this))\r\n ).subscribe(([models, payloads, currentDrone]) => {\r\n this.droneModels = models;\r\n this.dronePayloads = payloads;\r\n\r\n if (currentDrone && this.isEdit) {\r\n this.drone = cloneDeep(currentDrone);\r\n }\r\n\r\n this.createForm();\r\n });\r\n\r\n let droneId = this.route.snapshot.params[\"id\"];\r\n\r\n if (droneId && droneId != \"add\") {\r\n this.isEdit = true;\r\n this.title = \"Edit Drone\";\r\n\r\n this.store.dispatch(loadDrone({ data: droneId }));\r\n }\r\n }\r\n\r\n createForm() {\r\n this.droneForm = this.droneFB.group({\r\n tailNumber: [this.drone.tailNumber, Validators.required],\r\n payload: [this.drone.payload?.payloadId, Validators.required],\r\n model: [this.drone.model?.modelId, Validators.required],\r\n blackBoxId: [this.drone.blackBoxId, Validators.required],\r\n });\r\n }\r\n\r\n onSumbit() {\r\n this.hasFormErrors = false;\r\n const controls = this.droneForm.controls;\r\n /** check form */\r\n if (this.droneForm.invalid) {\r\n Object.keys(controls).forEach((controlName) =>\r\n controls[controlName].markAsTouched()\r\n );\r\n\r\n this.hasFormErrors = true;\r\n return;\r\n }\r\n\r\n this.prepareDrone();\r\n\r\n if (this.isEdit) {\r\n this.store.dispatch(updateDrone({ data: this.drone }));\r\n } else {\r\n this.store.dispatch(addDrone({ data: this.drone }));\r\n }\r\n }\r\n\r\n prepareDrone() {\r\n this.drone.tailNumber = this.droneForm.controls.tailNumber.value;\r\n this.drone.blackBoxId = this.droneForm.controls.blackBoxId.value;\r\n this.drone.payload = this.dronePayloads.find(\r\n (p) => p.payloadId == this.droneForm.controls.payload.value\r\n );\r\n this.drone.model = this.droneModels.find(\r\n (m) => m.modelId == this.droneForm.controls.model.value\r\n );\r\n }\r\n\r\n onAlertClose($event) {\r\n this.hasFormErrors = false;\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","
\r\n
\r\n
\r\n \r\n \r\n Latitude is\r\n required\r\n \r\n \r\n latitude coordinate\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n Longtitude is\r\n required\r\n \r\n \r\n longtitude coordinate\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n Add\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n delete\r\n \r\n

{{ coor.lat }}, {{ coor.lng }}

\r\n \r\n
\r\n
\r\n
\r\n","import { Coordinate } from \"./../../../../../core/models/coordinate.mode\";\r\nimport { Component, OnInit, Input, Output, EventEmitter } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\n\r\n@Component({\r\n selector: \"kt-coordinates-list\",\r\n templateUrl: \"./coordinates-list.component.html\",\r\n styleUrls: [\"./coordinates-list.component.scss\"],\r\n})\r\nexport class CoordinatesListComponent implements OnInit {\r\n @Input() coordinates: Coordinate[] = [];\r\n @Output() coordinateAdded = new EventEmitter();\r\n coorForm: FormGroup;\r\n\r\n constructor(private coorFb: FormBuilder) {}\r\n\r\n ngOnInit(): void {\r\n this.createForm();\r\n }\r\n\r\n createForm() {\r\n this.coorForm = this.coorFb.group({\r\n lat: [null, Validators.required],\r\n lng: [null, Validators.required],\r\n });\r\n }\r\n\r\n addCoor() {\r\n const controls = this.coorForm.controls;\r\n\r\n if (this.coorForm.invalid) {\r\n Object.keys(controls).forEach((controlName) =>\r\n controls[controlName].markAsTouched()\r\n );\r\n return;\r\n }\r\n\r\n const coor = new Coordinate(controls.lat.value, controls.lng.value);\r\n this.coordinates.push(coor);\r\n\r\n this.coorForm.reset();\r\n\r\n this.coordinateAdded.emit(coor);\r\n }\r\n\r\n deleteCoor(coor) {\r\n this.coordinates.splice(this.coordinates.indexOf(coor), 1);\r\n }\r\n}\r\n","\r\n \r\n \r\n Oh snap! Change a few things up and try submitting again.\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n Plot number is\r\n required\r\n \r\n Please enter a\r\n plot number\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n Crop name is\r\n required\r\n \r\n Please enter\r\n crop name\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n Planting year is\r\n required\r\n \r\n Please enter a valid\r\n planting year\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 MOAG Id numner is\r\n required\r\n \r\n Please enter\r\n MOAG Id number\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n area in square meters is\r\n required\r\n \r\n Please enter\r\n area in square meters\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
{{ date | date:'EEEE d' }}
Time (Hour){{ weatherData[i]?.date[date] || '0' }}
{{ option }}\r\n {{ weatherData[i]?.data[i][option] || '0' }}\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 {{ field?.cropName }}\r\n \r\n
\r\n \r\n \r\n\r\n\r\n\r\n \r\n Save\r\n \r\n\r\n \r\n \r\n Back\r\n \r\n \r\n\r\n","import { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { Field } from \"src/app/core/models/field.model\";\r\nimport {\r\n FormGroup,\r\n FormBuilder,\r\n FormControl,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport { Customer } from \"src/app/core/models/customer.model\";\r\nimport { Observable, ReplaySubject } from \"rxjs\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport { FieldState } from \"src/app/core/store/reducers/field.reducer\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport {\r\n selectFieldsLoading,\r\n selectCurrentField,\r\n} from \"src/app/core/store/selectors/field.selectors\";\r\nimport { RegEx } from \"src/app/core/_base/crud/utils/regex-utils\";\r\nimport { cloneDeep } from \"lodash\";\r\nimport { selectCustomersSelector } from \"src/app/core/store/selectors/customer.selectors\";\r\nimport {\r\n loadField,\r\n updateField,\r\n addField,\r\n} from \"src/app/core/store/actions/field.actions\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { map } from 'rxjs/operators';\r\n\r\nclass WeatherService {\r\n private apiUrl = 'https://api.aksata360.com/api/weather';\r\n\r\n constructor(private http: HttpClient) {}\r\n\r\n getWeatherData(): Observable {\r\n return this.http.get(this.apiUrl);\r\n }\r\n}\r\n\r\n\r\n@Component({\r\n selector: \"kt-edit-field\",\r\n templateUrl: \"./edit-field.component.html\",\r\n styleUrls: [\"./edit-field.component.scss\"],\r\n})\r\nexport class EditFieldComponent implements OnInit, OnDestroy {\r\n title = \"Add Field\";\r\n isEdit = false;\r\n field: Field;\r\n fieldForm: FormGroup;\r\n hasFormErrors = false;\r\n customers: Customer[];\r\n loading$: Observable;\r\n mapCenter;\r\n\r\n //weatherData: any[] = [];\r\n //private weatherService: WeatherService;\r\n\r\n dates: string[] = [];\r\n weatherData: any = {\r\n 'Wind (kt)': {},\r\n 'Gusts (kt)': {},\r\n 'Temperature (°C)': {},\r\n 'Rain (mm)': {},\r\n 'Time (Hour)': {} // For storing times associated with each date\r\n };\r\n maxEntriesPerDate: { [date: string]: number } = {}; // Tracks the max number of entries for each date\r\n\r\n\r\n public customersSelectFormControl: FormControl = new FormControl();\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private store: Store,\r\n private fieldFB: FormBuilder,\r\n private http: HttpClient\r\n\r\n ) {\r\n //this.weatherService = new WeatherService(this.http);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.loading$ = this.store.pipe(\r\n select(selectFieldsLoading),\r\n untilDestroyed(this)\r\n );\r\n\r\n this.field = Field.createEmpty();\r\n this.createForm();\r\n\r\n this.store\r\n .pipe(select(selectCurrentField), untilDestroyed(this))\r\n .subscribe((currentField) => {\r\n if (currentField && this.isEdit) {\r\n this.field = cloneDeep(currentField);\r\n this.createForm();\r\n }\r\n });\r\n\r\n this.store\r\n .pipe(select(selectCustomersSelector), untilDestroyed(this))\r\n .subscribe((c) => {\r\n this.customers = c;\r\n });\r\n\r\n let fieldId = this.route.snapshot.params[\"id\"];\r\n if (fieldId && fieldId != \"add\") {\r\n this.isEdit = true;\r\n this.title = \"Edit Field\";\r\n\r\n this.store.dispatch(loadField({ data: fieldId }));\r\n\r\n this.http.get('https://api.aksata360.com/api/weather?fieldId=' + fieldId).pipe(\r\n map(response => {\r\n const dateEntries: { [date: string]: any[] } = {}; // Temporary storage for processing\r\n\r\n response.forEach(item => {\r\n const [date, time] = item.ts.split('T');\r\n const formattedTime = time.slice(0, 2); // Extract hour and minute\r\n \r\n if (!dateEntries[date]) {\r\n dateEntries[date] = [];\r\n }\r\n\r\n // Push the entire item along with formatted time for later processing\r\n dateEntries[date].push({ ...item, time: formattedTime });\r\n\r\n // Update max entries per date\r\n this.maxEntriesPerDate[date] = Math.max(this.maxEntriesPerDate[date] || 0, dateEntries[date].length);\r\n });\r\n\r\n this.dates = Object.keys(dateEntries).sort();\r\n this.processDataForDisplay(dateEntries);\r\n })\r\n ).subscribe();\r\n \r\n }\r\n }\r\n processDataForDisplay(dateEntries: { [date: string]: any[] }) {\r\n // Process and structure data for display\r\n Object.entries(dateEntries).forEach(([date, entries]) => {\r\n entries.forEach((entry, index) => {\r\n if (!this.weatherData[index]) {\r\n this.weatherData[index] = { date: {}, data: [] }; // Initialize if not already\r\n }\r\n this.weatherData[index].date[date] = entry.time;\r\n\r\n this.weatherData[index].data.push({\r\n 'Wind (kt)': entry['wind_v-surface'],\r\n 'Gusts (kt)': entry['gusts-surface'],\r\n 'Temperature (°C)': entry['temp-surface'],\r\n 'Rain (mm)': entry['past3hconvprecip-surface'],\r\n });\r\n });\r\n });\r\n }\r\n\r\n createForm() {\r\n this.fieldForm = this.fieldFB.group({\r\n cropName: [this.field.cropName, Validators.required],\r\n plotNumber: [this.field.plotNumber, Validators.required],\r\n plantingYear: [this.field.plantingYear],\r\n moagId: [this.field.moagId],\r\n areaSquareMeters: [this.field.areaSquareMeters],\r\n });\r\n\r\n this.fieldForm.addControl(\r\n \"customersSelectFormControl\",\r\n this.customersSelectFormControl\r\n );\r\n this.customersSelectFormControl.setValidators(Validators.required);\r\n if (this.field.customer) {\r\n this.customersSelectFormControl.setValue(this.field.customer.customerId);\r\n }\r\n }\r\n\r\n onSumbit() {\r\n this.hasFormErrors = false;\r\n const controls = this.fieldForm.controls;\r\n /** check form */\r\n if (this.fieldForm.invalid) {\r\n Object.keys(controls).forEach((controlName) =>\r\n controls[controlName].markAsTouched()\r\n );\r\n\r\n this.hasFormErrors = true;\r\n return;\r\n }\r\n\r\n this.prepareField();\r\n\r\n if (this.isEdit) {\r\n this.store.dispatch(updateField({ data: this.field }));\r\n } else {\r\n this.store.dispatch(addField({ data: this.field }));\r\n }\r\n }\r\n\r\n prepareField() {\r\n this.field.cropName = this.fieldForm.controls.cropName.value;\r\n this.field.plotNumber = this.fieldForm.controls.plotNumber.value;\r\n this.field.plantingYear = this.fieldForm.controls.plantingYear.value;\r\n this.field.moagId = this.fieldForm.controls.moagId.value;\r\n this.field.areaSquareMeters = this.fieldForm.controls.areaSquareMeters.value;\r\n this.field.customer = this.customers.find(\r\n (c) => c.customerId == this.customersSelectFormControl.value\r\n );\r\n }\r\n\r\n onAlertClose($event) {\r\n this.hasFormErrors = false;\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","\r\n \r\n \r\n\r\n","import {\r\n Component,\r\n OnInit,\r\n OnChanges,\r\n Input,\r\n TemplateRef,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { Coordinate } from \"src/app/core/models/coordinate.mode\";\r\nimport { Field } from \"src/app/core/models/field.model\";\r\n\r\n@Component({\r\n selector: \"kt-field-map\",\r\n templateUrl: \"./field-map.component.html\",\r\n styleUrls: [\"./field-map.component.scss\"],\r\n})\r\nexport class FieldMapComponent implements OnInit, OnChanges {\r\n zoom = 17;\r\n @Input() coordinates: Coordinate[];\r\n @Input() center: Coordinate;\r\n @Input() fields: Field[];\r\n @Input() infoWindowTemplate: TemplateRef;\r\n\r\n constructor() {}\r\n ngOnChanges(changes: import(\"@angular/core\").SimpleChanges): void {\r\n if (changes.fields && this.fields?.length > 0 && !this.center) {\r\n this.center = this.fields[0].coordinates[0];\r\n }\r\n }\r\n\r\n ngOnInit(): void {}\r\n}\r\n","\r\n Show only fields that aren't fully loaded\r\n\r\n \r\n\r\n\r\n\r\n \r\n Import KML\r\n \r\n\r\n \r\n New Field\r\n \r\n\r\n","import { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { Field } from \"src/app/core/models/field.model\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport { FieldState } from \"src/app/core/store/reducers/field.reducer\";\r\nimport { LayoutUtilsService, MessageType } from \"src/app/core/_base/crud\";\r\nimport {\r\n selectFieldsLoading,\r\n selectFieldsByCustomerId,\r\n selectFieldsSelector,\r\n} from \"src/app/core/store/selectors/field.selectors\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport {\r\n loadFields,\r\n deleteField,\r\n} from \"src/app/core/store/actions/field.actions\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport {\r\n selectCurrentCustomer,\r\n selectCustomerById,\r\n} from \"src/app/core/store/selectors/customer.selectors\";\r\n\r\n@Component({\r\n selector: \"kt-fields-list\",\r\n templateUrl: \"./fields-list.component.html\",\r\n styleUrls: [\"./fields-list.component.scss\"],\r\n})\r\nexport class FieldsListComponent implements OnInit, OnDestroy {\r\n loading;\r\n fields: Field[];\r\n customerId;\r\n title = \"Fields\";\r\n allFields: Field[];\r\n\r\n constructor(\r\n private store: Store,\r\n private layoutUtilsService: LayoutUtilsService,\r\n private route: ActivatedRoute\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.store\r\n .pipe(select(selectFieldsLoading), untilDestroyed(this))\r\n .subscribe((loading) => {\r\n this.loading = loading;\r\n });\r\n\r\n let customerId = this.route.snapshot.params[\"customerId\"];\r\n\r\n if (customerId) {\r\n // Load customer fields\r\n this.title = \"Customer fields\";\r\n this.store\r\n .pipe(select(selectCustomerById(customerId)), untilDestroyed(this))\r\n .subscribe((c) => {\r\n if (c) {\r\n this.title = c.name + \"'s Fields\";\r\n }\r\n });\r\n\r\n this.store\r\n .pipe(\r\n select(selectFieldsByCustomerId(customerId)),\r\n untilDestroyed(this)\r\n )\r\n .subscribe((fields) => {\r\n this.fields = fields;\r\n this.allFields = fields;\r\n });\r\n } else {\r\n // Load all fields\r\n this.store\r\n .pipe(select(selectFieldsSelector), untilDestroyed(this))\r\n .subscribe((fields) => {\r\n this.fields = fields;\r\n this.allFields = fields;\r\n });\r\n }\r\n\r\n this.store.dispatch(loadFields());\r\n }\r\n\r\n deleteField(_item: Field) {\r\n const _title = \"Field Delete\";\r\n const _description = \"Are you sure to permanently delete this field?\";\r\n const _waitDesciption = \"Field is deleting...\";\r\n const _deleteMessage = `Field has been deleted`;\r\n\r\n const dialogRef = this.layoutUtilsService.deleteElement(\r\n _title,\r\n _description,\r\n _waitDesciption\r\n );\r\n dialogRef.afterClosed().subscribe((res) => {\r\n if (!res) {\r\n return;\r\n }\r\n\r\n this.store.dispatch(deleteField({ data: _item }));\r\n this.layoutUtilsService.showActionNotification(\r\n _deleteMessage,\r\n MessageType.Delete\r\n );\r\n });\r\n }\r\n\r\n isLoadedChanged($event) {\r\n if ($event) {\r\n this.fields = this.fields.filter((f) => !f.isFullyLoaded);\r\n } else {\r\n this.fields = this.allFields;\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","\r\n\r\n\r\n \r\n create\r\n \r\n\r\n \r\n Tasks\r\n \r\n\r\n \r\n delete\r\n \r\n\r\n\r\n\r\n {{ row.customer.name }}\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n clear_all\r\n Fetch Selected\r\n \r\n\r\n","import {\r\n Component,\r\n OnInit,\r\n AfterViewInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ViewChild,\r\n TemplateRef,\r\n} from \"@angular/core\";\r\nimport { Field } from \"src/app/core/models/field.model\";\r\nimport { DatasourceOptions } from \"src/app/core/models/datasource-options.model\";\r\nimport { DataTableColumn } from \"src/app/views/partials/content/general/datatable/datatable.component\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\n\r\n@Component({\r\n selector: \"kt-fields-table\",\r\n templateUrl: \"./fields-table.component.html\",\r\n styleUrls: [\"./fields-table.component.scss\"],\r\n})\r\nexport class FieldsTableComponent implements OnInit, AfterViewInit {\r\n @Input() fields: Field[];\r\n @Input() loading: boolean;\r\n @Input() datasourceOptions: DatasourceOptions;\r\n @Output() loadData = new EventEmitter();\r\n @Output() deleteField = new EventEmitter();\r\n\r\n @ViewChild(\"actionsTemplate\", { static: false }) actionsTemplate: TemplateRef<\r\n any\r\n >;\r\n @ViewChild(\"customerTemplate\", { static: false })\r\n customerTemplate: TemplateRef;\r\n\r\n @ViewChild(\"isLoadedTemplate\", { static: false })\r\n isLoadedTemplate: TemplateRef;\r\n\r\n columns: DataTableColumn[];\r\n\r\n constructor(private router: Router, private route: ActivatedRoute) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n this.columns = [\r\n {\r\n serverFieldName: \"id\",\r\n clientFieldName: \"id\",\r\n displayNameKey: \"\",\r\n sortable: false,\r\n template: this.isLoadedTemplate,\r\n },\r\n {\r\n serverFieldName: \"plotNumber\",\r\n clientFieldName: \"plotNumber\",\r\n displayNameKey: \"Plot Number\",\r\n sortable: true,\r\n },\r\n {\r\n serverFieldName: \"cropName\",\r\n clientFieldName: \"cropName\",\r\n displayNameKey: \"Crop Name\",\r\n sortable: true,\r\n },\r\n {\r\n serverFieldName: \"plantingYear\",\r\n clientFieldName: \"plantingYear\",\r\n displayNameKey: \"PlantingYear\",\r\n sortable: true,\r\n },\r\n {\r\n serverFieldName: \"customer\",\r\n clientFieldName: \"customer\",\r\n displayNameKey: \"Customer\",\r\n sortable: true,\r\n template: this.customerTemplate,\r\n },\r\n {\r\n serverFieldName: \"moagId\",\r\n clientFieldName: \"moagId\",\r\n displayNameKey: \"MOAG Id number\",\r\n sortable: true,\r\n },\r\n {\r\n serverFieldName: \"areaSquareMeters\",\r\n clientFieldName: \"areaSquareMeters\",\r\n displayNameKey: \"Area(Square meters)\",\r\n sortable: true,\r\n },\r\n {\r\n clientFieldName: \"actions\",\r\n serverFieldName: \"actions\",\r\n displayNameKey: \"Actions\",\r\n sortable: false,\r\n template: this.actionsTemplate,\r\n },\r\n ];\r\n });\r\n }\r\n\r\n editFieldClick(field: Field) {\r\n this.router.navigate([\"edit/\" + field.fieldId], { relativeTo: this.route });\r\n }\r\n\r\n goToFieldTasks(field: Field) {\r\n this.router.navigateByUrl(\"tasks/\" + field.fieldId);\r\n }\r\n}\r\n","import { RouterModule, Routes } from \"@angular/router\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FieldsComponent } from \"./fields.component\";\r\nimport { FieldsListComponent } from \"./fields-list/fields-list.component\";\r\nimport { ImportFieldsComponent } from \"./import-fields/import-fields.component\";\r\nimport { EditFieldComponent } from \"./edit-field/edit-field.component\";\r\nimport { NgxPermissionsGuard } from \"ngx-permissions\";\r\nimport { ModuleGuard } from \"src/app/core/auth\";\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"\",\r\n component: FieldsComponent,\r\n canActivate: [ModuleGuard],\r\n data: {\r\n permissions: {\r\n only: \"Admin\",\r\n redirectTo: \"dashboard\",\r\n },\r\n },\r\n children: [\r\n {\r\n path: \"\",\r\n pathMatch: \"full\",\r\n component: FieldsListComponent,\r\n },\r\n {\r\n path: \"import\",\r\n pathMatch: \"full\",\r\n component: ImportFieldsComponent,\r\n },\r\n {\r\n path: \"add\",\r\n component: EditFieldComponent,\r\n },\r\n {\r\n path: \":customerId\",\r\n pathMatch: \"full\",\r\n component: FieldsListComponent,\r\n },\r\n {\r\n path: \":customerId/edit/:id\",\r\n pathMatch: \"full\",\r\n component: EditFieldComponent,\r\n },\r\n {\r\n path: \":customerId/import\",\r\n pathMatch: \"full\",\r\n component: ImportFieldsComponent,\r\n },\r\n {\r\n path: \":customerId/add\",\r\n pathMatch: \"full\",\r\n component: EditFieldComponent,\r\n },\r\n\r\n {\r\n path: \"edit/:id\",\r\n component: EditFieldComponent,\r\n },\r\n ],\r\n },\r\n];\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [CommonModule, RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class FieldsRoutingModule {}\r\n","\r\n
\r\n \r\n
\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { loadCustomers } from \"src/app/core/store/actions/customer.actions\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport { AppState } from \"src/app/core/reducers\";\r\n\r\n@Component({\r\n selector: \"kt-fields\",\r\n templateUrl: \"./fields.component.html\",\r\n styleUrls: [\"./fields.component.scss\"],\r\n})\r\nexport class FieldsComponent implements OnInit {\r\n constructor(private store: Store) {}\r\n\r\n ngOnInit(): void {\r\n this.store.dispatch(loadCustomers());\r\n }\r\n}\r\n","import { FieldsRoutingModule } from \"./fields-routing.module\";\r\nimport { PerfectScrollbarModule } from \"ngx-perfect-scrollbar\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FieldsListComponent } from \"./fields-list/fields-list.component\";\r\nimport { EditFieldComponent } from \"./edit-field/edit-field.component\";\r\nimport { FieldsTableComponent } from \"./fields-list/fields-table/fields-table.component\";\r\nimport { StoreModule } from \"@ngrx/store\";\r\nimport * as fromField from \"../../../core/store/reducers/field.reducer\";\r\nimport { EffectsModule } from \"@ngrx/effects\";\r\nimport { FieldEffects } from \"../../../core/store/effects/field.effects\";\r\nimport { FieldsComponent } from \"./fields.component\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { MatCoreModule } from \"src/app/core/utils/mat-core.module\";\r\nimport { HttpClientModule } from \"@angular/common/http\";\r\nimport { PartialsModule } from \"../../partials/partials.module\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { CoordinatesListComponent } from \"./edit-field/coordinates-list/coordinates-list.component\";\r\nimport { ImportFieldsComponent } from \"./import-fields/import-fields.component\";\r\nimport { FileUploadModule } from \"@iplab/ngx-file-upload\";\r\nimport { FieldMapComponent } from \"./field-map/field-map.component\";\r\nimport { AgmCoreModule } from \"@agm/core\";\r\n\r\n@NgModule({\r\n declarations: [\r\n FieldsComponent,\r\n FieldsListComponent,\r\n EditFieldComponent,\r\n FieldsTableComponent,\r\n CoordinatesListComponent,\r\n ImportFieldsComponent,\r\n FieldMapComponent,\r\n ],\r\n exports: [\r\n FieldsListComponent,\r\n EditFieldComponent,\r\n FieldsTableComponent,\r\n CoordinatesListComponent,\r\n ImportFieldsComponent,\r\n ],\r\n imports: [\r\n MatCoreModule,\r\n CommonModule,\r\n HttpClientModule,\r\n PartialsModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n FieldsRoutingModule,\r\n StoreModule.forFeature(fromField.fieldFeatureKey, fromField.reducer),\r\n EffectsModule.forFeature([FieldEffects]),\r\n FileUploadModule,\r\n PerfectScrollbarModule,\r\n AgmCoreModule.forRoot({\r\n apiKey: \"AIzaSyDMWp19lJGUMI_DoASc_mOCf7qFcwu81vA\",\r\n }),\r\n ],\r\n})\r\nexport class FieldsModule {}\r\n","\r\n
\r\n \r\n Oh snap! Change a few things up and try submitting again.\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n File is\r\n required\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n\r\n \r\n Save\r\n \r\n\r\n \r\n \r\n Back\r\n \r\n\r\n","import { importFields } from \"./../../../../core/store/actions/field.actions\";\r\nimport { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport {\r\n FormGroup,\r\n FormControl,\r\n FormBuilder,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport { Customer } from \"src/app/core/models/customer.model\";\r\nimport { Observable, ReplaySubject } from \"rxjs\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport { FieldState } from \"src/app/core/store/reducers/field.reducer\";\r\nimport { selectFieldsLoading } from \"src/app/core/store/selectors/field.selectors\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport { selectCustomersSelector } from \"src/app/core/store/selectors/customer.selectors\";\r\nimport { FileUploadValidators } from \"@iplab/ngx-file-upload\";\r\nimport { FieldImportWrapper } from \"src/app/core/models/field-import-wrapper.model\";\r\n\r\n@Component({\r\n selector: \"kt-import-fields\",\r\n templateUrl: \"./import-fields.component.html\",\r\n styleUrls: [\"./import-fields.component.scss\"],\r\n})\r\nexport class ImportFieldsComponent implements OnInit, OnDestroy {\r\n fieldForm: FormGroup;\r\n hasFormErrors = false;\r\n customers: Customer[];\r\n loading$: Observable;\r\n\r\n public customersSelectFormControl: FormControl = new FormControl();\r\n\r\n public filesControl = new FormControl(null, [Validators.required]);\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private store: Store,\r\n private fieldFB: FormBuilder\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.loading$ = this.store.pipe(\r\n select(selectFieldsLoading),\r\n untilDestroyed(this)\r\n );\r\n\r\n this.store\r\n .pipe(select(selectCustomersSelector), untilDestroyed(this))\r\n .subscribe((c) => {\r\n this.customers = c;\r\n });\r\n\r\n this.createForm();\r\n }\r\n\r\n createForm() {\r\n this.fieldForm = this.fieldFB.group({});\r\n\r\n this.fieldForm.addControl(\r\n \"customersSelectFormControl\",\r\n this.customersSelectFormControl\r\n );\r\n this.customersSelectFormControl.setValidators(Validators.required);\r\n\r\n this.fieldForm.addControl(\"fileUploadControl\", this.filesControl);\r\n }\r\n\r\n onSumbit() {\r\n this.hasFormErrors = false;\r\n const controls = this.fieldForm.controls;\r\n /** check form */\r\n if (this.fieldForm.invalid) {\r\n Object.keys(controls).forEach((controlName) =>\r\n controls[controlName].markAsTouched()\r\n );\r\n\r\n this.hasFormErrors = true;\r\n return;\r\n }\r\n\r\n let wrapper = {\r\n file: this.filesControl.value,\r\n customerId: this.customersSelectFormControl.value,\r\n };\r\n this.store.dispatch(importFields({ data: wrapper }));\r\n }\r\n\r\n onAlertClose($event) {\r\n this.hasFormErrors = false;\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","\r\n \r\n \r\n Oh snap! Change a few things up and try submitting again.\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n Name is\r\n required\r\n \r\n Please enter\r\n name\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n\r\n \r\n \r\n Save\r\n \r\n\r\n \r\n \r\n Back\r\n \r\n \r\n\r\n","import { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { Material } from \"src/app/core/models/material.model\";\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { Observable, combineLatest } from \"rxjs\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport { MaterialState } from \"src/app/core/store/reducers/material.reducer\";\r\nimport {\r\n selectMaterialsLoading,\r\n selectCurrentMaterial,\r\n} from \"src/app/core/store/selectors/material.selectors\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport {\r\n loadMaterial,\r\n updateMaterial,\r\n addMaterial,\r\n} from \"src/app/core/store/actions/material.actions\";\r\nimport { cloneDeep } from \"lodash\";\r\n\r\n@Component({\r\n selector: \"kt-edit-materials\",\r\n templateUrl: \"./edit-materials.component.html\",\r\n styleUrls: [\"./edit-materials.component.scss\"],\r\n})\r\nexport class EditMaterialsComponent implements OnInit, OnDestroy {\r\n title = \"Add Material\";\r\n isEdit = false;\r\n material: Material;\r\n materialForm: FormGroup;\r\n hasFormErrors = false;\r\n loading$: Observable;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private store: Store,\r\n private materialFB: FormBuilder\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.loading$ = this.store.pipe(\r\n select(selectMaterialsLoading),\r\n untilDestroyed(this)\r\n );\r\n\r\n this.material = new Material(null, null);\r\n\r\n this.store\r\n .pipe(select(selectCurrentMaterial), untilDestroyed(this))\r\n .subscribe((currentMaterial) => {\r\n if (currentMaterial && this.isEdit) {\r\n this.material = cloneDeep(currentMaterial);\r\n }\r\n\r\n this.createForm();\r\n });\r\n\r\n let materialId = this.route.snapshot.params[\"id\"];\r\n\r\n if (materialId && materialId != \"add\") {\r\n this.isEdit = true;\r\n this.title = \"Edit Material\";\r\n\r\n this.store.dispatch(loadMaterial({ data: materialId }));\r\n }\r\n }\r\n\r\n createForm() {\r\n this.materialForm = this.materialFB.group({\r\n name: [this.material.name, Validators.required],\r\n });\r\n }\r\n\r\n onSumbit() {\r\n this.hasFormErrors = false;\r\n const controls = this.materialForm.controls;\r\n /** check form */\r\n if (this.materialForm.invalid) {\r\n Object.keys(controls).forEach((controlName) =>\r\n controls[controlName].markAsTouched()\r\n );\r\n\r\n this.hasFormErrors = true;\r\n return;\r\n }\r\n\r\n this.prepareMaterial();\r\n\r\n if (this.isEdit) {\r\n this.store.dispatch(updateMaterial({ data: this.material }));\r\n } else {\r\n this.store.dispatch(addMaterial({ data: this.material }));\r\n }\r\n }\r\n\r\n prepareMaterial() {\r\n this.material.name = this.materialForm.controls.name.value;\r\n }\r\n\r\n onAlertClose($event) {\r\n this.hasFormErrors = false;\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","\r\n \r\n\r\n\r\n\r\n \r\n New Material\r\n \r\n\r\n","import { selectMaterialsSelector } from \"./../../../../core/store/selectors/material.selectors\";\r\nimport { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { Material } from \"src/app/core/models/material.model\";\r\nimport {\r\n deleteMaterial,\r\n loadMaterials,\r\n} from \"src/app/core/store/actions/material.actions\";\r\nimport { MessageType, LayoutUtilsService } from \"src/app/core/_base/crud\";\r\nimport { MaterialState } from \"src/app/core/store/reducers/material.reducer\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport { selectMaterialsLoading } from \"src/app/core/store/selectors/material.selectors\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\n\r\n@Component({\r\n selector: \"kt-materials-list\",\r\n templateUrl: \"./materials-list.component.html\",\r\n styleUrls: [\"./materials-list.component.scss\"],\r\n})\r\nexport class MaterialsListComponent implements OnInit, OnDestroy {\r\n loading;\r\n materials: Material[];\r\n\r\n constructor(\r\n private store: Store,\r\n private layoutUtilsService: LayoutUtilsService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.store\r\n .pipe(select(selectMaterialsLoading), untilDestroyed(this))\r\n .subscribe((loading) => {\r\n this.loading = loading;\r\n });\r\n\r\n this.store\r\n .pipe(select(selectMaterialsSelector), untilDestroyed(this))\r\n .subscribe((materials) => {\r\n this.materials = materials;\r\n });\r\n\r\n this.store.dispatch(loadMaterials());\r\n }\r\n\r\n deleteMaterial(_item: Material) {\r\n const _title = \"Material Delete\";\r\n const _description = \"Are you sure to permanently delete this material?\";\r\n const _waitDesciption = \"Material is deleting...\";\r\n const _deleteMessage = `Material has been deleted`;\r\n\r\n const dialogRef = this.layoutUtilsService.deleteElement(\r\n _title,\r\n _description,\r\n _waitDesciption\r\n );\r\n dialogRef.afterClosed().subscribe((res) => {\r\n if (!res) {\r\n return;\r\n }\r\n\r\n this.store.dispatch(deleteMaterial({ data: _item }));\r\n this.layoutUtilsService.showActionNotification(\r\n _deleteMessage,\r\n MessageType.Delete\r\n );\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","\r\n\r\n\r\n \r\n create\r\n \r\n\r\n \r\n delete\r\n \r\n\r\n\r\n\r\n \r\n clear_all\r\n Fetch Selected\r\n \r\n\r\n","import {\r\n Component,\r\n OnInit,\r\n AfterViewInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ViewChild,\r\n TemplateRef,\r\n} from \"@angular/core\";\r\nimport { Material } from \"src/app/core/models/material.model\";\r\nimport { DatasourceOptions } from \"src/app/core/models/datasource-options.model\";\r\nimport { DataTableColumn } from \"src/app/views/partials/content/general/datatable/datatable.component\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\n\r\n@Component({\r\n selector: \"kt-materials-table\",\r\n templateUrl: \"./materials-table.component.html\",\r\n styleUrls: [\"./materials-table.component.scss\"],\r\n})\r\nexport class MaterialsTableComponent implements OnInit, AfterViewInit {\r\n @Input() materials: Material[];\r\n @Input() loading: boolean;\r\n @Input() datasourceOptions: DatasourceOptions;\r\n @Output() loadData = new EventEmitter();\r\n @Output() deleteMaterial = new EventEmitter();\r\n\r\n @ViewChild(\"actionsTemplate\", { static: false }) actionsTemplate: TemplateRef<\r\n any\r\n >;\r\n\r\n columns: DataTableColumn[];\r\n\r\n constructor(private router: Router, private route: ActivatedRoute) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n this.columns = [\r\n {\r\n serverFieldName: \"name\",\r\n clientFieldName: \"name\",\r\n displayNameKey: \"Name\",\r\n sortable: true,\r\n },\r\n\r\n {\r\n clientFieldName: \"actions\",\r\n serverFieldName: \"actions\",\r\n displayNameKey: \"Actions\",\r\n sortable: false,\r\n template: this.actionsTemplate,\r\n },\r\n ];\r\n });\r\n }\r\n\r\n editMaterialClick(material: Material) {\r\n this.router.navigate([material.materialId], { relativeTo: this.route });\r\n }\r\n}\r\n","\r\n
\r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'kt-materials',\r\n templateUrl: './materials.component.html',\r\n styleUrls: ['./materials.component.scss']\r\n})\r\nexport class MaterialsComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { MaterialsListComponent } from \"./materials-list/materials-list.component\";\r\nimport { EditMaterialsComponent } from \"./edit-materials/edit-materials.component\";\r\nimport { MaterialsTableComponent } from \"./materials-list/materials-table/materials-table.component\";\r\nimport { MatCoreModule } from \"src/app/core/utils/mat-core.module\";\r\nimport { HttpClientModule } from \"@angular/common/http\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { PartialsModule } from \"../../partials/partials.module\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { MaterialsComponent } from \"./materials.component\";\r\nimport { StoreModule } from \"@ngrx/store\";\r\nimport * as fromMaterial from \"../../../core/store/reducers/material.reducer\";\r\nimport { EffectsModule } from \"@ngrx/effects\";\r\nimport { MaterialEffects } from \"../../../core/store/effects/material.effects\";\r\nimport { NgxPermissionsGuard } from \"ngx-permissions\";\r\nimport { ModuleGuard } from \"src/app/core/auth\";\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"\",\r\n component: MaterialsComponent,\r\n canActivate: [ModuleGuard],\r\n data: {\r\n permissions: {\r\n only: \"Admin\",\r\n redirectTo: \"dashboard\",\r\n },\r\n },\r\n children: [\r\n {\r\n path: \"\",\r\n pathMatch: \"full\",\r\n component: MaterialsListComponent,\r\n },\r\n {\r\n path: \":id\",\r\n component: EditMaterialsComponent,\r\n },\r\n {\r\n path: \"add\",\r\n component: EditMaterialsComponent,\r\n },\r\n ],\r\n },\r\n];\r\n\r\n@NgModule({\r\n declarations: [\r\n MaterialsComponent,\r\n MaterialsListComponent,\r\n EditMaterialsComponent,\r\n MaterialsTableComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n MatCoreModule,\r\n CommonModule,\r\n HttpClientModule,\r\n PartialsModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n RouterModule.forChild(routes),\r\n StoreModule.forFeature(\r\n fromMaterial.materialFeatureKey,\r\n fromMaterial.reducer\r\n ),\r\n EffectsModule.forFeature([MaterialEffects]),\r\n ],\r\n})\r\nexport class MaterialsModule {}\r\n","import { PilotTasksModule } from \"./pilot-tasks/pilot-tasks.module\";\r\nimport { FieldsModule } from \"./fields/fields.module\";\r\nimport { TasksModule } from \"./tasks/tasks.module\";\r\nimport { CustomersModule } from \"./customers/customers.module\";\r\nimport { ProtocolsModule } from \"./protocols/protocols.module\";\r\nimport { MaterialsModule } from \"./materials/materials.module\";\r\n// Angular\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { HttpClientModule } from \"@angular/common/http\";\r\n// Partials\r\nimport { PartialsModule } from \"../partials/partials.module\";\r\n// Pages\r\nimport { CoreModule } from \"../../core/core.module\";\r\nimport { UserManagementModule } from \"./user-management/user-management.module\";\r\nimport { DronesModule } from \"./drones/drones.module\";\r\nimport { DronePilotsModule } from \"./drone-pilots/drone-pilots.module\";\r\nimport { MaterialsComponent } from \"./materials/materials.component\";\r\nimport { ProtocolsComponent } from \"./protocols/protocols.component\";\r\nimport { FieldsComponent } from \"./fields/fields.component\";\r\nimport { TasksComponent } from \"./tasks/tasks.component\";\r\n\r\n@NgModule({\r\n declarations: [],\r\n exports: [],\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n FormsModule,\r\n CoreModule,\r\n PartialsModule,\r\n UserManagementModule,\r\n TasksModule,\r\n DronesModule,\r\n DronePilotsModule,\r\n MaterialsModule,\r\n ProtocolsModule,\r\n CustomersModule,\r\n FieldsModule,\r\n ],\r\n providers: [],\r\n})\r\nexport class PagesModule {}\r\n","\r\n \r\n \r\n Oh snap! Change a few things up and try submitting again.\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n Name is\r\n required\r\n \r\n Please enter\r\n name\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 Margin space is\r\n required\r\n \r\n Please enter\r\n margin space\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n Row space is\r\n required\r\n \r\n Please enter\r\n row space\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n Dunam volume space is\r\n required\r\n \r\n Please enter\r\n dunam volume\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n Water volume space is\r\n required\r\n \r\n Please enter\r\n water volume\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n Nozzle space is\r\n required\r\n \r\n Please enter\r\n nozzle\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n\r\n \r\n \r\n Back\r\n \r\n \r\n \r\n Reset\r\n \r\n \r\n Save\r\n \r\n \r\n\r\n","import { selectPayloadsSelector } from \"./../../../../core/store/selectors/drones.selectors\";\r\nimport { DronePayload } from \"./../../../../core/models/drone-payload.model\";\r\nimport { selectMaterialsSelector } from \"./../../../../core/store/selectors/material.selectors\";\r\nimport { Material } from \"src/app/core/models/material.model\";\r\nimport { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { Protocol } from \"src/app/core/models/protocol.model\";\r\nimport {\r\n FormGroup,\r\n FormBuilder,\r\n Validators,\r\n FormControl,\r\n} from \"@angular/forms\";\r\nimport { Observable, combineLatest, ReplaySubject } from \"rxjs\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport {\r\n selectProtocolsLoading,\r\n selectCurrentProtocol,\r\n} from \"src/app/core/store/selectors/protocol.selectors\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport { cloneDeep } from \"lodash\";\r\nimport {\r\n loadProtocol,\r\n updateProtocol,\r\n addProtocol,\r\n} from \"src/app/core/store/actions/protocol.actions\";\r\nimport { ProtocolState } from \"src/app/core/store/reducers/protocol.reducer\";\r\nimport { loadMaterials } from \"src/app/core/store/actions/material.actions\";\r\n\r\n@Component({\r\n selector: \"kt-edit-protocol\",\r\n templateUrl: \"./edit-protocol.component.html\",\r\n styleUrls: [\"./edit-protocol.component.scss\"],\r\n})\r\nexport class EditProtocolComponent implements OnInit, OnDestroy {\r\n title = \"Add Protocol\";\r\n isEdit = false;\r\n protocol: Protocol;\r\n protocolForm: FormGroup;\r\n hasFormErrors = false;\r\n materials: Material[];\r\n payloads: DronePayload[];\r\n loading$: Observable;\r\n\r\n public materialSelectControl: FormControl = new FormControl();\r\n public payloadSelectControl: FormControl = new FormControl();\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private store: Store,\r\n private protocolFB: FormBuilder\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.loading$ = this.store.pipe(\r\n select(selectProtocolsLoading),\r\n untilDestroyed(this)\r\n );\r\n\r\n this.protocol = Protocol.createEmpty();\r\n this.createForm();\r\n\r\n combineLatest(\r\n this.store.pipe(select(selectMaterialsSelector), untilDestroyed(this)),\r\n this.store.pipe(select(selectCurrentProtocol), untilDestroyed(this)),\r\n this.store.pipe(select(selectPayloadsSelector), untilDestroyed(this))\r\n ).subscribe(([materials, currentProtocol, payloads]) => {\r\n this.materials = materials;\r\n this.payloads = payloads;\r\n\r\n if (currentProtocol && this.isEdit) {\r\n this.protocol = cloneDeep(currentProtocol);\r\n this.createForm();\r\n }\r\n });\r\n\r\n let protocolId = this.route.snapshot.params[\"id\"];\r\n\r\n if (protocolId && protocolId != \"add\") {\r\n this.isEdit = true;\r\n this.title = \"Edit Protocol\";\r\n\r\n this.store.dispatch(loadProtocol({ data: protocolId }));\r\n }\r\n }\r\n\r\n createForm() {\r\n this.protocolForm = this.protocolFB.group({\r\n name: [this.protocol.name, Validators.required],\r\n marginSpace: [this.protocol.marginSpace, Validators.required],\r\n rowSpace: [this.protocol.rowSpace, Validators.required],\r\n dunamVolume: [this.protocol.dunamVolume, Validators.required],\r\n waterVolume: [this.protocol.waterVolume, Validators.required],\r\n nozzle: [this.protocol.nozzle, Validators.required],\r\n });\r\n\r\n this.protocolForm.addControl(\r\n \"materialsSelectControl\",\r\n this.materialSelectControl\r\n );\r\n this.protocolForm.controls.materialsSelectControl.setValidators(\r\n Validators.required\r\n );\r\n if (this.protocol.material) {\r\n this.materialSelectControl.setValue(this.protocol.material.materialId);\r\n }\r\n\r\n this.protocolForm.addControl(\r\n \"payloadSelectControl\",\r\n this.payloadSelectControl\r\n );\r\n this.protocolForm.controls.payloadSelectControl.setValidators(\r\n Validators.required\r\n );\r\n if (this.protocol.payload) {\r\n this.payloadSelectControl.setValue(this.protocol.payload.payloadId);\r\n }\r\n }\r\n\r\n onSumbit() {\r\n this.hasFormErrors = false;\r\n const controls = this.protocolForm.controls;\r\n /** check form */\r\n if (this.protocolForm.invalid) {\r\n Object.keys(controls).forEach((controlName) =>\r\n controls[controlName].markAsTouched()\r\n );\r\n\r\n this.hasFormErrors = true;\r\n return;\r\n }\r\n\r\n this.prepareProtocol();\r\n\r\n if (this.isEdit) {\r\n this.store.dispatch(updateProtocol({ data: this.protocol }));\r\n } else {\r\n this.store.dispatch(addProtocol({ data: this.protocol }));\r\n }\r\n }\r\n\r\n prepareProtocol() {\r\n this.protocol.name = this.protocolForm.controls.name.value;\r\n this.protocol.material = this.materials.find(\r\n (m) => m.materialId == this.materialSelectControl.value\r\n );\r\n this.protocol.payload = this.payloads.find(\r\n (p) => p.payloadId == this.payloadSelectControl.value\r\n );\r\n this.protocol.marginSpace = this.protocolForm.controls.marginSpace.value;\r\n this.protocol.rowSpace = this.protocolForm.controls.rowSpace.value;\r\n this.protocol.dunamVolume = this.protocolForm.controls.dunamVolume.value;\r\n this.protocol.waterVolume = this.protocolForm.controls.waterVolume.value;\r\n this.protocol.nozzle = this.protocolForm.controls.nozzle.value;\r\n }\r\n\r\n onAlertClose($event) {\r\n this.hasFormErrors = false;\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","\r\n \r\n\r\n\r\n\r\n \r\n New Protocol\r\n \r\n\r\n","import { selectProtocolsSelector } from \"./../../../../core/store/selectors/protocol.selectors\";\r\nimport { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { Protocol } from \"src/app/core/models/protocol.model\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport { ProtocolState } from \"src/app/core/store/reducers/protocol.reducer\";\r\nimport { LayoutUtilsService, MessageType } from \"src/app/core/_base/crud\";\r\nimport { selectProtocolsLoading } from \"src/app/core/store/selectors/protocol.selectors\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport {\r\n loadProtocols,\r\n deleteProtocol,\r\n} from \"src/app/core/store/actions/protocol.actions\";\r\n\r\n@Component({\r\n selector: \"kt-protocols-list\",\r\n templateUrl: \"./protocols-list.component.html\",\r\n styleUrls: [\"./protocols-list.component.scss\"],\r\n})\r\nexport class ProtocolsListComponent implements OnInit, OnDestroy {\r\n loading;\r\n protocols: Protocol[];\r\n\r\n constructor(\r\n private store: Store,\r\n private layoutUtilsService: LayoutUtilsService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.store\r\n .pipe(select(selectProtocolsLoading), untilDestroyed(this))\r\n .subscribe((loading) => {\r\n this.loading = loading;\r\n });\r\n\r\n this.store\r\n .pipe(select(selectProtocolsSelector), untilDestroyed(this))\r\n .subscribe((protocols) => {\r\n this.protocols = protocols;\r\n });\r\n\r\n this.store.dispatch(loadProtocols());\r\n }\r\n\r\n deleteProtocol(_item: Protocol) {\r\n const _title = \"Protocol Delete\";\r\n const _description = \"Are you sure to permanently delete this protocol?\";\r\n const _waitDesciption = \"Protocol is deleting...\";\r\n const _deleteMessage = `Protocol has been deleted`;\r\n\r\n const dialogRef = this.layoutUtilsService.deleteElement(\r\n _title,\r\n _description,\r\n _waitDesciption\r\n );\r\n dialogRef.afterClosed().subscribe((res) => {\r\n if (!res) {\r\n return;\r\n }\r\n\r\n this.store.dispatch(deleteProtocol({ data: _item }));\r\n this.layoutUtilsService.showActionNotification(\r\n _deleteMessage,\r\n MessageType.Delete\r\n );\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","\r\n\r\n\r\n {{\r\n row.material.name\r\n }}\r\n\r\n\r\n\r\n {{ row.payload.name }}\r\n\r\n\r\n\r\n \r\n create\r\n \r\n\r\n \r\n delete\r\n \r\n\r\n\r\n\r\n \r\n clear_all\r\n Fetch Selected\r\n \r\n\r\n","import {\r\n Component,\r\n OnInit,\r\n AfterViewInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ViewChild,\r\n TemplateRef,\r\n} from \"@angular/core\";\r\nimport { Protocol } from \"src/app/core/models/protocol.model\";\r\nimport { DatasourceOptions } from \"src/app/core/models/datasource-options.model\";\r\nimport { DataTableColumn } from \"src/app/views/partials/content/general/datatable/datatable.component\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\n\r\n@Component({\r\n selector: \"kt-protocols-table\",\r\n templateUrl: \"./protocols-table.component.html\",\r\n styleUrls: [\"./protocols-table.component.scss\"],\r\n})\r\nexport class ProtocolsTableComponent implements OnInit, AfterViewInit {\r\n @Input() protocols: Protocol[];\r\n @Input() loading: boolean;\r\n @Input() datasourceOptions: DatasourceOptions;\r\n @Output() loadData = new EventEmitter();\r\n @Output() deleteProtocol = new EventEmitter();\r\n\r\n @ViewChild(\"actionsTemplate\", { static: false }) actionsTemplate: TemplateRef<\r\n any\r\n >;\r\n @ViewChild(\"payloadTemplate\", { static: false }) payloadTemplate: TemplateRef<\r\n any\r\n >;\r\n @ViewChild(\"materialTemplate\", { static: false })\r\n materialTemplate: TemplateRef;\r\n\r\n columns: DataTableColumn[];\r\n\r\n constructor(private router: Router, private route: ActivatedRoute) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n this.columns = [\r\n {\r\n serverFieldName: \"name\",\r\n clientFieldName: \"name\",\r\n displayNameKey: \"Name\",\r\n sortable: true,\r\n },\r\n {\r\n serverFieldName: \"material\",\r\n clientFieldName: \"material\",\r\n displayNameKey: \"Material\",\r\n sortable: true,\r\n template: this.materialTemplate,\r\n },\r\n {\r\n serverFieldName: \"payload\",\r\n clientFieldName: \"payload\",\r\n displayNameKey: \"Payload\",\r\n sortable: true,\r\n template: this.payloadTemplate,\r\n },\r\n {\r\n serverFieldName: \"nozzle\",\r\n clientFieldName: \"nozzle\",\r\n displayNameKey: \"Nozzle\",\r\n sortable: true,\r\n },\r\n {\r\n serverFieldName: \"marginSpace\",\r\n clientFieldName: \"marginSpace\",\r\n displayNameKey: \"Margin Space\",\r\n sortable: true,\r\n },\r\n {\r\n serverFieldName: \"rowSpace\",\r\n clientFieldName: \"rowSpace\",\r\n displayNameKey: \"Row Space\",\r\n sortable: true,\r\n },\r\n {\r\n serverFieldName: \"dunamVolume\",\r\n clientFieldName: \"dunamVolume\",\r\n displayNameKey: \"Dunam Volume\",\r\n sortable: true,\r\n },\r\n {\r\n serverFieldName: \"waterVolume\",\r\n clientFieldName: \"waterVolume\",\r\n displayNameKey: \"Water Volume\",\r\n sortable: true,\r\n },\r\n {\r\n clientFieldName: \"actions\",\r\n serverFieldName: \"actions\",\r\n displayNameKey: \"Actions\",\r\n sortable: false,\r\n template: this.actionsTemplate,\r\n },\r\n ];\r\n });\r\n }\r\n\r\n editProtocolClick(protocol: Protocol) {\r\n this.router.navigate([protocol.protocolId], { relativeTo: this.route });\r\n }\r\n}\r\n","\r\n
\r\n \r\n
\r\n","import { loadDronePayloads } from \"./../../../core/store/actions/drones.actions\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport { loadMaterials } from \"src/app/core/store/actions/material.actions\";\r\n\r\n@Component({\r\n selector: \"kt-protocols\",\r\n templateUrl: \"./protocols.component.html\",\r\n styleUrls: [\"./protocols.component.scss\"],\r\n})\r\nexport class ProtocolsComponent implements OnInit {\r\n constructor(private store: Store) {}\r\n\r\n ngOnInit(): void {\r\n this.store.dispatch(loadMaterials());\r\n this.store.dispatch(loadDronePayloads());\r\n }\r\n}\r\n","import { ProtocolsTableComponent } from \"./protocols-list/protocols-table/protocols-table.component\";\r\nimport { EditProtocolComponent } from \"./edit-protocol/edit-protocol.component\";\r\nimport { ProtocolsListComponent } from \"./protocols-list/protocols-list.component\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { ProtocolsComponent } from \"./protocols.component\";\r\nimport { MatCoreModule } from \"src/app/core/utils/mat-core.module\";\r\nimport { HttpClientModule } from \"@angular/common/http\";\r\nimport { PartialsModule } from \"../../partials/partials.module\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { RouterModule, Routes } from \"@angular/router\";\r\nimport { StoreModule } from '@ngrx/store';\r\nimport * as fromProtocol from '../../../core/store/reducers/protocol.reducer';\r\nimport { EffectsModule } from '@ngrx/effects';\r\nimport { ProtocolEffects } from '../../../core/store/effects/protocol.effects';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"\",\r\n component: ProtocolsComponent,\r\n children: [\r\n {\r\n path: \"\",\r\n pathMatch: \"full\",\r\n component: ProtocolsListComponent,\r\n },\r\n {\r\n path: \":id\",\r\n component: EditProtocolComponent,\r\n },\r\n {\r\n path: \"add\",\r\n component: EditProtocolComponent,\r\n },\r\n ],\r\n },\r\n];\r\n\r\n@NgModule({\r\n declarations: [\r\n ProtocolsComponent,\r\n ProtocolsListComponent,\r\n EditProtocolComponent,\r\n ProtocolsTableComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n MatCoreModule,\r\n CommonModule,\r\n HttpClientModule,\r\n PartialsModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n RouterModule.forChild(routes),\r\n StoreModule.forFeature(fromProtocol.protocolFeatureKey, fromProtocol.reducer),\r\n EffectsModule.forFeature([ProtocolEffects]),\r\n ],\r\n})\r\nexport class ProtocolsModule {}\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 {{ status.name }}\r\n \r\n\r\n Please select a\r\n status\r\n \r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Execution date is\r\n required\r\n \r\n Please enter\r\n Execution date\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 Assign\r\n \r\n\r\n","import { AssignTaskWrapper } from \"./../../../../../core/models/assignTaskWrapper.model\";\r\nimport {\r\n FormGroup,\r\n FormControl,\r\n FormBuilder,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport { DronePilot } from \"./../../../../../core/models/drone-pilot.model\";\r\nimport { Component, OnInit, OnDestroy, Inject } from \"@angular/core\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport { Status } from \"src/app/core/models/status.model\";\r\nimport { selectPilotsSelector } from \"src/app/core/store/selectors/drone-pilots.selectors\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport {\r\n selectStatuses,\r\n selectTasksModalLoading,\r\n} from \"src/app/core/store/selectors/task.selectors\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport { MapTask } from \"src/app/core/models/map-task.model\";\r\nimport { assignTasks } from \"src/app/core/store/actions/task.actions\";\r\nimport { ViewChild } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"kt-assign-selected-form\",\r\n templateUrl: \"./assign-selected-form.component.html\",\r\n styleUrls: [\"./assign-selected-form.component.scss\"],\r\n})\r\nexport class AssignSelectedFormComponent implements OnInit, OnDestroy {\r\n loading$;\r\n statuses: Status[];\r\n pilots: DronePilot[];\r\n selectedTasks: MapTask[];\r\n\r\n assignForm: FormGroup;\r\n\r\n submitting = false;\r\n\r\n public pilotsSelectFormControl: FormControl = new FormControl();\r\n @ViewChild(\"assignExecutionDateFormControl\") assignExecutionDateFormControl;\r\n\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) data: any,\r\n private store: Store,\r\n private assignFb: FormBuilder,\r\n public dialogRef: MatDialogRef\r\n ) {\r\n this.selectedTasks = data;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.loading$ = this.store.pipe(select(selectTasksModalLoading));\r\n\r\n this.store\r\n .pipe(select(selectTasksModalLoading), untilDestroyed(this))\r\n .subscribe((loading) => {\r\n if (loading === false && this.submitting) {\r\n this.dialogRef.close();\r\n }\r\n });\r\n\r\n this.store\r\n .pipe(select(selectPilotsSelector), untilDestroyed(this))\r\n .subscribe((p) => {\r\n this.pilots = p;\r\n });\r\n\r\n this.store\r\n .pipe(select(selectStatuses), untilDestroyed(this))\r\n .subscribe((s) => {\r\n this.statuses = s;\r\n });\r\n\r\n this.createForm();\r\n }\r\n\r\n createForm() {\r\n this.assignForm = this.assignFb.group({\r\n executionDate: [null, Validators.required],\r\n status: [null, Validators.required],\r\n });\r\n\r\n this.assignForm.addControl(\r\n \"piltosSelectFormControl\",\r\n this.pilotsSelectFormControl\r\n );\r\n this.pilotsSelectFormControl.setValidators(Validators.required);\r\n }\r\n\r\n onSumbit() {\r\n const controls = this.assignForm.controls;\r\n /** check form */\r\n if (this.assignForm.invalid) {\r\n Object.keys(controls).forEach((controlName) =>\r\n controls[controlName].markAsTouched()\r\n );\r\n\r\n return;\r\n }\r\n\r\n let assignTaskWrapper = this.prepareAssignTasks();\r\n\r\n this.submitting = true;\r\n this.store.dispatch(assignTasks({ data: assignTaskWrapper }));\r\n }\r\n\r\n prepareAssignTasks(): AssignTaskWrapper {\r\n let taskIds = this.selectedTasks.map((t) => t.task.taskId);\r\n\r\n return {\r\n tasksToAssign: taskIds,\r\n statusId: this.assignForm.controls.status.value,\r\n assignToPilotId: this.pilotsSelectFormControl.value,\r\n executionDate: this.assignExecutionDateFormControl.nativeElement.value,\r\n };\r\n }\r\n\r\n ngOnDestroy(): void {}\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","import {\r\n selectTasksLoading,\r\n selectMapTasks,\r\n selectSelectedMapTasks,\r\n} from \"./../../../../core/store/selectors/task.selectors\";\r\nimport { MapTask } from \"./../../../../core/models/map-task.model\";\r\nimport { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport { selectFieldsSelector } from \"src/app/core/store/selectors/field.selectors\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport { mapTaskSelected } from \"src/app/core/store/actions/task.actions\";\r\nimport { cloneDeep } from \"lodash\";\r\n\r\n@Component({\r\n selector: \"kt-assign-tasks\",\r\n templateUrl: \"./assign-tasks.component.html\",\r\n styleUrls: [\"./assign-tasks.component.scss\"],\r\n})\r\nexport class AssignTasksComponent implements OnInit, OnDestroy {\r\n loading$;\r\n mapTasks: MapTask[];\r\n selectedMapTasks: MapTask[];\r\n\r\n constructor(private store: Store) {}\r\n\r\n ngOnInit(): void {\r\n this.loading$ = this.store.pipe(select(selectTasksLoading));\r\n\r\n this.store\r\n .pipe(select(selectMapTasks), untilDestroyed(this))\r\n .subscribe((mapTasks) => {\r\n this.mapTasks = cloneDeep(mapTasks);\r\n });\r\n\r\n this.store\r\n .pipe(select(selectSelectedMapTasks), untilDestroyed(this))\r\n .subscribe((selectedMapTasks) => {\r\n this.selectedMapTasks = cloneDeep(selectedMapTasks);\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n
\r\n {{ selectedMapTask?.task.field.customer.name }}\r\n
\r\n
\r\n {{ selectedMapTask?.task.field.cropName }}\r\n
\r\n
\r\n {{ selectedMapTask?.task.field.plantingYear }}\r\n
\r\n
\r\n {{ selectedMapTask?.task.field.plotNumber }}\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n settings_backup_restore\r\n \r\n\r\n \r\n Select\r\n \r\n \r\n Unselect\r\n \r\n
\r\n","import { Actions, ofType } from \"@ngrx/effects\";\r\n\r\nimport {\r\n Component,\r\n OnInit,\r\n OnDestroy,\r\n OnChanges,\r\n Input,\r\n TemplateRef,\r\n ViewChild,\r\n Output,\r\n EventEmitter,\r\n} from \"@angular/core\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport { Coordinate } from \"src/app/core/models/coordinate.mode\";\r\nimport { InfoWindow } from \"@agm/core/services/google-maps-types\";\r\nimport { AgmMap, LatLngLiteral, FitBoundsAccessor } from \"@agm/core\";\r\nimport {\r\n mapTaskSelected,\r\n mapTaskTableClick,\r\n} from \"src/app/core/store/actions/task.actions\";\r\nimport { MapTask } from \"src/app/core/models/map-task.model\";\r\n\r\ndeclare const google: any;\r\n\r\n@Component({\r\n selector: \"kt-task-fields-map\",\r\n templateUrl: \"./task-fields-map.component.html\",\r\n styleUrls: [\"./task-fields-map.component.scss\"],\r\n})\r\nexport class TaskFieldsMapComponent implements OnInit, OnChanges, OnDestroy {\r\n zoom = 17;\r\n bounds = {\r\n north: 33.290422,\r\n south: 29.49388,\r\n west: 34.219153,\r\n east: 35.579897,\r\n };\r\n @Input() coordinates: Coordinate[];\r\n @Input() center: Coordinate;\r\n @Input() mapTasks: MapTask[];\r\n\r\n @ViewChild(\"map\") map: AgmMap;\r\n drawingManager;\r\n selectedShape;\r\n infoWindow;\r\n selectedMapTask: MapTask;\r\n\r\n constructor(private store: Store, private actions$: Actions) {}\r\n\r\n ngOnChanges(changes: import(\"@angular/core\").SimpleChanges): void {\r\n if (\r\n changes.mapTasks &&\r\n this.mapTasks?.length > 0 &&\r\n changes.mapTasks.currentValue?.length !=\r\n changes.mapTasks.previousValue?.length\r\n ) {\r\n this.center = this.mapTasks[0].task.field.coordinates[0];\r\n this.fitBounds();\r\n }\r\n }\r\n\r\n fitBounds() {\r\n let allCoords = this.mapTasks.reduce(\r\n (acc, val) => acc.concat(val.task.field.coordinates),\r\n []\r\n );\r\n\r\n let lats = allCoords.map((c) => c.lat);\r\n let lngs = allCoords.map((c) => c.lng);\r\n\r\n let maxLat = Math.max(...lats);\r\n let minLat = Math.min(...lats);\r\n let maxLng = Math.max(...lngs);\r\n let minLng = Math.min(...lngs);\r\n\r\n this.bounds = {\r\n north: maxLat,\r\n south: minLat,\r\n east: maxLng,\r\n west: minLng,\r\n };\r\n }\r\n\r\n ngOnInit(): void {\r\n this.actions$\r\n .pipe(ofType(mapTaskTableClick), untilDestroyed(this))\r\n .subscribe((action) => {\r\n this.center = null;\r\n setTimeout(\r\n () => (this.center = action.data.task.field.coordinates[0]),\r\n 0\r\n );\r\n\r\n this.zoom = 17;\r\n });\r\n }\r\n\r\n mouseOverPoly(infoWindow: InfoWindow, mapTask: MapTask) {\r\n this.selectedMapTask = mapTask;\r\n infoWindow.open();\r\n }\r\n\r\n mapTaskSelected(mapTask: MapTask) {\r\n this.store.dispatch(\r\n mapTaskSelected({ mapTask: mapTask, selected: !mapTask.isSelected })\r\n );\r\n }\r\n\r\n selectTasksInRect(select: boolean) {\r\n if (this.selectedShape) {\r\n const northEeast = Object.values(Object.values(this.selectedShape.bounds)[1]);\r\n const southWest = Object.values(Object.values(this.selectedShape.bounds)[0]);\r\n\r\n const swLat = southWest[1];\r\n const swLng = southWest[0];\r\n const neLat = northEeast[1];\r\n const neLng = northEeast[0];\r\n\r\n this.mapTasks.forEach((mapTask) => {\r\n let coor = mapTask.task.field.coordinates[0];\r\n\r\n if (\r\n coor.lat < swLat &&\r\n coor.lng < neLat &&\r\n coor.lat > swLng &&\r\n coor.lng > neLng &&\r\n !mapTask.isSelected == select\r\n ) {\r\n this.store.dispatch(\r\n mapTaskSelected({ mapTask: mapTask, selected: select })\r\n );\r\n }\r\n });\r\n\r\n this.deleteSelectedShape();\r\n }\r\n }\r\n\r\n onMapReady(map) {\r\n map.controls[google.maps.ControlPosition.TOP_LEFT].push(\r\n document.getElementById(\"delete-button\")\r\n );\r\n map.controls[google.maps.ControlPosition.TOP_LEFT].push(\r\n document.getElementById(\"select-button\")\r\n );\r\n map.controls[google.maps.ControlPosition.TOP_LEFT].push(\r\n document.getElementById(\"unselect-button\")\r\n );\r\n\r\n this.initDrawingManager(map);\r\n }\r\n\r\n initDrawingManager(map: any) {\r\n const options = {\r\n drawingControl: true,\r\n drawingControlOptions: {\r\n drawingModes: [\"rectangle\"],\r\n },\r\n rectangleOptions: {\r\n draggable: true,\r\n editable: true,\r\n },\r\n };\r\n this.drawingManager = new google.maps.drawing.DrawingManager(options);\r\n this.drawingManager.modeChanged;\r\n this.drawingManager.setMap(map);\r\n\r\n google.maps.event.addListener(\r\n this.drawingManager,\r\n \"overlaycomplete\",\r\n (e) => {\r\n {\r\n // Switch back to non-drawing mode after drawing a shape.\r\n this.drawingManager.setDrawingMode(null);\r\n // To hide:\r\n this.drawingManager.setOptions({\r\n drawingControl: false,\r\n });\r\n\r\n // Add an event listener that selects the newly-drawn shape when the user\r\n // mouses down on it.\r\n var newShape = e.overlay;\r\n newShape.type = e.type;\r\n google.maps.event.addListener(newShape, \"click\", function () {\r\n this.setSelection(newShape);\r\n });\r\n this.setSelection(newShape);\r\n }\r\n }\r\n );\r\n }\r\n\r\n clearSelection() {\r\n if (this.selectedShape) {\r\n this.selectedShape.setEditable(false);\r\n this.selectedShape = null;\r\n }\r\n }\r\n\r\n setSelection(shape) {\r\n this.clearSelection();\r\n this.selectedShape = shape;\r\n shape.setEditable(true);\r\n }\r\n\r\n deleteSelectedShape() {\r\n if (this.selectedShape) {\r\n this.selectedShape.setMap(null);\r\n // To show:\r\n this.drawingManager.setOptions({\r\n drawingControl: true,\r\n });\r\n\r\n this.clearSelection();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n"," 0; else hint\"\r\n [data]=\"mapTasks\"\r\n (loadData)=\"loadData.emit($event)\"\r\n [columns]=\"columns\"\r\n showSelect=\"true\"\r\n [showFilter]=\"false\"\r\n [selectAllByDefault]=\"true\"\r\n [hover]=\"true\"\r\n [hasMasterToggle]=\"false\"\r\n [selectActionsTemplate]=\"selectActionsTemplate\"\r\n (selectionChanged)=\"mapTaskSelected($event)\"\r\n (rowClicked)=\"mapTaskClicked($event)\"\r\n>\r\n\r\n\r\n \r\n\r\n\r\n\r\n
\r\n

Select fields on the map to see them here

\r\n
Use the rectangle tool to select multiple fields
\r\n
\r\n
\r\n\r\n\r\n {{ row.task.field.cropName }}\r\n\r\n\r\n\r\n {{ row.task.protocol.dunamVolume }}\r\n\r\n\r\n\r\n \r\n create\r\n \r\n\r\n","import {\r\n mapTaskSelected,\r\n mapTaskTableClick,\r\n} from \"./../../../../../core/store/actions/task.actions\";\r\nimport { MapTask } from \"./../../../../../core/models/map-task.model\";\r\nimport { DataTableColumn } from \"src/app/views/partials/content/general/datatable/datatable.component\";\r\nimport {\r\n Component,\r\n OnInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n AfterViewInit,\r\n ViewChild,\r\n TemplateRef,\r\n} from \"@angular/core\";\r\nimport { Field } from \"src/app/core/models/field.model\";\r\nimport { DatasourceOptions } from \"src/app/core/models/datasource-options.model\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { AssignSelectedFormComponent } from \"../assign-selected-form/assign-selected-form.component\";\r\nimport { Task } from \"src/app/core/models/task.model\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\n\r\n@Component({\r\n selector: \"kt-task-fields-table\",\r\n templateUrl: \"./task-fields-table.component.html\",\r\n styleUrls: [\"./task-fields-table.component.scss\"],\r\n})\r\nexport class TaskFieldsTableComponent implements OnInit, AfterViewInit {\r\n @Input() mapTasks: MapTask[];\r\n @Output() loadData = new EventEmitter();\r\n\r\n @ViewChild(\"cropNameTemplate\") cropNameTemplate: TemplateRef;\r\n @ViewChild(\"dunamTemplate\") dunamTemplate: TemplateRef;\r\n @ViewChild(\"actionsTemplate\", { static: false }) actionsTemplate: TemplateRef<\r\n any\r\n >;\r\n\r\n columns: DataTableColumn[];\r\n\r\n constructor(\r\n private store: Store,\r\n private router: Router,\r\n public dialog: MatDialog,\r\n private route: ActivatedRoute\r\n ) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n this.columns = [\r\n {\r\n serverFieldName: \"cropName\",\r\n clientFieldName: \"cropName\",\r\n displayNameKey: \"Crop Name\",\r\n sortable: true,\r\n template: this.cropNameTemplate,\r\n },\r\n {\r\n serverFieldName: \"dunamVolume\",\r\n clientFieldName: \"dunamVolume\",\r\n displayNameKey: \"Dunam Volume\",\r\n sortable: true,\r\n template: this.dunamTemplate,\r\n },\r\n {\r\n clientFieldName: \"actions\",\r\n serverFieldName: \"actions\",\r\n displayNameKey: \"Actions\",\r\n sortable: false,\r\n template: this.actionsTemplate,\r\n },\r\n ];\r\n });\r\n }\r\n\r\n mapTaskSelected($event) {\r\n this.store.dispatch(\r\n mapTaskSelected({\r\n mapTask: $event.row,\r\n selected: !$event.row.isSelected,\r\n })\r\n );\r\n }\r\n\r\n mapTaskClicked(mapTask: MapTask) {\r\n this.store.dispatch(mapTaskTableClick({ data: mapTask }));\r\n }\r\n\r\n assignTasks() {\r\n let dialogRef = this.dialog.open(AssignSelectedFormComponent, {\r\n data: this.mapTasks,\r\n width: \"750px\",\r\n });\r\n }\r\n\r\n editTaskClick(mapTask: MapTask) {\r\n this.router.navigate([\"edit/\" + mapTask.task.taskId], {\r\n relativeTo: this.route,\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 status.name\r\n }}\r\n \r\n\r\n Please select a\r\n status\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 Filter\r\n \r\n
\r\n
\r\n","import { TaskFilterWrapper } from \"./../../../../../core/models/task-filter-wrapper.model\";\r\nimport { selectPilotsSelector } from \"./../../../../../core/store/selectors/drone-pilots.selectors\";\r\nimport { selectMaterialsSelector } from \"./../../../../../core/store/selectors/material.selectors\";\r\n\r\nimport { Protocol } from \"./../../../../../core/models/protocol.model\";\r\nimport { Material } from \"./../../../../../core/models/material.model\";\r\nimport { DronePilot } from \"./../../../../../core/models/drone-pilot.model\";\r\nimport { MatSelect } from \"@angular/material/select\";\r\nimport { filterTasks } from \"./../../../../../core/store/actions/task.actions\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport {\r\n Component,\r\n OnInit,\r\n OnDestroy,\r\n ViewChild,\r\n AfterViewInit,\r\n} from \"@angular/core\";\r\nimport {\r\n selectStatuses,\r\n selectTasksLoading,\r\n selectTaskFilterWrapper,\r\n} from \"src/app/core/store/selectors/task.selectors\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport { selectCustomersSelector } from \"src/app/core/store/selectors/customer.selectors\";\r\nimport { Status } from \"src/app/core/models/status.model\";\r\nimport { Customer } from \"src/app/core/models/customer.model\";\r\nimport { FormControl } from \"@angular/forms\";\r\nimport { selectProtocolsSelector } from \"src/app/core/store/selectors/protocol.selectors\";\r\n\r\n@Component({\r\n selector: \"kt-tasks-filter\",\r\n templateUrl: \"./tasks-filter.component.html\",\r\n styleUrls: [\"./tasks-filter.component.scss\"],\r\n})\r\nexport class TasksFilterComponent implements OnInit, OnDestroy, AfterViewInit {\r\n loading$;\r\n\r\n statuses: Status[];\r\n customers: Customer[];\r\n pilots: DronePilot[];\r\n materials: Material[];\r\n protocols: Protocol[];\r\n\r\n public customersSelectFormControl: FormControl = new FormControl();\r\n public pilotsSelectFormControl: FormControl = new FormControl();\r\n public protocolsSelectFormControl: FormControl = new FormControl();\r\n public materialsSelectFormControl: FormControl = new FormControl();\r\n\r\n @ViewChild(\"statusSelectControl\") statusSelectControl: MatSelect;\r\n\r\n constructor(private store: Store) {}\r\n\r\n ngOnInit(): void {\r\n this.loading$ = this.store.pipe(select(selectTasksLoading));\r\n\r\n this.store\r\n .pipe(select(selectStatuses), untilDestroyed(this))\r\n .subscribe((s) => {\r\n this.statuses = s;\r\n });\r\n\r\n this.store\r\n .pipe(select(selectCustomersSelector), untilDestroyed(this))\r\n .subscribe((c) => {\r\n this.customers = c;\r\n });\r\n\r\n this.store\r\n .pipe(select(selectMaterialsSelector), untilDestroyed(this))\r\n .subscribe((m) => {\r\n this.materials = m;\r\n });\r\n\r\n this.store\r\n .pipe(select(selectProtocolsSelector), untilDestroyed(this))\r\n .subscribe((p) => {\r\n this.protocols = p;\r\n });\r\n\r\n this.store\r\n .pipe(select(selectPilotsSelector), untilDestroyed(this))\r\n .subscribe((p) => {\r\n this.pilots = p;\r\n });\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.store\r\n .pipe(select(selectTaskFilterWrapper), untilDestroyed(this))\r\n .subscribe((wrapper) => {\r\n if (wrapper) {\r\n this.customersSelectFormControl.setValue(wrapper.customerId);\r\n this.pilotsSelectFormControl.setValue(wrapper.pilotId);\r\n this.statusSelectControl.value = wrapper.statusId;\r\n this.materialsSelectFormControl.setValue(wrapper.materialId);\r\n this.protocolsSelectFormControl.setValue(wrapper.protocolId);\r\n }\r\n });\r\n }\r\n\r\n filterClick() {\r\n let filterWrapper = this.prepareFilterWrapper();\r\n this.store.dispatch(filterTasks({ data: filterWrapper }));\r\n }\r\n\r\n prepareFilterWrapper(): TaskFilterWrapper {\r\n return {\r\n customerId: this.customersSelectFormControl.value,\r\n statusId: this.statusSelectControl.value,\r\n protocolId: this.protocolsSelectFormControl.value,\r\n materialId: this.materialsSelectFormControl.value,\r\n pilotId: this.pilotsSelectFormControl.value,\r\n };\r\n }\r\n\r\n ngOnDestroy(): void {}\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 Please enter\r\n from date\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 Please enter\r\n to date\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 Filter\r\n \r\n
\r\n
\r\n","import {\r\n Component,\r\n OnInit,\r\n OnDestroy,\r\n ViewChild,\r\n AfterViewInit,\r\n} from \"@angular/core\";\r\nimport { Customer } from \"src/app/core/models/customer.model\";\r\nimport { DronePilot } from \"src/app/core/models/drone-pilot.model\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport { selectCustomersSelector } from \"src/app/core/store/selectors/customer.selectors\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport { selectPilotsSelector } from \"src/app/core/store/selectors/drone-pilots.selectors\";\r\nimport {\r\n filterTasks,\r\n filterCompletedTasks,\r\n} from \"src/app/core/store/actions/task.actions\";\r\nimport { TaskFilterWrapper } from \"src/app/core/models/task-filter-wrapper.model\";\r\nimport { FormControl } from \"@angular/forms\";\r\nimport { selectCompletedTasksFilterWrapper } from \"src/app/core/store/selectors/task.selectors\";\r\n\r\n@Component({\r\n selector: \"kt-completed-tasks-filter\",\r\n templateUrl: \"./completed-tasks-filter.component.html\",\r\n styleUrls: [\"./completed-tasks-filter.component.scss\"],\r\n})\r\nexport class CompletedTasksFilterComponent\r\n implements OnInit, OnDestroy, AfterViewInit {\r\n loading$;\r\n\r\n customers: Customer[];\r\n pilots: DronePilot[];\r\n\r\n public customersSelectFormControl: FormControl = new FormControl();\r\n public pilotsSelectFormControl: FormControl = new FormControl();\r\n\r\n @ViewChild(\"fromDateControl\") fromDateControl;\r\n @ViewChild(\"toDateControl\") toDateControl;\r\n\r\n constructor(private store: Store) {}\r\n\r\n ngOnInit(): void {\r\n this.store\r\n .pipe(select(selectCustomersSelector), untilDestroyed(this))\r\n .subscribe((c) => {\r\n this.customers = c;\r\n });\r\n\r\n this.store\r\n .pipe(select(selectPilotsSelector), untilDestroyed(this))\r\n .subscribe((p) => {\r\n this.pilots = p;\r\n });\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.store\r\n .pipe(select(selectCompletedTasksFilterWrapper), untilDestroyed(this))\r\n .subscribe((wrapper) => {\r\n if (wrapper) {\r\n this.customersSelectFormControl.setValue(wrapper.customerId);\r\n this.pilotsSelectFormControl.setValue(wrapper.pilotId);\r\n this.fromDateControl.nativeElement.value = wrapper.fromDate;\r\n this.toDateControl.nativeElement.value = wrapper.toDate;\r\n }\r\n });\r\n }\r\n\r\n filterClick() {\r\n let filterWrapper = this.prepareFilterWrapper();\r\n this.store.dispatch(filterCompletedTasks({ data: filterWrapper }));\r\n }\r\n\r\n prepareFilterWrapper(): TaskFilterWrapper {\r\n return {\r\n customerId: this.customersSelectFormControl.value,\r\n toDate: this.toDateControl.nativeElement.value,\r\n fromDate: this.fromDateControl.nativeElement.value,\r\n pilotId: this.pilotsSelectFormControl.value,\r\n };\r\n }\r\n ngOnDestroy(): void {}\r\n}\r\n","\r\n\r\n\r\n {{\r\n row.material.name\r\n }}\r\n\r\n\r\n\r\n {{\r\n row.field.cropName\r\n }}\r\n\r\n\r\n\r\n {{ row.status.name }}\r\n\r\n\r\n\r\n {{ row.customer.name }}\r\n\r\n\r\n\r\n {{ row.protocol.name }}\r\n\r\n\r\n\r\n {{ row.createdAt | date: \"shortDate\" }}\r\n\r\n\r\n\r\n {{ row.pilot?.name }}\r\n\r\n\r\n\r\n {{ row.executionDate | date: \"shortDate\" }}\r\n\r\n","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ViewChild,\r\n TemplateRef,\r\n} from \"@angular/core\";\r\nimport { Task } from \"src/app/core/models/task.model\";\r\nimport { DatasourceOptions } from \"src/app/core/models/datasource-options.model\";\r\nimport { DataTableColumn } from \"src/app/views/partials/content/general/datatable/datatable.component\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\n\r\n@Component({\r\n selector: \"kt-completed-tasks-table\",\r\n templateUrl: \"./completed-tasks-table.component.html\",\r\n styleUrls: [\"./completed-tasks-table.component.scss\"],\r\n})\r\nexport class CompletedTasksTableComponent implements OnInit {\r\n @Input() tasks: Task[];\r\n @Input() loading: boolean;\r\n @Input() datasourceOptions: DatasourceOptions;\r\n @Output() loadData = new EventEmitter();\r\n @Output() deleteTask = new EventEmitter();\r\n\r\n @ViewChild(\"actionsTemplate\", { static: false }) actionsTemplate: TemplateRef<\r\n any\r\n >;\r\n\r\n @ViewChild(\"customerTemplate\", { static: false })\r\n customerTemplate: TemplateRef;\r\n\r\n @ViewChild(\"protocolTemplate\", { static: false })\r\n protocolTemplate: TemplateRef;\r\n\r\n @ViewChild(\"fieldTemplate\", { static: false })\r\n fieldTemplate: TemplateRef;\r\n\r\n @ViewChild(\"statusTemplate\", { static: false })\r\n statusTemplate: TemplateRef;\r\n\r\n @ViewChild(\"createdAtTemplate\", { static: false })\r\n createdAtTemplate: TemplateRef;\r\n\r\n @ViewChild(\"executionDate\", { static: false })\r\n executionDate: TemplateRef;\r\n\r\n @ViewChild(\"pilotTemplate\", { static: false })\r\n pilotTemplate: TemplateRef;\r\n\r\n @ViewChild(\"materialTemplate\", { static: false })\r\n materialTemplate: TemplateRef;\r\n\r\n columns: DataTableColumn[];\r\n\r\n constructor(private router: Router, private route: ActivatedRoute) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n this.columns = [\r\n {\r\n serverFieldName: \"customer\",\r\n clientFieldName: \"customer\",\r\n displayNameKey: \"Customer\",\r\n sortable: true,\r\n template: this.customerTemplate,\r\n },\r\n {\r\n serverFieldName: \"material\",\r\n clientFieldName: \"material\",\r\n displayNameKey: \"Material\",\r\n sortable: true,\r\n template: this.materialTemplate,\r\n },\r\n {\r\n serverFieldName: \"protocol\",\r\n clientFieldName: \"protocol\",\r\n displayNameKey: \"Protocol\",\r\n sortable: true,\r\n template: this.protocolTemplate,\r\n },\r\n {\r\n serverFieldName: \"field\",\r\n clientFieldName: \"field\",\r\n displayNameKey: \"Field\",\r\n sortable: true,\r\n template: this.fieldTemplate,\r\n },\r\n {\r\n serverFieldName: \"pilot\",\r\n clientFieldName: \"pilot\",\r\n displayNameKey: \"Pilot\",\r\n sortable: true,\r\n template: this.pilotTemplate,\r\n },\r\n {\r\n serverFieldName: \"status\",\r\n clientFieldName: \"status\",\r\n displayNameKey: \"status\",\r\n sortable: true,\r\n template: this.statusTemplate,\r\n },\r\n {\r\n serverFieldName: \"createdAt\",\r\n clientFieldName: \"createdAt\",\r\n displayNameKey: \"Created\",\r\n sortable: true,\r\n template: this.createdAtTemplate,\r\n },\r\n {\r\n serverFieldName: \"executionDate\",\r\n clientFieldName: \"executionDate\",\r\n displayNameKey: \"Execution\",\r\n sortable: true,\r\n template: this.executionDate,\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","import { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport {\r\n selectTasksLoading,\r\n selectCompletedTasks,\r\n} from \"src/app/core/store/selectors/task.selectors\";\r\nimport { Task } from \"src/app/core/models/task.model\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\n\r\n@Component({\r\n selector: \"kt-completed-tasks\",\r\n templateUrl: \"./completed-tasks.component.html\",\r\n styleUrls: [\"./completed-tasks.component.scss\"],\r\n})\r\nexport class CompletedTasksComponent implements OnInit, OnDestroy {\r\n loading$;\r\n title = \"Completed tasks\";\r\n tasks: Task[];\r\n\r\n constructor(private store: Store) {}\r\n\r\n ngOnInit(): void {\r\n this.loading$ = this.store.pipe(select(selectTasksLoading));\r\n\r\n this.store\r\n .pipe(select(selectCompletedTasks), untilDestroyed(this))\r\n .subscribe((tasks) => {\r\n if (tasks) {\r\n this.tasks = tasks;\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","\r\n
\r\n \r\n Oh snap! Change a few things up and try submitting again.\r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n File is\r\n required\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\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Requested date is\r\n required\r\n \r\n Please enter\r\n requested date\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 Customer name: \r\n {{ preview.customerName }}\r\n
\r\n
\r\n Material name:\r\n {{ preview.materialName }}\r\n
\r\n
\r\n Protocol name:\r\n {{ preview.protocolName }}\r\n
\r\n
\r\n Execution date: {{ preview.requiredDateStr }}\r\n
\r\n
\r\n Number of tasks in file: {{ preview.totalRecords }}\r\n
\r\n
\r\n\r\n\r\n\r\n \r\n Submit\r\n \r\n\r\n \r\n \r\n Back\r\n \r\n\r\n","import { importTasksPreviewSuccess } from \"./../../../../core/store/actions/task.actions\";\r\nimport { ofType, Actions } from \"@ngrx/effects\";\r\nimport { selectPilotsSelector } from \"./../../../../core/store/selectors/drone-pilots.selectors\";\r\nimport { DronePilot } from \"./../../../../core/models/drone-pilot.model\";\r\nimport { selectProtocolsSelector } from \"./../../../../core/store/selectors/protocol.selectors\";\r\nimport { selectMaterialsSelector } from \"../../../../core/store/selectors/material.selectors\";\r\nimport { Material } from \"../../../../core/models/material.model\";\r\nimport {\r\n selectTasksLoading,\r\n selectStatuses,\r\n} from \"../../../../core/store/selectors/task.selectors\";\r\nimport { TaskState } from \"../../../../core/store/reducers/task.reducer\";\r\nimport { Field } from \"../../../../core/models/field.model\";\r\nimport { Protocol } from \"../../../../core/models/protocol.model\";\r\nimport { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { Task } from \"src/app/core/models/task.model\";\r\nimport {\r\n FormGroup,\r\n FormControl,\r\n Validators,\r\n FormBuilder,\r\n} from \"@angular/forms\";\r\nimport { Observable, ReplaySubject } from \"rxjs\";\r\nimport { Customer } from \"src/app/core/models/customer.model\";\r\nimport { Status } from \"src/app/core/models/status.model\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport { selectCustomersSelector } from \"src/app/core/store/selectors/customer.selectors\";\r\nimport {\r\n importTasks,\r\n importTasksPreview,\r\n} from \"src/app/core/store/actions/task.actions\";\r\nimport { ImportTasksPreview } from \"src/app/core/models/import-tasks-preview.model\";\r\n\r\n@Component({\r\n selector: \"kt-import-task\",\r\n templateUrl: \"./import-task.component.html\",\r\n styleUrls: [\"./import-task.component.scss\"],\r\n})\r\nexport class ImportTaskComponent implements OnInit, OnDestroy {\r\n title = \"Import tasks\";\r\n task: Task;\r\n taskForm: FormGroup;\r\n hasFormErrors = false;\r\n loading$: Observable;\r\n\r\n //statuses: Status[];\r\n customers: Customer[];\r\n protocols: Protocol[];\r\n //pilots: DronePilot[];\r\n materials: Material[];\r\n\r\n preview: ImportTasksPreview;\r\n\r\n public customersSelectFormControl: FormControl = new FormControl();\r\n\r\n public materialsSelectFormControl: FormControl = new FormControl();\r\n\r\n public protocolsSelectFormControl: FormControl = new FormControl();\r\n\r\n //public pilotsSelectFormControl: FormControl = new FormControl();\r\n\r\n public filesControl = new FormControl(null, [Validators.required]);\r\n\r\n constructor(\r\n private store: Store,\r\n private taskFB: FormBuilder,\r\n private actions$: Actions\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.loading$ = this.store.pipe(\r\n select(selectTasksLoading),\r\n untilDestroyed(this)\r\n );\r\n\r\n // this.store\r\n // .pipe(select(selectStatuses), untilDestroyed(this))\r\n // .subscribe((s) => {\r\n // this.statuses = s;\r\n // });\r\n\r\n this.store\r\n .pipe(select(selectCustomersSelector), untilDestroyed(this))\r\n .subscribe((c) => {\r\n this.customers = c;\r\n });\r\n\r\n this.store\r\n .pipe(select(selectMaterialsSelector), untilDestroyed(this))\r\n .subscribe((m) => {\r\n this.materials = m;\r\n });\r\n\r\n this.store\r\n .pipe(select(selectProtocolsSelector), untilDestroyed(this))\r\n .subscribe((p) => {\r\n this.protocols = p;\r\n });\r\n\r\n // this.store\r\n // .pipe(select(selectPilotsSelector), untilDestroyed(this))\r\n // .subscribe((p) => {\r\n // this.pilots = p;\r\n // });\r\n\r\n this.actions$\r\n .pipe(ofType(importTasksPreviewSuccess), untilDestroyed(this))\r\n .subscribe((action) => {\r\n this.preview = action.data;\r\n });\r\n\r\n this.createForm();\r\n }\r\n\r\n createForm() {\r\n this.taskForm = this.taskFB.group({\r\n executionDate: [null],\r\n });\r\n\r\n this.taskForm.addControl(\r\n \"customersSelectFormControl\",\r\n this.customersSelectFormControl\r\n );\r\n this.customersSelectFormControl.setValidators(Validators.required);\r\n\r\n this.taskForm.addControl(\r\n \"protocolsSelectFormControl\",\r\n this.protocolsSelectFormControl\r\n );\r\n this.protocolsSelectFormControl.setValidators(Validators.required);\r\n\r\n this.taskForm.addControl(\r\n \"materialsSelectFormControl\",\r\n this.materialsSelectFormControl\r\n );\r\n this.materialsSelectFormControl.setValidators(Validators.required);\r\n\r\n // this.taskForm.addControl(\r\n // \"pilotsSelectFormControl\",\r\n // this.pilotsSelectFormControl\r\n // );\r\n // this.pilotsSelectFormControl.setValidators(Validators.required);\r\n\r\n this.taskForm.addControl(\"fileUploadControl\", this.filesControl);\r\n\r\n this.taskForm.valueChanges.subscribe((v) => {\r\n //if (this.taskForm.valid) {\r\n if (this.filesControl.valid) {\r\n let task = new Task(\r\n null,\r\n null,\r\n null,\r\n null,\r\n null,\r\n null, // pilot,\r\n null, // status,\r\n null,\r\n null,\r\n null,\r\n null,\r\n null,\r\n null,\r\n null\r\n );\r\n\r\n this.store.dispatch(\r\n importTasksPreview({ task: task, file: this.filesControl.value })\r\n );\r\n }\r\n });\r\n }\r\n\r\n onSumbit() {\r\n this.hasFormErrors = false;\r\n const controls = this.taskForm.controls;\r\n /** check form */\r\n if (this.taskForm.invalid) {\r\n Object.keys(controls).forEach((controlName) =>\r\n controls[controlName].markAsTouched()\r\n );\r\n\r\n this.hasFormErrors = true;\r\n return;\r\n }\r\n\r\n let task = this.prepareTask();\r\n\r\n this.store.dispatch(\r\n importTasks({ task: task, file: this.filesControl.value })\r\n );\r\n }\r\n\r\n prepareTask() {\r\n let customer = this.customers.find(\r\n (c) => c.customerId == this.customersSelectFormControl.value\r\n );\r\n let protocol = this.protocols.find(\r\n (c) => c.protocolId == this.protocolsSelectFormControl.value\r\n );\r\n let material = this.materials.find(\r\n (c) => c.materialId == this.materialsSelectFormControl.value\r\n );\r\n\r\n let task = new Task(\r\n null,\r\n customer,\r\n null,\r\n material,\r\n protocol,\r\n null, // pilot,\r\n null, // status,\r\n null,\r\n this.taskForm.controls.executionDate.value,\r\n null,\r\n null,\r\n null,\r\n null,\r\n null\r\n );\r\n\r\n return task;\r\n }\r\n\r\n onAlertClose($event) {\r\n this.hasFormErrors = false;\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n {{ status.name }}\r\n \r\n\r\n Please select a\r\n status\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n \r\n Assign\r\n \r\n\r\n","import { Component, OnInit, OnDestroy, Inject } from \"@angular/core\";\r\nimport { Status } from \"src/app/core/models/status.model\";\r\nimport { DronePilot } from \"src/app/core/models/drone-pilot.model\";\r\nimport { MapTask } from \"src/app/core/models/map-task.model\";\r\nimport {\r\n FormGroup,\r\n FormControl,\r\n FormBuilder,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from \"@angular/material/dialog\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport { AssignSelectedFormComponent } from \"../../assign-tasks/assign-selected-form/assign-selected-form.component\";\r\nimport {\r\n selectTasksModalLoading,\r\n selectStatuses,\r\n} from \"src/app/core/store/selectors/task.selectors\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport { selectPilotsSelector } from \"src/app/core/store/selectors/drone-pilots.selectors\";\r\nimport {\r\n assignTasks,\r\n assignControllerTasks,\r\n} from \"src/app/core/store/actions/task.actions\";\r\nimport { AssignTaskWrapper } from \"src/app/core/models/assignTaskWrapper.model\";\r\n\r\n@Component({\r\n selector: \"kt-controller-assign-selected\",\r\n templateUrl: \"./controller-assign-selected.component.html\",\r\n styleUrls: [\"./controller-assign-selected.component.scss\"],\r\n})\r\nexport class ControllerAssignSelectedComponent implements OnInit, OnDestroy {\r\n loading$;\r\n statuses: Status[];\r\n selectedTasks: MapTask[];\r\n\r\n assignForm: FormGroup;\r\n\r\n submitting = false;\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) data: any,\r\n private store: Store,\r\n private assignFb: FormBuilder,\r\n public dialogRef: MatDialogRef\r\n ) {\r\n this.selectedTasks = data;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.loading$ = this.store.pipe(select(selectTasksModalLoading));\r\n\r\n this.store\r\n .pipe(select(selectTasksModalLoading), untilDestroyed(this))\r\n .subscribe((loading) => {\r\n if (loading === false && this.submitting) {\r\n this.dialogRef.close();\r\n }\r\n });\r\n\r\n this.store\r\n .pipe(select(selectStatuses), untilDestroyed(this))\r\n .subscribe((s) => {\r\n this.statuses = s.filter(\r\n (s) => s.name == \"Completed\" || s.name == \"Uncompleted\"\r\n );\r\n });\r\n\r\n this.createForm();\r\n }\r\n\r\n createForm() {\r\n this.assignForm = this.assignFb.group({\r\n status: [null, Validators.required],\r\n });\r\n }\r\n\r\n onSumbit() {\r\n const controls = this.assignForm.controls;\r\n /** check form */\r\n if (this.assignForm.invalid) {\r\n Object.keys(controls).forEach((controlName) =>\r\n controls[controlName].markAsTouched()\r\n );\r\n\r\n return;\r\n }\r\n\r\n let assignTaskWrapper = this.prepareAssignTasks();\r\n\r\n this.submitting = true;\r\n this.store.dispatch(assignControllerTasks({ data: assignTaskWrapper }));\r\n }\r\n\r\n prepareAssignTasks() {\r\n let taskIds = this.selectedTasks.map((t) => t.task.taskId);\r\n\r\n return {\r\n tasksToAssign: taskIds,\r\n statusId: this.assignForm.controls.status.value,\r\n };\r\n }\r\n\r\n ngOnDestroy(): void {}\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 Execution date is\r\n required\r\n \r\n Please enter\r\n Execution date\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n Filter\r\n \r\n
\r\n
\r\n","import { combineLatest } from \"rxjs\";\r\nimport { DronePilot } from \"src/app/core/models/drone-pilot.model\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport {\r\n Component,\r\n OnInit,\r\n OnDestroy,\r\n AfterViewInit,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { Drone } from \"src/app/core/models/drone.model\";\r\nimport { select } from \"@ngrx/store\";\r\nimport {\r\n selectDronesLoading,\r\n selectDrones,\r\n} from \"src/app/core/store/selectors/drones.selectors\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport { loadDrones } from \"src/app/core/store/actions/drones.actions\";\r\nimport { DataTableColumn } from \"src/app/views/partials/content/general/datatable/datatable.component\";\r\nimport {\r\n selectTasksLoading,\r\n selectControllerFilterWrapper,\r\n} from \"src/app/core/store/selectors/task.selectors\";\r\nimport {\r\n filterTasks,\r\n filterControllerTasks,\r\n} from \"src/app/core/store/actions/task.actions\";\r\nimport { TaskFilterWrapper } from \"src/app/core/models/task-filter-wrapper.model\";\r\nimport { FormControl } from \"@angular/forms\";\r\nimport { selectPilotsSelector } from \"src/app/core/store/selectors/drone-pilots.selectors\";\r\nimport { filter } from \"rxjs/operators\";\r\n\r\n@Component({\r\n selector: \"kt-controller-filter\",\r\n templateUrl: \"./controller-filter.component.html\",\r\n styleUrls: [\"./controller-filter.component.scss\"],\r\n})\r\nexport class ControllerFilterComponent\r\n implements OnInit, OnDestroy, AfterViewInit {\r\n drones: Drone[];\r\n pilots: DronePilot[];\r\n // selectedDrones = [];\r\n loading$;\r\n columns: DataTableColumn[];\r\n\r\n public pilotsSelectFormControl: FormControl = new FormControl();\r\n public dronesSelectFormControl: FormControl = new FormControl();\r\n\r\n @ViewChild(\"executionDateFormControl\") executionDateFormControl;\r\n\r\n constructor(private store: Store) {}\r\n\r\n ngOnInit(): void {\r\n this.loading$ = this.store.pipe(select(selectTasksLoading));\r\n\r\n combineLatest(\r\n this.store.pipe(selectDrones, untilDestroyed(this)),\r\n this.store.pipe(\r\n select(selectControllerFilterWrapper),\r\n untilDestroyed(this)\r\n )\r\n ).subscribe(([drones, filter]) => {\r\n this.drones = drones;\r\n if (filter) {\r\n this.dronesSelectFormControl.setValue(filter.dronesList);\r\n this.pilotsSelectFormControl.setValue(filter.pilotId);\r\n }\r\n });\r\n\r\n this.store\r\n .pipe(select(selectPilotsSelector), untilDestroyed(this))\r\n .subscribe((p) => {\r\n this.pilots = p;\r\n });\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n this.executionDateFormControl.nativeElement.value = new Date().toLocaleDateString();\r\n\r\n this.columns = [\r\n {\r\n serverFieldName: \"tailNumber\",\r\n clientFieldName: \"tailNumber\",\r\n displayNameKey: \"Tail Number\",\r\n sortable: true,\r\n },\r\n ];\r\n });\r\n\r\n this.store.dispatch(loadDrones());\r\n }\r\n\r\n filterClick() {\r\n let filterWrapper = this.prepareFilterWrapper();\r\n this.store.dispatch(filterControllerTasks({ data: filterWrapper }));\r\n }\r\n\r\n prepareFilterWrapper(): TaskFilterWrapper {\r\n return {\r\n pilotId: this.pilotsSelectFormControl.value,\r\n executionDate: this.executionDateFormControl.nativeElement.value,\r\n dronesList: this.dronesSelectFormControl.value,\r\n };\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n
\r\n Customer name: {{ selectedMapTask?.task.field.customer.name }}\r\n
\r\n
\r\n Crop name: {{ selectedMapTask?.task.field.cropName }}\r\n
\r\n
\r\n Planting year: {{ selectedMapTask?.task.field.plantingYear }}\r\n
\r\n
\r\n Plot number: {{ selectedMapTask?.task.field.plotNumber }}\r\n
\r\n
Status: {{ selectedMapTask?.task.status.name }}
\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 {{ selectedDroneRoute?.tailNumber }}\r\n \r\n \r\n \r\n\r\n \r\n settings_backup_restore\r\n \r\n\r\n \r\n Select\r\n \r\n \r\n Unselect\r\n \r\n \r\n
\r\n","import {\r\n Component,\r\n OnInit,\r\n OnChanges,\r\n OnDestroy,\r\n Input,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { Coordinate } from \"src/app/core/models/coordinate.mode\";\r\nimport { MapTask } from \"src/app/core/models/map-task.model\";\r\nimport { AgmMap } from \"@agm/core\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport { Actions, ofType } from \"@ngrx/effects\";\r\nimport {\r\n mapTaskTableClick,\r\n mapTaskSelected,\r\n controllerMapTaskSelected,\r\n} from \"src/app/core/store/actions/task.actions\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport { InfoWindow } from \"@agm/core/services/google-maps-types\";\r\nimport { DroneRoute } from \"src/app/core/models/drone-route-model\";\r\n\r\ndeclare const google: any;\r\n\r\n@Component({\r\n selector: \"kt-controller-map\",\r\n templateUrl: \"./controller-map.component.html\",\r\n styleUrls: [\"./controller-map.component.scss\"],\r\n})\r\nexport class ControllerMapComponent implements OnInit, OnChanges, OnDestroy {\r\n zoom = 17;\r\n bounds = {\r\n north: 33.290422,\r\n south: 29.49388,\r\n west: 34.219153,\r\n east: 35.579897,\r\n };\r\n @Input() coordinates: Coordinate[];\r\n @Input() center: Coordinate;\r\n @Input() mapTasks: MapTask[];\r\n @Input() droneRoutes: DroneRoute;\r\n\r\n @ViewChild(\"map\") map: AgmMap;\r\n drawingManager;\r\n selectedShape;\r\n infoWindow;\r\n selectedMapTask: MapTask;\r\n selectedDroneRoute: DroneRoute;\r\n\r\n constructor(private store: Store, private actions$: Actions) {}\r\n\r\n ngOnChanges(changes: import(\"@angular/core\").SimpleChanges): void {\r\n if (\r\n changes.mapTasks &&\r\n this.mapTasks?.length > 0 &&\r\n changes.mapTasks.currentValue?.length !=\r\n changes.mapTasks.previousValue?.length\r\n ) {\r\n this.center = this.mapTasks[0].task.field.coordinates[0];\r\n this.fitBounds();\r\n }\r\n }\r\n\r\n fitBounds() {\r\n let allCoords = this.mapTasks.reduce(\r\n (acc, val) => acc.concat(val.task.field.coordinates),\r\n []\r\n );\r\n\r\n let lats = allCoords.map((c) => c.lat);\r\n let lngs = allCoords.map((c) => c.lng);\r\n\r\n let maxLat = Math.max(...lats);\r\n let minLat = Math.min(...lats);\r\n let maxLng = Math.max(...lngs);\r\n let minLng = Math.min(...lngs);\r\n\r\n this.bounds = {\r\n north: maxLat,\r\n south: minLat,\r\n east: maxLng,\r\n west: minLng,\r\n };\r\n }\r\n\r\n ngOnInit(): void {\r\n this.actions$\r\n .pipe(ofType(mapTaskTableClick), untilDestroyed(this))\r\n .subscribe((action) => {\r\n this.centerOnCoordinate(action.data.task.field.coordinates[0]);\r\n });\r\n }\r\n\r\n mouseOverPoly(infoWindow: InfoWindow, mapTask: MapTask) {\r\n this.selectedMapTask = mapTask;\r\n infoWindow.open();\r\n }\r\n\r\n mouseOverRouteMarker(droneRouteWindow, route) {\r\n this.selectedDroneRoute = route;\r\n droneRouteWindow.open();\r\n }\r\n\r\n mapTaskSelected(mapTask: MapTask) {\r\n this.store.dispatch(\r\n controllerMapTaskSelected({\r\n mapTask: mapTask,\r\n selected: !mapTask.isSelected,\r\n })\r\n );\r\n }\r\n\r\n selectTasksInRect(select: boolean) {\r\n if (this.selectedShape) {\r\n const northEeast = Object.values(Object.values(this.selectedShape.bounds)[1]);\r\n const southWest = Object.values(Object.values(this.selectedShape.bounds)[0]);\r\n\r\n const swLat = southWest[1];\r\n const swLng = southWest[0];\r\n const neLat = northEeast[1];\r\n const neLng = northEeast[0];\r\n\r\n this.mapTasks.forEach((mapTask) => {\r\n let coor = mapTask.task.field.coordinates[0];\r\n\r\n if (\r\n coor.lat < swLat &&\r\n coor.lng < neLat &&\r\n coor.lat > swLng &&\r\n coor.lng > neLng &&\r\n !mapTask.isSelected == select\r\n ) {\r\n this.store.dispatch(\r\n mapTaskSelected({ mapTask: mapTask, selected: select })\r\n );\r\n }\r\n });\r\n\r\n this.deleteSelectedShape();\r\n }\r\n }\r\n\r\n routeSelected(route) {\r\n this.centerOnCoordinate(route.coordinates[0]);\r\n }\r\n\r\n centerOnCoordinate(coordinate) {\r\n this.center = null;\r\n setTimeout(() => (this.center = coordinate), 0);\r\n\r\n this.zoom = 17;\r\n }\r\n\r\n onMapReady(map) {\r\n map.controls[google.maps.ControlPosition.TOP_LEFT].push(\r\n document.getElementById(\"delete-button\")\r\n );\r\n map.controls[google.maps.ControlPosition.TOP_LEFT].push(\r\n document.getElementById(\"select-button\")\r\n );\r\n map.controls[google.maps.ControlPosition.TOP_LEFT].push(\r\n document.getElementById(\"unselect-button\")\r\n );\r\n\r\n map.controls[google.maps.ControlPosition.TOP_RIGHT].push(\r\n document.getElementById(\"route-list-panel\")\r\n );\r\n\r\n this.initDrawingManager(map);\r\n }\r\n\r\n initDrawingManager(map: any) {\r\n const options = {\r\n drawingControl: true,\r\n drawingControlOptions: {\r\n drawingModes: [\"rectangle\"],\r\n },\r\n rectangleOptions: {\r\n draggable: true,\r\n editable: true,\r\n },\r\n };\r\n this.drawingManager = new google.maps.drawing.DrawingManager(options);\r\n this.drawingManager.modeChanged;\r\n this.drawingManager.setMap(map);\r\n\r\n google.maps.event.addListener(\r\n this.drawingManager,\r\n \"overlaycomplete\",\r\n (e) => {\r\n {\r\n // Switch back to non-drawing mode after drawing a shape.\r\n this.drawingManager.setDrawingMode(null);\r\n // To hide:\r\n this.drawingManager.setOptions({\r\n drawingControl: false,\r\n });\r\n\r\n // Add an event listener that selects the newly-drawn shape when the user\r\n // mouses down on it.\r\n var newShape = e.overlay;\r\n newShape.type = e.type;\r\n google.maps.event.addListener(newShape, \"click\", function () {\r\n this.setSelection(newShape);\r\n });\r\n this.setSelection(newShape);\r\n }\r\n }\r\n );\r\n }\r\n\r\n clearSelection() {\r\n if (this.selectedShape) {\r\n this.selectedShape.setEditable(false);\r\n this.selectedShape = null;\r\n }\r\n }\r\n\r\n setSelection(shape) {\r\n this.clearSelection();\r\n this.selectedShape = shape;\r\n shape.setEditable(true);\r\n }\r\n\r\n deleteSelectedShape() {\r\n if (this.selectedShape) {\r\n this.selectedShape.setMap(null);\r\n // To show:\r\n this.drawingManager.setOptions({\r\n drawingControl: true,\r\n });\r\n\r\n this.clearSelection();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","\r\n \r\n \r\n Drone routes\r\n \r\n \r\n {{ droneRoutes?.length }} routes filtered\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 {{ route.tailNumber }}\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n","import { Component, OnInit, Input, Output, EventEmitter } from \"@angular/core\";\r\nimport { DroneRoute } from \"src/app/core/models/drone-route-model\";\r\n\r\n@Component({\r\n selector: \"kt-route-list\",\r\n templateUrl: \"./route-list.component.html\",\r\n styleUrls: [\"./route-list.component.scss\"],\r\n})\r\nexport class RouteListComponent implements OnInit {\r\n @Input() droneRoutes: DroneRoute[];\r\n @Output() routeSelected = new EventEmitter();\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n"," 0; else hint\"\r\n [data]=\"mapTasks\"\r\n (loadData)=\"loadData.emit($event)\"\r\n [columns]=\"columns\"\r\n showSelect=\"true\"\r\n [showFilter]=\"false\"\r\n [selectAllByDefault]=\"true\"\r\n [hover]=\"true\"\r\n [hasMasterToggle]=\"false\"\r\n [selectActionsTemplate]=\"selectActionsTemplate\"\r\n (selectionChanged)=\"mapTaskSelected($event)\"\r\n (rowClicked)=\"mapTaskClicked($event)\"\r\n>\r\n\r\n\r\n \r\n clear_all\r\n Assign tasks staus\r\n \r\n\r\n\r\n\r\n
\r\n

Select fields on the map to see them here

\r\n
Use the rectangle tool to select multiple fields
\r\n
\r\n
\r\n\r\n\r\n {{ row.task.status.name }}\r\n\r\n\r\n\r\n {{ row.task.field.cropName }}\r\n\r\n\r\n\r\n {{ row.task.protocol.dunamVolume }}\r\n\r\n\r\n\r\n \r\n create\r\n \r\n\r\n","import { ControllerAssignSelectedComponent } from \"./../controller-assign-selected/controller-assign-selected.component\";\r\nimport {\r\n Component,\r\n OnInit,\r\n AfterViewInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ViewChild,\r\n TemplateRef,\r\n} from \"@angular/core\";\r\nimport { MapTask } from \"src/app/core/models/map-task.model\";\r\nimport { DatasourceOptions } from \"src/app/core/models/datasource-options.model\";\r\nimport { DataTableColumn } from \"src/app/views/partials/content/general/datatable/datatable.component\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport {\r\n mapTaskSelected,\r\n mapTaskTableClick,\r\n controllerMapTaskSelected,\r\n} from \"src/app/core/store/actions/task.actions\";\r\nimport { AssignSelectedFormComponent } from \"../../assign-tasks/assign-selected-form/assign-selected-form.component\";\r\n\r\n@Component({\r\n selector: \"kt-controller-table\",\r\n templateUrl: \"./controller-table.component.html\",\r\n styleUrls: [\"./controller-table.component.scss\"],\r\n})\r\nexport class ControllerTableComponent implements OnInit, AfterViewInit {\r\n @Input() mapTasks: MapTask[];\r\n @Output() loadData = new EventEmitter();\r\n\r\n @ViewChild(\"cropNameTemplate\") cropNameTemplate: TemplateRef;\r\n @ViewChild(\"dunamTemplate\") dunamTemplate: TemplateRef;\r\n\r\n @ViewChild(\"statusTemplate\") statusTemplate: TemplateRef;\r\n @ViewChild(\"actionsTemplate\", { static: false }) actionsTemplate: TemplateRef<\r\n any\r\n >;\r\n\r\n columns: DataTableColumn[];\r\n\r\n constructor(\r\n private store: Store,\r\n private router: Router,\r\n public dialog: MatDialog,\r\n private route: ActivatedRoute\r\n ) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n this.columns = [\r\n {\r\n serverFieldName: \"cropName\",\r\n clientFieldName: \"cropName\",\r\n displayNameKey: \"Crop Name\",\r\n sortable: true,\r\n template: this.cropNameTemplate,\r\n },\r\n {\r\n serverFieldName: \"dunamVolume\",\r\n clientFieldName: \"dunamVolume\",\r\n displayNameKey: \"Dunam Volume\",\r\n sortable: true,\r\n template: this.dunamTemplate,\r\n },\r\n\r\n {\r\n serverFieldName: \"status\",\r\n clientFieldName: \"status\",\r\n displayNameKey: \"Status\",\r\n sortable: true,\r\n template: this.statusTemplate,\r\n },\r\n {\r\n clientFieldName: \"actions\",\r\n serverFieldName: \"actions\",\r\n displayNameKey: \"Actions\",\r\n sortable: false,\r\n template: this.actionsTemplate,\r\n },\r\n ];\r\n });\r\n }\r\n\r\n mapTaskSelected($event) {\r\n this.store.dispatch(\r\n controllerMapTaskSelected({\r\n mapTask: $event.row,\r\n selected: !$event.row.isSelected,\r\n })\r\n );\r\n }\r\n\r\n mapTaskClicked(mapTask: MapTask) {\r\n this.store.dispatch(mapTaskTableClick({ data: mapTask }));\r\n }\r\n\r\n assignTaskStatus() {\r\n let dialogRef = this.dialog.open(ControllerAssignSelectedComponent, {\r\n data: this.mapTasks,\r\n width: \"350px\",\r\n });\r\n }\r\n\r\n editTaskClick(mapTask: MapTask) {\r\n this.router.navigate([\"edit/\" + mapTask.task.taskId], {\r\n relativeTo: this.route,\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","import {\r\n selectDroneRoutes,\r\n selectControllerMapTasks,\r\n selectSelectedControllerMapTasks,\r\n} from \"./../../../../core/store/selectors/task.selectors\";\r\nimport { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { MapTask } from \"src/app/core/models/map-task.model\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport {\r\n selectTasksLoading,\r\n selectMapTasks,\r\n selectSelectedMapTasks,\r\n} from \"src/app/core/store/selectors/task.selectors\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport { cloneDeep } from \"lodash\";\r\nimport { DroneRoute } from \"src/app/core/models/drone-route-model\";\r\n\r\n@Component({\r\n selector: \"kt-task-controller\",\r\n templateUrl: \"./task-controller.component.html\",\r\n styleUrls: [\"./task-controller.component.scss\"],\r\n})\r\nexport class TaskControllerComponent implements OnInit, OnDestroy {\r\n loading$;\r\n mapTasks: MapTask[];\r\n selectedMapTasks: MapTask[];\r\n droneRoutes: DroneRoute[];\r\n\r\n constructor(private store: Store) {}\r\n\r\n ngOnInit(): void {\r\n this.loading$ = this.store.pipe(select(selectTasksLoading));\r\n\r\n this.store\r\n .pipe(select(selectControllerMapTasks), untilDestroyed(this))\r\n .subscribe((mapTasks) => {\r\n this.mapTasks = cloneDeep(mapTasks);\r\n });\r\n\r\n this.store\r\n .pipe(select(selectSelectedControllerMapTasks), untilDestroyed(this))\r\n .subscribe((selectedMapTasks) => {\r\n this.selectedMapTasks = cloneDeep(selectedMapTasks);\r\n });\r\n\r\n this.store\r\n .pipe(select(selectDroneRoutes), untilDestroyed(this))\r\n .subscribe((droneRoutes) => {\r\n if (droneRoutes) {\r\n this.droneRoutes = droneRoutes;\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","\r\n \r\n \r\n Oh snap! Change a few things up and try submitting again.\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
\r\n \r\n
\r\n \r\n \r\n {{ status.name }}\r\n \r\n\r\n Please select a\r\n status\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n scheduled date is\r\n required\r\n \r\n Please enter\r\n scheduled date\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 {{ status.name }}\r\n \r\n\r\n Please select an\r\n approved status\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n approved date is\r\n required\r\n \r\n Please enter\r\n approved date\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 {{ status.name }}\r\n \r\n\r\n Please select an\r\n execution status\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n execution date is\r\n required\r\n \r\n Please enter\r\n execution date\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 Save\r\n \r\n\r\n \r\n \r\n Back\r\n \r\n\r\n","import { cloneDeep } from \"lodash\";\r\nimport { selectCurrentTask } from \"./../../../../core/store/selectors/task.selectors\";\r\nimport { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { Status } from \"src/app/core/models/status.model\";\r\nimport { Customer } from \"src/app/core/models/customer.model\";\r\nimport { DronePilot } from \"src/app/core/models/drone-pilot.model\";\r\nimport { Material } from \"src/app/core/models/material.model\";\r\nimport { Protocol } from \"src/app/core/models/protocol.model\";\r\nimport {\r\n FormControl,\r\n FormGroup,\r\n FormBuilder,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport {\r\n selectTasksLoading,\r\n selectStatuses,\r\n} from \"src/app/core/store/selectors/task.selectors\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport { selectCustomersSelector } from \"src/app/core/store/selectors/customer.selectors\";\r\nimport { selectMaterialsSelector } from \"src/app/core/store/selectors/material.selectors\";\r\nimport { selectProtocolsSelector } from \"src/app/core/store/selectors/protocol.selectors\";\r\nimport { selectPilotsSelector } from \"src/app/core/store/selectors/drone-pilots.selectors\";\r\nimport { Task } from \"src/app/core/models/task.model\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { loadTask, updateTask } from \"src/app/core/store/actions/task.actions\";\r\n\r\n@Component({\r\n selector: \"kt-task-edit\",\r\n templateUrl: \"./task-edit.component.html\",\r\n styleUrls: [\"./task-edit.component.scss\"],\r\n})\r\nexport class TaskEditComponent implements OnInit, OnDestroy {\r\n loading$;\r\n task: Task;\r\n taskForm: FormGroup;\r\n hasFormErrors = false;\r\n\r\n statuses: Status[];\r\n customers: Customer[];\r\n pilots: DronePilot[];\r\n materials: Material[];\r\n protocols: Protocol[];\r\n\r\n constructor(\r\n private store: Store,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private taskFB: FormBuilder\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.loading$ = this.store.pipe(select(selectTasksLoading));\r\n\r\n this.store\r\n .pipe(select(selectStatuses), untilDestroyed(this))\r\n .subscribe((s) => {\r\n this.statuses = s;\r\n });\r\n\r\n this.store\r\n .pipe(select(selectCustomersSelector), untilDestroyed(this))\r\n .subscribe((c) => {\r\n this.customers = c;\r\n });\r\n\r\n this.store\r\n .pipe(select(selectMaterialsSelector), untilDestroyed(this))\r\n .subscribe((m) => {\r\n this.materials = m;\r\n });\r\n\r\n this.store\r\n .pipe(select(selectProtocolsSelector), untilDestroyed(this))\r\n .subscribe((p) => {\r\n this.protocols = p;\r\n });\r\n\r\n this.store\r\n .pipe(select(selectPilotsSelector), untilDestroyed(this))\r\n .subscribe((p) => {\r\n this.pilots = p;\r\n });\r\n\r\n let taskId = this.route.snapshot.params[\"id\"];\r\n\r\n if (taskId) {\r\n this.store.dispatch(loadTask({ data: taskId }));\r\n }\r\n\r\n this.store\r\n .pipe(select(selectCurrentTask), untilDestroyed(this))\r\n .subscribe((task) => {\r\n if (task) {\r\n this.store\r\n .pipe(select(selectCurrentTask), untilDestroyed(this))\r\n .subscribe((task) => {\r\n this.task = cloneDeep(task);\r\n this.createForm();\r\n });\r\n }\r\n });\r\n }\r\n\r\n createForm() {\r\n this.taskForm = this.taskFB.group({\r\n status: [this.task.status.statusId, Validators.required],\r\n executionDate: [this.task.executionDate],\r\n scheduledDate: [this.task.scheduledDate, Validators.required],\r\n executionStatus: [this.task.executionStatus?.statusId],\r\n approvedDate: [this.task.approvedExecutionDate],\r\n approvedStatus: [this.task.approvedStatus?.statusId],\r\n materialsSelectFormControl: [this.task.material?.materialId, Validators.required],\r\n pilotsSelectFormControl: [this.task.pilot?.pilotId, Validators.required],\r\n customersSelectFormControl: [this.task.customer?.customerId, Validators.required],\r\n protocolsSelectFormControl: [this.task.protocol?.protocolId, Validators.required],\r\n });\r\n }\r\n\r\n onSumbit() {\r\n this.hasFormErrors = false;\r\n const controls = this.taskForm.controls;\r\n\r\n if (this.taskForm.invalid) {\r\n Object.keys(controls).forEach((controlName) =>\r\n controls[controlName].markAsTouched()\r\n );\r\n\r\n this.hasFormErrors = true;\r\n return;\r\n }\r\n\r\n this.prepareTask();\r\n\r\n this.store.dispatch(updateTask({ task: this.task }));\r\n }\r\n\r\n prepareTask() {\r\n this.task.protocol = this.protocols.find(\r\n (p) => p.protocolId == this.taskForm.controls.protocolsSelectFormControl.value\r\n );\r\n this.task.material = this.materials.find(\r\n (m) => m.materialId == this.taskForm.controls.materialsSelectFormControl.value\r\n );\r\n this.task.customer = this.customers.find(\r\n (c) => c.customerId == this.taskForm.controls.customersSelectFormControl.value\r\n );\r\n this.task.status = this.statuses.find(\r\n (s) => s.statusId == this.taskForm.controls.status.value\r\n );\r\n this.task.executionStatus = this.statuses.find(\r\n (s) => s.statusId == this.taskForm.controls.executionStatus.value\r\n );\r\n this.task.approvedStatus = this.statuses.find(\r\n (s) => s.statusId == this.taskForm.controls.approvedStatus.value\r\n );\r\n this.task.pilot = this.pilots.find(\r\n (p) => p.pilotId == this.taskForm.controls.pilotsSelectFormControl.value\r\n );\r\n this.task.executionDate = this.taskForm.controls.executionDate.value;\r\n this.task.scheduledDate = this.taskForm.controls.scheduledDate.value;\r\n this.task.approvedExecutionDate = this.taskForm.controls.approvedDate.value;\r\n }\r\n\r\n onAlertClose($event) {\r\n this.hasFormErrors = false;\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","\r\n \r\n\r\n\r\n\r\n \r\n Import tasks\r\n \r\n\r\n","import { switchMap, mergeMap } from \"rxjs/operators\";\r\nimport {\r\n selectTasksSelector,\r\n selectTasksByFieldId,\r\n} from \"./../../../../core/store/selectors/task.selectors\";\r\nimport { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { Task } from \"src/app/core/models/task.model\";\r\nimport { constructor, cloneDeep } from \"lodash\";\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport { LayoutUtilsService, MessageType } from \"src/app/core/_base/crud\";\r\nimport { selectTasksLoading } from \"src/app/core/store/selectors/task.selectors\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport { loadTasks, deleteTask } from \"src/app/core/store/actions/task.actions\";\r\nimport { TaskState } from \"src/app/core/store/reducers/task.reducer\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { selectFieldById } from \"src/app/core/store/selectors/field.selectors\";\r\nimport { from, of, combineLatest } from \"rxjs\";\r\n\r\n@Component({\r\n selector: \"kt-tasks-list\",\r\n templateUrl: \"./tasks-list.component.html\",\r\n styleUrls: [\"./tasks-list.component.scss\"],\r\n})\r\nexport class TasksListComponent implements OnInit, OnDestroy {\r\n loading;\r\n tasks: Task[];\r\n title = \"Tasks\";\r\n\r\n constructor(\r\n private store: Store,\r\n private layoutUtilsService: LayoutUtilsService,\r\n private route: ActivatedRoute\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.store\r\n .pipe(select(selectTasksLoading), untilDestroyed(this))\r\n .subscribe((loading) => {\r\n this.loading = loading;\r\n });\r\n\r\n let fieldId = this.route.snapshot.params[\"fieldId\"];\r\n\r\n if (fieldId) {\r\n this.title = \"Tasks\";\r\n combineLatest(\r\n this.store.pipe(select(selectFieldById(fieldId)), untilDestroyed(this)),\r\n this.store.pipe(\r\n select(selectTasksByFieldId(fieldId), untilDestroyed(this))\r\n )\r\n ).subscribe(([field, tasks]) => {\r\n this.title = \"Tasks\";\r\n\r\n if (field) {\r\n this.title = \"Plot number \" + field.plotNumber + \" tasks\";\r\n\r\n this.tasks = cloneDeep(tasks);\r\n }\r\n });\r\n } else {\r\n this.store\r\n .pipe(select(selectTasksSelector), untilDestroyed(this))\r\n .subscribe((tasks) => {\r\n this.tasks = cloneDeep(tasks);\r\n });\r\n }\r\n\r\n this.store.dispatch(loadTasks());\r\n }\r\n\r\n deleteTask(_item: Task) {\r\n const _title = \"Task Delete\";\r\n const _description = \"Are you sure to permanently delete this task?\";\r\n const _waitDesciption = \"Task is deleting...\";\r\n const _deleteMessage = `Task has been deleted`;\r\n\r\n const dialogRef = this.layoutUtilsService.deleteElement(\r\n _title,\r\n _description,\r\n _waitDesciption\r\n );\r\n dialogRef.afterClosed().subscribe((res) => {\r\n if (!res) {\r\n return;\r\n }\r\n\r\n this.store.dispatch(deleteTask({ data: _item }));\r\n this.layoutUtilsService.showActionNotification(\r\n _deleteMessage,\r\n MessageType.Delete\r\n );\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","\r\n\r\n\r\n {{\r\n row.material.name\r\n }}\r\n\r\n\r\n\r\n {{\r\n row.field.plotNumber\r\n }}\r\n\r\n\r\n\r\n {{ row.status.name }}\r\n\r\n\r\n\r\n {{ row.customer.name }}\r\n\r\n\r\n\r\n {{ row.protocol.name }}\r\n\r\n\r\n\r\n {{ row.createdAt | date: \"shortDate\" }}\r\n\r\n\r\n\r\n {{ row.pilot?.name }}\r\n\r\n\r\n\r\n {{ row.executionDate | date: \"shortDate\" }}\r\n\r\n\r\n\r\n \r\n clear_all\r\n Fetch Selected\r\n \r\n\r\n\r\n\r\n \r\n delete\r\n \r\n \r\n create\r\n \r\n\r\n","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n AfterViewInit,\r\n ViewChild,\r\n TemplateRef,\r\n} from \"@angular/core\";\r\nimport { Task } from \"src/app/core/models/task.model\";\r\nimport { DatasourceOptions } from \"src/app/core/models/datasource-options.model\";\r\nimport { DataTableColumn } from \"src/app/views/partials/content/general/datatable/datatable.component\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\n\r\n@Component({\r\n selector: \"kt-tasks-table\",\r\n templateUrl: \"./tasks-table.component.html\",\r\n styleUrls: [\"./tasks-table.component.scss\"],\r\n})\r\nexport class TasksTableComponent implements OnInit, AfterViewInit {\r\n @Input() tasks: Task[];\r\n @Input() loading: boolean;\r\n @Input() datasourceOptions: DatasourceOptions;\r\n @Output() loadData = new EventEmitter();\r\n @Output() deleteTask = new EventEmitter();\r\n\r\n @ViewChild(\"actionsTemplate\", { static: false }) actionsTemplate: TemplateRef<\r\n any\r\n >;\r\n @ViewChild(\"materialTemplate\", { static: false })\r\n materialTemplate: TemplateRef;\r\n\r\n @ViewChild(\"customerTemplate\", { static: false })\r\n customerTemplate: TemplateRef;\r\n\r\n @ViewChild(\"protocolTemplate\", { static: false })\r\n protocolTemplate: TemplateRef;\r\n\r\n @ViewChild(\"fieldTemplate\", { static: false })\r\n fieldTemplate: TemplateRef;\r\n\r\n @ViewChild(\"statusTemplate\", { static: false })\r\n statusTemplate: TemplateRef;\r\n\r\n @ViewChild(\"createdAtTemplate\", { static: false })\r\n createdAtTemplate: TemplateRef;\r\n\r\n @ViewChild(\"executionDate\", { static: false })\r\n executionDate: TemplateRef;\r\n\r\n @ViewChild(\"pilotTemplate\", { static: false })\r\n pilotTemplate: TemplateRef;\r\n\r\n columns: DataTableColumn[];\r\n\r\n constructor(private router: Router, private route: ActivatedRoute) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n this.columns = [\r\n {\r\n\r\n clientFieldName: \"customer\",\r\n displayNameKey: \"Customer\",\r\n sortBy: \"customer.name\",\r\n sortable: true,\r\n template: this.customerTemplate,\r\n },\r\n {\r\n clientFieldName: \"material\",\r\n displayNameKey: \"Material\",\r\n sortBy: \"material.name\",\r\n sortable: true,\r\n template: this.materialTemplate,\r\n },\r\n {\r\n clientFieldName: \"protocol\",\r\n displayNameKey: \"Protocol\",\r\n sortBy: \"protocol.name\",\r\n sortable: true,\r\n template: this.protocolTemplate,\r\n },\r\n {\r\n clientFieldName: \"field\",\r\n displayNameKey: \"Field (Plot number)\",\r\n sortable: true,\r\n sortBy: \"field.plotNumber\",\r\n template: this.fieldTemplate,\r\n },\r\n {\r\n clientFieldName: \"pilot\",\r\n displayNameKey: \"Pilot\",\r\n sortable: true,\r\n sortBy: \"pilot.name\",\r\n template: this.pilotTemplate,\r\n },\r\n {\r\n clientFieldName: \"status\",\r\n displayNameKey: \"Scheduled Status\",\r\n sortable: true,\r\n sortBy: \"status.name\",\r\n template: this.statusTemplate,\r\n },\r\n {\r\n clientFieldName: \"createdAt\",\r\n displayNameKey: \"Created\",\r\n sortable: true,\r\n template: this.createdAtTemplate,\r\n },\r\n {\r\n clientFieldName: \"executionDate\",\r\n displayNameKey: \"Scheduled Date\",\r\n sortable: true,\r\n template: this.executionDate,\r\n },\r\n {\r\n clientFieldName: \"actions\",\r\n displayNameKey: \"Actions\",\r\n sortable: false,\r\n template: this.actionsTemplate,\r\n },\r\n ];\r\n });\r\n }\r\n\r\n editTaskClick(task: Task) {\r\n this.router.navigate([\"edit\", task.taskId], { relativeTo: this.route });\r\n }\r\n}\r\n","import { ModuleGuard } from \"./../../../core/auth/_guards/module.guard\";\r\n//import { PilotTasksComponent } from \"./pilot-tasks/pilot-tasks.component\";\r\nimport { CompletedTasksComponent } from \"./completed-tasks/completed-tasks.component\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { TasksComponent } from \"./tasks.component\";\r\nimport { TasksListComponent } from \"./tasks-list/tasks-list.component\";\r\nimport { AssignTasksComponent } from \"./assign-tasks/assign-tasks.component\";\r\nimport { TaskControllerComponent } from \"./task-controller/task-controller.component\";\r\nimport { TaskEditComponent } from \"./task-edit/task-edit.component\";\r\nimport { ImportTaskComponent } from \"./import-task/import-task.component\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { NgxPermissionsGuard } from \"ngx-permissions\";\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"\",\r\n component: TasksComponent,\r\n canActivate: [ModuleGuard],\r\n data: {\r\n permissions: {\r\n only: \"Admin\",\r\n redirectTo: \"dashboard\",\r\n },\r\n },\r\n children: [\r\n {\r\n path: \"list\",\r\n pathMatch: \"full\",\r\n component: TasksListComponent,\r\n },\r\n {\r\n path: \"completed\",\r\n pathMatch: \"full\",\r\n component: CompletedTasksComponent,\r\n },\r\n {\r\n path: \"map\",\r\n component: AssignTasksComponent,\r\n },\r\n {\r\n path: \"controller\",\r\n component: TaskControllerComponent,\r\n },\r\n {\r\n path: \":fieldId\",\r\n pathMatch: \"full\",\r\n component: TasksListComponent,\r\n },\r\n {\r\n path: \":fieldId/import\",\r\n component: ImportTaskComponent,\r\n },\r\n {\r\n path: \"controller/edit/:id\",\r\n component: TaskEditComponent,\r\n pathMatch: \"full\",\r\n },\r\n {\r\n path: \"map/edit/:id\",\r\n component: TaskEditComponent,\r\n pathMatch: \"full\",\r\n },\r\n {\r\n path: \"list/edit/:id\",\r\n component: TaskEditComponent,\r\n pathMatch: \"full\",\r\n },\r\n {\r\n path: \"list/import\",\r\n component: ImportTaskComponent,\r\n },\r\n ],\r\n },\r\n];\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [CommonModule, RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class TasksRoutingModule {}\r\n","\r\n
\r\n \r\n
\r\n","import { loadDronePilots } from \"./../../../core/store/actions/drone-pilots.actions\";\r\nimport { loadMaterials } from \"./../../../core/store/actions/material.actions\";\r\nimport { loadProtocols } from \"./../../../core/store/actions/protocol.actions\";\r\nimport { loadStatuses } from \"./../../../core/store/actions/task.actions\";\r\nimport { loadFields } from \"./../../../core/store/actions/field.actions\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport { loadCustomers } from \"src/app/core/store/actions/customer.actions\";\r\nimport { loadDrones } from \"src/app/core/store/actions/drones.actions\";\r\n\r\n@Component({\r\n selector: \"kt-tasks\",\r\n templateUrl: \"./tasks.component.html\",\r\n styleUrls: [\"./tasks.component.scss\"],\r\n})\r\nexport class TasksComponent implements OnInit {\r\n constructor(private store: Store) {}\r\n\r\n ngOnInit(): void {\r\n this.store.dispatch(loadCustomers());\r\n //this.store.dispatch(loadDrones());\r\n this.store.dispatch(loadStatuses());\r\n this.store.dispatch(loadProtocols());\r\n this.store.dispatch(loadMaterials());\r\n this.store.dispatch(loadDronePilots());\r\n }\r\n}\r\n","import { PerfectScrollbarModule } from \"ngx-perfect-scrollbar\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { TasksComponent } from \"./tasks.component\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { MatCoreModule } from \"src/app/core/utils/mat-core.module\";\r\nimport { HttpClientModule } from \"@angular/common/http\";\r\nimport { PartialsModule } from \"../../partials/partials.module\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { StoreModule } from \"@ngrx/store\";\r\nimport * as fromTask from \"../../../core/store/reducers/task.reducer\";\r\nimport { EffectsModule } from \"@ngrx/effects\";\r\nimport { TaskEffects } from \"../../../core/store/effects/task.effects\";\r\n\r\nimport { TasksListComponent } from \"./tasks-list/tasks-list.component\";\r\nimport { ImportTaskComponent } from \"./import-task/import-task.component\";\r\nimport { TasksTableComponent } from \"./tasks-list/tasks-table/tasks-table.component\";\r\nimport { FileUploadModule } from \"@iplab/ngx-file-upload\";\r\n\r\nimport { AssignTasksComponent } from \"./assign-tasks/assign-tasks.component\";\r\nimport { TasksFilterComponent } from \"./assign-tasks/tasks-filter/tasks-filter.component\";\r\nimport { TaskFieldsTableComponent } from \"./assign-tasks/task-fields-table/task-fields-table.component\";\r\nimport { AgmCoreModule, GoogleMapsAPIWrapper } from \"@agm/core\";\r\nimport { AssignSelectedFormComponent } from \"./assign-tasks/assign-selected-form/assign-selected-form.component\";\r\nimport { TaskEditComponent } from \"./task-edit/task-edit.component\";\r\nimport { TaskControllerComponent } from \"./task-controller/task-controller.component\";\r\nimport { ControllerMapComponent } from \"./task-controller/controller-map/controller-map.component\";\r\nimport { ControllerTableComponent } from \"./task-controller/controller-table/controller-table.component\";\r\nimport { ControllerFilterComponent } from \"./task-controller/controller-filter/controller-filter.component\";\r\nimport { RouteListComponent } from \"./task-controller/controller-map/route-list/route-list.component\";\r\nimport { TaskFieldsMapComponent } from \"./assign-tasks/task-fields-map/task-fields-map.component\";\r\nimport { ControllerAssignSelectedComponent } from \"./task-controller/controller-assign-selected/controller-assign-selected.component\";\r\nimport { TasksRoutingModule } from \"./tasks-routing.module\";\r\nimport { CompletedTasksComponent } from \"./completed-tasks/completed-tasks.component\";\r\nimport { CompletedTasksFilterComponent } from \"./completed-tasks/completed-tasks-filter/completed-tasks-filter.component\";\r\nimport { CompletedTasksTableComponent } from \"./completed-tasks/completed-tasks-table/completed-tasks-table.component\";\r\n//import { PilotTasksComponent } from './pilot-tasks/pilot-tasks.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n TasksComponent,\r\n AssignTasksComponent,\r\n TasksListComponent,\r\n ImportTaskComponent,\r\n TasksTableComponent,\r\n TasksFilterComponent,\r\n TaskFieldsTableComponent,\r\n TaskFieldsMapComponent,\r\n AssignSelectedFormComponent,\r\n TaskEditComponent,\r\n TaskControllerComponent,\r\n ControllerMapComponent,\r\n ControllerTableComponent,\r\n ControllerFilterComponent,\r\n RouteListComponent,\r\n ControllerAssignSelectedComponent,\r\n CompletedTasksComponent,\r\n CompletedTasksFilterComponent,\r\n CompletedTasksTableComponent,\r\n // PilotTasksComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n PartialsModule,\r\n MatCoreModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n TasksRoutingModule,\r\n StoreModule.forFeature(fromTask.taskFeatureKey, fromTask.reducer),\r\n EffectsModule.forFeature([TaskEffects]),\r\n FileUploadModule,\r\n PerfectScrollbarModule,\r\n AgmCoreModule.forRoot({\r\n apiKey: \"AIzaSyDMWp19lJGUMI_DoASc_mOCf7qFcwu81vA\",\r\n libraries: [\"places\", \"drawing\", \"geometry\"],\r\n }),\r\n ],\r\n})\r\nexport class TasksModule {}\r\n","
\r\n\r\n
\r\n
\r\n

{{getTitle()}}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n Oh snap! Change a few things up and try submitting again.\r\n \r\n\r\n
\r\n \r\n \r\n Title is\r\n required\r\n \r\n Please enter\r\n Title\r\n \r\n \r\n
\r\n
\r\n
\r\n Permissions:\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n \r\n \r\n {{ _rootRole.title }}\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n {{ _childRole.title }}\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
","// Angular\r\nimport { Component, OnInit, Inject, ChangeDetectionStrategy, OnDestroy } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n// RxJS\r\nimport { Observable, of, Subscription } from 'rxjs';\r\n// Lodash\r\nimport { each, find, some } from 'lodash';\r\n// NGRX\r\nimport { Update } from '@ngrx/entity';\r\nimport { Store, select } from '@ngrx/store';\r\n// State\r\nimport { AppState } from '../../../../../core/reducers';\r\n// Services and Models\r\nimport {\r\n\tRole,\r\n\tPermission,\r\n\tselectRoleById,\r\n\tRoleUpdated,\r\n\tselectAllPermissions,\r\n\tselectLastCreatedRoleId,\r\n\tRoleOnServerCreated\r\n} from '../../../../../core/auth';\r\nimport { delay } from 'rxjs/operators';\r\n\r\n@Component({\r\n\tselector: 'kt-role-edit-dialog',\r\n\ttemplateUrl: './role-edit.dialog.component.html',\r\n\tchangeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class RoleEditDialogComponent implements OnInit, OnDestroy {\r\n\t// Public properties\r\n\trole: Role;\r\n\trole$: Observable;\r\n\thasFormErrors = false;\r\n\tviewLoading = false;\r\n\tloadingAfterSubmit = false;\r\n\tallPermissions$: Observable;\r\n\trolePermissions: Permission[] = [];\r\n\t// Private properties\r\n\tprivate componentSubscriptions: Subscription;\r\n\r\n\t/**\r\n\t * Component constructor\r\n\t *\r\n\t * @param dialogRef: MatDialogRef\r\n\t * @param data: any\r\n\t * @param store: Store\r\n\t */\r\n\tconstructor(public dialogRef: MatDialogRef,\r\n\t\t@Inject(MAT_DIALOG_DATA) public data: any,\r\n\t\tprivate store: Store) { }\r\n\r\n\t/**\r\n\t * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n\t */\r\n\r\n\t/**\r\n\t * On init\r\n\t */\r\n\tngOnInit() {\r\n\t\tif (this.data.roleId) {\r\n\t\t\tthis.role$ = this.store.pipe(select(selectRoleById(this.data.roleId)));\r\n\t\t} else {\r\n\t\t\tconst newRole = new Role();\r\n\t\t\tnewRole.clear();\r\n\t\t\tthis.role$ = of(newRole);\r\n\t\t}\r\n\r\n\t\tthis.role$.subscribe(res => {\r\n\t\t\tif (!res) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tthis.role = new Role();\r\n\t\t\tthis.role.id = res.id;\r\n\t\t\tthis.role.title = res.title;\r\n\t\t\tthis.role.permissions = res.permissions;\r\n\t\t\tthis.role.isCoreRole = res.isCoreRole;\r\n\r\n\t\t\tthis.allPermissions$ = this.store.pipe(select(selectAllPermissions));\r\n\t\t\tthis.loadPermissions();\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * On destroy\r\n\t */\r\n\tngOnDestroy() {\r\n\t\tif (this.componentSubscriptions) {\r\n\t\t\tthis.componentSubscriptions.unsubscribe();\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Load permissions\r\n\t */\r\n\tloadPermissions() {\r\n\t\tthis.allPermissions$.subscribe(_allPermissions => {\r\n\t\t\tif (!_allPermissions) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tconst mainPermissions = _allPermissions.filter(el => !el.parentId);\r\n\t\t\tmainPermissions.forEach((element: Permission) => {\r\n\t\t\t\tconst hasUserPermission = this.role.permissions.some(t => t === element.id);\r\n\t\t\t\tconst rootPermission = new Permission();\r\n\t\t\t\trootPermission.clear();\r\n\t\t\t\trootPermission.isSelected = hasUserPermission;\r\n\t\t\t\trootPermission._children = [];\r\n\t\t\t\trootPermission.id = element.id;\r\n\t\t\t\trootPermission.level = element.level;\r\n\t\t\t\trootPermission.parentId = element.parentId;\r\n\t\t\t\trootPermission.title = element.title;\r\n\t\t\t\tconst children = _allPermissions.filter(el => el.parentId && el.parentId === element.id);\r\n\t\t\t\tchildren.forEach(child => {\r\n\t\t\t\t\tconst hasUserChildPermission = this.role.permissions.some(t => t === child.id);\r\n\t\t\t\t\tconst childPermission = new Permission();\r\n\t\t\t\t\tchildPermission.clear();\r\n\t\t\t\t\tchildPermission.isSelected = hasUserChildPermission;\r\n\t\t\t\t\tchildPermission._children = [];\r\n\t\t\t\t\tchildPermission.id = child.id;\r\n\t\t\t\t\tchildPermission.level = child.level;\r\n\t\t\t\t\tchildPermission.parentId = child.parentId;\r\n\t\t\t\t\tchildPermission.title = child.title;\r\n\t\t\t\t\trootPermission._children.push(childPermission);\r\n\t\t\t\t});\r\n\t\t\t\tthis.rolePermissions.push(rootPermission);\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\t/** ACTIONS */\r\n\t/**\r\n\t * Returns permissions ids\r\n\t */\r\n\tpreparePermissionIds(): number[] {\r\n\t\tconst result = [];\r\n\t\teach(this.rolePermissions, (_root: Permission) => {\r\n\t\t\tif (_root.isSelected) {\r\n\t\t\t\tresult.push(_root.id);\r\n\t\t\t\teach(_root._children, (_child: Permission) => {\r\n\t\t\t\t\tif (_child.isSelected) {\r\n\t\t\t\t\t\tresult.push(_child.id);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn result;\r\n\t}\r\n\r\n\t/**\r\n\t * Returns role for save\r\n\t */\r\n\tprepareRole(): Role {\r\n\t\tconst _role = new Role();\r\n\t\t_role.id = this.role.id;\r\n\t\t_role.permissions = this.preparePermissionIds();\r\n\t\t// each(this.assignedRoles, (_role: Role) => _user.roles.push(_role.id));\r\n\t\t_role.title = this.role.title;\r\n\t\t_role.isCoreRole = this.role.isCoreRole;\r\n\t\treturn _role;\r\n\t}\r\n\r\n\t/**\r\n\t * Save data\r\n\t */\r\n\tonSubmit() {\r\n\t\tthis.hasFormErrors = false;\r\n\t\tthis.loadingAfterSubmit = false;\r\n\t\t/** check form */\r\n\t\tif (!this.isTitleValid()) {\r\n\t\t\tthis.hasFormErrors = true;\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst editedRole = this.prepareRole();\r\n\t\tif (editedRole.id > 0) {\r\n\t\t\tthis.updateRole(editedRole);\r\n\t\t} else {\r\n\t\t\tthis.createRole(editedRole);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Update role\r\n\t *\r\n\t * @param _role: Role\r\n\t */\r\n\tupdateRole(_role: Role) {\r\n\t\tthis.loadingAfterSubmit = true;\r\n\t\tthis.viewLoading = true;\r\n\t\t/* Server loading imitation. Remove this on real code */\r\n\t\tconst updateRole: Update = {\r\n\t\t\tid: this.role.id,\r\n\t\t\tchanges: _role\r\n\t\t};\r\n\t\tthis.store.dispatch(new RoleUpdated({\r\n\t\t\tpartialrole: updateRole,\r\n\t\t\trole: _role\r\n\t\t}));\r\n\t\tof(undefined).subscribe(() => { // Remove this line\r\n\t\t\tthis.viewLoading = false;\r\n\t\t\tthis.dialogRef.close({\r\n\t\t\t\t_role,\r\n\t\t\t\tisEdit: true\r\n\t\t\t});\r\n\t\t}); // Remove this line\r\n\t}\r\n\r\n\t/**\r\n\t * Create role\r\n\t *\r\n\t * @param _role: Role\r\n\t */\r\n\tcreateRole(_role: Role) {\r\n\t\tthis.loadingAfterSubmit = true;\r\n\t\tthis.viewLoading = true;\r\n\t\tthis.store.dispatch(new RoleOnServerCreated({ role: _role }));\r\n\t\tthis.componentSubscriptions = this.store.pipe(\r\n\t\t\tdelay(1000), // Remove this line\r\n\t\t\tselect(selectLastCreatedRoleId)\r\n\t\t).subscribe(res => {\r\n\t\t\tif (!res) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tthis.viewLoading = false;\r\n\t\t\tthis.dialogRef.close({\r\n\t\t\t\t_role,\r\n\t\t\t\tisEdit: false\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Close alert\r\n\t *\r\n\t * @param $event: Event\r\n\t */\r\n\tonAlertClose($event) {\r\n\t\tthis.hasFormErrors = false;\r\n\t}\r\n\r\n\t/**\r\n\t * Check is selected changes\r\n\t *\r\n\t * @param $event: Event\r\n\t * @param permission: Permission\r\n\t */\r\n\tisSelectedChanged($event, permission: Permission) {\r\n\t\tif (permission._children.length === 0 && permission.isSelected) {\r\n\t\t\tconst _root = find(this.rolePermissions, (item: Permission) => item.id === permission.parentId);\r\n\t\t\tif (_root && !_root.isSelected) {\r\n\t\t\t\t_root.isSelected = true;\r\n\t\t\t}\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (permission._children.length === 0 && !permission.isSelected) {\r\n\t\t\tconst _root = find(this.rolePermissions, (item: Permission) => item.id === permission.parentId);\r\n\t\t\tif (_root && _root.isSelected) {\r\n\t\t\t\tif (!some(_root._children, (item: Permission) => item.isSelected === true)) {\r\n\t\t\t\t\t_root.isSelected = false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (permission._children.length > 0 && permission.isSelected) {\r\n\t\t\teach(permission._children, (item: Permission) => item.isSelected = true);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (permission._children.length > 0 && !permission.isSelected) {\r\n\t\t\teach(permission._children, (item: Permission) => {\r\n\t\t\t\titem.isSelected = false;\r\n\t\t\t});\r\n\t\t\treturn;\r\n\t\t}\r\n\t}\r\n\r\n\t/** UI */\r\n\t/**\r\n\t * Returns component title\r\n\t */\r\n\tgetTitle(): string {\r\n\t\tif (this.role && this.role.id) {\r\n\t\t\t// tslint:disable-next-line:no-string-throw\r\n\t\t\treturn `Edit role '${this.role.title}'`;\r\n\t\t}\r\n\r\n\t\t// tslint:disable-next-line:no-string-throw\r\n\t\treturn 'New role';\r\n\t}\r\n\r\n\t/**\r\n\t * Returns is title valid\r\n\t */\r\n\tisTitleValid(): boolean {\r\n\t\treturn (this.role && this.role.title && this.role.title.length > 0);\r\n\t}\r\n}\r\n","\r\n\t\r\n\t\r\n\t\r\n\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\r\n\t\r\n\r\n\t\r\n\t\t\r\n\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tSearch in all fields\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t
0}\">\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t\t\r\n\r\n\t\t\r\n\t\t\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\tID\r\n\t\t\t\t\t{{role.id}}\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\tTitle\r\n\t\t\t\t\t{{role.title}}\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\tActions\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t
No records found
\r\n\t\t\t\r\n\t\t\t
Please wait....
\r\n\t\t
\r\n\r\n\t\t\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t\t\r\n\t
\r\n\t\r\n
","// Angular\r\nimport { Component, OnInit, ElementRef, ViewChild, ChangeDetectionStrategy, OnDestroy } from '@angular/core';\r\n// Material\r\nimport { SelectionModel } from '@angular/cdk/collections';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatDialog } from '@angular/material/dialog';\r\n// RXJS\r\nimport { debounceTime, distinctUntilChanged, tap, skip, take, delay } from 'rxjs/operators';\r\nimport { fromEvent, merge, of, Subscription } from 'rxjs';\r\n// NGRX\r\nimport { Store } from '@ngrx/store';\r\n// Services\r\nimport { LayoutUtilsService, MessageType } from '../../../../../core/_base/crud';\r\n// Models\r\nimport { Role, RolesDataSource, RoleDeleted, RolesPageRequested } from '../../../../../core/auth';\r\nimport { AppState } from '../../../../../core/reducers';\r\nimport { QueryParamsModel } from '../../../../../core/_base/crud';\r\n\r\n// Components\r\nimport { RoleEditDialogComponent } from '../role-edit/role-edit.dialog.component';\r\n\r\n// Table with EDIT item in MODAL\r\n// ARTICLE for table with sort/filter/paginator\r\n// https://blog.angular-university.io/angular-material-data-table/\r\n// https://v5.material.angular.io/components/table/overview\r\n// https://v5.material.angular.io/components/sort/overview\r\n// https://v5.material.angular.io/components/table/overview#sorting\r\n// https://www.youtube.com/watch?v=NSt9CI3BXv4\r\n@Component({\r\n\tselector: 'kt-roles-list',\r\n\ttemplateUrl: './roles-list.component.html',\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class RolesListComponent implements OnInit, OnDestroy {\r\n\t// Table fields\r\n\tdataSource: RolesDataSource;\r\n\tdisplayedColumns = ['select', 'id', 'title', 'actions'];\r\n\t@ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\t@ViewChild('sort1', { static: true }) sort: MatSort;\r\n\t// Filter fields\r\n\t@ViewChild('searchInput', { static: true }) searchInput: ElementRef;\r\n\t// Selection\r\n\tselection = new SelectionModel(true, []);\r\n\trolesResult: Role[] = [];\r\n\r\n\t// Subscriptions\r\n\tprivate subscriptions: Subscription[] = [];\r\n\r\n\t/**\r\n\t * Component constructor\r\n\t *\r\n\t * @param store: Store\r\n\t * @param dialog: MatDialog\r\n\t * @param snackBar: MatSnackBar\r\n\t * @param layoutUtilsService: LayoutUtilsService\r\n\t */\r\n\tconstructor(\r\n\t\tprivate store: Store,\r\n\t\tpublic dialog: MatDialog,\r\n\t\tpublic snackBar: MatSnackBar,\r\n\t\tprivate layoutUtilsService: LayoutUtilsService) { }\r\n\r\n\t/**\r\n\t * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n\t */\r\n\r\n\t/**\r\n\t * On init\r\n\t */\r\n\tngOnInit() {\r\n\t\t// If the user changes the sort order, reset back to the first page.\r\n\t\tconst sortSubscription = this.sort.sortChange.subscribe(() => (this.paginator.pageIndex = 0));\r\n\t\tthis.subscriptions.push(sortSubscription);\r\n\r\n\t\t/* Data load will be triggered in two cases:\r\n\t\t- when a pagination event occurs => this.paginator.page\r\n\t\t- when a sort event occurs => this.sort.sortChange\r\n\t\t**/\r\n\t\tconst paginatorSubscriptions = merge(this.sort.sortChange, this.paginator.page).pipe(\r\n\t\t\ttap(() => {\r\n\t\t\t\tthis.loadRolesList();\r\n\t\t\t})\r\n\t\t)\r\n\t\t\t.subscribe();\r\n\t\tthis.subscriptions.push(paginatorSubscriptions);\r\n\r\n\t\t// Filtration, bind to searchInput\r\n\t\tconst searchSubscription = fromEvent(this.searchInput.nativeElement, 'keyup').pipe(\r\n\t\t\t// tslint:disable-next-line:max-line-length\r\n\t\t\tdebounceTime(150), // The user can type quite quickly in the input box, and that could trigger a lot of server requests. With this operator, we are limiting the amount of server requests emitted to a maximum of one every 150ms\r\n\t\t\tdistinctUntilChanged(), // This operator will eliminate duplicate values\r\n\t\t\ttap(() => {\r\n\t\t\t\tthis.paginator.pageIndex = 0;\r\n\t\t\t\tthis.loadRolesList();\r\n\t\t\t})\r\n\t\t)\r\n\t\t\t.subscribe();\r\n\t\tthis.subscriptions.push(searchSubscription);\r\n\r\n\t\t// Init DataSource\r\n\t\tthis.dataSource = new RolesDataSource(this.store);\r\n\t\tconst entitiesSubscription = this.dataSource.entitySubject.pipe(\r\n\t\t\tskip(1),\r\n\t\t\tdistinctUntilChanged()\r\n\t\t).subscribe(res => {\r\n\t\t\tthis.rolesResult = res;\r\n\t\t});\r\n\t\tthis.subscriptions.push(entitiesSubscription);\r\n\r\n\t\t// First load\r\n\t\tof(undefined).pipe(take(1), delay(1000)).subscribe(() => { // Remove this line, just loading imitation\r\n\t\t\tthis.loadRolesList();\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * On Destroy\r\n\t */\r\n\tngOnDestroy() {\r\n\t\tthis.subscriptions.forEach(el => el.unsubscribe());\r\n\t}\r\n\r\n\t/**\r\n\t * Load Roles List\r\n\t */\r\n\tloadRolesList() {\r\n\t\tthis.selection.clear();\r\n\t\tconst queryParams = new QueryParamsModel(\r\n\t\t\tthis.filterConfiguration(),\r\n\t\t\tthis.sort.direction,\r\n\t\t\tthis.sort.active,\r\n\t\t\tthis.paginator.pageIndex,\r\n\t\t\tthis.paginator.pageSize\r\n\t\t);\r\n\t\t// Call request from server\r\n\t\tthis.store.dispatch(new RolesPageRequested({ page: queryParams }));\r\n\t\tthis.selection.clear();\r\n\t}\r\n\r\n\t/**\r\n\t * Returns object for filter\r\n\t */\r\n\tfilterConfiguration(): any {\r\n\t\tconst filter: any = {};\r\n\t\tconst searchText: string = this.searchInput.nativeElement.value;\r\n\t\tfilter.title = searchText;\r\n\t\treturn filter;\r\n\t}\r\n\r\n\t/** ACTIONS */\r\n\t/**\r\n\t * Delete role\r\n\t *\r\n\t * @param _item: Role\r\n\t */\r\n\tdeleteRole(_item: Role) {\r\n\t\tconst _title = 'User Role';\r\n\t\tconst _description = 'Are you sure to permanently delete this role?';\r\n\t\tconst _waitDesciption = 'Role is deleting...';\r\n\t\tconst _deleteMessage = `Role has been deleted`;\r\n\r\n\t\tconst dialogRef = this.layoutUtilsService.deleteElement(_title, _description, _waitDesciption);\r\n\t\tdialogRef.afterClosed().subscribe(res => {\r\n\t\t\tif (!res) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tthis.store.dispatch(new RoleDeleted({ id: _item.id }));\r\n\t\t\tthis.layoutUtilsService.showActionNotification(_deleteMessage, MessageType.Delete);\r\n\t\t\tthis.loadRolesList();\r\n\t\t});\r\n\t}\r\n\r\n\t/** Fetch */\r\n\t/**\r\n\t * Fetch selected rows\r\n\t */\r\n\tfetchRoles() {\r\n\t\tconst messages = [];\r\n\t\tthis.selection.selected.forEach(elem => {\r\n\t\t\tmessages.push({\r\n\t\t\t\ttext: `${elem.title}`,\r\n\t\t\t\tid: elem.id.toString(),\r\n\t\t\t\t// status: elem.username\r\n\t\t\t});\r\n\t\t});\r\n\t\tthis.layoutUtilsService.fetchElements(messages);\r\n\t}\r\n\r\n\t/**\r\n\t * Add role\r\n\t */\r\n\taddRole() {\r\n\t\tconst newRole = new Role();\r\n\t\tnewRole.clear(); // Set all defaults fields\r\n\t\tthis.editRole(newRole);\r\n\t}\r\n\r\n\t/**\r\n\t * Edit role\r\n\t *\r\n\t * @param role: Role\r\n\t */\r\n\teditRole(role: Role) {\r\n\t\tconst _saveMessage = `Role successfully has been saved.`;\r\n\t\tconst _messageType = role.id ? MessageType.Update : MessageType.Create;\r\n\t\tconst dialogRef = this.dialog.open(RoleEditDialogComponent, { data: { roleId: role.id } });\r\n\t\tdialogRef.afterClosed().subscribe(res => {\r\n\t\t\tif (!res) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tthis.layoutUtilsService.showActionNotification(_saveMessage, _messageType, 10000, true, true);\r\n\t\t\tthis.loadRolesList();\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Check all rows are selected\r\n\t */\r\n\tisAllSelected(): boolean {\r\n\t\tconst numSelected = this.selection.selected.length;\r\n\t\tconst numRows = this.rolesResult.length;\r\n\t\treturn numSelected === numRows;\r\n\t}\r\n\r\n\t/**\r\n\t * Toggle selection\r\n\t */\r\n\tmasterToggle() {\r\n\t\tif (this.selection.selected.length === this.rolesResult.length) {\r\n\t\t\tthis.selection.clear();\r\n\t\t} else {\r\n\t\t\tthis.rolesResult.forEach(row => this.selection.select(row));\r\n\t\t}\r\n\t}\r\n}\r\n","\r\n
\r\n \r\n
\r\n","import { loadDronePilots } from \"./../../../core/store/actions/drone-pilots.actions\";\r\nimport { loadCustomers } from \"./../../../core/store/actions/customer.actions\";\r\n// Angular\r\nimport {\r\n Component,\r\n ChangeDetectionStrategy,\r\n OnInit,\r\n OnDestroy,\r\n} from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\n// RxJS\r\nimport { Observable } from \"rxjs\";\r\n// NGRX\r\nimport { Store, select } from \"@ngrx/store\";\r\n// AppState\r\nimport { AppState } from \"../../../core/reducers\";\r\n// Auth\r\nimport { Permission } from \"../../../core/auth\";\r\nimport { loadRoleTypes } from \"src/app/core/store/actions/user.actions\";\r\n\r\nconst userManagementPermissionId = 2;\r\n@Component({\r\n selector: \"kt-user-management\",\r\n templateUrl: \"./user-management.component.html\",\r\n})\r\nexport class UserManagementComponent implements OnInit {\r\n // Public properties\r\n // hasUserAccess$: Observable;\r\n currentUserPermission$: Observable;\r\n\r\n /**\r\n * Component constructor\r\n *\r\n * @param store: Store\r\n * @param router: Router\r\n */\r\n constructor(private store: Store, private router: Router) {}\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * On init\r\n */\r\n ngOnInit() {\r\n this.store.dispatch(loadRoleTypes());\r\n // this.store.dispatch(loadCustomers());\r\n // this.store.dispatch(loadDronePilots());\r\n }\r\n}\r\n","import { EntitySelectModule } from \"./../../modules/entity-select/entity-select.module\";\r\n// Angular\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { RouterModule, Routes } from \"@angular/router\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from \"@angular/common/http\";\r\n// NGRX\r\nimport { StoreModule } from \"@ngrx/store\";\r\nimport { EffectsModule } from \"@ngrx/effects\";\r\n// Translate\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { PartialsModule } from \"../../partials/partials.module\";\r\n// Services\r\nimport {\r\n HttpUtilsService,\r\n TypesUtilsService,\r\n InterceptService,\r\n LayoutUtilsService,\r\n} from \"../../../core/_base/crud\";\r\n// Shared\r\nimport {\r\n ActionNotificationComponent,\r\n DeleteEntityDialogComponent,\r\n} from \"../../partials/content/crud\";\r\n// Components\r\nimport { UserManagementComponent } from \"./user-management.component\";\r\nimport { UsersListComponent } from \"./users/users-list/users-list.component\";\r\nimport { UserEditComponent } from \"./users/user-edit/user-edit.component\";\r\nimport { RolesListComponent } from \"./roles/roles-list/roles-list.component\";\r\nimport { RoleEditDialogComponent } from \"./roles/role-edit/role-edit.dialog.component\";\r\nimport { UserRolesListComponent } from \"./users/_subs/user-roles/user-roles-list.component\";\r\nimport { ChangePasswordComponent } from \"./users/_subs/change-password/change-password.component\";\r\nimport { AddressComponent } from \"./users/_subs/address/address.component\";\r\nimport { SocialNetworksComponent } from \"./users/_subs/social-networks/social-networks.component\";\r\n\r\n// Material\r\nimport { MatButtonModule } from \"@angular/material/button\";\r\nimport { MatMenuModule } from \"@angular/material/menu\";\r\nimport { MatSelectModule } from \"@angular/material/select\";\r\nimport { MatInputModule } from \"@angular/material/input\";\r\nimport { MatTableModule } from \"@angular/material/table\";\r\nimport { MatAutocompleteModule } from \"@angular/material/autocomplete\";\r\nimport { MatRadioModule } from \"@angular/material/radio\";\r\nimport { MatIconModule } from \"@angular/material/icon\";\r\nimport { MatNativeDateModule } from \"@angular/material/core\";\r\nimport { MatProgressBarModule } from \"@angular/material/progress-bar\";\r\nimport { MatDatepickerModule } from \"@angular/material/datepicker\";\r\nimport { MatCardModule } from \"@angular/material/card\";\r\nimport { MatPaginatorModule } from \"@angular/material/paginator\";\r\nimport { MatSortModule } from \"@angular/material/sort\";\r\nimport { MatCheckboxModule } from \"@angular/material/checkbox\";\r\nimport { MatProgressSpinnerModule } from \"@angular/material/progress-spinner\";\r\nimport { MatSnackBarModule } from \"@angular/material/snack-bar\";\r\nimport { MatExpansionModule } from \"@angular/material/expansion\";\r\nimport { MatTabsModule } from \"@angular/material/tabs\";\r\nimport {\r\n MatDialogModule,\r\n MAT_DIALOG_DEFAULT_OPTIONS,\r\n} from \"@angular/material/dialog\";\r\nimport { MatTooltipModule } from \"@angular/material/tooltip\";\r\nimport { UserEffects } from \"src/app/core/store/effects/user.effects\";\r\nimport * as fromUser from \"../../../core/store/reducers/user.reducer\";\r\nimport { UsersTableComponent } from \"./users/users-list/users-table/users-table.component\";\r\nimport { NgxPermissionsGuard } from \"ngx-permissions\";\r\nimport { ModuleGuard } from \"src/app/core/auth\";\r\nimport { UserProfileComponent } from \"./user-profile/user-profile.component\";\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"\",\r\n component: UserManagementComponent,\r\n\r\n children: [\r\n {\r\n path: \"\",\r\n redirectTo: \"users\",\r\n pathMatch: \"full\",\r\n canActivate: [ModuleGuard],\r\n data: {\r\n permissions: {\r\n only: \"Admin\",\r\n redirectTo: \"dashboard\",\r\n },\r\n },\r\n },\r\n {\r\n path: \"user-profile\",\r\n component: UserProfileComponent,\r\n canActivate: [ModuleGuard],\r\n data: {\r\n permissions: {\r\n only: \"Everyone\",\r\n redirectTo: \"dashboard\",\r\n },\r\n },\r\n },\r\n {\r\n path: \"roles\",\r\n component: RolesListComponent,\r\n canActivate: [ModuleGuard],\r\n data: {\r\n permissions: {\r\n only: \"Admin\",\r\n redirectTo: \"dashboard\",\r\n },\r\n },\r\n },\r\n {\r\n path: \"users\",\r\n component: UsersListComponent,\r\n canActivate: [ModuleGuard],\r\n data: {\r\n permissions: {\r\n only: \"Admin\",\r\n redirectTo: \"dashboard\",\r\n },\r\n },\r\n },\r\n {\r\n path: \"users/:id\",\r\n component: UserEditComponent,\r\n canActivate: [ModuleGuard],\r\n data: {\r\n permissions: {\r\n only: \"Admin\",\r\n redirectTo: \"dashboard\",\r\n },\r\n },\r\n },\r\n {\r\n path: \"users/add\",\r\n component: UserEditComponent,\r\n canActivate: [ModuleGuard],\r\n data: {\r\n permissions: {\r\n only: \"Admin\",\r\n redirectTo: \"dashboard\",\r\n },\r\n },\r\n },\r\n ],\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n PartialsModule,\r\n RouterModule.forChild(routes),\r\n StoreModule.forFeature(fromUser.userFeatureKey, fromUser.reducer),\r\n EffectsModule.forFeature([UserEffects]),\r\n FormsModule,\r\n ReactiveFormsModule,\r\n TranslateModule.forChild(),\r\n MatButtonModule,\r\n MatMenuModule,\r\n MatSelectModule,\r\n MatInputModule,\r\n MatTableModule,\r\n MatAutocompleteModule,\r\n MatRadioModule,\r\n MatIconModule,\r\n MatNativeDateModule,\r\n MatProgressBarModule,\r\n MatDatepickerModule,\r\n MatCardModule,\r\n MatPaginatorModule,\r\n MatSortModule,\r\n MatCheckboxModule,\r\n MatProgressSpinnerModule,\r\n MatSnackBarModule,\r\n MatExpansionModule,\r\n MatTabsModule,\r\n MatTooltipModule,\r\n MatDialogModule,\r\n\r\n EntitySelectModule,\r\n ],\r\n providers: [\r\n InterceptService,\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: InterceptService,\r\n multi: true,\r\n },\r\n {\r\n provide: MAT_DIALOG_DEFAULT_OPTIONS,\r\n useValue: {\r\n hasBackdrop: true,\r\n panelClass: \"kt-mat-dialog-container__wrapper\",\r\n height: \"auto\",\r\n width: \"900px\",\r\n },\r\n },\r\n HttpUtilsService,\r\n TypesUtilsService,\r\n LayoutUtilsService,\r\n ],\r\n entryComponents: [\r\n ActionNotificationComponent,\r\n RoleEditDialogComponent,\r\n DeleteEntityDialogComponent,\r\n ],\r\n declarations: [\r\n UserManagementComponent,\r\n UsersListComponent,\r\n UserEditComponent,\r\n RolesListComponent,\r\n RoleEditDialogComponent,\r\n UserRolesListComponent,\r\n ChangePasswordComponent,\r\n AddressComponent,\r\n SocialNetworksComponent,\r\n UsersTableComponent,\r\n UserProfileComponent,\r\n ],\r\n})\r\nexport class UserManagementModule {}\r\n","\r\n","import { Store } from \"@ngrx/store\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { currentUser } from \"src/app/core/store/selectors/auth.selectors\";\r\n\r\n@Component({\r\n selector: \"kt-user-profile\",\r\n templateUrl: \"./user-profile.component.html\",\r\n styleUrls: [\"./user-profile.component.scss\"],\r\n})\r\nexport class UserProfileComponent implements OnInit {\r\n userId;\r\n\r\n constructor(private store: Store) {}\r\n\r\n ngOnInit(): void {\r\n this.store.select(currentUser).subscribe((user) => {\r\n if (user) {\r\n this.userId = user.userId;\r\n }\r\n });\r\n }\r\n}\r\n","\r\n \r\n \r\n Oh snap! Change a few things up and try submitting again.\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n Username is\r\n required\r\n \r\n Please enter\r\n username\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n phone is\r\n required\r\n \r\n Please enter a valid\r\n phone\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n Email is\r\n required\r\n \r\n Please enter a valid\r\n email\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {{ type.name }}\r\n \r\n Role is\r\n required\r\n \r\n Please select a\r\n role type\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 Password is\r\n required\r\n \r\n Please enter\r\n password\r\n \r\n \r\n
\r\n
\r\n View tasks from any date (Pilots)\r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n\r\n \r\n \r\n Save\r\n \r\n\r\n \r\n \r\n Back\r\n \r\n \r\n\r\n","import { DronePilot } from \"src/app/core/models/drone-pilot.model\";\r\nimport { selectCustomersSelector } from \"./../../../../../core/store/selectors/customer.selectors\";\r\nimport { RoleType } from \"./../../../../../core/auth/_models/role-type.model\";\r\n// Angular\r\nimport { Component, OnInit, OnDestroy, Input } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport {\r\n FormBuilder,\r\n FormGroup,\r\n Validators,\r\n FormControl,\r\n} from \"@angular/forms\";\r\n// RxJS\r\nimport {\r\n BehaviorSubject,\r\n Observable,\r\n of,\r\n Subscription,\r\n combineLatest,\r\n ReplaySubject,\r\n} from \"rxjs\";\r\n// NGRX\r\nimport { Store, select } from \"@ngrx/store\";\r\nimport { Update } from \"@ngrx/entity\";\r\nimport { AppState } from \"../../../../../core/reducers\";\r\n// Layout\r\nimport {\r\n SubheaderService,\r\n LayoutConfigService,\r\n} from \"../../../../../core/_base/layout\";\r\nimport {\r\n LayoutUtilsService,\r\n MessageType,\r\n} from \"../../../../../core/_base/crud\";\r\n// Services and Models\r\nimport {\r\n User,\r\n UserUpdated,\r\n Address,\r\n SocialNetworks,\r\n selectHasUsersInStore,\r\n selectUserById,\r\n UserOnServerCreated,\r\n selectLastCreatedUserId,\r\n selectUsersActionLoading,\r\n} from \"../../../../../core/auth\";\r\nimport { UserState } from \"src/app/core/store/reducers/user.reducer\";\r\nimport {\r\n selectUsersLoading,\r\n selectCurrentUser,\r\n selectRoleTypes,\r\n} from \"src/app/core/store/selectors/user.selectors\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport { cloneDeep } from \"lodash\";\r\nimport {\r\n loadUser,\r\n updateUser,\r\n addUser,\r\n} from \"src/app/core/store/actions/user.actions\";\r\nimport { loadMaterials } from \"src/app/core/store/actions/material.actions\";\r\nimport { RegEx } from \"src/app/core/_base/crud/utils/regex-utils\";\r\nimport { Customer } from \"src/app/core/models/customer.model\";\r\nimport { selectPilotsSelector } from \"src/app/core/store/selectors/drone-pilots.selectors\";\r\n\r\n@Component({\r\n selector: \"kt-user-edit\",\r\n templateUrl: \"./user-edit.component.html\",\r\n})\r\nexport class UserEditComponent implements OnInit, OnDestroy {\r\n @Input() title = \"Add User\";\r\n isEdit = false;\r\n user: User;\r\n userForm: FormGroup;\r\n hasFormErrors = false;\r\n roleTypes: RoleType[];\r\n // customers: Customer[];\r\n // pilots: DronePilot[];\r\n loading$: Observable;\r\n\r\n @Input() userId;\r\n\r\n public customersSelectFormControl: FormControl = new FormControl();\r\n public pilotsSelectFormControl: FormControl = new FormControl();\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private store: Store,\r\n private userFB: FormBuilder\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.loading$ = this.store.pipe(\r\n select(selectUsersLoading),\r\n untilDestroyed(this)\r\n );\r\n\r\n this.user = User.createEmpty();\r\n this.createForm();\r\n\r\n combineLatest(\r\n this.store.pipe(select(selectRoleTypes), untilDestroyed(this)),\r\n this.store.pipe(select(selectCurrentUser), untilDestroyed(this))\r\n ).subscribe(([roleTypes, currentUser]) => {\r\n this.roleTypes = roleTypes;\r\n\r\n if (currentUser && (this.isEdit || this.userId)) {\r\n this.user = cloneDeep(currentUser);\r\n this.createForm();\r\n }\r\n });\r\n\r\n let userId = this.route.snapshot.params[\"id\"];\r\n\r\n if (userId && userId != \"add\") {\r\n this.isEdit = true;\r\n this.title = \"Edit User\";\r\n\r\n this.store.dispatch(loadUser({ data: userId }));\r\n }\r\n\r\n if (this.userId) {\r\n this.title = \"Edit My Profile\";\r\n this.store.dispatch(loadUser({ data: this.userId }));\r\n }\r\n }\r\n\r\n createForm() {\r\n this.userForm = this.userFB.group({\r\n username: [this.user.username, Validators.required],\r\n phone: [\r\n this.user.phone,\r\n [Validators.required, Validators.pattern(new RegExp(RegEx.phone))],\r\n ],\r\n email: [this.user.email, [Validators.email, Validators.required]],\r\n roleType: [this.user.roleType?.roleTypeId, Validators.required],\r\n password: [this.user.password, Validators.required],\r\n viewFromAnyDate: [this.user.viewFromAnyDate],\r\n });\r\n\r\n this.userForm.addControl(\r\n \"customersSelectFormControl\",\r\n this.customersSelectFormControl\r\n );\r\n\r\n if (this.user.customer) {\r\n this.customersSelectFormControl.setValue(this.user.customer?.customerId);\r\n }\r\n\r\n this.userForm.addControl(\r\n \"pilotsSelectFormControl\",\r\n this.pilotsSelectFormControl\r\n );\r\n\r\n if (this.user.pilot) {\r\n this.pilotsSelectFormControl.setValue(this.user.pilot?.pilotId);\r\n }\r\n }\r\n\r\n onSumbit() {\r\n this.hasFormErrors = false;\r\n const controls = this.userForm.controls;\r\n /** check form */\r\n if (this.userForm.invalid) {\r\n Object.keys(controls).forEach((controlName) =>\r\n controls[controlName].markAsTouched()\r\n );\r\n\r\n this.hasFormErrors = true;\r\n return;\r\n }\r\n\r\n this.prepareUser();\r\n\r\n if (this.isEdit) {\r\n this.store.dispatch(updateUser({ data: this.user }));\r\n } else {\r\n this.store.dispatch(addUser({ data: this.user }));\r\n }\r\n }\r\n\r\n prepareUser() {\r\n this.user.username = this.userForm.controls.username.value;\r\n this.user.roleType = this.roleTypes.find(\r\n (r) => r.roleTypeId == this.userForm.controls.roleType.value\r\n );\r\n this.user.email = this.userForm.controls.email.value;\r\n this.user.phone = this.userForm.controls.phone.value;\r\n this.user.password = this.userForm.controls.password.value;\r\n this.user.customer.customerId = this.customersSelectFormControl.value;\r\n this.user.pilot.pilotId = this.pilotsSelectFormControl.value;\r\n this.user.viewFromAnyDate = this.userForm.controls.viewFromAnyDate.value;\r\n }\r\n\r\n onAlertClose($event) {\r\n this.hasFormErrors = false;\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","\r\n \r\n\r\n\r\n\r\n \r\n New User\r\n \r\n\r\n","// Angular\r\nimport {\r\n Component,\r\n OnInit,\r\n ElementRef,\r\n ViewChild,\r\n ChangeDetectionStrategy,\r\n OnDestroy,\r\n ChangeDetectorRef,\r\n} from \"@angular/core\";\r\n\r\nimport { Store, select } from \"@ngrx/store\";\r\n\r\n// Services\r\nimport {\r\n LayoutUtilsService,\r\n MessageType,\r\n QueryParamsModel,\r\n} from \"../../../../../core/_base/crud\";\r\n// Models\r\nimport { User } from \"../../../../../core/auth\";\r\n\r\nimport { UserState } from \"src/app/core/store/reducers/user.reducer\";\r\nimport {\r\n selectUsersLoading,\r\n selectUsers,\r\n} from \"src/app/core/store/selectors/user.selectors\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport { loadUsers, deleteUser } from \"src/app/core/store/actions/user.actions\";\r\n\r\n@Component({\r\n selector: \"kt-users-list\",\r\n templateUrl: \"./users-list.component.html\",\r\n})\r\nexport class UsersListComponent implements OnInit, OnDestroy {\r\n loading;\r\n users: User[];\r\n\r\n constructor(\r\n private store: Store,\r\n private layoutUtilsService: LayoutUtilsService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.store\r\n .pipe(select(selectUsersLoading), untilDestroyed(this))\r\n .subscribe((loading) => {\r\n this.loading = loading;\r\n });\r\n\r\n this.store.pipe(selectUsers, untilDestroyed(this)).subscribe((users) => {\r\n this.users = users;\r\n });\r\n\r\n this.store.dispatch(loadUsers());\r\n }\r\n\r\n deleteUser(_item: User) {\r\n const _title = \"User Delete\";\r\n const _description = \"Are you sure to permanently delete this user?\";\r\n const _waitDesciption = \"User is deleting...\";\r\n const _deleteMessage = `User has been deleted`;\r\n\r\n const dialogRef = this.layoutUtilsService.deleteElement(\r\n _title,\r\n _description,\r\n _waitDesciption\r\n );\r\n dialogRef.afterClosed().subscribe((res) => {\r\n if (!res) {\r\n return;\r\n }\r\n\r\n this.store.dispatch(deleteUser({ data: _item }));\r\n this.layoutUtilsService.showActionNotification(\r\n _deleteMessage,\r\n MessageType.Delete\r\n );\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","\r\n\r\n\r\n {{ row.roleType?.name }}\r\n\r\n\r\n\r\n {{ row.customer.name }}\r\n\r\n\r\n\r\n {{ row.pilot.name }}\r\n\r\n\r\n\r\n \r\n create\r\n \r\n\r\n \r\n delete\r\n \r\n\r\n\r\n\r\n \r\n clear_all\r\n Fetch Selected\r\n \r\n\r\n","import {\r\n Component,\r\n OnInit,\r\n AfterViewInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ViewChild,\r\n TemplateRef,\r\n} from \"@angular/core\";\r\nimport { User } from \"src/app/core/auth\";\r\nimport { DatasourceOptions } from \"src/app/core/models/datasource-options.model\";\r\nimport { DataTableColumn } from \"src/app/views/partials/content/general/datatable/datatable.component\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\n\r\n@Component({\r\n selector: \"kt-users-table\",\r\n templateUrl: \"./users-table.component.html\",\r\n styleUrls: [\"./users-table.component.scss\"],\r\n})\r\nexport class UsersTableComponent implements OnInit, AfterViewInit {\r\n @Input() users: User[];\r\n @Input() loading: boolean;\r\n @Input() datasourceOptions: DatasourceOptions;\r\n @Output() loadData = new EventEmitter();\r\n @Output() deleteUser = new EventEmitter();\r\n\r\n @ViewChild(\"actionsTemplate\", { static: false }) actionsTemplate: TemplateRef<\r\n any\r\n >;\r\n @ViewChild(\"roleTemplate\", { static: false }) roleTemplate: TemplateRef;\r\n @ViewChild(\"customerTemplate\", { static: false })\r\n customerTemplate: TemplateRef;\r\n\r\n @ViewChild(\"pilotTemplate\", { static: false })\r\n pilotTemplate: TemplateRef;\r\n\r\n columns: DataTableColumn[];\r\n\r\n constructor(private router: Router, private route: ActivatedRoute) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n this.columns = [\r\n {\r\n serverFieldName: \"username\",\r\n clientFieldName: \"username\",\r\n displayNameKey: \"Username\",\r\n sortable: true,\r\n },\r\n {\r\n serverFieldName: \"phone\",\r\n clientFieldName: \"phone\",\r\n displayNameKey: \"Phone\",\r\n sortable: true,\r\n },\r\n {\r\n serverFieldName: \"email\",\r\n clientFieldName: \"email\",\r\n displayNameKey: \"Email\",\r\n sortable: true,\r\n },\r\n {\r\n serverFieldName: \"customer\",\r\n clientFieldName: \"customer\",\r\n displayNameKey: \"Customer\",\r\n sortable: true,\r\n template: this.customerTemplate,\r\n },\r\n {\r\n serverFieldName: \"roleType\",\r\n clientFieldName: \"roleType\",\r\n displayNameKey: \"Role\",\r\n sortable: true,\r\n template: this.roleTemplate,\r\n },\r\n {\r\n serverFieldName: \"pilot\",\r\n clientFieldName: \"pilot\",\r\n displayNameKey: \"Pilot\",\r\n template: this.pilotTemplate,\r\n sortable: true,\r\n },\r\n {\r\n clientFieldName: \"actions\",\r\n serverFieldName: \"actions\",\r\n displayNameKey: \"Actions\",\r\n sortable: false,\r\n template: this.actionsTemplate,\r\n },\r\n ];\r\n });\r\n }\r\n\r\n editUserClick(user: User) {\r\n this.router.navigate([user.userId], { relativeTo: this.route });\r\n }\r\n}\r\n","
\r\n\t
{{data.message}}
\r\n\t
\r\n\t\t\r\n\t
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n","// Angular\r\nimport { Component, Inject, OnInit, ChangeDetectionStrategy } from '@angular/core';\r\nimport { MAT_SNACK_BAR_DATA } from '@angular/material/snack-bar';\r\n// RxJS\r\nimport { delay } from 'rxjs/operators';\r\nimport { of } from 'rxjs';\r\n\r\n@Component({\r\n\tselector: 'kt-action-natification',\r\n\ttemplateUrl: './action-notification.component.html',\r\n\tchangeDetection: ChangeDetectionStrategy.Default\r\n\r\n})\r\nexport class ActionNotificationComponent implements OnInit {\r\n\t/**\r\n\t * Component constructor\r\n\t *\r\n\t * @param data: any\r\n\t */\r\n\tconstructor(@Inject(MAT_SNACK_BAR_DATA) public data: any) { }\r\n\r\n\t/**\r\n\t * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n\t */\r\n\r\n\t/**\r\n\t * On init\r\n\t */\r\n\tngOnInit() {\r\n\t\tif (!this.data.showUndoButton || (this.data.undoButtonDuration >= this.data.duration)) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.delayForUndoButton(this.data.undoButtonDuration).subscribe(() => {\r\n\t\t\tthis.data.showUndoButton = false;\r\n\t\t});\r\n\t}\r\n\r\n\t/*\r\n\t *\tReturns delay\r\n\t *\r\n\t * @param timeToDelay: any\r\n\t */\r\n\tdelayForUndoButton(timeToDelay) {\r\n\t\treturn of('').pipe(delay(timeToDelay));\r\n\t}\r\n\r\n\t/**\r\n\t * Dismiss with Action\r\n\t */\r\n\tonDismissWithAction() {\r\n\t\tthis.data.snackBar.dismiss();\r\n\t}\r\n\r\n\t/**\r\n\t * Dismiss\r\n\t */\r\n \tpublic onDismiss() {\r\n\t\tthis.data.snackBar.dismiss();\r\n\t}\r\n}\r\n","
\r\n\t
\r\n\t\t\r\n\t
\r\n\t
\r\n\t\t\r\n\t
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n","// Angular\r\nimport { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n\tselector: 'kt-alert',\r\n\ttemplateUrl: './alert.component.html'\r\n})\r\nexport class AlertComponent implements OnInit {\r\n\t// Public properties\r\n\t@Input() type: 'primary | accent | warn';\r\n\t@Input() duration = 0;\r\n\t@Input() showCloseButton = true;\r\n\t@Output() close = new EventEmitter();\r\n\talertShowing = true;\r\n\r\n\t/**\r\n\t * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n\t */\r\n\r\n\t/**\r\n\t * On init\r\n\t */\r\n\tngOnInit() {\r\n\t\tif (this.duration === 0) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.closeAlert();\r\n\t\t}, this.duration);\r\n\t}\r\n\r\n\t/**\r\n\t * close alert\r\n\t */\r\n\tcloseAlert() {\r\n\t\tthis.close.emit();\r\n\t}\r\n}\r\n","
\r\n\t
\r\n\t\t
\r\n\t\t\t

{{data.title}}

\r\n\t\t
\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{{viewLoading ? data.waitDesciption : data.description}}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t \r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
","// Angular\r\nimport { Component, Inject, OnInit } from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\n\r\n@Component({\r\n selector: \"kt-delete-entity-dialog\",\r\n templateUrl: \"./delete-entity-dialog.component.html\",\r\n})\r\nexport class DeleteEntityDialogComponent implements OnInit {\r\n // Public properties\r\n viewLoading = false;\r\n\r\n /**\r\n * Component constructor\r\n *\r\n * @param dialogRef: MatDialogRef\r\n * @param data: any\r\n */\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any\r\n ) {}\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * On init\r\n */\r\n ngOnInit() {}\r\n\r\n /**\r\n * Close dialog with false result\r\n */\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n /**\r\n * Close dialog with true result\r\n */\r\n onYesClick(): void {\r\n this.dialogRef.close(true); // Keep only this row\r\n }\r\n}\r\n","// Angular\r\nimport { Component, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n\tselector: 'kt-fetch-entity-dialog',\r\n\ttemplateUrl: './fetch-entity-dialog.component.html'\r\n})\r\nexport class FetchEntityDialogComponent {\r\n\t/**\r\n\t * Component constructor\r\n\t *\r\n\t * @param dialogRef: MatDialogRef,\r\n\t * @param data: any\r\n\t */\r\n\tconstructor(\r\n\t\tpublic dialogRef: MatDialogRef,\r\n\t\t@Inject(MAT_DIALOG_DATA) public data: any\r\n\t) {}\r\n\r\n\t/**\r\n\t * Close dialog with false result\r\n\t */\r\n\tonNoClick(): void {\r\n\t\tthis.dialogRef.close();\r\n\t}\r\n\r\n\t/** UI */\r\n\t/**\r\n\t * Returns CSS Class Name by status type\r\n\t * @param status: number\r\n\t */\r\n\tgetItemCssClassByStatus(status: number = 0) {\r\n\t\tswitch (status) {\r\n\t\t\tcase 0: return 'success';\r\n\t\t\tcase 1: return 'metal';\r\n\t\t\tcase 2: return 'danger';\r\n\t\t\tdefault: return 'success';\r\n\t\t}\r\n\t}\r\n}\r\n","// Components\r\nexport { UpdateStatusDialogComponent } from './update-status-dialog/update-status-dialog.component';\r\nexport { FetchEntityDialogComponent } from './fetch-entity-dialog/fetch-entity-dialog.component';\r\nexport { DeleteEntityDialogComponent } from './delete-entity-dialog/delete-entity-dialog.component';\r\nexport { AlertComponent } from './alert/alert.component';\r\nexport { ActionNotificationComponent } from './action-natification/action-notification.component';\r\n","// Angular\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { FormControl } from '@angular/forms';\r\n\r\n@Component({\r\n\tselector: 'kt-update-status-dialog',\r\n\ttemplateUrl: './update-status-dialog.component.html'\r\n})\r\nexport class UpdateStatusDialogComponent implements OnInit {\r\n\tselectedStatusForUpdate = new FormControl('');\r\n\tviewLoading = false;\r\n\tloadingAfterSubmit = false;\r\n\tconstructor(\r\n\t\tpublic dialogRef: MatDialogRef,\r\n\t\t@Inject(MAT_DIALOG_DATA) public data: any) {}\r\n\r\n\tngOnInit() {\r\n\t\t/* Server loading imitation. Remove this */\r\n\t\tthis.viewLoading = true;\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.viewLoading = false;\r\n\t\t}, 2500);\r\n\t}\r\n\r\n\tonNoClick(): void {\r\n\t\tthis.dialogRef.close();\r\n\t}\r\n\r\n\tupdateStatus() {\r\n\t\tif (this.selectedStatusForUpdate.value.length === 0) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t/* Server loading imitation. Remove this */\r\n\t\tthis.viewLoading = true;\r\n\t\tthis.loadingAfterSubmit = true;\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.dialogRef.close(this.selectedStatusForUpdate.value); // Keep only this row\r\n\t\t}, 2500);\r\n\t}\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Search in all fields\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n 0 }\"\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 {{ col.displayNameKey }}\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 {{ row[field] }}\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","import {\r\n Component,\r\n OnInit,\r\n OnChanges,\r\n OnDestroy,\r\n AfterViewInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ViewChild,\r\n ElementRef,\r\n TemplateRef,\r\n ChangeDetectionStrategy,\r\n} from \"@angular/core\";\r\nimport { MatPaginator } from \"@angular/material/paginator\";\r\nimport { MatSort } from \"@angular/material/sort\";\r\nimport {\r\n MatDataSource,\r\n rowsAnimation,\r\n} from \"src/app/core/utils/mat-datasource\";\r\nimport { SelectionModel } from \"@angular/cdk/collections\";\r\nimport { DatasourceOptions } from \"src/app/core/models/datasource-options.model\";\r\nimport { merge, fromEvent } from \"rxjs\";\r\nimport { tap, debounceTime, distinctUntilChanged } from \"rxjs/operators\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport * as _ from \"lodash\";\r\n\r\n@Component({\r\n selector: \"kt-datatable\",\r\n templateUrl: \"./datatable.component.html\",\r\n styleUrls: [\"./datatable.component.scss\"],\r\n animations: [rowsAnimation],\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class DatatableComponent\r\n implements OnInit, OnChanges, OnDestroy, AfterViewInit {\r\n @Input() data: any[];\r\n @Input() showFilter = true;\r\n @Input() loading: boolean;\r\n @Input() datasourceOptions: DatasourceOptions;\r\n @Output() loadData = new EventEmitter();\r\n @Input() columns: DataTableColumn[];\r\n @Input() showSelect = false;\r\n @Input() selectActionsTemplate: TemplateRef;\r\n @Input() selectAllByDefault = false;\r\n @Input() hover = false;\r\n @Output() rowClicked = new EventEmitter();\r\n @Output() selectionChanged = new EventEmitter();\r\n @Input() hasMasterToggle = true;\r\n @Input() selectedItems;\r\n\r\n @ViewChild(MatPaginator, { static: true }) matPaginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(\"input\", { static: false }) input: ElementRef;\r\n\r\n datasource: MatTableDataSource;\r\n displayedColumns;\r\n selection = new SelectionModel(true, []);\r\n columnsDict = {};\r\n\r\n constructor() {\r\n this.datasource = new MatTableDataSource();\r\n\r\n this.datasourceOptions = new DatasourceOptions(\r\n 0,\r\n 1,\r\n \"\",\r\n 1,\r\n 10,\r\n \"id\",\r\n \"desc\"\r\n );\r\n }\r\n\r\n ngOnInit() {}\r\n\r\n ngOnChanges(changes: import(\"@angular/core\").SimpleChanges): void {\r\n if (changes.data && this.data != null) {\r\n this.datasource.data = this.data;\r\n this.datasource.paginator = this.matPaginator;\r\n this.datasource.sort = this.sort;\r\n\r\n if (this.selectAllByDefault) {\r\n this.selection.clear();\r\n this.data.forEach((row) => this.selection.select(row));\r\n }\r\n }\r\n\r\n if (changes.columns && this.columns != null) {\r\n this.displayedColumns = this.columns.map((c) => c.clientFieldName);\r\n if (this.showSelect) {\r\n this.displayedColumns.splice(0, 0, \"select\");\r\n }\r\n\r\n this.columnsDict = this.columns.reduce((dict, curr) => {\r\n let colName = curr.clientFieldName;\r\n dict[colName] = curr;\r\n return dict;\r\n }, {});\r\n }\r\n\r\n if (this.selectedItems != null) {\r\n this.selection.select(...this.selectedItems);\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n setTimeout(() => {\r\n // debugger;\r\n // this.datasource.paginator = this.matPaginator;\r\n // this.datasource.sort = this.sort;\r\n });\r\n\r\n // Un comment for server side support\r\n // this.sort.sortChange.subscribe(() => (this.matPaginator.pageIndex = 0));\r\n\r\n // fromEvent(this.input.nativeElement, \"keyup\")\r\n // .pipe(\r\n // debounceTime(150),\r\n // distinctUntilChanged(),\r\n // tap(() => {\r\n // this.matPaginator.pageIndex = 0;\r\n // const options = new DatasourceOptions(\r\n // -1,\r\n // this.matPaginator.pageIndex + 1,\r\n // this.input.nativeElement.value,\r\n // -1,\r\n // this.matPaginator.pageSize,\r\n // this.sort.active != undefined ? this.sort.active : \"id\",\r\n // this.sort.direction != \"\" ? this.sort.direction : \"desc\"\r\n // );\r\n // this.loadData.emit(options);\r\n // })\r\n // )\r\n // .subscribe();\r\n\r\n // merge(this.sort.sortChange, this.matPaginator.page)\r\n // .pipe(\r\n // tap(() => {\r\n // debugger;\r\n // const options = new DatasourceOptions(\r\n // -1,\r\n // this.matPaginator.pageIndex + 1,\r\n // this.input.nativeElement.value,\r\n // -1,\r\n // this.matPaginator.pageSize,\r\n // this.sort.active != undefined ? this.sort.active : \"id\",\r\n // this.sort.direction != \"\" ? this.sort.direction : \"desc\"\r\n // );\r\n // this.loadData.emit(options);\r\n // })\r\n // )\r\n // .subscribe();\r\n\r\n this.datasource.sortingDataAccessor = (item, property) => {\r\n let sortBy = this.columnsDict[property].sortBy ?? property;\r\n return _.get(item, sortBy)\r\n }\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.datasource.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n isAllSelected(): boolean {\r\n const numSelected = this.selection.selected.length;\r\n const numRows = this.data.length;\r\n return numSelected === numRows;\r\n }\r\n\r\n masterToggle() {\r\n if (this.selection.selected.length === this.data.length) {\r\n this.selection.clear();\r\n } else {\r\n this.data.forEach((row) => this.selection.select(row));\r\n }\r\n }\r\n\r\n selectClicked(row) {\r\n this.selection.toggle(row);\r\n this.selectionChanged.emit({\r\n row: row,\r\n isSelected: this.selection.isSelected(row),\r\n });\r\n }\r\n\r\n ngOnDestroy() {}\r\n}\r\n\r\nexport interface DataTableColumn {\r\n serverFieldName?: string;\r\n clientFieldName: string;\r\n displayNameKey: string;\r\n sortable: boolean;\r\n template?: TemplateRef;\r\n width?: number;\r\n sortBy?: string;\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","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n TemplateRef,\r\n ChangeDetectionStrategy,\r\n ViewEncapsulation,\r\n} from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\n\r\n@Component({\r\n selector: \"kt-generic-portlet\",\r\n templateUrl: \"./generic-portlet.component.html\",\r\n styleUrls: [\"./generic-portlet.component.scss\"],\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class GenericPortletComponent implements OnInit {\r\n @Input() title = \"Title\";\r\n @Input() actionsTemplate: TemplateRef;\r\n @Input() loading;\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","\n\t\t","// Angular\r\nimport { Component, HostBinding, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n\tselector: 'kt-portlet-body',\r\n\ttemplate: `\r\n\t\t`\r\n})\r\nexport class PortletBodyComponent implements OnInit {\r\n\t// Public properties\r\n\t@HostBinding('class') classList = 'card-body';\r\n\t@Input() class: string;\r\n\r\n\t/**\r\n\t * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n\t */\r\n\r\n\t/**\r\n\t * On init\r\n\t */\r\n\tngOnInit() {\r\n\t\tif (this.class) {\r\n\t\t\tthis.classList += ' ' + this.class;\r\n\t\t}\r\n\t}\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","import {\r\n KtDialogService,\r\n StickyDirective,\r\n} from \"../../../../../core/_base/layout\";\r\n// Angular\r\nimport {\r\n AfterViewInit,\r\n Component,\r\n ElementRef,\r\n HostBinding,\r\n HostListener,\r\n Inject,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n PLATFORM_ID,\r\n ViewChild,\r\n ChangeDetectionStrategy,\r\n} from \"@angular/core\";\r\n// RXJS\r\nimport { Observable, Subscription } from \"rxjs\";\r\n\r\n@Component({\r\n selector: \"kt-portlet-header\",\r\n styleUrls: [\"portlet-header.component.scss\"],\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n templateUrl: \"./portlet-header.html\",\r\n})\r\nexport class PortletHeaderComponent\r\n implements OnInit, AfterViewInit, OnDestroy {\r\n // Public properties\r\n // append html class to the portlet header\r\n @Input() class: string;\r\n // a simple title text\r\n @Input() title: string;\r\n // icon name to be added to the i tag\r\n @Input() icon: string;\r\n // remove title container\r\n @Input() noTitle: boolean;\r\n // enable sticky portlet header\r\n @Input() sticky: boolean;\r\n // enable loading to display\r\n @Input() viewLoading$: Observable;\r\n viewLoading = false;\r\n\r\n @HostBinding(\"class\") classes = \"card-header\";\r\n @HostBinding(\"attr.ktSticky\") stickyDirective: StickyDirective;\r\n\r\n @ViewChild(\"refIcon\", { static: true }) refIcon: ElementRef;\r\n hideIcon: boolean;\r\n\r\n @ViewChild(\"refTools\", { static: true }) refTools: ElementRef;\r\n hideTools: boolean;\r\n\r\n private lastScrollTop = 0;\r\n private subscriptions: Subscription[] = [];\r\n private isScrollDown = false;\r\n\r\n constructor(\r\n private el: ElementRef,\r\n @Inject(PLATFORM_ID) private platformId: string,\r\n private ktDialogService: KtDialogService\r\n ) {\r\n this.stickyDirective = new StickyDirective(this.el, this.platformId);\r\n }\r\n\r\n @HostListener(\"window:resize\", [\"$event\"])\r\n onResize() {\r\n this.updateStickyPosition();\r\n }\r\n\r\n @HostListener(\"window:scroll\", [\"$event\"])\r\n onScroll() {\r\n this.updateStickyPosition();\r\n const st = window.pageYOffset || document.documentElement.scrollTop;\r\n this.isScrollDown = st > this.lastScrollTop;\r\n this.lastScrollTop = st <= 0 ? 0 : st;\r\n }\r\n\r\n updateStickyPosition() {\r\n if (this.sticky) {\r\n Promise.resolve(null).then(() => {\r\n // get boundary top margin for sticky header\r\n const headerElement = document.querySelector(\".header\") as HTMLElement;\r\n const subheaderElement = document.querySelector(\r\n \".subheader\"\r\n ) as HTMLElement;\r\n const headerMobileElement = document.querySelector(\r\n \".header-mobile\"\r\n ) as HTMLElement;\r\n\r\n let height = 0;\r\n\r\n if (headerElement != null) {\r\n // mobile header\r\n if (window.getComputedStyle(headerElement).height === \"0px\") {\r\n height += headerMobileElement.offsetHeight;\r\n } else {\r\n // desktop header\r\n if (document.body.classList.contains(\"header-minimize-topbar\")) {\r\n // hardcoded minimized header height\r\n height = 60;\r\n } else {\r\n // normal fixed header\r\n if (document.body.classList.contains(\"header-fixed\")) {\r\n height += headerElement.offsetHeight;\r\n }\r\n if (document.body.classList.contains(\"subheader-fixed\")) {\r\n height += subheaderElement.offsetHeight;\r\n }\r\n }\r\n }\r\n }\r\n\r\n this.stickyDirective.marginTop = height;\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * On init\r\n */\r\n ngOnInit() {\r\n if (this.sticky) {\r\n this.stickyDirective.ngOnInit();\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n // append custom class\r\n this.classes += this.class ? \" \" + this.class : \"\";\r\n\r\n // hide icon's parent node if no icon provided\r\n this.hideIcon = this.refIcon.nativeElement.children.length === 0;\r\n\r\n // hide tools' parent node if no tools template is provided\r\n this.hideTools = this.refTools.nativeElement.children.length === 0;\r\n\r\n if (this.sticky) {\r\n this.updateStickyPosition();\r\n this.stickyDirective.ngAfterViewInit();\r\n }\r\n\r\n // initialize loading dialog\r\n if (this.viewLoading$) {\r\n const loadingSubscription = this.viewLoading$.subscribe((res) =>\r\n this.toggleLoading(res)\r\n );\r\n this.subscriptions.push(loadingSubscription);\r\n }\r\n });\r\n }\r\n\r\n toggleLoading(_incomingValue: boolean) {\r\n this.viewLoading = _incomingValue;\r\n if (_incomingValue && !this.ktDialogService.checkIsShown()) {\r\n this.ktDialogService.show();\r\n }\r\n\r\n if (!this.viewLoading && this.ktDialogService.checkIsShown()) {\r\n this.ktDialogService.hide();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscriptions.forEach((sb) => sb.unsubscribe());\r\n if (this.sticky) {\r\n this.stickyDirective.ngOnDestroy();\r\n }\r\n }\r\n}\r\n","
\r\n\t\r\n
\r\n","// Angular\r\nimport { AfterViewInit, Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\r\n// Loading bar\r\nimport { LoadingBarService } from '@ngx-loading-bar/core';\r\n// RxJS\r\nimport { Observable } from 'rxjs';\r\n// Portlet\r\nimport { PortletBodyComponent } from './portlet-body.component';\r\nimport { PortletHeaderComponent } from './portlet-header.component';\r\nimport { PortletFooterComponent } from './portlet-footer.component';\r\n// Layout\r\nimport { LayoutConfigService } from '../../../../../core/_base/layout';\r\n\r\nexport interface PortletOptions {\r\n\ttest?: any;\r\n}\r\n\r\n@Component({\r\n\tselector: 'kt-portlet',\r\n\ttemplateUrl: './portlet.component.html',\r\n\texportAs: 'ktPortlet'\r\n})\r\nexport class PortletComponent implements OnInit, AfterViewInit {\r\n\t// Public properties\r\n\t@Input() loading$: Observable;\r\n\t// portlet extra options\r\n\t@Input() options: PortletOptions;\r\n\t// portlet root classes\r\n\t@Input() class: string;\r\n\r\n\t@ViewChild('portlet', {static: true}) portlet: ElementRef;\r\n\r\n\t// portlet header component template\r\n\t@ViewChild(PortletHeaderComponent, {static: true}) header: PortletHeaderComponent;\r\n\t// portlet body component template\r\n\t@ViewChild(PortletBodyComponent, {static: true}) body: PortletBodyComponent;\r\n\t// portlet footer component template\r\n\t@ViewChild(PortletFooterComponent, {static: true}) footer: PortletFooterComponent;\r\n\r\n\t/**\r\n\t * Component constructor\r\n\t *\r\n\t * @param el: ElementRef\r\n\t * @param loader: LoadingBarService\r\n\t * @param layoutConfigService: LayoutConfigService\r\n\t */\r\n\tconstructor(private el: ElementRef, public loader: LoadingBarService,\r\n\t private layoutConfigService: LayoutConfigService) {\r\n\t\tthis.loader.complete();\r\n\t}\r\n\r\n\t/**\r\n\t * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n\t */\r\n\r\n\t/**\r\n\t * On init\r\n\t */\r\n\tngOnInit() {\r\n\t}\r\n\r\n\t/**\r\n\t * After view init\r\n\t */\r\n\tngAfterViewInit() {\r\n\t}\r\n\r\n}\r\n","// Angular\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\n\r\n// Module\r\nimport { CoreModule } from '../../../../../core/core.module';\r\n// Portlet\r\nimport { PortletComponent } from './portlet.component';\r\nimport { PortletHeaderComponent } from './portlet-header.component';\r\nimport { PortletBodyComponent } from './portlet-body.component';\r\nimport { PortletFooterComponent } from './portlet-footer.component';\r\n\r\n@NgModule({\r\n\timports: [\r\n\t\tCommonModule,\r\n\t\tCoreModule,\r\n\t\tMatProgressSpinnerModule,\r\n\t\tMatProgressBarModule\r\n\t],\r\n\tdeclarations: [\r\n\t\tPortletComponent,\r\n\t\tPortletHeaderComponent,\r\n\t\tPortletBodyComponent,\r\n\t\tPortletFooterComponent,\r\n\t],\r\n\texports: [\r\n\t\tPortletComponent,\r\n\t\tPortletHeaderComponent,\r\n\t\tPortletBodyComponent,\r\n\t\tPortletFooterComponent,\r\n\t]\r\n})\r\nexport class PortletModule {\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CoreModule } from '../../../../core/core.module';\r\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\r\n// Datatable\r\nimport { DataTableComponent } from './general/data-table/data-table.component';\r\n// General widgets\r\nimport { Widget1Component } from './widget1/widget1.component';\r\nimport { Widget4Component } from './widget4/widget4.component';\r\nimport { Widget5Component } from './widget5/widget5.component';\r\nimport { Widget12Component } from './widget12/widget12.component';\r\nimport { Widget14Component } from './widget14/widget14.component';\r\nimport { Widget26Component } from './widget26/widget26.component';\r\nimport { Timeline2Component } from './timeline2/timeline2.component';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatSortModule } from '@angular/material/sort';\r\n\r\n@NgModule({\r\n\tdeclarations: [\r\n\t\tDataTableComponent,\r\n\t\t// Widgets\r\n\t\tWidget1Component,\r\n\t\tWidget4Component,\r\n\t\tWidget5Component,\r\n\t\tWidget12Component,\r\n\t\tWidget14Component,\r\n\t\tWidget26Component,\r\n\t\tTimeline2Component,\r\n\t],\r\n\texports: [\r\n\t\tDataTableComponent,\r\n\t\t// Widgets\r\n\t\tWidget1Component,\r\n\t\tWidget4Component,\r\n\t\tWidget5Component,\r\n\t\tWidget12Component,\r\n\t\tWidget14Component,\r\n\t\tWidget26Component,\r\n\t\tTimeline2Component,\r\n\t],\r\n\timports: [\r\n\t\tCommonModule,\r\n\t\tPerfectScrollbarModule,\r\n\t\tMatTableModule,\r\n\t\tCoreModule,\r\n\t\tMatIconModule,\r\n\t\tMatButtonModule,\r\n\t\tMatProgressSpinnerModule,\r\n\t\tMatPaginatorModule,\r\n\t\tMatSortModule,\r\n\t]\r\n})\r\nexport class WidgetModule {\r\n}\r\n","\r\n \r\n \r\n \r\n None\r\n \r\n {{ data[filterBy] }}\r\n \r\n {{ error }} \r\n {{ hint }} \r\n\r\n","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n Output,\r\n EventEmitter,\r\n} from \"@angular/core\";\r\nimport { FormControl } from \"@angular/forms\";\r\nimport { ReplaySubject } from \"rxjs\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\n\r\n@Component({\r\n selector: \"kt-mat-select-filter\",\r\n templateUrl: \"./mat-select-filter.component.html\",\r\n styleUrls: [\"./mat-select-filter.component.scss\"],\r\n})\r\nexport class MatSelectFilterComponent implements OnInit, OnChanges, OnDestroy {\r\n @Input() dataSet;\r\n @Input() filterBy: string;\r\n @Input() valueProperty: string;\r\n @Input() selectFormControl: FormControl = new FormControl();\r\n @Input() error = \"Incorrect input\";\r\n @Input() hint = \"Please enter data\";\r\n @Input() placeHolder = \"Select\";\r\n @Input() multiple = false;\r\n @Input() primitiveValue = true;\r\n searchFormControl: FormControl = new FormControl();\r\n\r\n @Output() valueChanged = new EventEmitter();\r\n\r\n filteredData: ReplaySubject = new ReplaySubject(1);\r\n value = [];\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n // Subscribe to filter event\r\n this.searchFormControl.valueChanges\r\n .pipe(untilDestroyed(this))\r\n .subscribe(() => {\r\n this.filterData();\r\n });\r\n }\r\n\r\n ngOnChanges(changes: import(\"@angular/core\").SimpleChanges): void {\r\n if (changes?.dataSet && this.dataSet) {\r\n this.filteredData.next(this.dataSet.slice());\r\n }\r\n }\r\n\r\n private filterData() {\r\n if (!this.dataSet) {\r\n return;\r\n }\r\n // get the search keyword\r\n let search = this.searchFormControl.value;\r\n if (!search) {\r\n this.filteredData.next(this.dataSet.slice());\r\n return;\r\n } else {\r\n search = search.toLowerCase();\r\n }\r\n // filter\r\n this.filteredData.next(\r\n this.dataSet.filter(\r\n (d) => d[this.filterBy].toLowerCase().indexOf(search) > -1\r\n )\r\n );\r\n }\r\n\r\n selectionChange($event) {\r\n let value = $event;\r\n\r\n if (!this.primitiveValue) {\r\n value = this.dataSet.find((i) => i[this.valueProperty] == $event);\r\n }\r\n\r\n if (this.multiple) {\r\n if (!this.searchFormControl.value) {\r\n this.value.push(...value);\r\n } else {\r\n let values = [...value, ...this.value];\r\n this.selectFormControl.setValue(\r\n values.filter((value, index, self) => self.indexOf(value) === index)\r\n );\r\n let val = this.selectFormControl.value;\r\n }\r\n }\r\n\r\n this.valueChanged.emit(value);\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","\r\n\r\n\r\n \r\n \r\n close\r\n \r\n\r\n\r\n\r\n {{ noEntriesFoundLabel }}\r\n\r\n","import {\r\n Component,\r\n OnInit,\r\n forwardRef,\r\n ChangeDetectionStrategy,\r\n OnDestroy,\r\n AfterViewInit,\r\n Inject,\r\n ChangeDetectorRef,\r\n Input,\r\n ViewChild,\r\n ElementRef,\r\n QueryList,\r\n EventEmitter,\r\n} from \"@angular/core\";\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from \"@angular/forms\";\r\nimport { MatSelect } from \"@angular/material/select\";\r\nimport { MatOption } from \"@angular/material/core\";\r\nimport { untilDestroyed } from \"ngx-take-until-destroy\";\r\nimport { take } from \"rxjs/operators\";\r\n\r\n@Component({\r\n selector: \"kt-mat-select-search\",\r\n templateUrl: \"./mat-select-search.component.html\",\r\n styleUrls: [\"./mat-select-search.component.scss\"],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => MatSelectSearchComponent),\r\n multi: true,\r\n },\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class MatSelectSearchComponent\r\n implements OnInit, OnDestroy, AfterViewInit, ControlValueAccessor {\r\n /** Current search value */\r\n get value(): string {\r\n return this._value;\r\n }\r\n\r\n constructor(\r\n @Inject(MatSelect) public matSelect: MatSelect,\r\n private changeDetectorRef: ChangeDetectorRef\r\n ) {}\r\n /** Label of the search placeholder */\r\n @Input() placeholderLabel = \"Search\";\r\n\r\n /** Label to be shown when no entries are found. Set to null if no message should be shown. */\r\n @Input() noEntriesFoundLabel = \"No results\";\r\n\r\n /** Reference to the search input field */\r\n @ViewChild(\"searchSelectInput\", { read: ElementRef })\r\n searchSelectInput: ElementRef;\r\n private _value: string;\r\n\r\n /** Reference to the MatSelect options */\r\n public _options: QueryList;\r\n\r\n /** Previously selected values when using */\r\n private previousSelectedValues: any[];\r\n\r\n /** Whether the backdrop class has been set */\r\n private overlayClassSet = false;\r\n\r\n /** Event that emits when the current value changes */\r\n private change = new EventEmitter();\r\n\r\n onChange: Function = (_: any) => {};\r\n onTouched: Function = (_: any) => {};\r\n\r\n ngOnDestroy(): void {}\r\n\r\n ngOnInit(): void {\r\n // set custom panel class\r\n const panelClass = \"mat-select-search-panel\";\r\n if (this.matSelect.panelClass) {\r\n if (Array.isArray(this.matSelect.panelClass)) {\r\n this.matSelect.panelClass.push(panelClass);\r\n } else if (typeof this.matSelect.panelClass === \"string\") {\r\n this.matSelect.panelClass = [this.matSelect.panelClass, panelClass];\r\n } else if (typeof this.matSelect.panelClass === \"object\") {\r\n this.matSelect.panelClass[panelClass] = true;\r\n }\r\n } else {\r\n this.matSelect.panelClass = panelClass;\r\n }\r\n\r\n // when the select dropdown panel is opened or closed\r\n this.matSelect.openedChange\r\n .pipe(untilDestroyed(this))\r\n .subscribe((opened) => {\r\n if (opened) {\r\n // focus the search field when opening\r\n this._focus();\r\n } else {\r\n // clear it when closing\r\n this._reset();\r\n }\r\n });\r\n\r\n // set the first item active after the options changed\r\n this.matSelect.openedChange\r\n .pipe(take(1))\r\n .pipe(untilDestroyed(this))\r\n .subscribe(() => {\r\n this._options = this.matSelect.options;\r\n this._options.changes.pipe(untilDestroyed(this)).subscribe(() => {\r\n const keyManager = this.matSelect._keyManager;\r\n if (keyManager && this.matSelect.panelOpen) {\r\n // avoid \"expression has been changed\" error\r\n setTimeout(() => {\r\n keyManager.setFirstItemActive();\r\n });\r\n }\r\n });\r\n });\r\n\r\n // detect changes when the input changes\r\n this.change.pipe(untilDestroyed(this)).subscribe(() => {\r\n this.changeDetectorRef.detectChanges();\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.setOverlayClass();\r\n }\r\n\r\n _handleKeydown(event: KeyboardEvent) {\r\n if (event.keyCode === 32) {\r\n // do not propagate spaces to MatSelect, as this would select the currently active option\r\n event.stopPropagation();\r\n }\r\n }\r\n\r\n writeValue(value: string) {\r\n const valueChanged = value !== this._value;\r\n if (valueChanged) {\r\n this._value = value;\r\n this.change.emit(value);\r\n }\r\n }\r\n\r\n onInputChange(value) {\r\n const valueChanged = value !== this._value;\r\n\r\n if (valueChanged) {\r\n this._value = value;\r\n this.onChange(value);\r\n this.change.emit(value);\r\n }\r\n }\r\n\r\n onBlur(value: string) {\r\n this.writeValue(value);\r\n this.onTouched();\r\n }\r\n\r\n registerOnChange(fn: Function) {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: Function) {\r\n this.onTouched = fn;\r\n }\r\n\r\n public _focus() {\r\n if (!this.searchSelectInput) {\r\n return;\r\n }\r\n // save and restore scrollTop of panel, since it will be reset by focus()\r\n // note: this is hacky\r\n const panel = this.matSelect.panel.nativeElement;\r\n const scrollTop = panel.scrollTop;\r\n\r\n // focus\r\n this.searchSelectInput.nativeElement.focus();\r\n\r\n panel.scrollTop = scrollTop;\r\n }\r\n\r\n public _reset(focus?: boolean) {\r\n if (!this.searchSelectInput) {\r\n return;\r\n }\r\n this.searchSelectInput.nativeElement.value = \"\";\r\n this.onInputChange(\"\");\r\n if (focus) {\r\n this._focus();\r\n }\r\n }\r\n\r\n /**\r\n * Sets the overlay class to correct offsetY\r\n * so that the selected option is at the position of the select box when opening\r\n */\r\n private setOverlayClass() {\r\n if (this.overlayClassSet) {\r\n return;\r\n }\r\n const overlayClass = \"cdk-overlay-pane-select-search\";\r\n\r\n this.matSelect.overlayDir.attach\r\n .pipe(untilDestroyed(this))\r\n .subscribe(() => {\r\n // note: this is hacky, but currently there is no better way to do this\r\n this.searchSelectInput.nativeElement.parentElement.parentElement.parentElement.parentElement.parentElement.classList.add(\r\n overlayClass\r\n );\r\n });\r\n\r\n this.overlayClassSet = true;\r\n }\r\n}\r\n","\r\n
\r\n\r\n\t
\r\n\t\t\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
System Messages
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\"\"/\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\tTop Authors\r\n\t\t\t\t\t\t\t\t\t\tMost Successful Fellas\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t+82$\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\"\"/\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\tPopular Authors\r\n\t\t\t\t\t\t\t\t\t\tMost Successful Fellas\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t+280$\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\"\"/\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\tNew Users\r\n\t\t\t\t\t\t\t\t\t\tMost Successful Fellas\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t+4500$\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\"\"/\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\tActive Customers\r\n\t\t\t\t\t\t\t\t\t\tMost Successful Fellas\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t+4500$\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\"\"/\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\tBestseller Theme\r\n\t\t\t\t\t\t\t\t\t\tMost Successful Fellas\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t+4500$\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
Notifications
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\tAnother purpose persuade\r\n\t\t\t\t\t\t\t\t\t\tDue in 2 Days\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t+28%\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\tWould be to people\r\n\t\t\t\t\t\t\t\t\t\tDue in 2 Days\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t+50%\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\tPurpose would be to persuade\r\n\t\t\t\t\t\t\t\t\t\tDue in 2 Days\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t-27%\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\tThe best product\r\n\t\t\t\t\t\t\t\t\t\tDue in 2 Days\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t+8%\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
Customer Care
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
Reports
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
Memebers
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n\r\n","// Angular\r\nimport { Component } from '@angular/core';\r\n// Layout\r\nimport { OffcanvasOptions } from '../../../../core/_base/layout';\r\n\r\n@Component({\r\n\tselector: 'kt-quick-panel',\r\n\ttemplateUrl: './quick-panel.component.html',\r\n\tstyleUrls: ['./quick-panel.component.scss']\r\n})\r\nexport class QuickPanelComponent {\r\n\t// Public properties\r\n\toffcanvasOptions: OffcanvasOptions = {\r\n\t\toverlay: true,\r\n\t\tbaseClass: 'offcanvas',\r\n\t\tplacement: 'right',\r\n\t\tcloseBy: 'kt_quick_panel_close',\r\n\t\ttoggleBy: 'kt_quick_panel_toggle'\r\n\t};\r\n}\r\n","\r\n \r\n \r\n \r\n

\r\n User Profile\r\n 12 messages\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 {{ _user.username }}\r\n \r\n
--occupation--
\r\n \r\n \r\n Sign Out\r\n \r\n
\r\n \r\n\r\n
\r\n\r\n \r\n\r\n
\r\n\r\n
\r\n
Recent Notifications
\r\n\r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n Another purpose persuade\r\n \r\n Due in 2 Days\r\n
\r\n\r\n \r\n +28%\r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n
\r\n \r\n Would be to people\r\n \r\n Due in 2 Days\r\n
\r\n\r\n \r\n +50%\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n \r\n Purpose would be to persuade\r\n \r\n Due in 2 Days\r\n
\r\n\r\n \r\n -27%\r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n \r\n The best product\r\n \r\n Due in 2 Days\r\n
\r\n\r\n \r\n +8%\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n","// Angular\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { Store, select } from '@ngrx/store';\r\nimport { Observable } from 'rxjs';\r\n// Layout\r\nimport { OffcanvasOptions } from '../../../../core/_base/layout';\r\nimport { AppState } from '../../../../core/reducers';\r\nimport { User } from '../../../../core/auth';\r\nimport { logout } from 'src/app/core/store/actions/auth.actions';\r\nimport { currentUser } from 'src/app/core/store/selectors/auth.selectors';\r\n\r\n@Component({\r\n selector: 'kt-quick-user-panel',\r\n templateUrl: './quick-user-panel.component.html',\r\n styleUrls: ['./quick-user-panel.component.scss']\r\n})\r\nexport class QuickUserPanelComponent implements OnInit {\r\n user$: Observable;\r\n // Public properties\r\n offcanvasOptions: OffcanvasOptions = {\r\n overlay: true,\r\n baseClass: 'offcanvas',\r\n placement: 'right',\r\n closeBy: 'kt_quick_user_close',\r\n toggleBy: 'kt_quick_user_toggle'\r\n };\r\n\r\n constructor(private store: Store) {\r\n\r\n }\r\n\r\n /**\r\n * On init\r\n */\r\n ngOnInit(): void {\r\n this.user$ = this.store.pipe(select(currentUser));\r\n }\r\n\r\n /**\r\n * Log out\r\n */\r\n logout() { \r\n this.store.dispatch(logout());\r\n }\r\n}\r\n","\r\n
\r\n\t\r\n
\r\n\r\n","// Angular\r\nimport { Component } from '@angular/core';\r\n// Layout\r\nimport { ScrollTopOptions } from '../../../../core/_base/layout';\r\n\r\n@Component({\r\n\tselector: 'kt-scroll-top',\r\n\ttemplateUrl: './scroll-top.component.html',\r\n})\r\nexport class ScrollTopComponent {\r\n\t// Public properties\r\n\tscrollTopOptions: ScrollTopOptions = {\r\n\t\toffset: 300,\r\n\t\tspeed: 600\r\n\t};\r\n}\r\n","\r\n \r\n
\r\n
\r\n \r\n 0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n No record found\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n\t
\r\n\t\tDocuments\r\n\t
\r\n\t
\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ el.title }}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ el.description}}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n\r\n\r\n\t
\r\n\t\tMembers\r\n\t
\r\n\t
\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{el.title}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{el.description}}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n\r\n\r\n\t
\r\n\t\tFiles\r\n\t
\r\n\t
\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{el.title}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{el.description}}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n","// Angular\r\nimport { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'kt-search-result',\r\n templateUrl: './search-result.component.html',\r\n styleUrls: ['./search-result.component.scss']\r\n})\r\nexport class SearchResultComponent {\r\n // Public properties\r\n @Input() data: [];\r\n}\r\n","\r\n
\r\n\t\"Logo\"\r\n\t\r\n
\r\n","// Angular\r\nimport { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\n// Object-Path\r\nimport * as objectPath from 'object-path';\r\n// Layout\r\nimport { LayoutConfigService, SplashScreenService } from '../../../../core/_base/layout';\r\n\r\n@Component({\r\n selector: 'kt-splash-screen',\r\n templateUrl: './splash-screen.component.html',\r\n styleUrls: ['./splash-screen.component.scss']\r\n})\r\nexport class SplashScreenComponent implements OnInit {\r\n // Public properties\r\n loaderType: string;\r\n @ViewChild('splashScreen', {static: true}) splashScreen: ElementRef;\r\n\r\n /**\r\n * Component constructor\r\n *\r\n * @param el: ElementRef\r\n * @param layoutConfigService: LayoutConfigService\r\n * @param splashScreenService: SplashScreenService\r\n */\r\n constructor(\r\n private el: ElementRef,\r\n private layoutConfigService: LayoutConfigService,\r\n private splashScreenService: SplashScreenService) {\r\n }\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * On init\r\n */\r\n ngOnInit() {\r\n // init splash screen, see loader option in layout.config.ts\r\n const loaderConfig = this.layoutConfigService.getConfig('loader');\r\n this.loaderType = objectPath.get(loaderConfig, 'page-loader.type');\r\n\r\n this.splashScreenService.init(this.splashScreen);\r\n }\r\n}\r\n","\r\n\r\n\r\n","// Angular\r\nimport {Component} from '@angular/core';\r\n// Layout\r\nimport {LayoutConfigService, OffcanvasOptions} from '../../../../core/_base/layout';\r\n\r\n@Component({\r\n selector: 'kt-sticky-toolbar',\r\n templateUrl: './sticky-toolbar.component.html',\r\n styleUrls: ['./sticky-toolbar.component.scss'],\r\n})\r\nexport class StickyToolbarComponent {\r\n // Public properties\r\n demoPanelOptions: OffcanvasOptions = {\r\n overlay: true,\r\n baseClass: 'offcanvas',\r\n placement: 'right',\r\n closeBy: 'kt_demo_panel_close',\r\n toggleBy: 'kt_demo_panel_toggle'\r\n };\r\n\r\n baseHref: string;\r\n\r\n constructor(private layoutConfigService: LayoutConfigService) {\r\n this.baseHref = 'https://keenthemes.com/metronic/preview/angular/';\r\n }\r\n\r\n isActiveDemo(demo) {\r\n return demo === this.layoutConfigService.getConfig('demo');\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n\t\t\t\"language\"\r\n\t\t
\r\n\t
\r\n \r\n\r\n \r\n
\r\n\t\t\r\n\t
\r\n \r\n
\r\n","// Angular\r\nimport { Component, HostBinding, OnInit, Input } from '@angular/core';\r\nimport { NavigationStart, Router } from '@angular/router';\r\n// RxJS\r\nimport { filter } from 'rxjs/operators';\r\n// Translate\r\nimport { TranslationService } from '../../../../../core/_base/layout';\r\n\r\ninterface LanguageFlag {\r\n lang: string;\r\n name: string;\r\n flag: string;\r\n active?: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'kt-language-selector',\r\n templateUrl: './language-selector.component.html',\r\n})\r\nexport class LanguageSelectorComponent implements OnInit {\r\n // Public properties\r\n @Input() iconType: '' | 'brand';\r\n\r\n language: LanguageFlag;\r\n languages: LanguageFlag[] = [\r\n {\r\n lang: 'en',\r\n name: 'English',\r\n flag: './assets/media/svg/flags/226-united-states.svg'\r\n },\r\n {\r\n lang: 'ch',\r\n name: 'Mandarin',\r\n flag: './assets/media/svg/flags/015-china.svg'\r\n },\r\n {\r\n lang: 'es',\r\n name: 'Spanish',\r\n flag: './assets/media/svg/flags/128-spain.svg'\r\n },\r\n {\r\n lang: 'jp',\r\n name: 'Japanese',\r\n flag: './assets/media/svg/flags/063-japan.svg'\r\n },\r\n {\r\n lang: 'de',\r\n name: 'German',\r\n flag: './assets/media/svg/flags/162-germany.svg'\r\n },\r\n {\r\n lang: 'fr',\r\n name: 'French',\r\n flag: './assets/media/svg/flags/195-france.svg'\r\n },\r\n ];\r\n\r\n /**\r\n * Component constructor\r\n *\r\n * @param translationService: TranslationService\r\n * @param router: Router\r\n */\r\n constructor(private translationService: TranslationService, private router: Router) {\r\n }\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * On init\r\n */\r\n ngOnInit() {\r\n this.setSelectedLanguage();\r\n this.router.events\r\n .pipe(filter(event => event instanceof NavigationStart))\r\n .subscribe(event => {\r\n this.setSelectedLanguage();\r\n });\r\n }\r\n\r\n /**\r\n * Set language\r\n *\r\n * @param lang: any\r\n */\r\n setLanguage(lang) {\r\n this.languages.forEach((language: LanguageFlag) => {\r\n if (language.lang === lang) {\r\n language.active = true;\r\n this.language = language;\r\n } else {\r\n language.active = false;\r\n }\r\n });\r\n this.translationService.setLanguage(lang);\r\n }\r\n\r\n /**\r\n * Set selected language\r\n */\r\n setSelectedLanguage(): any {\r\n this.setLanguage(this.translationService.getSelectedLanguage());\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\t
\r\n \r\n\r\n \r\n
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t

\r\n\t\t\t\t\tUser Notifications\r\n\t\t\t\t\t23 new\r\n\t\t\t\t

\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t
  • \r\n\t\t\t\t\t\tAlerts\r\n\t\t\t\t\t
  • \r\n\t\t\t\t\t
  • \r\n\t\t\t\t\t\tEvents\r\n\t\t\t\t\t
  • \r\n\t\t\t\t\t
  • \r\n\t\t\t\t\t\tLogs\r\n\t\t\t\t\t
  • \r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tBriviba SaaS\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tPHP, SQLite, Artisan CLIмм\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tBriviba SaaS\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tPHP, SQLite, Artisan CLIмм\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tBriviba SaaS\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tPHP, SQLite, Artisan CLIмм\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tBriviba SaaS\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tPHP, SQLite, Artisan CLIмм\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tBriviba SaaS\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tPHP, SQLite, Artisan CLIмм\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tBriviba SaaS\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tPHP, SQLite, Artisan CLIмм\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tBriviba SaaS\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tPHP, SQLite, Artisan CLIмм\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\tNew report has been received\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
23 hrs ago
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\tFinance report has been generated\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
25 hrs ago
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\tNew order has been received\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
2 hrs ago
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\tNew customer is registered\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
3 hrs ago
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\tApplication has been approved\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
3 hrs ago
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\tNew file has been uploaded\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
5 hrs ago
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\tNew user feedback received\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
8 hrs ago
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\tSystem reboot has been successfully completed\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
12 hrs ago
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\tNew order has been placed\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
15 hrs ago
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\tCompany meeting canceled\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
19 hrs ago
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\tNew report has been received\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
23 hrs ago
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\tFinance report has been generated\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
25 hrs ago
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\tNew customer comment recieved\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
2 days ago
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\tNew customer is registered\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
3 days ago
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\tAll caught up!\r\n\t\t\t\t\t\t\t
No new notifications.\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n \r\n
\r\n\r\n","// Angular\r\nimport { Component, Input } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'kt-notification',\r\n templateUrl: './notification.component.html',\r\n styleUrls: ['notification.component.scss']\r\n})\r\nexport class NotificationComponent {\r\n\r\n // Show dot on top of the icon\r\n @Input() dot: string;\r\n\r\n // Show pulse on icon\r\n @Input() pulse: boolean;\r\n\r\n @Input() pulseLight: boolean;\r\n\r\n // Set icon class name\r\n @Input() icon = 'flaticon2-bell-alarm-symbol';\r\n @Input() iconType: '' | 'success';\r\n\r\n // Set true to icon as SVG or false as icon class\r\n @Input() useSVG: boolean;\r\n\r\n // Set bg image path\r\n @Input() bgImage: string;\r\n\r\n // Set skin color, default to light\r\n @Input() skin: 'light' | 'dark' = 'light';\r\n\r\n @Input() type: 'brand' | 'success' = 'success';\r\n\r\n /**\r\n * Component constructor\r\n *\r\n * @param sanitizer: DomSanitizer\r\n */\r\n constructor(private sanitizer: DomSanitizer) {\r\n }\r\n\r\n backGroundStyle(): string {\r\n if (!this.bgImage) {\r\n return 'none';\r\n }\r\n\r\n return 'url(' + this.bgImage + ')';\r\n }\r\n}\r\n","\r\n
\r\n \r\n
\r\n
\r\n\t\t\t\r\n \r\n \r\n \r\n \r\n \r\n\t\t
\r\n\t
\r\n \r\n\r\n \r\n
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t

Quick Actions

\r\n\t\t\t\t23 tasks pending\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n \r\n
\r\n\r\n","// Angular\r\nimport { AfterViewInit, Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'kt-quick-action',\r\n templateUrl: './quick-action.component.html',\r\n})\r\nexport class QuickActionComponent implements OnInit, AfterViewInit {\r\n // Public properties\r\n\r\n // Set icon class name\r\n @Input() icon = 'flaticon2-gear';\r\n\r\n // Set true to icon as SVG or false as icon class\r\n @Input() useSVG: boolean;\r\n\r\n // Set bg image path\r\n @Input() bgImage: string;\r\n\r\n // Set skin color, default to light\r\n @Input() skin: 'light' | 'dark' = 'light';\r\n\r\n /**\r\n * Component constructor\r\n */\r\n constructor() {\r\n }\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * After view init\r\n */\r\n ngAfterViewInit(): void {\r\n }\r\n\r\n /**\r\n * On init\r\n */\r\n ngOnInit(): void {\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\t\t\t \r\n\t\t \r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n\t\t\r\n\t
\r\n \r\n
\r\n\r\n","// Angular\r\nimport {ChangeDetectorRef, Component, ElementRef, Input, OnInit, ViewChild} from '@angular/core';\r\n\r\nconst documents = {\r\n title: 'Documents',\r\n type: 0,\r\n items: [\r\n {\r\n svgPath: 'assets/media/svg/files/doc.svg',\r\n title: 'AirPlus Requirements',\r\n description: 'by Grog John'\r\n },\r\n {\r\n svgPath: 'assets/media/svg/files/pdf.svg',\r\n title: 'TechNav Documentation',\r\n description: 'by Mary Brown'\r\n },\r\n {\r\n svgPath: 'assets/media/svg/files/xml.svg',\r\n title: 'All Framework Docs',\r\n description: 'by Nick Stone'\r\n },\r\n {\r\n svgPath: 'assets/media/svg/files/csv.svg',\r\n title: 'Finance & Accounting Reports',\r\n description: 'by Jhon Larson'\r\n }\r\n ]\r\n};\r\n\r\nconst members = {\r\n title: 'Members',\r\n type: 1,\r\n items: [\r\n {\r\n imgPath: 'assets/media/users/300_20.jpg',\r\n title: 'Milena Gibson',\r\n description: 'UI Designer'\r\n },\r\n {\r\n imgPath: 'assets/media/users/300_15.jpg',\r\n title: 'Stefan JohnStefan',\r\n description: 'Marketing Manager'\r\n },\r\n {\r\n imgPath: 'assets/media/users/300_12.jpg',\r\n title: 'Anna Strong',\r\n description: 'Software Developer'\r\n },\r\n {\r\n imgPath: 'assets/media/users/300_16.jpg',\r\n title: 'Nick Bold',\r\n description: 'Project Coordinator'\r\n }\r\n ]\r\n};\r\n\r\nconst files = {\r\n title: 'Files',\r\n type: 2,\r\n items: [\r\n {\r\n iconClasses: 'flaticon-psd text-primary',\r\n title: '79 PSD files generated',\r\n description: 'by Grog John'\r\n },\r\n {\r\n iconClasses: 'flaticon2-supermarket text-warning',\r\n title: '$2900 worth products sold',\r\n description: 'Total 234 items'\r\n },\r\n {\r\n iconClasses: 'flaticon-safe-shield-protection text-info',\r\n title: '4 New items submitted',\r\n description: 'Marketing Manager'\r\n },\r\n {\r\n iconClasses: 'flaticon-safe-shield-protection text-warning',\r\n title: '4 New items submitted',\r\n description: 'Marketing Manager'\r\n }\r\n ]\r\n};\r\n\r\n@Component({\r\n selector: 'kt-search-dropdown',\r\n templateUrl: './search-dropdown.component.html'\r\n})\r\nexport class SearchDropdownComponent implements OnInit {\r\n // Public properties\r\n @Input() layout = 'dropdown';\r\n // Set icon class name\r\n @Input() icon = 'flaticon2-search-1';\r\n\r\n // Set true to icon as SVG or false as icon class\r\n @Input() useSVG: boolean;\r\n\r\n @Input() type: 'brand' | 'success' | 'warning' = 'success';\r\n\r\n @ViewChild('searchInput', {static: true}) searchInput: ElementRef;\r\n\r\n data: any[] = null;\r\n loading: boolean;\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n constructor(private cdr: ChangeDetectorRef) {\r\n }\r\n\r\n /**\r\n * On init\r\n */\r\n ngOnInit(): void {\r\n // simulate result from API\r\n }\r\n\r\n /**\r\n * Search\r\n * @param e: Event\r\n */\r\n search(e) {\r\n this.data = null;\r\n if (e.target.value.length > 1) {\r\n this.loading = true;\r\n // simulate getting search result\r\n setTimeout(() => {\r\n // Uncomment this. Right now it's just mock\r\n // this.data = this.searchInData(e.target.value);\r\n this.data = [documents, members, files];\r\n this.loading = false;\r\n this.cdr.markForCheck();\r\n }, 500);\r\n }\r\n }\r\n\r\n /**\r\n * Clear search\r\n *\r\n * @param e: Event\r\n */\r\n clear(e) {\r\n this.data = null;\r\n this.searchInput.nativeElement.value = '';\r\n }\r\n\r\n openChange() {\r\n setTimeout(() => this.searchInput.nativeElement.focus());\r\n }\r\n\r\n showCloseButton() {\r\n return this.data && this.data.length && !this.loading;\r\n }\r\n\r\n // searchInData(searchText: string): any {\r\n // searchText = searchText.toLowerCase().trim();\r\n // const result = [];\r\n // const docsResult = this.searchInContainer(searchText, documents);\r\n // if (docsResult) {\r\n // result.push(docsResult);\r\n // }\r\n //\r\n // const membersResult = this.searchInContainer(searchText, members);\r\n // if (membersResult) {\r\n // result.push(membersResult);\r\n // }\r\n //\r\n // const filesResult = this.searchInContainer(searchText, files);\r\n // if (filesResult) {\r\n // result.push(filesResult);\r\n // }\r\n //\r\n // return result;\r\n // }\r\n\r\n // searchInContainer(searchText, source) {\r\n // const items = source.items.filter(\r\n // el =>\r\n // el.title.toLowerCase().indexOf(searchText) > -1 ||\r\n // el.description.toLowerCase().indexOf(searchText) > -1\r\n // );\r\n // if (items.length === 0) {\r\n // return undefined; // No results\r\n // }\r\n //\r\n // return Object.assign({items}, source);\r\n // }\r\n}\r\n","\r\n
\r\n \r\n
\r\n
\r\n Hi,\r\n {{_user.username}}\r\n \r\n\t\t\t\t{{_user.username|firstLetter}}\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n \r\n\r\n \r\n
\r\n\t\t\r\n \r\n
\r\n \r\n
\r\n \r\n {{_user.username|firstLetter}}\r\n \r\n \r\n
\r\n \r\n\r\n \r\n
\r\n {{_user.username}}\r\n
\r\n 3 messages\r\n \r\n
\r\n \r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n {{_user.username|firstLetter}}\r\n \r\n
\r\n \r\n\r\n \r\n
\r\n {{_user.username}}\r\n
\r\n \r\n
\r\n 3 messages\r\n
\r\n \r\n
\r\n \r\n\t\t\r\n \r\n\t
\r\n \r\n
\r\n\r\n","// Angular\r\nimport { Component, Input, OnInit } from '@angular/core';\r\n// RxJS\r\nimport { Observable } from 'rxjs';\r\n// NGRX\r\nimport { select, Store } from '@ngrx/store';\r\n// State\r\nimport { AppState } from '../../../../../core/reducers';\r\nimport {User } from '../../../../../core/auth';\r\nimport { logout } from 'src/app/core/store/actions/auth.actions';\r\nimport { currentUser } from 'src/app/core/store/selectors/auth.selectors';\r\n\r\n@Component({\r\n selector: 'kt-user-profile',\r\n templateUrl: './user-profile.component.html',\r\n})\r\nexport class UserProfileComponent implements OnInit {\r\n // Public properties\r\n user$: Observable;\r\n\r\n @Input() userDropdownStyle = 'light';\r\n @Input() avatar = true;\r\n @Input() greeting = true;\r\n @Input() badge: boolean;\r\n @Input() icon: boolean;\r\n\r\n /**\r\n * Component constructor\r\n *\r\n * @param store: Store\r\n */\r\n constructor(private store: Store) {\r\n }\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * On init\r\n */\r\n ngOnInit(): void {\r\n this.user$ = this.store.pipe(select(currentUser));\r\n }\r\n\r\n /**\r\n * Log out\r\n */\r\n logout() {\r\n this.store.dispatch(logout());\r\n }\r\n}\r\n","\r\n\t
\r\n
\r\n\t\t\t\t\r\n Hi,\r\n \r\n \r\n {{_user.username}}\r\n \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{_user.username|firstLetter}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t
\r\n\t
\r\n
\r\n","// Angular\r\nimport { Component, Input, OnInit } from '@angular/core';\r\n// RxJS\r\nimport { Observable } from 'rxjs';\r\n// NGRX\r\nimport { select, Store } from '@ngrx/store';\r\n// State\r\nimport { AppState } from '../../../../../core/reducers';\r\nimport { User } from '../../../../../core/auth';\r\nimport { logout } from 'src/app/core/store/actions/auth.actions';\r\nimport { currentUser } from 'src/app/core/store/selectors/auth.selectors';\r\n\r\n@Component({\r\n selector: 'kt-user-profile4',\r\n templateUrl: './user-profile4.component.html',\r\n})\r\nexport class UserProfile4Component implements OnInit {\r\n // Public properties\r\n user$: Observable;\r\n\r\n @Input() avatar = true;\r\n @Input() greeting = true;\r\n @Input() badge: boolean;\r\n @Input() icon: boolean;\r\n\r\n /**\r\n * Component constructor\r\n *\r\n * @param store: Store\r\n */\r\n constructor(private store: Store) {\r\n }\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * On init\r\n */\r\n ngOnInit(): void {\r\n this.user$ = this.store.pipe(select(currentUser));\r\n }\r\n\r\n /**\r\n * Log out\r\n */\r\n logout() {\r\n this.store.dispatch(logout());\r\n }\r\n}\r\n","import { PilotTasksModule } from \"./../pages/pilot-tasks/pilot-tasks.module\";\r\nimport { ViewTaskComponent } from \"./../pages/pilot-tasks/pilot-tasks-list/view-task/view-task.component\";\r\nimport { RouterModule } from \"@angular/router\";\r\n// Angular\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { NgApexchartsModule } from \"ng-apexcharts\";\r\n// NgBootstrap\r\nimport {\r\n NgbDropdownModule,\r\n NgbTabsetModule,\r\n NgbTooltipModule,\r\n} from \"@ng-bootstrap/ng-bootstrap\";\r\n// Perfect Scrollbar\r\nimport { PerfectScrollbarModule } from \"ngx-perfect-scrollbar\";\r\n// Core module\r\nimport { CoreModule } from \"../../core/core.module\";\r\n// CRUD Partials\r\nimport {\r\n ActionNotificationComponent,\r\n AlertComponent,\r\n DeleteEntityDialogComponent,\r\n FetchEntityDialogComponent,\r\n UpdateStatusDialogComponent,\r\n} from \"./content/crud\";\r\n// Layout partials\r\nimport {\r\n ContextMenu2Component,\r\n ContextMenuComponent,\r\n LanguageSelectorComponent,\r\n NotificationComponent,\r\n QuickActionComponent,\r\n QuickPanelComponent,\r\n QuickUserPanelComponent,\r\n ScrollTopComponent,\r\n SearchDefaultComponent,\r\n SearchDropdownComponent,\r\n SearchResultComponent,\r\n SplashScreenComponent,\r\n StickyToolbarComponent,\r\n Subheader1Component,\r\n Subheader2Component,\r\n Subheader3Component,\r\n SubheaderSearchComponent,\r\n UserProfile2Component,\r\n UserProfile3Component,\r\n UserProfileComponent,\r\n UserProfile4Component,\r\n} from \"./layout\";\r\nimport {\r\n Widget1SalesStatComponent,\r\n Widget9RecentActivitiesComponent,\r\n Widget12NewUsersComponent,\r\n Widget7WeeklySalesComponent,\r\n Widget1TasksOverviewComponent,\r\n Widget2NewArrivalsComponent,\r\n Widget3NewArrivalsAuthorsComponent,\r\n Widget4TodoComponent,\r\n Widget8TrendsComponent,\r\n Dropdown1Component,\r\n Dropdown2Component,\r\n Dropdown3Component,\r\n Dropdown4Component,\r\n Dropdown5Component,\r\n} from \"./content/dashboard-widgets\";\r\n// General\r\nimport { NoticeComponent } from \"./content/general/notice/notice.component\";\r\nimport { PortletModule } from \"./content/general/portlet/portlet.module\";\r\n// Extra module\r\nimport { WidgetModule } from \"./content/widgets/widget.module\";\r\n// SVG inline\r\nimport { InlineSVGModule } from \"ng-inline-svg\";\r\nimport { CartComponent } from \"./layout/topbar/cart/cart.component\";\r\nimport { MatButtonModule } from \"@angular/material/button\";\r\nimport { MatMenuModule } from \"@angular/material/menu\";\r\nimport { MatInputModule } from \"@angular/material/input\";\r\nimport { MatSelectModule } from \"@angular/material/select\";\r\nimport { MatTableModule } from \"@angular/material/table\";\r\nimport { MatAutocompleteModule } from \"@angular/material/autocomplete\";\r\nimport { MatIconModule } from \"@angular/material/icon\";\r\nimport { MatRadioModule } from \"@angular/material/radio\";\r\nimport { MatNativeDateModule } from \"@angular/material/core\";\r\nimport { MatProgressBarModule } from \"@angular/material/progress-bar\";\r\nimport { MatDatepickerModule } from \"@angular/material/datepicker\";\r\nimport { MatCardModule } from \"@angular/material/card\";\r\nimport { MatPaginatorModule } from \"@angular/material/paginator\";\r\nimport { MatSortModule } from \"@angular/material/sort\";\r\nimport { MatCheckboxModule } from \"@angular/material/checkbox\";\r\nimport { MatProgressSpinnerModule } from \"@angular/material/progress-spinner\";\r\nimport { MatSnackBarModule } from \"@angular/material/snack-bar\";\r\nimport { MatTabsModule } from \"@angular/material/tabs\";\r\nimport { MatTooltipModule } from \"@angular/material/tooltip\";\r\nimport { MatDialogModule } from \"@angular/material/dialog\";\r\nimport { GenericPortletComponent } from \"./content/general/generic-portlet/generic-portlet.component\";\r\nimport { DatatableComponent } from \"./content/general/datatable/datatable.component\";\r\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\r\nimport { MatSelectSearchComponent } from \"./layout/mat-select-search/mat-select-search.component\";\r\nimport { MatSelectFilterComponent } from \"./layout/mat-select-filter/mat-select-filter.component\";\r\nimport { MapComponent } from \"./content/general/map/map.component\";\r\nimport { AgmCoreModule } from \"@agm/core\";\r\nimport { MatSelectCheckboxFilterComponent } from \"./layout/mat-select-checkbox-filter/mat-select-checkbox-filter.component\";\r\nimport { DroneActivitiesWidgetComponent } from \"./content/dashboard-widgets/drone-activities-widget/drone-activities-widget.component\";\r\nimport { DroneActivitiesMapComponent } from \"./content/dashboard-widgets/drone-activities-widget/drone-activities-map/drone-activities-map.component\";\r\nimport { TasksMapWidgetComponent } from \"./content/dashboard-widgets/tasks-map-widget/tasks-map-widget.component\";\r\nimport { TasksMapComponent } from \"./content/dashboard-widgets/tasks-map-widget/tasks-map/tasks-map.component\";\r\nimport { TaskMapDetailsDialogComponent } from \"./content/dashboard-widgets/tasks-map-widget/tasks-map/task-map-details-dialog/task-map-details-dialog.component\";\r\n\r\n@NgModule({\r\n declarations: [\r\n ScrollTopComponent,\r\n NoticeComponent,\r\n ActionNotificationComponent,\r\n DeleteEntityDialogComponent,\r\n FetchEntityDialogComponent,\r\n UpdateStatusDialogComponent,\r\n AlertComponent,\r\n\r\n // topbar components\r\n ContextMenu2Component,\r\n ContextMenuComponent,\r\n QuickPanelComponent,\r\n QuickUserPanelComponent,\r\n ScrollTopComponent,\r\n SearchResultComponent,\r\n SplashScreenComponent,\r\n StickyToolbarComponent,\r\n Subheader1Component,\r\n Subheader2Component,\r\n Subheader3Component,\r\n SubheaderSearchComponent,\r\n LanguageSelectorComponent,\r\n NotificationComponent,\r\n QuickActionComponent,\r\n SearchDefaultComponent,\r\n SearchDropdownComponent,\r\n UserProfileComponent,\r\n UserProfile2Component,\r\n UserProfile3Component,\r\n UserProfile4Component,\r\n CartComponent,\r\n Widget1SalesStatComponent,\r\n Widget9RecentActivitiesComponent,\r\n Widget12NewUsersComponent,\r\n Widget7WeeklySalesComponent,\r\n Widget1TasksOverviewComponent,\r\n Widget2NewArrivalsComponent,\r\n Widget3NewArrivalsAuthorsComponent,\r\n Widget4TodoComponent,\r\n Widget8TrendsComponent,\r\n Dropdown1Component,\r\n Dropdown2Component,\r\n Dropdown3Component,\r\n Dropdown4Component,\r\n Dropdown5Component,\r\n GenericPortletComponent,\r\n DatatableComponent,\r\n MatSelectSearchComponent,\r\n MatSelectFilterComponent,\r\n MapComponent,\r\n MatSelectCheckboxFilterComponent,\r\n DroneActivitiesWidgetComponent,\r\n DroneActivitiesMapComponent,\r\n ],\r\n exports: [\r\n WidgetModule,\r\n PortletModule,\r\n\r\n ScrollTopComponent,\r\n NoticeComponent,\r\n ActionNotificationComponent,\r\n DeleteEntityDialogComponent,\r\n FetchEntityDialogComponent,\r\n UpdateStatusDialogComponent,\r\n AlertComponent,\r\n\r\n // topbar components\r\n ContextMenu2Component,\r\n ContextMenuComponent,\r\n QuickPanelComponent,\r\n QuickUserPanelComponent,\r\n ScrollTopComponent,\r\n SearchResultComponent,\r\n SplashScreenComponent,\r\n StickyToolbarComponent,\r\n Subheader1Component,\r\n Subheader2Component,\r\n Subheader3Component,\r\n SubheaderSearchComponent,\r\n LanguageSelectorComponent,\r\n NotificationComponent,\r\n QuickActionComponent,\r\n SearchDefaultComponent,\r\n SearchDropdownComponent,\r\n UserProfileComponent,\r\n // UserProfile2Component,\r\n // UserProfile3Component,\r\n UserProfile4Component,\r\n CartComponent,\r\n Widget1SalesStatComponent,\r\n Widget9RecentActivitiesComponent,\r\n Widget12NewUsersComponent,\r\n Widget7WeeklySalesComponent,\r\n Widget1TasksOverviewComponent,\r\n Widget2NewArrivalsComponent,\r\n Widget3NewArrivalsAuthorsComponent,\r\n Widget4TodoComponent,\r\n Widget8TrendsComponent,\r\n DroneActivitiesWidgetComponent,\r\n Dropdown1Component,\r\n Dropdown2Component,\r\n Dropdown3Component,\r\n Dropdown4Component,\r\n Dropdown5Component,\r\n GenericPortletComponent,\r\n DatatableComponent,\r\n MatSelectSearchComponent,\r\n MatSelectFilterComponent,\r\n MapComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n FormsModule,\r\n\r\n ReactiveFormsModule,\r\n PerfectScrollbarModule,\r\n InlineSVGModule,\r\n CoreModule,\r\n PortletModule,\r\n WidgetModule,\r\n NgApexchartsModule,\r\n // angular material modules\r\n MatButtonModule,\r\n MatMenuModule,\r\n MatSelectModule,\r\n MatInputModule,\r\n MatTableModule,\r\n MatAutocompleteModule,\r\n MatRadioModule,\r\n MatIconModule,\r\n MatNativeDateModule,\r\n MatProgressBarModule,\r\n MatDatepickerModule,\r\n MatCardModule,\r\n MatPaginatorModule,\r\n MatSortModule,\r\n MatCheckboxModule,\r\n MatProgressSpinnerModule,\r\n MatSnackBarModule,\r\n MatTabsModule,\r\n MatTooltipModule,\r\n MatDialogModule,\r\n MatTableModule,\r\n MatAutocompleteModule,\r\n MatPaginatorModule,\r\n MatSortModule,\r\n MatCheckboxModule,\r\n\r\n // ng-bootstrap modules\r\n NgbDropdownModule,\r\n NgbTabsetModule,\r\n NgbTooltipModule,\r\n AgmCoreModule.forRoot({\r\n apiKey: \"AIzaSyDMWp19lJGUMI_DoASc_mOCf7qFcwu81vA\",\r\n }),\r\n ],\r\n})\r\nexport class PartialsModule {}\r\n","\r\n
\r\n\t\r\n\t\r\n\t\r\n\r\n\t\r\n\t
\r\n\t\t
\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n\t\r\n
\r\n\r\n\r\n\r\n\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\r\n\r\n\r\n\r\n\t\r\n\t\r\n\t\t\r\n\t\r\n\r\n\r\n\r\n\t
  • \r\n\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\r\n\t\t\r\n\t\t
    \r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t
    \r\n\t
  • \r\n\r\n
    \r\n\r\n\r\n\t
      \r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t
    \r\n
    \r\n\r\n\r\n\t\r\n\t\r\n\r\n\t\r\n\t\r\n\t\t\r\n\t\r\n\t\r\n\t\t\r\n\t\r\n\r\n\t\r\n\t{{item.title}}\r\n\t\r\n\t\r\n\t\t{{item.badge.value}}\r\n\t\r\n\r\n\t\r\n\t\r\n\r\n\r\n\r\n\t
  • \r\n
    \r\n\r\n\r\n\t
  • \r\n\t\t

    {{item.section}}

    \r\n\t\t\r\n\t
  • \r\n
    \r\n","import {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n OnInit,\r\n Renderer2,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { filter } from \"rxjs/operators\";\r\nimport { NavigationEnd, Router } from \"@angular/router\";\r\nimport * as objectPath from \"object-path\";\r\n// Layout\r\nimport {\r\n LayoutConfigService,\r\n MenuAsideService,\r\n MenuOptions,\r\n OffcanvasOptions,\r\n} from \"../../../core/_base/layout\";\r\nimport { HtmlClassService } from \"../html-class.service\";\r\n\r\n@Component({\r\n selector: \"kt-aside-left\",\r\n templateUrl: \"./aside-left.component.html\",\r\n styleUrls: [\"./aside-left.component.scss\"],\r\n})\r\nexport class AsideLeftComponent implements OnInit, AfterViewInit {\r\n private offcanvas: any;\r\n\r\n @ViewChild(\"asideMenuOffcanvas\", { static: true })\r\n asideMenuOffcanvas: ElementRef;\r\n @ViewChild(\"asideMenu\", { static: true }) asideMenu: ElementRef;\r\n\r\n asideLogo = \"\";\r\n asideClasses = \"\";\r\n currentRouteUrl = \"\";\r\n insideTm: any;\r\n outsideTm: any;\r\n\r\n menuCanvasOptions: OffcanvasOptions = {\r\n baseClass: \"aside\",\r\n overlay: true,\r\n closeBy: \"kt_aside_close_btn\",\r\n toggleBy: {\r\n target: \"kt_aside_mobile_toggle\",\r\n state: \"mobile-toggle-active\",\r\n },\r\n };\r\n\r\n menuOptions: MenuOptions = {\r\n // submenu setup\r\n submenu: {\r\n desktop: {\r\n // by default the menu mode set to accordion in desktop mode\r\n default: \"dropdown\",\r\n },\r\n tablet: \"accordion\", // menu set to accordion in tablet mode\r\n mobile: \"accordion\", // menu set to accordion in mobile mode\r\n },\r\n\r\n // accordion setup\r\n accordion: {\r\n expandAll: false, // allow having multiple expanded accordions in the menu\r\n },\r\n };\r\n\r\n /**\r\n * Component Constructor\r\n *\r\n * param htmlClassService: HtmlClassService\r\n * param menuAsideService\r\n * param layoutConfigService: LayoutConfigService\r\n * param router: Router\r\n * param render: Renderer2\r\n * param cdr: ChangeDetectorRef\r\n */\r\n constructor(\r\n public htmlClassService: HtmlClassService,\r\n public menuAsideService: MenuAsideService,\r\n public layoutConfigService: LayoutConfigService,\r\n private router: Router,\r\n private render: Renderer2,\r\n private cdr: ChangeDetectorRef\r\n ) {}\r\n\r\n ngAfterViewInit(): void {}\r\n\r\n ngOnInit() {\r\n this.currentRouteUrl = this.router.url.split(/[?#]/)[0];\r\n\r\n this.router.events\r\n .pipe(filter((event) => event instanceof NavigationEnd))\r\n .subscribe((event) => {\r\n this.currentRouteUrl = this.router.url.split(/[?#]/)[0];\r\n this.mobileMenuClose();\r\n this.cdr.markForCheck();\r\n });\r\n\r\n const config = this.layoutConfigService.getConfig();\r\n\r\n if (objectPath.get(config, \"aside.menu.dropdown\")) {\r\n this.render.setAttribute(\r\n this.asideMenu.nativeElement,\r\n \"data-ktmenu-dropdown\",\r\n \"1\"\r\n );\r\n // tslint:disable-next-line:max-line-length\r\n this.render.setAttribute(\r\n this.asideMenu.nativeElement,\r\n \"data-ktmenu-dropdown-timeout\",\r\n objectPath.get(config, \"aside.menu.submenu.dropdown.hover-timeout\")\r\n );\r\n }\r\n\r\n this.asideClasses = this.htmlClassService\r\n .getClasses(\"aside\", true)\r\n .toString();\r\n this.asideLogo = this.getAsideLogo();\r\n setTimeout(() => {\r\n this.offcanvas = new KTOffcanvas(\r\n this.asideMenuOffcanvas.nativeElement,\r\n this.menuCanvasOptions\r\n );\r\n });\r\n }\r\n\r\n getAsideLogo() {\r\n let result = \"logo-light.png\";\r\n const brandSelfTheme =\r\n this.layoutConfigService.getConfig(\"brand.self.theme\") || \"\";\r\n if (brandSelfTheme === \"light\") {\r\n result = \"logo-dark.png\";\r\n }\r\n return `./assets/media/logos/${result}`;\r\n }\r\n\r\n /**\r\n * Check Menu is active\r\n * @param item: any\r\n */\r\n isMenuItemIsActive(item): boolean {\r\n if (item.submenu) {\r\n return this.isMenuRootItemIsActive(item);\r\n }\r\n\r\n if (!item.page) {\r\n return false;\r\n }\r\n\r\n let isActive = this.currentRouteUrl.indexOf(item.page) !== -1;\r\n return isActive;\r\n }\r\n\r\n /**\r\n * Check Menu Root Item is active\r\n * @param item: any\r\n */\r\n isMenuRootItemIsActive(item): boolean {\r\n let result = false;\r\n\r\n for (const subItem of item.submenu) {\r\n result = this.isMenuItemIsActive(subItem);\r\n if (result) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Use for fixed left aside menu, to show menu on mouseenter event.\r\n * @param e Event\r\n */\r\n mouseEnter(e: Event) {\r\n // check if the left aside menu is fixed\r\n if (document.body.classList.contains(\"aside-fixed\")) {\r\n if (this.outsideTm) {\r\n clearTimeout(this.outsideTm);\r\n this.outsideTm = null;\r\n }\r\n\r\n this.insideTm = setTimeout(() => {\r\n // if the left aside menu is minimized\r\n if (\r\n document.body.classList.contains(\"aside-minimize\") &&\r\n KTUtil.isInResponsiveRange(\"desktop\")\r\n ) {\r\n // show the left aside menu\r\n this.render.removeClass(document.body, \"aside-minimize\");\r\n this.render.addClass(document.body, \"aside-minimize-hover\");\r\n }\r\n }, 50);\r\n }\r\n }\r\n\r\n /**\r\n * Use for fixed left aside menu, to show menu on mouseenter event.\r\n * @param e Event\r\n */\r\n mouseLeave(e: Event) {\r\n if (document.body.classList.contains(\"aside-fixed\")) {\r\n if (this.insideTm) {\r\n clearTimeout(this.insideTm);\r\n this.insideTm = null;\r\n }\r\n\r\n this.outsideTm = setTimeout(() => {\r\n // if the left aside menu is expand\r\n if (\r\n document.body.classList.contains(\"aside-minimize-hover\") &&\r\n KTUtil.isInResponsiveRange(\"desktop\")\r\n ) {\r\n // hide back the left aside menu\r\n this.render.removeClass(document.body, \"aside-minimize-hover\");\r\n this.render.addClass(document.body, \"aside-minimize\");\r\n }\r\n }, 100);\r\n }\r\n }\r\n\r\n /**\r\n * Returns Submenu CSS Class Name\r\n * @param item: any\r\n */\r\n getItemCssClasses(item) {\r\n let classes = \"menu-item\";\r\n\r\n if (objectPath.get(item, \"submenu\")) {\r\n classes += \" menu-item-submenu\";\r\n }\r\n\r\n if (!item.submenu && this.isMenuItemIsActive(item)) {\r\n classes += \" menu-item-active menu-item-here\";\r\n }\r\n\r\n if (item.submenu && this.isMenuItemIsActive(item)) {\r\n classes += \" menu-item-open menu-item-here\";\r\n }\r\n\r\n // custom class for menu item\r\n const customClass = objectPath.get(item, \"custom-class\");\r\n if (customClass) {\r\n classes += \" \" + customClass;\r\n }\r\n\r\n if (objectPath.get(item, \"icon-only\")) {\r\n classes += \" menu-item-icon-only\";\r\n }\r\n\r\n return classes;\r\n }\r\n\r\n getItemAttrSubmenuToggle(item) {\r\n let toggle = \"hover\";\r\n if (objectPath.get(item, \"toggle\") === \"click\") {\r\n toggle = \"click\";\r\n } else if (objectPath.get(item, \"submenu.type\") === \"tabs\") {\r\n toggle = \"tabs\";\r\n } else {\r\n // submenu toggle default to 'hover'\r\n }\r\n\r\n return toggle;\r\n }\r\n\r\n mobileMenuClose() {\r\n if (KTUtil.isBreakpointDown(\"lg\") && this.offcanvas) {\r\n // Tablet and mobile mode\r\n this.offcanvas.hide(); // Hide offcanvas after general link click\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 \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\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n","import { currentUser } from \"./../../../core/auth/_selectors/auth.selectors\";\r\n// Angular\r\nimport { Component, OnDestroy, OnInit, ViewEncapsulation } from \"@angular/core\";\r\n// RxJS\r\nimport { Observable, Subscription } from \"rxjs\";\r\n// Object-Path\r\nimport * as objectPath from \"object-path\";\r\n// Layout\r\nimport {\r\n LayoutConfigService,\r\n MenuConfigService,\r\n PageConfigService,\r\n} from \"../../../core/_base/layout\";\r\nimport { HtmlClassService } from \"../html-class.service\";\r\nimport { LayoutConfig } from \"../../../core/_config/layout.config\";\r\nimport { MenuConfig } from \"../../../core/_config/menu.config\";\r\nimport { PageConfig } from \"../../../core/_config/page.config\";\r\n// User permissions\r\nimport { NgxPermissionsService } from \"ngx-permissions\";\r\nimport { currentUserPermissions, Permission } from \"../../../core/auth\";\r\nimport { select, Store } from \"@ngrx/store\";\r\nimport { AppState } from \"../../../core/reducers\";\r\n\r\n@Component({\r\n selector: \"kt-base\",\r\n templateUrl: \"./base.component.html\",\r\n styleUrls: [\"./base.component.scss\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class BaseComponent implements OnInit, OnDestroy {\r\n // Public variables\r\n selfLayout = \"default\";\r\n asideSelfDisplay: true;\r\n contentClasses = \"\";\r\n contentContainerClasses = \"\";\r\n subheaderDisplay = true;\r\n contentExtended: false;\r\n\r\n // Private properties\r\n private unsubscribe: Subscription[] = []; // Read more: => https://brianflove.com/2016/12/11/anguar-2-unsubscribe-observables/\r\n private currentUserPermissions$: Observable;\r\n\r\n /**\r\n * Component constructor\r\n *\r\n * param layoutConfigService: LayoutConfigService\r\n * param menuConfigService: MenuConfigService\r\n * param pageConfigService: PageConfigService\r\n * param htmlClassService: HtmlClassService\r\n * param store\r\n * param permissionsService\r\n */\r\n constructor(\r\n private layoutConfigService: LayoutConfigService,\r\n private menuConfigService: MenuConfigService,\r\n private pageConfigService: PageConfigService,\r\n private htmlClassService: HtmlClassService,\r\n private store: Store,\r\n private permissionsService: NgxPermissionsService\r\n ) {\r\n this.loadRolesWithPermissions();\r\n\r\n // register configs by demos\r\n this.layoutConfigService.loadConfigs(new LayoutConfig().configs);\r\n //this.menuConfigService.loadConfigs(new MenuConfig().configs);\r\n\r\n this.store.select(currentUser).subscribe((user) => {\r\n if (user) {\r\n this.menuConfigService.loadConfigs(\r\n new MenuConfig().getConfigs(user.roleType)\r\n );\r\n }\r\n });\r\n //this.menuConfigService.loadConfigs(new MenuConfig().getConfigs());\r\n this.pageConfigService.loadConfigs(new PageConfig().configs);\r\n\r\n // setup element classes\r\n this.htmlClassService.setConfig(this.layoutConfigService.getConfig());\r\n\r\n const subscription = this.layoutConfigService.onConfigUpdated$.subscribe(\r\n (layoutConfig) => {\r\n // reset body class based on global and page level layout config, refer to html-class.service.ts\r\n document.body.className = \"\";\r\n this.htmlClassService.setConfig(layoutConfig);\r\n }\r\n );\r\n this.unsubscribe.push(subscription);\r\n }\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * On init\r\n */\r\n ngOnInit(): void {\r\n // this.store.select(currentUser).subscribe((user) => {\r\n // if (user) {\r\n // this.menuConfigService.loadConfigs(new MenuConfig().getConfigs());\r\n // }\r\n // });\r\n\r\n const config = this.layoutConfigService.getConfig();\r\n // Load UI from Layout settings\r\n this.selfLayout = objectPath.get(config, \"self.layout\");\r\n this.asideSelfDisplay = objectPath.get(config, \"aside.self.display\");\r\n this.subheaderDisplay = objectPath.get(config, \"subheader.display\");\r\n this.contentClasses = this.htmlClassService\r\n .getClasses(\"content\", true)\r\n .toString();\r\n this.contentContainerClasses = this.htmlClassService\r\n .getClasses(\"content_container\", true)\r\n .toString();\r\n this.contentExtended = objectPath.get(config, \"content.extended\");\r\n\r\n // let the layout type change\r\n const subscription = this.layoutConfigService.onConfigUpdated$.subscribe(\r\n (cfg) => {\r\n setTimeout(() => {\r\n this.selfLayout = objectPath.get(cfg, \"self.layout\");\r\n });\r\n }\r\n );\r\n this.unsubscribe.push(subscription);\r\n }\r\n\r\n /**\r\n * On destroy\r\n */\r\n ngOnDestroy(): void {\r\n this.unsubscribe.forEach((sb) => sb.unsubscribe());\r\n // https://www.npmjs.com/package/ngx-permissions\r\n this.permissionsService.flushPermissions();\r\n }\r\n\r\n /**\r\n * NGX Permissions, init roles\r\n */\r\n loadRolesWithPermissions() {\r\n this.currentUserPermissions$ = this.store.pipe(\r\n select(currentUserPermissions)\r\n );\r\n const subscription = this.currentUserPermissions$.subscribe((res) => {\r\n if (!res || res.length === 0) {\r\n return;\r\n }\r\n\r\n this.permissionsService.flushPermissions();\r\n res.forEach((pm: Permission) =>\r\n this.permissionsService.addPermission(pm.name)\r\n );\r\n });\r\n this.unsubscribe.push(subscription);\r\n }\r\n}\r\n","\r\n
    \r\n \r\n \r\n\t \"logo\"\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n","// Angular\r\nimport { AfterViewInit, Component, OnInit } from '@angular/core';\r\n// Layout\r\nimport { LayoutConfigService, ToggleOptions } from '../../../core/_base/layout';\r\nimport { HtmlClassService } from '../html-class.service';\r\n\r\n@Component({\r\n selector: 'kt-brand',\r\n templateUrl: './brand.component.html',\r\n})\r\nexport class BrandComponent implements OnInit, AfterViewInit {\r\n // Public properties\r\n headerLogo = '';\r\n brandClasses = '';\r\n asideSelfMinimizeToggle = true;\r\n\r\n toggleOptions: ToggleOptions = {\r\n target: 'kt_body',\r\n targetState: 'aside-minimize',\r\n toggleState: 'active'\r\n };\r\n\r\n /**\r\n * Component constructor\r\n *\r\n * @param layoutConfigService: LayoutConfigService\r\n * @param htmlClassService: HtmlClassService\r\n */\r\n constructor(private layoutConfigService: LayoutConfigService, public htmlClassService: HtmlClassService) {\r\n }\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * On init\r\n */\r\n ngOnInit(): void {\r\n this.headerLogo = this.getAsideLogo();\r\n this.brandClasses = this.htmlClassService.getClasses('brand', true).toString();\r\n this.asideSelfMinimizeToggle = this.layoutConfigService.getConfig('aside.self.minimize.toggle');\r\n }\r\n\r\n /**\r\n * On after view init\r\n */\r\n ngAfterViewInit(): void {\r\n }\r\n\r\n getAsideLogo() {\r\n let result = 'agri-logo-1.png';\r\n const brandSelfTheme = this.layoutConfigService.getConfig('brand.self.theme') || '';\r\n if (brandSelfTheme === 'light') {\r\n result = 'logo-dark.png';\r\n }\r\n return `./assets/media/logos/${result}`;\r\n }\r\n\r\n toggleAsideClick() {\r\n document.body.classList.toggle('aside-minimize');\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 Contact\r\n
    \r\n \r\n\r\n\r\n","// Angular\r\nimport { Component, OnInit } from '@angular/core';\r\n// Layout\r\nimport { HtmlClassService } from '../html-class.service';\r\n// Object-Path\r\nimport * as objectPath from 'object-path';\r\n\r\n@Component({\r\n selector: 'kt-footer',\r\n templateUrl: './footer.component.html',\r\n})\r\nexport class FooterComponent implements OnInit {\r\n // Public properties\r\n today: number = Date.now();\r\n footerClasses = '';\r\n footerContainerClasses = '';\r\n\r\n /**\r\n * Component constructor\r\n *\r\n * @param uiClasses: HtmlClassService\r\n */\r\n constructor(private uiClasses: HtmlClassService) {\r\n }\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * On init\r\n */\r\n ngOnInit(): void {\r\n this.footerClasses = this.uiClasses.getClasses('footer', true).toString();\r\n this.footerContainerClasses = this.uiClasses.getClasses('footer_container', true).toString();\r\n }\r\n}\r\n","\r\n\r\n \r\n
    \r\n \"logo\"\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","// Angular\r\nimport { Component, OnInit } from '@angular/core';\r\n// Layout\r\nimport { HtmlClassService } from '../../html-class.service';\r\nimport { LayoutConfigService, ToggleOptions } from '../../../../core/_base/layout';\r\n\r\n@Component({\r\n selector: 'kt-header-mobile',\r\n templateUrl: './header-mobile.component.html',\r\n styleUrls: ['./header-mobile.component.scss'],\r\n})\r\nexport class HeaderMobileComponent implements OnInit {\r\n // Public properties\r\n headerLogo = '';\r\n asideSelfDisplay = true;\r\n headerMenuSelfDisplay = true;\r\n headerMobileClasses = '';\r\n\r\n toggleOptions: ToggleOptions = {\r\n target: KTUtil.getBody(),\r\n targetState: 'topbar-mobile-on',\r\n toggleState: 'active'\r\n };\r\n\r\n /**\r\n * Component constructor\r\n *\r\n * @param layoutConfigService: LayoutConfigService\r\n */\r\n constructor(private layoutConfigService: LayoutConfigService, private uiService: HtmlClassService) {\r\n }\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * On init\r\n */\r\n ngOnInit() {\r\n this.headerMobileClasses = this.uiService.getClasses('header_mobile', true).toString();\r\n this.headerLogo = this.getLogoUrl();\r\n this.asideSelfDisplay = this.layoutConfigService.getConfig('aside.self.display');\r\n this.headerMenuSelfDisplay = this.layoutConfigService.getConfig('header.menu.self.display');\r\n }\r\n\r\n getLogoUrl() {\r\n const headerSelfTheme = this.layoutConfigService.getConfig('header.self.theme') || '';\r\n const brandSelfTheme = this.layoutConfigService.getConfig('brand.self.theme') || '';\r\n let result = 'agri-logo-1.png';\r\n if (!this.asideSelfDisplay) {\r\n if (headerSelfTheme === 'light') {\r\n result = 'logo-dark.png';\r\n }\r\n } else {\r\n if (brandSelfTheme === 'light') {\r\n result = 'logo-dark.png';\r\n }\r\n }\r\n return `./assets/media/logos/${result}`;\r\n }\r\n}\r\n","\r\n
    \r\n \r\n
    \r\n\r\n 0\">\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","// Angular\r\nimport { AfterViewInit, Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport {\r\n NavigationCancel,\r\n NavigationEnd,\r\n NavigationStart,\r\n RouteConfigLoadEnd,\r\n RouteConfigLoadStart,\r\n Router\r\n} from '@angular/router';\r\n// Loading bar\r\nimport { LoadingBarService } from '@ngx-loading-bar/core';\r\n// Layout\r\nimport { LayoutConfigService, LayoutRefService } from '../../../core/_base/layout';\r\n// HTML Class Service\r\nimport { HtmlClassService } from '../html-class.service';\r\n\r\n\r\n@Component({\r\n selector: 'kt-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.scss'],\r\n})\r\nexport class HeaderComponent implements OnInit, AfterViewInit {\r\n // Public properties\r\n headerClasses = '';\r\n headerContainerClasses = '';\r\n headerMenuClasses = '';\r\n headerLogo = '';\r\n headerAttributes = {};\r\n headerMenuSelfDisplay = true;\r\n\r\n @ViewChild('ktHeader', {static: true}) ktHeader: ElementRef;\r\n\r\n /**\r\n * Component constructor\r\n *\r\n * @param router: Router\r\n * @param layoutRefService: LayoutRefService\r\n * @param layoutConfigService: LayoutConfigService\r\n * @param loader: LoadingBarService\r\n * @param htmlClassService: HtmlClassService\r\n */\r\n constructor(\r\n private router: Router,\r\n private layoutRefService: LayoutRefService,\r\n private layoutConfigService: LayoutConfigService,\r\n public loader: LoadingBarService,\r\n public htmlClassService: HtmlClassService\r\n ) {\r\n // page progress bar percentage\r\n this.router.events.subscribe(event => {\r\n if (event instanceof NavigationStart) {\r\n // set page progress bar loading to start on NavigationStart event router\r\n this.loader.start();\r\n }\r\n if (event instanceof RouteConfigLoadStart) {\r\n this.loader.increment(35);\r\n }\r\n if (event instanceof RouteConfigLoadEnd) {\r\n this.loader.increment(75);\r\n }\r\n if (event instanceof NavigationEnd || event instanceof NavigationCancel) {\r\n // set page progress bar loading to end on NavigationEnd event router\r\n this.loader.complete();\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * On init\r\n */\r\n ngOnInit(): void {\r\n this.headerClasses = this.htmlClassService.getClasses('header', true).toString();\r\n this.headerAttributes = this.htmlClassService.getAttributes('header');\r\n this.headerLogo = this.getLogo();\r\n this.headerMenuSelfDisplay = this.layoutConfigService.getConfig('header.menu.self.display');\r\n this.headerContainerClasses = this.htmlClassService.getClasses('header_container', true).toString();\r\n this.headerMenuClasses = this.htmlClassService.getClasses('header_menu', true).toString();\r\n // header width fluid\r\n\r\n // animate the header minimize the height on scroll down. to be removed, not applicable for default demo\r\n /*if (objectPath.get(config, 'header.self.fixed.desktop.enabled') || objectPath.get(config, 'header.self.fixed.desktop')) {\r\n // header minimize on scroll down\r\n this.ktHeader.nativeElement.setAttribute('data-ktheader-minimize', '1');\r\n }*/\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n // keep header element in the service\r\n this.layoutRefService.addElement('header', this.ktHeader.nativeElement);\r\n }\r\n\r\n getLogo() {\r\n let result = 'logo-light.png';\r\n const headerSelfTheme = this.layoutConfigService.getConfig('header.self.theme') || '';\r\n if (headerSelfTheme === 'light') {\r\n result = 'logo-dark.png';\r\n } else {\r\n if (headerSelfTheme === 'dark') {\r\n result = 'logo-light.png';\r\n }\r\n }\r\n return `./assets/media/logos/${result}`;\r\n }\r\n}\r\n","\r\n
    \r\n \r\n \r\n
    \r\n \r\n \"logo\"\r\n \r\n
    \r\n \r\n
    \r\n\r\n \r\n
    \r\n \r\n
      \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
    \r\n \r\n
    \r\n \r\n
    \r\n\r\n\r\n\r\n\t
  • \r\n\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\r\n\t\t\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\r\n\t\t\t\t
      \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\r\n\t\t\t\t
      \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\r\n\t\t\t\t
    \r\n\t\t\t\t\t
      \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\r\n\t\t\t
    \r\n\t\t
    \r\n\t
  • \r\n
    \r\n\r\n\r\n\r\n\t\r\n\t\r\n\t\t\r\n\t\r\n\r\n\t\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t\r\n\r\n\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\t{{item.title}}\r\n\t\t\r\n\t\r\n\r\n\t\r\n\t\t\r\n\t\t{{item.title}}\r\n\t\t\r\n\t\t\t{{item.badge.value}}\r\n\t\t\r\n\t\r\n\r\n\r\n\r\n\r\n\t
  • \r\n\t\t

    \r\n\t\t\t\r\n\t\t\t\t{{item.heading.title}}\r\n\t\t\t\r\n\t\t\t\r\n\t\t

    \r\n\t\t\r\n\t\t\t
      \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
    \r\n\t
  • \r\n
    \r\n","// Angular\r\nimport {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n OnInit,\r\n Renderer2,\r\n Input,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\n// RxJS\r\nimport { filter } from 'rxjs/operators';\r\n// Object-Path\r\nimport * as objectPath from 'object-path';\r\n// Layout\r\nimport {\r\n LayoutConfigService,\r\n MenuConfigService,\r\n MenuHorizontalService,\r\n MenuOptions,\r\n OffcanvasOptions\r\n} from '../../../../core/_base/layout';\r\n// HTML Class\r\nimport { HtmlClassService } from '../../html-class.service';\r\n\r\n@Component({\r\n selector: 'kt-menu-horizontal',\r\n templateUrl: './menu-horizontal.component.html',\r\n styleUrls: ['./menu-horizontal.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class MenuHorizontalComponent implements OnInit, AfterViewInit {\r\n private offcanvas: any;\r\n @ViewChild('headerMenuOffcanvas', { static: true }) headerMenuOffcanvas: ElementRef;\r\n\r\n @Input() headerLogo: string;\r\n @Input() headerMenuSelfDisplay: boolean;\r\n @Input() headerMenuClasses: string;\r\n // Public properties\r\n currentRouteUrl: any = '';\r\n asideSelfDisplay = '';\r\n rootArrowEnabled: boolean;\r\n\r\n menuOptions: MenuOptions = {\r\n submenu: {\r\n desktop: 'dropdown',\r\n tablet: 'accordion',\r\n mobile: 'accordion'\r\n },\r\n accordion: {\r\n slideSpeed: 200, // accordion toggle slide speed in milliseconds\r\n expandAll: false // allow having multiple expanded accordions in the menu\r\n },\r\n dropdown: {\r\n timeout: 50\r\n }\r\n };\r\n\r\n offcanvasOptions: OffcanvasOptions = {\r\n overlay: true,\r\n baseClass: 'header-menu-wrapper',\r\n closeBy: 'kt_header_menu_mobile_close_btn',\r\n toggleBy: {\r\n target: 'kt_header_mobile_toggle',\r\n state: 'mobile-toggle-active'\r\n }\r\n };\r\n\r\n /**\r\n * Component Conctructor\r\n *\r\n * @param el: ElementRef\r\n * @param htmlClassService: HtmlClassService\r\n * @param menuHorService: MenuHorService\r\n * @param menuConfigService: MenuConfigService\r\n * @param layoutConfigService: LayouConfigService\r\n * @param router: Router\r\n * @param render: Renderer2\r\n * @param cdr: ChangeDetectorRef\r\n */\r\n constructor(\r\n private el: ElementRef,\r\n public htmlClassService: HtmlClassService,\r\n public menuHorService: MenuHorizontalService,\r\n private menuConfigService: MenuConfigService,\r\n private layoutConfigService: LayoutConfigService,\r\n private router: Router,\r\n private render: Renderer2,\r\n private cdr: ChangeDetectorRef\r\n ) {\r\n }\r\n\r\n /**\r\n * @ Lifecycle sequences => https://angular.io/guide/lifecycle-hooks\r\n */\r\n\r\n /**\r\n * After view init\r\n */\r\n ngAfterViewInit(): void {\r\n }\r\n\r\n /**\r\n * On init\r\n */\r\n ngOnInit(): void {\r\n this.rootArrowEnabled = this.layoutConfigService.getConfig('header.menu.self.rootArrow');\r\n this.currentRouteUrl = this.router.url;\r\n setTimeout(() => {\r\n this.offcanvas = new KTOffcanvas(this.headerMenuOffcanvas.nativeElement, this.offcanvasOptions);\r\n });\r\n this.router.events\r\n .pipe(filter(event => event instanceof NavigationEnd))\r\n .subscribe(event => {\r\n this.currentRouteUrl = this.router.url;\r\n this.mobileMenuClose();\r\n this.cdr.markForCheck();\r\n });\r\n }\r\n\r\n /**\r\n * Return Css Class Name\r\n * @param item: any\r\n */\r\n getItemCssClasses(item) {\r\n let classes = 'menu-item';\r\n\r\n if (objectPath.get(item, 'submenu')) {\r\n classes += ' menu-item-submenu';\r\n }\r\n\r\n if (!item.submenu && this.isMenuItemIsActive(item)) {\r\n classes += ' menu-item-active menu-item-here';\r\n }\r\n\r\n if (item.submenu && this.isMenuItemIsActive(item)) {\r\n classes += ' menu-item-open menu-item-here';\r\n }\r\n\r\n if (objectPath.get(item, 'resizer')) {\r\n classes += ' menu-item-resize';\r\n }\r\n\r\n const menuType = objectPath.get(item, 'submenu.type') || 'classic';\r\n if ((objectPath.get(item, 'root') && menuType === 'classic')\r\n || parseInt(objectPath.get(item, 'submenu.width'), 10) > 0) {\r\n classes += ' menu-item-rel';\r\n }\r\n\r\n const customClass = objectPath.get(item, 'custom-class');\r\n if (customClass) {\r\n classes += ' ' + customClass;\r\n }\r\n\r\n if (objectPath.get(item, 'icon-only')) {\r\n classes += ' menu-item-icon-only';\r\n }\r\n\r\n return classes;\r\n }\r\n\r\n /**\r\n * Returns Attribute SubMenu Toggle\r\n * @param item: any\r\n */\r\n getItemAttrSubmenuToggle(item) {\r\n let toggle = 'hover';\r\n if (objectPath.get(item, 'toggle') === 'click') {\r\n toggle = 'click';\r\n } else if (objectPath.get(item, 'submenu.type') === 'tabs') {\r\n toggle = 'tabs';\r\n } else {\r\n // submenu toggle default to 'hover'\r\n }\r\n\r\n return toggle;\r\n }\r\n\r\n /**\r\n * Returns Submenu CSS Class Name\r\n * @param item: any\r\n */\r\n getItemMenuSubmenuClass(item) {\r\n let classes = '';\r\n\r\n const alignment = objectPath.get(item, 'alignment') || 'right';\r\n\r\n if (alignment) {\r\n classes += ' menu-submenu-' + alignment;\r\n }\r\n\r\n const type = objectPath.get(item, 'type') || 'classic';\r\n if (type === 'classic') {\r\n classes += ' menu-submenu-classic';\r\n }\r\n if (type === 'tabs') {\r\n classes += ' menu-submenu-tabs';\r\n }\r\n if (type === 'mega') {\r\n if (objectPath.get(item, 'width')) {\r\n classes += ' menu-submenu-fixed';\r\n }\r\n }\r\n\r\n if (objectPath.get(item, 'pull')) {\r\n classes += ' menu-submenu-pull';\r\n }\r\n\r\n return classes;\r\n }\r\n\r\n /**\r\n * Check Menu is active\r\n * @param item: any\r\n */\r\n isMenuItemIsActive(item): boolean {\r\n if (item.submenu) {\r\n return this.isMenuRootItemIsActive(item);\r\n }\r\n\r\n if (!item.page) {\r\n return false;\r\n }\r\n\r\n return this.currentRouteUrl.indexOf(item.page) !== -1;\r\n }\r\n\r\n /**\r\n * Check Menu Root Item is active\r\n * @param item: any\r\n */\r\n isMenuRootItemIsActive(item): boolean {\r\n if (item.submenu.items) {\r\n for (const subItem of item.submenu.items) {\r\n if (this.isMenuItemIsActive(subItem)) {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n if (item.submenu.columns) {\r\n for (const subItem of item.submenu.columns) {\r\n if (this.isMenuItemIsActive(subItem)) {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n if (typeof item.submenu[Symbol.iterator] === 'function') {\r\n for (const subItem of item.submenu) {\r\n const active = this.isMenuItemIsActive(subItem);\r\n if (active) {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n mobileMenuClose() {\r\n if (KTUtil.isBreakpointDown('lg') && this.offcanvas) { // Tablet and mobile mode\r\n this.offcanvas.hide(); // Hide offcanvas after general link click\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\t \r\n\t \r\n\t \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 \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n","// Angular\r\nimport { Component } from '@angular/core';\r\nimport {LayoutConfigService} from '../../../../core/_base/layout';\r\n\r\n@Component({\r\n selector: 'kt-topbar',\r\n templateUrl: './topbar.component.html',\r\n styleUrls: ['./topbar.component.scss'],\r\n})\r\nexport class TopbarComponent {\r\n searchDisplay = true;\r\n notificationsDisplay = true;\r\n quickActionsDisplay = true;\r\n cartDisplay = true;\r\n quickPanelDisplay = true;\r\n languagesDisplay = true;\r\n userDisplay = true;\r\n userLayout = 'offcanvas';\r\n userDropdownStyle = 'light';\r\n\r\n constructor(private layoutConfigService: LayoutConfigService) {\r\n this.searchDisplay = this.layoutConfigService.getConfig('extras.search.display');\r\n this.notificationsDisplay = this.layoutConfigService.getConfig('extras.notifications.display');\r\n this.quickActionsDisplay = this.layoutConfigService.getConfig('extras.quick-actions.display');\r\n this.cartDisplay = this.layoutConfigService.getConfig('extras.cart.display');\r\n this.quickPanelDisplay = this.layoutConfigService.getConfig('extras.quick-panel.display');\r\n this.languagesDisplay = this.layoutConfigService.getConfig('extras.languages.display');\r\n this.userDisplay = this.layoutConfigService.getConfig('extras.user.display');\r\n this.userLayout = this.layoutConfigService.getConfig('extras.user.layout');\r\n this.userDropdownStyle = this.layoutConfigService.getConfig('extras.user.dropdown.style');\r\n }\r\n}\r\n","// Angular\r\nimport { Injectable } from \"@angular/core\";\r\n// Object-Path\r\nimport * as objectPath from \"object-path\";\r\n// RxJS\r\nimport { BehaviorSubject } from \"rxjs\";\r\n// Layout\r\nimport { LayoutConfigModel } from \"../../core/_base/layout\";\r\n\r\nexport interface ClassType {\r\n header: string[];\r\n header_container: string[];\r\n header_mobile: string[];\r\n header_menu: string[];\r\n aside_menu: string[];\r\n subheader: string[];\r\n subheader_container: string[];\r\n content: string[];\r\n content_container: string[];\r\n footer_container: string[];\r\n}\r\n\r\nexport interface AttrType {\r\n aside_menu: any;\r\n}\r\n\r\n@Injectable()\r\nexport class HtmlClassService {\r\n // Public properties\r\n config: LayoutConfigModel;\r\n classes: ClassType;\r\n attrs: AttrType;\r\n onClassesUpdated$: BehaviorSubject;\r\n // Private properties\r\n private loaded: string[] = [];\r\n\r\n /**\r\n * Component constructor\r\n */\r\n constructor() {\r\n this.onClassesUpdated$ = new BehaviorSubject(this.classes);\r\n }\r\n\r\n /**\r\n * Build html element classes from layout config\r\n * param layoutConfig\r\n */\r\n setConfig(layoutConfig: LayoutConfigModel) {\r\n this.config = this.preInit(layoutConfig);\r\n\r\n // scope list of classes\r\n this.classes = {\r\n header: [],\r\n header_container: [],\r\n header_mobile: [],\r\n header_menu: [],\r\n aside_menu: [],\r\n subheader: [],\r\n subheader_container: [],\r\n content: [],\r\n content_container: [],\r\n footer_container: [],\r\n };\r\n\r\n this.attrs = {\r\n aside_menu: {},\r\n };\r\n\r\n // init base layout\r\n this.initLayout();\r\n this.initLoader();\r\n\r\n // init header and subheader menu\r\n this.initHeader();\r\n this.initSubheader();\r\n\r\n // init content\r\n this.initContent();\r\n // init aside and aside menu\r\n this.initAside();\r\n\r\n // init footer\r\n this.initFooter();\r\n\r\n this.initSkins();\r\n\r\n this.onClassesUpdated$.next(this.classes);\r\n }\r\n\r\n /**\r\n * Returns Classes\r\n *\r\n * @param path: string\r\n * @param toString boolean\r\n */\r\n getClasses(path?: string, toString?: boolean): ClassType | string[] | string {\r\n if (path) {\r\n const classes = objectPath.get(this.classes, path) || \"\";\r\n if (toString && Array.isArray(classes)) {\r\n return classes.join(\" \");\r\n }\r\n return classes.toString();\r\n }\r\n return this.classes;\r\n }\r\n\r\n getAttributes(path: string): any {\r\n return this.attrs[path];\r\n }\r\n\r\n private preInit(layout) {\r\n const updatedLayout = Object.assign({}, layout);\r\n const subheaderFixed = objectPath.get(updatedLayout, \"subheader.fixed\");\r\n const headerSelfFixedDesktop = objectPath.get(\r\n updatedLayout,\r\n \"header.self.fixed.desktop\"\r\n );\r\n if (subheaderFixed && headerSelfFixedDesktop) {\r\n updatedLayout.subheader.style = \"solid\";\r\n } else {\r\n updatedLayout.subheader.fixed = false;\r\n }\r\n\r\n return layout;\r\n }\r\n\r\n /**\r\n * Init Layout\r\n */\r\n private initLayout() {\r\n const selfBodyBackgroundImage = objectPath.get(\r\n this.config,\r\n \"self.body.background-image\"\r\n );\r\n if (selfBodyBackgroundImage) {\r\n document.body.style.backgroundImage = `url(\"${selfBodyBackgroundImage}\")`;\r\n }\r\n\r\n const selfBodyClass = (\r\n objectPath.get(this.config, \"self.body.class\") || \"\"\r\n ).toString();\r\n if (selfBodyClass) {\r\n const bodyClasses: string[] = selfBodyClass.split(\" \");\r\n bodyClasses.forEach((cssClass) => document.body.classList.add(cssClass));\r\n }\r\n }\r\n\r\n /**\r\n * Init Loader\r\n */\r\n private initLoader() {}\r\n\r\n /**\r\n * Init Header\r\n */\r\n private initHeader() {\r\n // Fixed header\r\n const headerSelfFixedDesktop = objectPath.get(\r\n this.config,\r\n \"header.self.fixed.desktop\"\r\n );\r\n if (headerSelfFixedDesktop) {\r\n //document.body.classList.add(\"header-fixed\");\r\n // objectPath.push(this.classes, \"header\", \"header-fixed\");\r\n } else {\r\n document.body.classList.add(\"header-static\");\r\n }\r\n\r\n const headerSelfFixedMobile = objectPath.get(\r\n this.config,\r\n \"header.self.fixed.mobile\"\r\n );\r\n if (headerSelfFixedMobile) {\r\n document.body.classList.add(\"header-mobile-fixed\");\r\n objectPath.push(this.classes, \"header_mobile\", \"header-mobile-fixed\");\r\n }\r\n\r\n // Menu\r\n const headerMenuSelfDisplay = objectPath.get(\r\n this.config,\r\n \"header.menu.self.display\"\r\n );\r\n const headerMenuSelfLayout = objectPath.get(\r\n this.config,\r\n \"header.menu.self.layout\"\r\n );\r\n if (headerMenuSelfDisplay) {\r\n objectPath.push(\r\n this.classes,\r\n \"header_menu\",\r\n `header-menu-layout-${headerMenuSelfLayout}`\r\n );\r\n\r\n if (objectPath.get(this.config, \"header.menu.self.rootArrow\")) {\r\n objectPath.push(this.classes, \"header_menu\", \"header-menu-root-arrow\");\r\n }\r\n }\r\n\r\n if (objectPath.get(this.config, \"header.self.width\") === \"fluid\") {\r\n objectPath.push(this.classes, \"header_container\", \"container-fluid\");\r\n } else {\r\n objectPath.push(this.classes, \"header_container\", \"container\");\r\n }\r\n }\r\n\r\n /**\r\n * Init Subheader\r\n */\r\n private initSubheader() {\r\n const subheaderDisplay = objectPath.get(this.config, \"subheader.display\");\r\n if (subheaderDisplay) {\r\n //document.body.classList.add(\"subheader-enabled\");\r\n } else {\r\n return;\r\n }\r\n\r\n // Fixed content head\r\n const subheaderFixed = objectPath.get(this.config, \"subheader.fixed\");\r\n const headerSelfFixedDesktop = objectPath.get(\r\n this.config,\r\n \"header.self.fixed.desktop\"\r\n );\r\n if (subheaderFixed && headerSelfFixedDesktop) {\r\n document.body.classList.add(\"subheader-fixed\");\r\n }\r\n\r\n const subheaderStyle = objectPath.get(this.config, \"subheader.style\");\r\n if (subheaderStyle) {\r\n objectPath.push(this.classes, \"subheader\", `subheader-${subheaderStyle}`);\r\n }\r\n\r\n if (objectPath.get(this.config, \"subheader.width\") === \"fluid\") {\r\n objectPath.push(this.classes, \"subheader_container\", \"container-fluid\");\r\n } else {\r\n objectPath.push(this.classes, \"subheader_container\", \"container\");\r\n }\r\n\r\n if (objectPath.get(this.config, \"subheader.clear\")) {\r\n objectPath.push(this.classes, \"subheader\", \"mb-0\");\r\n }\r\n }\r\n\r\n // Init Content\r\n private initContent() {\r\n if (objectPath.get(this.config, \"content.fit-top\")) {\r\n objectPath.push(this.classes, \"content\", \"pt-0\");\r\n }\r\n\r\n if (objectPath.get(this.config, \"content.fit-bottom\")) {\r\n objectPath.push(this.classes, \"content\", \"pb-0\");\r\n }\r\n\r\n if (objectPath.get(this.config, \"content.width\") === \"fluid\") {\r\n objectPath.push(this.classes, \"content_container\", \"container-fluid\");\r\n } else {\r\n objectPath.push(this.classes, \"content_container\", \"container\");\r\n }\r\n }\r\n\r\n /**\r\n * Init Aside\r\n */\r\n private initAside() {\r\n if (objectPath.get(this.config, \"aside.self.display\") !== true) {\r\n return;\r\n }\r\n\r\n // Enable Aside\r\n document.body.classList.add(\"aside-enabled\");\r\n\r\n // Fixed Aside\r\n if (objectPath.get(this.config, \"aside.self.fixed\")) {\r\n document.body.classList.add(\"aside-fixed\");\r\n objectPath.push(this.classes, \"aside\", \"aside-fixed\");\r\n } else {\r\n document.body.classList.add(\"aside-static\");\r\n }\r\n\r\n // Check Aside\r\n if (objectPath.get(this.config, \"aside.self.display\") !== true) {\r\n return;\r\n }\r\n\r\n // Default fixed\r\n if (objectPath.get(this.config, \"aside.self.minimize.default\")) {\r\n document.body.classList.add(\"aside-minimize\");\r\n }\r\n\r\n if (objectPath.get(this.config, \"aside.self.minimize.hoverable\")) {\r\n document.body.classList.add(\"aside-minimize-hoverable\");\r\n }\r\n\r\n // Menu\r\n // Dropdown Submenu\r\n const asideMenuDropdown = objectPath.get(\r\n this.config,\r\n \"aside.menu.dropdown\"\r\n );\r\n if (asideMenuDropdown) {\r\n objectPath.push(this.classes, \"aside_menu\", \"aside-menu-dropdown\");\r\n // tslint:disable-next-line\r\n this.attrs[\"aside_menu\"][\"data-menu-dropdown\"] = \"1\";\r\n }\r\n\r\n // Scrollable Menu\r\n if (asideMenuDropdown !== true) {\r\n // tslint:disable-next-line\r\n this.attrs[\"aside_menu\"][\"data-menu-scroll\"] = \"1\";\r\n } else {\r\n // tslint:disable-next-line\r\n this.attrs[\"aside_menu\"][\"data-menu-scroll\"] = \"0\";\r\n }\r\n\r\n const asideMenuSubmenuDropdownHoverTimout = objectPath.get(\r\n this.config,\r\n \"aside.menu.submenu.dropdown.hover-timeout\"\r\n );\r\n if (asideMenuSubmenuDropdownHoverTimout) {\r\n // tslint:disable-next-line\r\n this.attrs[\"aside_menu\"][\r\n \"data-menu-dropdown-timeout\"\r\n ] = asideMenuSubmenuDropdownHoverTimout;\r\n }\r\n }\r\n\r\n /**\r\n * Init Footer\r\n */\r\n private initFooter() {\r\n // Fixed header\r\n if (objectPath.get(this.config, \"footer.fixed\") === true) {\r\n document.body.classList.add(\"footer-fixed\");\r\n }\r\n\r\n if (objectPath.get(this.config, \"footer.width\") === \"fluid\") {\r\n objectPath.push(this.classes, \"footer_container\", \"container-fluid\");\r\n } else {\r\n objectPath.push(this.classes, \"footer_container\", \"container\");\r\n }\r\n }\r\n\r\n /**\r\n * Set the body class name based on page skin options\r\n */\r\n private initSkins() {\r\n const headerSelfTheme =\r\n objectPath.get(this.config, \"header.self.theme\") || \"\";\r\n const brandSelfTheme =\r\n objectPath.get(this.config, \"brand.self.theme\") || \"\";\r\n const asideSelfDisplay = objectPath.get(this.config, \"aside.self.display\");\r\n if (asideSelfDisplay === false) {\r\n document.body.classList.add(`brand-${headerSelfTheme}`);\r\n } else {\r\n document.body.classList.add(`brand-${brandSelfTheme}`);\r\n }\r\n }\r\n}\r\n","import { AuthModule } from \"./../pages/auth/auth.module\";\r\nimport { NgxPermissionsModule } from \"ngx-permissions\";\r\n// Angular\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { FormsModule } from \"@angular/forms\";\r\n// NgBootstrap\r\nimport {\r\n NgbProgressbarModule,\r\n NgbTooltipModule,\r\n} from \"@ng-bootstrap/ng-bootstrap\";\r\n// Translation\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\n// Loading bar\r\nimport { LoadingBarModule } from \"@ngx-loading-bar/core\";\r\n// NGRX\r\nimport { StoreModule } from \"@ngrx/store\";\r\nimport { EffectsModule } from \"@ngrx/effects\";\r\n// Ngx DatePicker\r\nimport { NgxDaterangepickerMd } from \"ngx-daterangepicker-material\";\r\n// Perfect Scrollbar\r\nimport { PerfectScrollbarModule } from \"ngx-perfect-scrollbar\";\r\n// SVG inline\r\nimport { InlineSVGModule } from \"ng-inline-svg\";\r\n// Material\r\nimport { MatProgressBarModule } from \"@angular/material/progress-bar\";\r\nimport { MatTabsModule } from \"@angular/material/tabs\";\r\nimport { MatButtonModule } from \"@angular/material/button\";\r\nimport { MatTooltipModule } from \"@angular/material/tooltip\";\r\n// Core Module\r\nimport { CoreModule } from \"../../core/core.module\";\r\nimport { HeaderComponent } from \"./header/header.component\";\r\nimport { AsideLeftComponent } from \"./aside/aside-left.component\";\r\nimport { FooterComponent } from \"./footer/footer.component\";\r\nimport { SubheaderComponent } from \"./subheader/subheader.component\";\r\nimport { BrandComponent } from \"./brand/brand.component\";\r\nimport { TopbarComponent } from \"./header/topbar/topbar.component\";\r\nimport { MenuHorizontalComponent } from \"./header/menu-horizontal/menu-horizontal.component\";\r\nimport { PartialsModule } from \"../partials/partials.module\";\r\nimport { BaseComponent } from \"./base/base.component\";\r\nimport { PagesModule } from \"../pages/pages.module\";\r\nimport { HtmlClassService } from \"./html-class.service\";\r\nimport { HeaderMobileComponent } from \"./header/header-mobile/header-mobile.component\";\r\nimport {\r\n PermissionEffects,\r\n permissionsReducer,\r\n RoleEffects,\r\n rolesReducer,\r\n} from \"../../core/auth\";\r\nimport { PilotTasksEffects } from \"src/app/core/store/effects/pilot-tasks.effects\";\r\nimport * as fromPilotTasks from \"src/app/core/store/reducers/pilot-tasks.reducer\";\r\nimport { AgmCoreModule } from \"@agm/core\";\r\n\r\n@NgModule({\r\n declarations: [\r\n BaseComponent,\r\n FooterComponent,\r\n\r\n // headers\r\n HeaderComponent,\r\n BrandComponent,\r\n HeaderMobileComponent,\r\n\r\n // subheader\r\n SubheaderComponent,\r\n\r\n // topbar components\r\n TopbarComponent,\r\n\r\n // aside left menu components\r\n AsideLeftComponent,\r\n\r\n // horizontal menu components\r\n MenuHorizontalComponent,\r\n ],\r\n exports: [\r\n BaseComponent,\r\n FooterComponent,\r\n\r\n // headers\r\n HeaderComponent,\r\n BrandComponent,\r\n HeaderMobileComponent,\r\n\r\n // subheader\r\n SubheaderComponent,\r\n\r\n // topbar components\r\n TopbarComponent,\r\n\r\n // aside left menu components\r\n AsideLeftComponent,\r\n\r\n // horizontal menu components\r\n MenuHorizontalComponent,\r\n ],\r\n providers: [HtmlClassService],\r\n imports: [\r\n AgmCoreModule.forRoot({\r\n apiKey: \"AIzaSyDMWp19lJGUMI_DoASc_mOCf7qFcwu81vA\",\r\n libraries: [\"places\", \"drawing\", \"geometry\"],\r\n }),\r\n\r\n CommonModule,\r\n RouterModule,\r\n NgxPermissionsModule.forChild(),\r\n StoreModule.forFeature(\"roles\", rolesReducer),\r\n StoreModule.forFeature(\"permissions\", permissionsReducer),\r\n StoreModule.forFeature(\"pilotTasks\", fromPilotTasks.reducer),\r\n EffectsModule.forFeature([\r\n PermissionEffects,\r\n RoleEffects,\r\n PilotTasksEffects,\r\n ]),\r\n PagesModule,\r\n PartialsModule,\r\n CoreModule,\r\n PerfectScrollbarModule,\r\n FormsModule,\r\n MatProgressBarModule,\r\n MatTabsModule,\r\n MatButtonModule,\r\n MatTooltipModule,\r\n TranslateModule.forChild(),\r\n LoadingBarModule,\r\n NgxDaterangepickerMd,\r\n InlineSVGModule,\r\n\r\n // ng-bootstrap modules\r\n NgbProgressbarModule,\r\n NgbTooltipModule,\r\n ],\r\n})\r\nexport class ThemeModule {}\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 isMockEnabled: false, // You have to switch this, when your real back-end is done\r\n authTokenKey: 'authce9d77b308c149d5992a80073637e4d5',\r\n api_url: \"https://api.aksata360.com/api/\"\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","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\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().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n"]}