{"version":3,"sources":["./src/app/shared/components/tabs/tabs.module.ts","./src/app/shared/components/space-features/space-features.component.ts","./src/app/shared/components/space-features/space-features.component.html","./src/app/shared/components/merge-timepicker/timepicker-popup/timepicker-popup.component.ts","./src/app/shared/components/merge-timepicker/timepicker-popup/timepicker-popup.component.html","./src/app/services/APIs/Meetings/meetings.service.ts","./src/app/shared/components/checkbox/checkbox-group.component.ts","./src/app/shared/components/checkbox/checkbox-group.component.html","./src/app/shared/components/checkbox/components/checkbox.component.ts","./src/app/shared/components/checkbox/components/checkbox.component.html","./src/app/shared/components/tags/tags.module.ts","./src/app/shared/components/tags/tags.component.ts","./src/app/shared/components/tags/tags.component.html","./src/app/shared/components/numbered-pagination/enums/index.ts","./src/app/shared/components/input/input.module.ts","./src/app/shared/components/data-table/paginator/paginator.component.ts","./src/app/shared/components/data-table/paginator/paginator.component.html","./src/app/shared/components/radio/radio-group.component.ts","./src/app/shared/components/radio/radio-group.component.html","./src/app/shared/components/tooltip/tooltip.directive.ts","./src/app/services/toast.service.ts","./src/app/shared/Helper/dateHelper.ts","./src/app/shared/pipes/week-day-translate.pipe.ts","./src/app/pages/bookings/all-bookings/components/bookings-dashboard/bookings.model.ts","./src/app/shared/components/owner-search/owner-search.component.ts","./src/app/shared/components/owner-search/owner-search.component.html","./src/app/shared/virtul-options/virtul-options.component.ts","./src/app/shared/virtul-options/virtul-options.component.html","./src/app/shared/components/select/select-item/select-item.component.ts","./src/app/shared/components/select/select-item/select-item.component.html","./src/app/shared/pipes/moment/moment-pipe.module.ts","./src/app/common/access-denied/access-denied.component.ts","./src/app/common/access-denied/access-denied.component.html","./src/app/common/layout/header/user-notification/user-notification.component.ts","./src/app/common/layout/header/user-notification/user-notification.component.html","./src/app/shared/components/textarea/textarea.module.ts","./src/app/common/layout/header/view-selector/view-selector.component.ts","./src/app/common/layout/header/view-selector/view-selector.component.html","./src/app/shared/components/multi-select/multi-select.component.ts","./src/app/shared/components/multi-select/multi-select.component.html","./src/app/configs/common.config.ts","./src/app/services/APIs/reservations/reservations.service.ts","./src/app/models/dashboard-common.model.ts","./src/app/services/preferences/models/preferences.model.ts","./src/app/pages/bookings/models/routes.ts","./src/app/shared/directives/click-outside/click-outside.module.ts","./src/app/shared/utils/constants.ts","./src/app/shared/components/specialist-details/specialist-details.component.ts","./src/app/shared/components/specialist-details/specialist-details.component.html","./src/app/shared/components/merge-timepicker/timepicker-popup/utils/timepicker.config.ts","./src/environments/environment.ts","./src/app/common/layout/side-menu/side-menu.component.ts","./src/app/common/layout/side-menu/side-menu.component.html","./src/app/common/toaster/toaster.component.ts","./src/app/common/toaster/toaster.component.html","./src/app/shared/components/owner-search/owner-search.module.ts","./src/app/common/layout/side-menu/side-menu.ts","./src/app/shared/components/avatar/avatar-image.component.ts","./src/app/shared/components/avatar/avatar-image.component.html","./src/app/common/layout/header/global-search/global-search.service.ts","./src/app/pages/meetings/models/routes.ts","./src/app/shared/components/textarea/textareaOptions.ts","./src/app/common/spinner/spinner.component.html","./src/app/common/spinner/spinner.component.ts","./src/app/shared/components/select/select.module.ts","./src/app/shared/components/numbered-pagination/numbered-pagination.component.ts","./src/app/shared/components/numbered-pagination/numbered-pagination.component.html","./src/app/shared/components/search/search.module.ts","./src/app/shared/components/merge-timepicker/timepicker-popup/utils/timepicker.utils.ts","./src/app/shared/components/tabs/tabs.component.ts","./src/app/shared/components/tabs/tabs.component.html","./src/app/shared/components/inoffice-virtual-toggle/inoffice-virtual-toggle.component.ts","./src/app/shared/components/inoffice-virtual-toggle/inoffice-virtual-toggle.component.html","./src/app/shared/components/merge-timepicker/timepicker-popup/reducer/timepicker.actions.ts","./src/app/models/masterdata.model.ts","./src/app/services/APIs/FindASpace/find-a-space.service.ts","./src/app/shared/components/checkbox/checkbox.module.ts","./src/app/shared/components/avatar/avatar-image.module.ts","./src/app/services/APIs/Bookings/bookings.service.ts","./src/app/models/find-a-space.model.ts","./src/app/shared/components/status/status.component.ts","./src/app/shared/components/status/status.component.html","./src/app/shared/components/search/search.component.ts","./src/app/shared/components/search/search.component.html","./src/app/shared/components/toggle/toggle.module.ts","./src/app/common/layout/header/header.component.ts","./src/app/common/layout/header/header.component.html","./src/app/shared/components/data-table/data-table.module.ts","./src/app/common/layout/user-profile-side-menu/user-profile-side-menu.component.ts","./src/app/common/layout/user-profile-side-menu/user-profile-side-menu.component.html","./src/app/shared/components/data-table/data-table-cell/data-table-cell.component.ts","./src/app/shared/components/data-table/data-table-cell/data-table-cell.component.html","./src/app/models/meetings.model.ts","./src/app/shared/components/merge-timepicker/merge-timepicker.module.ts","./src/app/services/APIs/Users/userservice.ts","./src/app/shared/components/numbered-pagination/numbered-pagination.module.ts","./src/app/shared/shared.module.ts","./src/app/shared/directives/ellipsis-tooltip/ellipsis-tooltip.directive.ts","./src/app/common/layout/header/global-search/global-search.component.ts","./src/app/common/layout/header/global-search/global-search.component.html","./src/app/auth.module.ts","./src/app/shared/components/input/input.component.ts","./src/app/shared/components/input/input.component.html","./src/app/shared/components/data-table/data-table-header-cell/data-table-header-cell.component.ts","./src/app/shared/components/data-table/data-table-header-cell/data-table-header-cell.component.html","./node_modules/moment/locale sync ^\\.\\/.*$","./src/app/shared/components/read-only/read-only.component.html","./src/app/shared/components/read-only/read-only.component.ts","./src/app/shared/components/modals/modals.module.ts","./src/app/shared/common/base.component.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/shared/components/modals/confirm-modal/confirm-modal.component.ts","./src/app/shared/components/modals/confirm-modal/confirm-modal.component.html","./src/app/shared/components/input/inputOptions.ts","./src/app/shared/components/tooltip/tooltip.config.ts","./src/app/shared/components/data-table/data-table-filter/data-table-filter.component.ts","./src/app/shared/components/data-table/data-table-filter/data-table-filter.component.html","./src/app/guards/auth.guard.ts","./src/app/services/modal.service.ts","./src/app/shared/components/radio/radio.module.ts","./src/app/shared/components/numbered-pagination/constants.ts","./src/app/shared/pipes/moment/moment-pipe.ts","./src/app/shared/components/button/button.component.ts","./src/app/shared/components/button/button.component.html","./src/app/shared/components/data-table/data-table-body/data-table-body.component.ts","./src/app/shared/components/data-table/data-table-body/data-table-body.component.html","./src/app/common/master-data.resolver.ts","./src/app/services/APIs/Preferences/preferences.service.ts","./src/app/models/reservations/reservations.models.ts","./src/app/common/layout/layout.module.ts","./src/app/app.module.ts","./src/app/shared/components/merge-timepicker/timepicker-popup/models/timepicker.models.ts","./src/app/shared/components/radio/components/radio.component.ts","./src/app/shared/components/radio/components/radio.component.html","./src/app/shared/common/highlight/highlight.pipe.ts","./src/app/services/datacontext.service.ts","./src/app/shared/directives/ellipsis-tooltip/ellipsis-tooltip.module.ts","./src/app/shared/components/tabs/tab/tab.component.html","./src/app/shared/components/tabs/tab/tab.component.ts","./src/app/common/base-component/base-component.ts","./src/app/auth.service.ts","./src/app/shared/components/merge-timepicker/timepicker-popup/reducer/timepicker.reducer.ts","./src/app/shared/directives/click-outside/click-outside.directive.ts","./src/app/shared/components/merge-timepicker/timepicker-popup/reducer/timepicker.store.ts","./src/app/common/layout/side-menu/components/side-menu-item/side-menu-item.component.ts","./src/app/common/layout/side-menu/components/side-menu-item/side-menu-item.component.html","./src/app/shared/components/modals/common-modal-container/common-modal-container.component.ts","./src/app/shared/components/modals/common-modal-container/common-modal-container.component.html","./src/app/shared/components/tooltip/tooltip.component.ts","./src/app/shared/components/tooltip/tooltip.component.html","./src/app/shared/components/toggle/app-toggle/app-toggle.component.ts","./src/app/shared/components/toggle/app-toggle/app-toggle.component.html","./src/app/shared/components/merge-timepicker/merge-timepicker.component.ts","./src/app/shared/components/merge-timepicker/merge-timepicker.component.html","./src/app/services/preferences/preferences-config.service.ts","./src/app/shared/components/data-table/data-table-row/data-table-row.component.ts","./src/app/shared/components/data-table/data-table-row/data-table-row.component.html","./src/app/shared/components/textarea/textarea.component.ts","./src/app/shared/components/textarea/textarea.component.html","./src/app/shared/virtul-options/virtual-option.module.ts","./src/app/common/base-component/base-value-accessor.component.ts","./src/app/shared/components/multi-select/multi-select.module.ts","./src/app/shared/components/status/status.module.ts","./src/app/shared/common/highlight/highlight.module.ts","./src/app/shared/components/data-table/data-table.component.ts","./src/app/shared/components/data-table/data-table.component.html","./src/app/configs/routes.config.ts","./src/app/services/token.interceptor.ts","./src/app/shared/components/tooltip/tooltip.module.ts","./src/app/models/bookings.model.ts","./src/app/services/APIs/MasterData/masterdata.service.ts","./src/app/shared/components/data-table/data-table-search/data-table-search.component.ts","./src/app/shared/components/data-table/data-table-search/data-table-search.component.html","./src/app/shared/directives/ellipsis-tooltip/tooltip.service.ts","./src/app/configs/app-configuration.ts","./src/app/shared/components/numbered-pagination/enums/ruler-factory-option.enum.ts","./src/app/services/startup.service.ts","./src/app/shared/components/merge-timepicker/timepicker-popup/utils/timepicker-controls.util.ts","./src/app/common/layout/header/staticlink-navigation/staticlink-navigation.component.ts","./src/app/common/layout/header/staticlink-navigation/staticlink-navigation.component.html","./src/app/shared/components/specialist-details/specialist-details.module.ts","./src/app/shared/components/tags/tag/tag.component.ts","./src/app/shared/components/tags/tag/tag.component.html","./src/app/shared/components/read-only/read-only.module.ts","./src/app/shared/components/space-features/space-features.module.ts","./src/app/shared/components/toggle/app-toggle-group.component.ts","./src/app/shared/components/toggle/app-toggle-group.component.html","./src/app/shared/common/highlight/highlight.directive.ts","./src/app/models/common.enums.ts","./src/app/shared/components/checkbox/checkbox.config.ts","./src/app/services/user-settings.service.ts","./src/app/common/spinner/spinner.service.ts","./src/app/common/layout/layout.component.ts","./src/app/common/layout/layout.component.html","./src/app/app-routing.module.ts","./src/app/common/toaster/toaster.service.ts","./src/app/shared/components/select/select.component.ts","./src/app/shared/components/select/select.component.html","./src/app/shared/components/modals/modal.component.ts","./src/app/shared/components/button/button.module.ts","./src/app/services/preferences/preferences-current-view.ts","./src/app/shared/components/data-table/data-table-header/data-table-header.component.ts","./src/app/shared/components/data-table/data-table-header/data-table-header.component.html","./src/app/models/users.model.ts","./src/main.ts","./src/app/models/preferences.model.ts","./$_lazy_route_resource lazy namespace object"],"names":[],"mappings":";;;;;;;;;;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAiD;AACE;AACJ;AACA;;AASrC,MAAM,eAAe;;8FAAf,eAAe;wJAAf,eAAe,kBANpB;YACP,4DAAY;YACZ,4DAAY;SACb;mIAGa,eAAe,mBAFd,6DAAa,EAAE,+DAAY,aAHxC,4DAAY;QACZ,4DAAY,aAGJ,6DAAa,EAAE,+DAAY;;;;;;;;;;;;;ACZvC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAauB;AACuD;AACH;;;;;;;;;;;ICVrE,2EAAuE;IAA1B,oVAAyB;IAAC,uDAAqC;;IAAA,4DAAO;;IAA5C,0DAAqC;IAArC,qJAAqC;;;IAF9G,wEAAuC;IACrC,2EAA4C;IAAA,uDAAsB;IAAA,4DAAO;IACzE,0IAAmH;IACrH,qEAAe;;;IAF+B,0DAAsB;IAAtB,wFAAsB;IAC7C,0DAAsB;IAAtB,yFAAsB;;;;IAG/C,gFAA+F;IAC7F,8EAAgN;IAAtC,yZAAqC;IAC/M,4DAAU;IACZ,4DAAM;;;IAFK,0DAAsB;IAAtB,mFAAsB;;;;IAI/B,2EAAmE;IAAvB,4TAAgB,IAAI,KAAE;IAAC,uDAAwC;;IAAA,4DAAO;;IAA/C,0DAAwC;IAAxC,wJAAwC;;;;IAC3G,2EAAmE;IAAxB,4TAAgB,KAAK,KAAE;IAAC,uDAAwC;;IAAA,4DAAO;;IAA/C,0DAAwC;IAAxC,wJAAwC;;;IAd/G,4EAAiE;IAC/D,4EAAiD;IAC/C,yEAAkC;IAAA,uDAA8C;;IAAA,4DAAM;IACtF,0IAGe;IACjB,4DAAM;IACN,wHAGM;;IACN,gFAAgB;IACd,4HAAkH;IAClH,6HAAkH;IACpH,4DAAM;IACR,4DAAM;;;IAdgC,0DAA8C;IAA9C,uKAA8C;IACjE,0DAAsB;IAAtB,yFAAsB;IAKd,0DAAuC;IAAvC,gLAAuC;IAKrC,0DAAiB;IAAjB,oFAAiB;IACjB,0DAAgB;IAAhB,mFAAgB;;ADYtC,MAAM,sBAAuB,SAAQ,mFAAa;IAuBvD,YAAoB,KAAwB;QAC1C,KAAK,EAAE,CAAC;QADU,UAAK,GAAL,KAAK,CAAmB;QApBlC,kBAAa,GAAG,IAAI,0DAAY,EAAY,CAAC;QAOvD,aAAQ,GAAmB,EAAE,CAAC;QAMb,mBAAc,GAAG,EAAE,CAAC;QACpB,eAAU,GAAG,CAAC,CAAC;IAQhC,CAAC;IAND,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;IAMD,QAAQ;QACN,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,WAAW;QACT,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAClC,CAAC,EAAE,CAAC,CAAC,CAAC;SACP;IACH,CAAC;IAED,eAAe;QACb,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE;YACrF,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC;YAClI,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,WAAW,GAAG,gBAAgB,CAAC;YACxF,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;gBACzC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC;gBAC1D,UAAU,IAAI,EAAE,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;gBAC7D,IAAI,WAAW,GAAG,UAAU,GAAG,EAAE,EAAE;oBACjC,EAAE,KAAK,CAAC;iBACT;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YACpD,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;SAC5B;IACH,CAAC;IAED,uBAAuB,CAAC,eAAkF;QACxG,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YAC7C,OAAO;SACR;QACD,MAAM,gBAAgB,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAE3D,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;YAC1D,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC3B,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,OAAO,CAAC;gBACjC,gBAAgB,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3E,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAqB,EAAE,EAAE;YAC9C,OAAO,CAAC,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,OAAqB,EAAE,KAAa;QAClD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAChB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC;SAChE;QACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC7C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,CAAC,KAAc;QACnB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;SAClC;aAAM;YACL,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAClC,CAAC,EAAE,CAAC,CAAC,CAAC;SACP;IACH,CAAC;IAED,aAAa;QACX,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC7C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC;IAEO,wBAAwB;QAC9B,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE;YACtG,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC;YAClI,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,WAAW,GAAG,gBAAgB,CAAC;YACxF,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC1B,UAAU,IAAI,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;gBACxC,IAAI,WAAW,GAAG,UAAU,GAAG,EAAE,EAAE;oBACjC,EAAE,KAAK,CAAC;iBACT;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,KAAK,EAAE;gBACT,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;aACrD;YACD,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;SAC5B;IACH,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC,QAAQ,GAAG,gFAAkB,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACpG,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAC,CAAC,CAAC;IACN,CAAC;IAEO,eAAe;QACrB,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,MAAM,qBAAqB,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;gBAClE,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;gBACf,OAAO,GAAG,CAAC;YACb,CAAC,EAAE,EAAE,CAAC,CAAC;YACP,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC3E,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC7C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBACpB,IAAI,CAAC,wBAAwB,EAAE,CAAC;aACjC;SACF;IACH,CAAC;IAED,YAAY;QACV,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ;aAC1B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aAC5C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;aACnC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7D,CAAC;;4FAzJU,sBAAsB;sGAAtB,sBAAsB;;;;;;;;;;;;QC1BnC,oHAgBM;;QAhBiB,qFAAqB;;;;;;;;;;;;;;ACA5C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASuB;AAK6C;AAEuH;;;;;;;ICLvL,qEAAwB;IAAA,6EAAkB;IAAA,4DAAK;;;;IAE/C,qEAAwB;IACtB,uEAGC;IAFE,+UAAmC;IAErC,qEAAgD;IAAA,4DAAI;IACvD,4DAAK;;;IAJqB,0DAAsD;IAAtD,wHAAsD;;;IAMhF,qEAAwB;IAAA,iEAAM;IAAA,4DAAK;;;;IAEnC,qEAAwB;IACtB,uEAGC;IAFE,gVAAoC;IAGrC,qEAAgD;IAClD,4DAAI;IACN,4DAAK;;;IANqB,0DAAsD;IAAtD,wHAAsD;;;IAQhF,qEAAyB;IAAA,6EAAkB;IAAA,4DAAK;;;;IAEhD,qEAAyB;IACvB,uEAGC;IAFE,+TAA0B;IAE5B,qEAAgD;IAAA,4DAAI;IACvD,4DAAK;;;IAJqB,0DAAsD;IAAtD,wHAAsD;;;IAMhF,gEAA8B;;;IAiB9B,qEAAwB;IAAA,uEAAY;IAAA,4DAAK;;;;IAEzC,wEAAmF;IACjF,2EAUgF;IAHzE,4YAAuE,OAAO,KAAE,6SACnC,KAAK,KAD8B,kTAEhC,KAAK,KAF2B;IAPvF,4DAUgF;IAClF,4DAAK;;;IAZ2C,6FAAkC;IAC7D,0DAAmC;IAAnC,8FAAmC;IAE/C,kGAAkC;IAQM,4FAAgC;;;IAGjF,qEAAwB;IAAA,wEAAa;IAAA,4DAAK;;;;IAE1C,wEAAmF;IACjF,2EAUgF;IAHzE,6YAAwE,OAAO,KAAE,8SACnC,KAAK,KAD8B,mTAEhC,KAAK,KAF2B;IAPxF,4DAUgF;IAClF,4DAAK;;;IAZ2C,8FAAkC;IAC7D,0DAAmC;IAAnC,+FAAmC;IAE/C,mGAAkC;IAQM,6FAAgC;;;IAGjF,gEAAyB;;;;IACvB,wEAAsE;IACpE,2EAWkC;IAJ3B,kWAA0C;IAPjD,4DAWkC;IACtC,4DAAK;;;IAVM,0DAAwB;IAAxB,yFAAwB;;;IAuBnC,qEAAwB;IAAA,6EAAkB;IAAA,4DAAK;;;;IAE/C,qEAAwB;IACtB,uEAGC;IAFE,iVAAoC;IAGrC,qEAAkD;IACpD,4DAAI;IACN,4DAAK;;;IANqB,0DAAsD;IAAtD,0HAAsD;;;IAQhF,qEAAwB;IAAA,iEAAM;IAAA,4DAAK;;;;IAEnC,qEAAwB;IACtB,uEAGC;IAFE,kVAAqC;IAGtC,qEAAkD;IACpD,4DAAI;IACN,4DAAK;;;IANqB,0DAAsD;IAAtD,0HAAsD;;;IAQhF,qEAAyB;IAAA,6EAAkB;IAAA,4DAAK;;;;IAChD,qEAAyB;IACvB,uEAGC;IAFE,+TAA0B;IAE5B,qEAAkD;IAAA,4DAAI;IACzD,4DAAK;;;IAJqB,0DAAsD;IAAtD,0HAAsD;;;IAMhF,gEAA8B;;AD1H3B,MAAM,wBAAwB;IAwEnC,YACE,OAAyB,EACjB,GAAsB,EACtB,MAAuB,EACvB,kBAAqC;QAFrC,QAAG,GAAH,GAAG,CAAmB;QACtB,WAAM,GAAN,MAAM,CAAiB;QACvB,uBAAkB,GAAlB,kBAAkB,CAAmB;QAxE/C,wBAAwB;QACf,aAAQ,GAAG,CAAC,CAAC;QACtB,0BAA0B;QACjB,eAAU,GAAG,CAAC,CAAC;QACxB,0BAA0B;QACjB,gBAAW,GAAG,EAAE,CAAC;QAC1B,wDAAwD;QAC/C,kBAAa,GAAG,KAAK,CAAC;QAC/B,wDAAwD;QAC/C,eAAU,GAAG,KAAK,CAAC;QAC5B,sEAAsE;QAC7D,eAAU,GAAG,IAAI,CAAC;QAC3B,0GAA0G;QACjG,cAAS,GAAG,IAAI,CAAC;QAC1B,sEAAsE;QAC7D,iBAAY,GAAG,IAAI,CAAC;QAC7B,iEAAiE;QACxD,iBAAY,GAAG,IAAI,CAAC;QAC7B,iCAAiC;QACxB,gBAAW,GAAG,IAAI,CAAC;QAC5B,iCAAiC;QACxB,gBAAW,GAAG,KAAK,CAAC;QAC7B,sCAAsC;QAC7B,cAAS,GAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAK5C,gDAAgD;QACvC,qBAAgB,GAAG,IAAI,CAAC;QACjC,kDAAkD;QACzC,uBAAkB,GAAG,IAAI,CAAC;QACnC,kDAAkD;QACzC,uBAAkB,GAAG,IAAI,CAAC;QACnC,0CAA0C;QAChC,YAAO,GAAG,IAAI,0DAAY,EAAW,CAAC;QAChD,6BAA6B;QACnB,mBAAc,GAAG,IAAI,0DAAY,EAAU,CAAC;QACtD,wBAAwB;QACd,2BAAsB,GAAG,IAAI,0DAAY,EAAQ,CAAC;QAE5D,eAAe;QACf,UAAK,GAAG,EAAE,CAAC;QACX,YAAO,GAAG,EAAE,CAAC;QACb,YAAO,GAAG,EAAE,CAAC;QACb,aAAQ,GAAG,EAAE,CAAC;QACd,sCAAsC;QACtC,iBAAY,GAAG,KAAK,CAAC;QACrB,mBAAc,GAAG,KAAK,CAAC;QACvB,mBAAc,GAAG,KAAK,CAAC;QACvB,uBAAuB;QACvB,eAAU,GAAG,OAAO,CAAC;QACrB,iBAAY,GAAG,SAAS,CAAC;QACzB,iBAAY,GAAG,SAAS,CAAC;QACzB,6BAA6B;QAC7B,sBAAiB,GAAG,IAAI,CAAC;QACzB,wBAAmB,GAAG,IAAI,CAAC;QAC3B,wBAAmB,GAAG,IAAI,CAAC;QAC3B,sBAAiB,GAAG,IAAI,CAAC;QACzB,wBAAmB,GAAG,IAAI,CAAC;QAC3B,wBAAmB,GAAG,IAAI,CAAC;QAC3B,sBAAiB,GAAG,IAAI,CAAC;QACzB,aAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC;QAC9B,cAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;QAW7B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;QACtB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAEjC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC;aACnC,SAAS,CAAC,CAAC,aAAiC,EAAE,EAAE;YAC/C,MAAM,sBAAsB,GAAG,4EAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACjG,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;gBAC1C,IAAI,CAAC,mBAAmB,EAAE,IAAI,sBAAsB;gBACpD,CAAC,CAAC,sBAAsB,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;YACnC,GAAG,CAAC,YAAY,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,QAAQ;QACN,YAAY;QACZ,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5D,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;QAEpE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC;aAC1D,SAAS,CAAC,CAAC,KAAuB,EAAE,EAAE;YACrC,mCAAmC;YACnC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACrB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAExC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAClB,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,wFAAgB,CAAC,IAAI,CAAC,CAAC,CAC/D,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IAED,eAAe;QACb,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,CAAC,MAAa;QACnB,MAAM,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IAED,SAAS,CAAC,MAAsB;QAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,WAAW;QACT,IAAI,CAAC,MAAM,CAAC,QAAQ,CAClB,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,wFAAgB,CAAC,IAAI,CAAC,CAAC,CAC/D,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,IAAY,EAAE,SAA2B,EAAE;QACrD,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,aAAa,CAAC,IAAY,EAAE,SAA2B,EAAE;QACvD,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAClB,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CACxD,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,IAAY,EAAE,SAA2B,EAAE;QACvD,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAClB,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CACxD,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,MAAoC;QAC9C,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,GAAI,MAA2B,CAAC,KAAK,CAAC;QAEhD,MAAM,sBAAsB,GAAG,gFAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QAChG,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAC1C,IAAI,CAAC,mBAAmB,EAAE,IAAI,sBAAsB;YACpD,CAAC,CAAC,sBAAsB,CAAC;QAE3B,IAAI,CAAC,OAAO,EAAE;YACZ,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEpB,OAAO;SACR;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,aAAa,CAAC,MAAmC;QAC/C,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,OAAO,GAAI,MAA2B,CAAC,KAAK,CAAC;QAElD,MAAM,sBAAsB,GAAG,kFAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACvF,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAC1C,IAAI,CAAC,mBAAmB,EAAE,IAAI,sBAAsB;YACpD,CAAC,CAAC,sBAAsB,CAAC;QAE3B,IAAI,CAAC,OAAO,EAAE;YACZ,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEpB,OAAO;SACR;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,aAAa,CAAC,MAAmC;QAC/C,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,OAAO,GAAI,MAA2B,CAAC,KAAK,CAAC;QAElD,MAAM,sBAAsB,GAAG,kFAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACvF,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAC1C,IAAI,CAAC,mBAAmB,EAAE,IAAI,sBAAsB;YACpD,CAAC,CAAC,sBAAsB,CAAC;QAE3B,IAAI,CAAC,OAAO,EAAE;YACZ,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEpB,OAAO;SACR;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,YAAY;QACV,OAAO,iFAAiB,CAAC;YACvB,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;SAClB,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED,mBAAmB;QACjB,OAAO,iFAAiB,CACtB,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,OAAO,CAAC,CAAC;IAClB,CAAC;IAED,WAAW;QACT,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1D,MAAM,sBAAsB,GAAG,4EAAY,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACzF,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAC1C,IAAI,CAAC,mBAAmB,EAAE,IAAI,sBAAsB;YACpD,CAAC,CAAC,sBAAsB,CAAC;QAC3B,IAAI,CAAC,OAAO,EAAE;YACZ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEpB,OAAO;SACR;QAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAClB,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;YAC9B,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;SAClB,CAAC,CACH,CAAC;IACJ,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAC1C,OAAO;SACR;QAED,MAAM,gBAAgB,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAClB,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;YAClC,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,EAAE;SACX,CAAC,CACH,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,UAAmB;QAClC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;IAC1B,CAAC;IAED,WAAW;;QACT,UAAI,CAAC,aAAa,0CAAE,WAAW,GAAG;IACpC,CAAC;IAEO,WAAW,CAAC,KAAqB;QACvC,IAAI,CAAC,KAAK,IAAI,CAAC,2EAAW,CAAC,KAAK,CAAC,EAAE;YACjC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxC,OAAO;SACR;QAED,MAAM,MAAM,GAAG,yEAAS,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,EAAE;YACX,OAAO;SACR;QAED,MAAM,gBAAgB,GAAG,EAAE,CAAC;QAC5B,IAAI,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAE/B,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxC,MAAM,GAAG,MAAM,GAAG,gBAAgB,CAAC;YACnC,6BAA6B;YAC7B,IAAI,MAAM,KAAK,CAAC,EAAE;gBAChB,MAAM,GAAG,gBAAgB,CAAC;aAC3B;SACF;QAED,IAAI,CAAC,KAAK,GAAG,yEAAS,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,yEAAS,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,GAAG,yEAAS,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;IACnD,CAAC;;gGAzTU,wBAAwB;wGAAxB,wBAAwB;QCxBrC,wEAAO;QACL,wEAAO;QACP,wEAAiD;QAE/C,qEAAI;QACF,uEAGC;QAFE,2IAAS,6BAAqB,IAAC;QAEjC,qEAAgD;QAAA,4DAAI;QACvD,4DAAK;QAEL,kHAA+C;QAE/C,kHAKK;QAEL,kHAAmC;QAEnC,kHAOK;QAEL,oHAAgD;QAEhD,oHAKK;QAEL,oHAA8B;QAChC,4DAAK;QACL,sEAAI;QAEF,yEAA6D;QAC3D,4EAU4E;QAHrE,+IAAS,mBAAe,SAAC,+BAAuB,qBAAiB,EAAE,OAAO,CAAC,IAAC,4GACzD,8BAAsB,KAAK,CAAC,IAD6B,gHAEvD,+BAAuB,KAAK,CAAC,IAF0B,gGAGlE,8BAA0B,IAHwC;QAPnF,4DAU4E;QAAA,4DAAK;QAEnF,oHAAyC;QAEzC,oHAYK;QAEL,oHAA0C;QAE1C,oHAYK;QAEL,oHAAyB;QACvB,oHAaG;QACP,4DAAK;QACL,yEAAiD;QAE/C,sEAAI;QACF,wEAGC;QAFE,4IAAS,8BAAsB,IAAC;QAGjC,sEAAkD;QACpD,4DAAI;QACN,4DAAK;QAEL,oHAA+C;QAE/C,oHAOK;QAEL,oHAAmC;QAEnC,oHAOK;QAEL,oHAAgD;QAChD,oHAKK;QAEL,oHAA8B;QAChC,4DAAK;QACL,4DAAQ;QACV,4DAAQ;;QAnJkB,0DAAwB;QAAxB,qFAAwB;QAGpB,0DAAoD;QAApD,gHAAoD;QAMzE,0DAAiB;QAAjB,iFAAiB;QAEjB,0DAAiB;QAAjB,iFAAiB;QAOjB,0DAAiB;QAAjB,iFAAiB;QAEjB,0DAAiB;QAAjB,iFAAiB;QASjB,0DAAkB;QAAlB,kFAAkB;QAElB,0DAAkB;QAAlB,kFAAkB;QAOlB,0DAAkB;QAAlB,kFAAkB;QAIK,0DAAgC;QAAhC,wFAAgC;QACvC,0DAAiC;QAAjC,yFAAiC;QAE7C,6FAAgC;QAQM,uFAA8B;QAExE,0DAAiB;QAAjB,iFAAiB;QAEO,0DAAiB;QAAjB,iFAAiB;QAczC,0DAAiB;QAAjB,iFAAiB;QAEO,0DAAiB;QAAjB,iFAAiB;QAczC,0DAAkB;QAAlB,kFAAkB;QAC6B,0DAAkB;QAAlB,kFAAkB;QAehD,0DAAwB;QAAxB,qFAAwB;QAGpB,0DAAoD;QAApD,gHAAoD;QAQzE,0DAAiB;QAAjB,iFAAiB;QAEjB,0DAAiB;QAAjB,iFAAiB;QASjB,0DAAiB;QAAjB,iFAAiB;QAEjB,0DAAiB;QAAjB,iFAAiB;QASjB,0DAAkB;QAAlB,kFAAkB;QAClB,0DAAkB;QAAlB,kFAAkB;QAOlB,0DAAkB;QAAlB,kFAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;ACjJ3B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAqC;AAmC0B;AACF;AAGC;AAC7B;AAC2B;AAGyB;;;;;;AAK9E,MAAM,eAAe;IAI1B,YACU,kBAAsC,EACtC,iBAAoC,EACpC,eAAgC,EAChC,cAA8B;QAH9B,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,oBAAe,GAAf,eAAe,CAAiB;QAChC,mBAAc,GAAd,cAAc,CAAgB;QAPxC,UAAK,GAAG,IAAI,kDAAa,CAAwB,CAAC,CAAC,CAAC;QACpD,WAAM,GAAkD,IAAI,kDAAa,CAAC,CAAC,CAAC,CAAC;QAC7E,qBAAgB,GAAsC,IAAI,kDAAa,CAAC,CAAC,CAAC,CAAC;IAMxE,CAAC;IAGJ,uBAAuB,CAAC,KAA6B;QACnD,MAAM,GAAG,GAAG,+BAA+B,CAAC;QAC5C,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CACtD,0DAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACV,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;gBACtB,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAgC,CAAC;gBACtD,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC3B,IAAI,CAAC,CAAC,qBAAqB,EAAE;wBAC3B,CAAC,CAAC,CAAC,qBAAqB,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;4BACrG,CAAC,CAAC,CAAC,qBAAqB,CAAC,QAAQ,GAAG,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;qBACjH;oBACD,IAAI,CAAC,CAAC,cAAc,EAAE;wBACpB,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;4BACvF,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,GAAG,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;qBAC5F;gBACH,CAAC,CAAC,CAAC;gBACH,OAAO,QAAQ,CAAC;aACjB;iBAAM;gBACL,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aACtD;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IACD,mBAAmB,CAAC,aAAqB,EAAE,KAA6B;QACtE,MAAM,GAAG,GAAG,eAAe,aAAa,mBAAmB,CAAC;QAC5D,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CACtD,0DAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACV,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;gBACtB,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAgC,CAAC;gBACtD,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC3B,IAAI,CAAC,CAAC,cAAc,EAAE;wBACpB,IAAI,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE;4BAC7B,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;gCACzG,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;yBACvH;wBACD,IAAI,CAAC,CAAC,cAAc,CAAC,WAAW,EAAE;4BAChC,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;gCAC/G,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,QAAQ,GAAG,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,QAAQ;oCAC5E,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,QAAQ;oCACvC,CAAC,CAAC,EAAE,CAAC,CAAC;yBACX;qBACF;oBACD,IAAI,CAAC,CAAC,YAAY,EAAE;wBAClB,IAAI,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE;4BAC7B,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;gCACzG,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,GAAG,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;yBACvH;qBACF;gBACH,CAAC,CAAC,CAAC;gBACH,IAAI,QAAQ,CAAC,qBAAqB,IAAI,QAAQ,CAAC,qBAAqB,CAAC,uBAAuB,EAAE;oBAC5F,QAAQ,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;wBACnE,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC3G,CAAC,CAAC,CAAC;iBACJ;gBACD,OAAO,QAAQ,CAAC;aACjB;iBAAM;gBACL,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aACtD;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IACD,qBAAqB,CAAC,aAAqB,EAAE,QAAiB;QAC5D,MAAM,GAAG,GAAG,gBAAgB,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,4BAA4B,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACrG,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAC9C,0DAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACV,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;gBACrB,MAAM,QAAQ,GAAG,GAAG,CAAC,IAA0B,CAAC;gBAChD,IAAI,QAAQ,CAAC,KAAK,EAAE;oBAClB,QAAQ,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBACpF,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;iBAClF;gBACD,IAAI,QAAQ,CAAC,cAAc,EAAE;oBAC3B,QAAQ,CAAC,cAAc,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;oBACtG,QAAQ,CAAC,cAAc,CAAC,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC7G;gBACD,IAAI,QAAQ,CAAC,UAAU,EAAE;oBACvB,QAAQ,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;oBAC9F,QAAQ,CAAC,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;iBACjG;gBACD,OAAO,QAAQ,CAAC;aACjB;iBAAM;gBACL,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aAC/C;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,sBAAsB,CAAC,aAAqB,EAAE,KAA6B;QACzE,MAAM,GAAG,GAAG,gBAAgB,aAAa,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CACrD,0DAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACV,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;gBACrB,OAAO,GAAG,CAAC,IAA0B,CAAC;aACvC;iBAAM;gBACL,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aAC/C;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IACD,QAAQ,CAAC,aAAqB,EAAE,KAAoB;QAClD,MAAM,GAAG,GAAG,gBAAgB,aAAa,gBAAgB,CAAC;QAC1D,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CACvD,0DAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACV,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;gBACrB,OAAO,GAAG,CAAC,IAAsB,CAAC;aACnC;iBAAM;gBACL,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aAC/C;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IACD,eAAe,CAAC,aAAqB,EAAE,KAA2B;QAChE,MAAM,GAAG,GAAG,gBAAgB,aAAa,cAAc,CAAC;QACxD,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CACvD,0DAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACV,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;gBACrB,OAAO,GAAG,CAAC,IAAsB,CAAC;aACnC;iBAAM;gBACL,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aAC/C;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IACD,QAAQ,CAAC,MAAc,EAAE,aAAqB,EAAE,KAAoB;QAClE,MAAM,GAAG,GAAG,SAAS,MAAM,iBAAiB,aAAa,OAAO,CAAC;QACjE,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CACvD,0DAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACV,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;gBACrB,OAAO,GAAG,CAAC,IAAsB,CAAC;aACnC;iBAAM;gBACL,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aAC/C;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IACD,QAAQ,CAAC,MAAc,EAAE,aAAqB,EAAE,KAAgB;QAC9D,MAAM,GAAG,GAAG,SAAS,MAAM,iBAAiB,aAAa,OAAO,CAAC;QACjE,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CACvD,0DAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACV,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;gBACrB,OAAO,GAAG,CAAC,IAAsB,CAAC;aACnC;iBAAM;gBACL,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aAC/C;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IACD,WAAW,CAAC,KAAiC;QAC3C,OAAO,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;IACD,sBAAsB,CAAC,MAAc,EAAE,KAA6B;QAClE,MAAM,GAAG,GAAG,SAAS,MAAM,sBAAsB,CAAC;QAClD,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CACtD,0DAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACV,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;gBACrB,OAAO,GAAG,CAAC,IAAuC,CAAC;aACpD;iBAAM;gBACL,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aAC/C;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IACD,4BAA4B,CAAC,KAAgC;QAC3D,IAAI,GAAG,GAAG,+CAA+C,KAAK,CAAC,SAAS,mBAAmB,KAAK,CAAC,OAAO,GAAG,CAAC;QAC5G,IAAI,KAAK,CAAC,IAAI;YAAE,GAAG,IAAI,QAAQ,KAAK,CAAC,IAAI,GAAG,CAAC;QAC7C,IAAI,KAAK,CAAC,QAAQ;YAAE,GAAG,IAAI,YAAY,KAAK,CAAC,QAAQ,GAAG,CAAC;QACzD,IAAI,KAAK,CAAC,aAAa;YAAE,GAAG,IAAI,iBAAiB,KAAK,CAAC,aAAa,GAAG,CAAC;QACxE,IAAI,KAAK,CAAC,SAAS;YAAE,GAAG,IAAI,qBAAqB,KAAK,CAAC,SAAS,GAAG,CAAC;QACpE,IAAI,KAAK,CAAC,mCAAmC;YAC3C,GAAG,IAAI,+CAA+C,KAAK,CAAC,mCAAmC,GAAG,CAAC;QACrG,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE;YAC/C,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBAChC,GAAG,IAAI,cAAc,IAAI,GAAG,CAAC;YAC/B,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE;YACzC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;gBAC3B,GAAG,IAAI,WAAW,EAAE,GAAG,CAAC;YAC1B,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE;YACvD,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;gBAClC,GAAG,IAAI,kBAAkB,EAAE,GAAG,CAAC;YACjC,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE;YACjD,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;gBAC/B,GAAG,IAAI,eAAe,EAAE,GAAG,CAAC;YAC9B,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,KAAK,CAAC,KAAK;YAAE,GAAG,IAAI,SAAS,KAAK,CAAC,KAAK,GAAG,CAAC;QAChD,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC;YAAE,GAAG,IAAI,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAC9C,0DAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACV,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;gBACtB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAoC,CAAC;gBACtD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;oBACvB,IAAI,CAAC,CAAC,IAAI,EAAE;wBACV,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;wBACpE,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;qBAC1D;oBACD,IAAI,CAAC,CAAC,WAAW,EAAE;wBACjB,CAAC,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;wBAClF,CAAC,CAAC,WAAW,CAAC,QAAQ,GAAG,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;qBAC/E;gBACH,CAAC,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC;aACb;iBAAM;gBACL,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aACtD;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IACD,iBAAiB,CAAC,YAAoB;QACpC,OAAO,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;IACjE,CAAC;IAED,qCAAqC;IAErC,0BAA0B;IAC1B,wBAAwB,CAAC,GAA6B,EAAE,cAAuB,IAAI;QACjF,MAAM,GAAG,GAAG,4BAA4B,CAAC;QACzC,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC,IAAI,CACjE,0DAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACV,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;gBACtB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAgC,CAAC;gBAClD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;oBACvB,IAAI,CAAC,CAAC,KAAK,EAAE;wBACX,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;4BACrE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;qBACjE;oBACD,IAAI,CAAC,CAAC,qBAAqB,EAAE;wBAC3B,CAAC,CAAC,CAAC,qBAAqB,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;4BACrG,CAAC,CAAC,CAAC,qBAAqB,CAAC,QAAQ,GAAG,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;qBACjH;oBACD,IAAI,CAAC,CAAC,cAAc,EAAE;wBACpB,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;4BACvF,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,GAAG,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;qBAC5F;gBACH,CAAC,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC;aACb;iBAAM;gBACL,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aACtD;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,kCAAkC;IAClC,aAAa,CAAC,gBAAgB,EAAE,IAA4C;QAC1E,MAAM,GAAG,GAAG,mBAAmB,GAAG,gBAAgB,GAAG,cAAc,CAAC;QACpE,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,CAC7D,0DAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACV,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;gBACrB,OAAO,GAAG,CAAC,IAAI,CAAC;aACjB;iBAAM;gBACL,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aAC/C;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,oCAAoC;IACpC,uBAAuB,CAAC,IAA6B,EAAE,cAAuB,IAAI;QAChF,MAAM,GAAG,GAAG,2BAA2B,CAAC;QACxC,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,IAAI,CAClE,0DAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACV,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;gBACtB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAgC,CAAC;gBAClD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;oBACvB,IAAI,CAAC,CAAC,qBAAqB,EAAE;wBAC3B,CAAC,CAAC,CAAC,qBAAqB,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;4BACrG,CAAC,CAAC,CAAC,qBAAqB,CAAC,QAAQ,GAAG,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;qBACjH;oBACD,IAAI,CAAC,CAAC,KAAK,EAAE;wBACX,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;4BACrE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;qBACjE;oBACD,IAAI,CAAC,CAAC,cAAc,EAAE;wBACpB,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;4BACvF,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,GAAG,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;qBAC5F;oBACD,IAAI,CAAC,CAAC,QAAQ,EAAE;wBACd,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;4BAC3E,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;qBAC1E;oBACD,IAAI,CAAC,CAAC,WAAW,EAAE;wBACjB,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;4BACjF,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,GAAG,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;qBACnF;gBACH,CAAC,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC;aACb;iBAAM;gBACL,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aACtD;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,yBAAyB;IACzB,cAAc,CAAC,gBAAgB,EAAE,YAAY,EAAE,IAA8C;QAC3F,MAAM,GAAG,GAAG,kBAAkB,GAAG,gBAAgB,GAAG,WAAW,CAAC;QAChE,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,CAC7D,0DAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACV,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;gBACrB,OAAO,GAAG,CAAC;aACZ;iBAAM;gBACL,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aAC/C;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,4BAA4B;IAC5B,iBAAiB,CAAC,gBAAgB,EAAE,YAAY,EAAE,IAAiD;QACjG,MAAM,GAAG,GAAG,kBAAkB,GAAG,gBAAgB,GAAG,cAAc,CAAC;QACnE,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,CAC7D,0DAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACV,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;gBACrB,OAAO,GAAG,CAAC;aACZ;iBAAM;gBACL,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aAC/C;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,wBAAwB;IACxB,kBAAkB,CAAC,EAAU;QAC3B,MAAM,GAAG,GAAG,oBAAoB,EAAE,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAC9C,0DAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACV,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;gBACtB,MAAM,QAAQ,GAAG,GAAG,CAAC,IAA8B,CAAC;gBACpD,IAAI,QAAQ,CAAC,KAAK,EAAE;oBAClB,QAAQ,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBACpF,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;iBAClF;gBACD,OAAO,QAAQ,CAAC;aACjB;iBAAM;gBACL,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aACtD;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,iBAAiB,CAAC,SAAiB,EAAE,aAAqB;QACxD,MAAM,GAAG,GAAG,+BAA+B,aAAa,IAAI,SAAS,EAAE,CAAC;QACxE,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAC9C,0DAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACV,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;gBACrB,OAAO,GAAG,CAAC,IAAqB,CAAC;aAClC;iBAAM;gBACL,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aAC/C;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,qBAAqB,CAAC,EAAU,EAAE,KAAqB;QACrD,MAAM,GAAG,GAAG,oBAAoB,EAAE,UAAU,CAAC;QAC7C,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,CAC7D,0DAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACV,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;gBACrB,OAAO,GAAG,CAAC,IAAyB,CAAC;aACtC;iBAAM;gBACL,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aACtD;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,4BAA4B,CAAC,EAAU;QACrC,MAAM,GAAG,GAAG,kCAAkC,EAAE,EAAE,CAAC;QACnD,MAAM,YAAY,GAAG;YACnB,SAAS,EAAE,YAAY;YACvB,OAAO,EAAE,UAAU;SACpB,CAAC;QACF,MAAM,KAAK,GAAG,OAAO,CAAC;QACtB,MAAM,YAAY,GAAG,CAAC,qBAAqB,EAAE,WAAW,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,CAAC,oBAAoB,EAAE,eAAe,EAAE,YAAY,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;QACrG,MAAM,UAAU,GAAG,YAAY,CAAC;QAChC,MAAM,WAAW,GAAG,aAAa,CAAC;QAClC,MAAM,SAAS,GAAG,WAAW,CAAC;QAC9B,IAAI,uBAAuB,GAAG,KAAK,CAAC;QAEpC,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAC9C,0DAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACV,IAAI,yBAAyB,GAA+B,EAAE,CAAC;YAC/D,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;gBACrB,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC;gBAC5B,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBAC1B,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;oBACxE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;oBACnC,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;wBACpD,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;wBAC9C,MAAM,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;wBACvC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE;4BACtC,IAAI,YAAY,EAAE;gCAChB,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,mCAAM,CAAC,2EAAU,CAAC,oBAAoB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gCACxH,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,mCAAM,CAAC,2EAAU,CAAC,oBAAoB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gCACxH,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ;oCAChC,CAAC,CAAC,mCAAM,CAAC,2EAAU,CAAC,oBAAoB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;oCAClF,CAAC,CAAC,GAAG,CAAC;gCACR,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ;oCAChC,CAAC,CAAC,mCAAM,CAAC,2EAAU,CAAC,oBAAoB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;oCAClF,CAAC,CAAC,GAAG,CAAC;gCACR,yBAAyB,CAAC,IAAI,CAAC;oCAC7B,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC;oCAC3C,QAAQ,EAAE,OAAO;oCACjB,QAAQ,EAAE,OAAO;oCACjB,SAAS,EAAE,QAAQ;oCACnB,WAAW,EAAE,UAAU;iCACxB,CAAC,CAAC;gCACH,yBAAyB,CAAC,IAAI,CAAC;oCAC7B,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC;oCAC7C,QAAQ,EAAE,OAAO;oCACjB,QAAQ,EAAE,OAAO;oCACjB,SAAS,EAAE,QAAQ;oCACnB,WAAW,EAAE,UAAU;iCACxB,CAAC,CAAC;6BACJ;iCAAM,IAAI,GAAG,IAAI,KAAK,EAAE;gCACvB,uBAAuB,GAAG,IAAI,CAAC;gCAC/B,IAAI,IAAI,CAAC,uBAAuB,IAAI,OAAO,EAAE;oCAC3C,yBAAyB,CAAC,IAAI,CAAC;wCAC7B,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC;wCAC7C,QAAQ,EAAE,GAAG;wCACb,QAAQ,EAAE,SAAS,CAAC,QAAQ;wCAC5B,SAAS,EAAE,QAAQ;wCACnB,WAAW,EAAE,UAAU;qCACxB,CAAC,CAAC;iCACJ;qCAAM,IAAI,IAAI,CAAC,uBAAuB,IAAI,SAAS,EAAE;oCACpD,yBAAyB,CAAC,IAAI,CAAC;wCAC7B,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC;wCAC7C,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,iBAAiB,CAAC;wCAC7L,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,iBAAiB,CAAC;wCAC7L,SAAS,EAAE,QAAQ;wCACnB,WAAW,EAAE,UAAU;qCACxB,CAAC,CAAC;iCACJ;6BACF;iCAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE;gCAC7C,yBAAyB,CAAC,IAAI,CAAC;oCAC7B,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC;oCAC7C,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,gBAAgB,CAAC;oCAC/L,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,gBAAgB,CAAC;oCAC/L,SAAS,EAAE,QAAQ;oCACnB,WAAW,EAAE,UAAU;iCACxB,CAAC,CAAC;6BACJ;iCAAM,IAAI,UAAU,IAAI,GAAG,EAAE;gCAC5B,yBAAyB,CAAC,IAAI,CAAC;oCAC7B,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC;oCAC7C,QAAQ,EAAE,SAAS,CAAC,QAAQ;wCAC1B,CAAC,CAAC,uEAAkB,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC,WAAW;wCAC1G,CAAC,CAAC,GAAG;oCACP,QAAQ,EAAE,SAAS,CAAC,QAAQ;wCAC1B,CAAC,CAAC,uEAAkB,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC,WAAW;wCAC1G,CAAC,CAAC,GAAG;oCACP,SAAS,EAAE,QAAQ;oCACnB,WAAW,EAAE,UAAU;iCACxB,CAAC,CAAC;6BACJ;iCAAM,IAAI,SAAS,IAAI,GAAG,EAAE;gCAC3B,yBAAyB,CAAC,IAAI,CAAC;oCAC7B,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC;oCAC7C,QAAQ,EAAE,SAAS,CAAC,QAAQ;wCAC1B,CAAC,CAAC,uEAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC,WAAW;wCAC9F,CAAC,CAAC,GAAG;oCACP,QAAQ,EAAE,SAAS,CAAC,QAAQ;wCAC1B,CAAC,CAAC,uEAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC,WAAW;wCAC9F,CAAC,CAAC,GAAG;oCACP,SAAS,EAAE,QAAQ;oCACnB,WAAW,EAAE,UAAU;iCACxB,CAAC,CAAC;6BACJ;iCAAM,IAAI,WAAW,IAAI,GAAG,EAAE;gCAC7B,yBAAyB,CAAC,IAAI,CAAC;oCAC7B,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC;oCAC7C,QAAQ,EAAE,SAAS,CAAC,QAAQ;wCAC1B,CAAC,CAAC,uEAAkB,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC,WAAW;wCAC5G,CAAC,CAAC,GAAG;oCACP,QAAQ,EAAE,SAAS,CAAC,QAAQ;wCAC1B,CAAC,CAAC,uEAAkB,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC,WAAW;wCAC5G,CAAC,CAAC,GAAG;oCACP,SAAS,EAAE,QAAQ;oCACnB,WAAW,EAAE,UAAU;iCACxB,CAAC,CAAC;6BACJ;iCAAM;gCACL,yBAAyB,CAAC,IAAI,CAAC;oCAC7B,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC;oCAC7C,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG;oCACvD,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG;oCACvD,SAAS,EAAE,QAAQ;oCACnB,WAAW,EAAE,UAAU;iCACxB,CAAC,CAAC;6BACJ;yBACF;oBACH,CAAC,CAAC,CAAC;oBACH,IAAI,IAAI,CAAC,uBAAuB,IAAI,OAAO,IAAI,CAAC,uBAAuB,EAAE;wBACvE,yBAAyB,CAAC,IAAI,CAAC;4BAC7B,WAAW,EAAC,OAAO;4BACnB,QAAQ,EAAE,GAAG;4BACb,QAAQ,EAAE,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,iBAAiB,CAAC;4BAClE,SAAS,EAAE,QAAQ;4BACnB,WAAW,EAAE,UAAU;yBACxB,CAAC,CAAC;qBACJ;gBACH,CAAC,CAAC,CAAC;aACJ;YAED,OAAO,yBAAyB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpF,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,oBAAoB,CAAC,IAAgC;QACnD,MAAM,GAAG,GAAG,kBAAkB,CAAC;QAC/B,OAAO,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IACD,cAAc,CAAC,aAAqB,EAAE,YAAoB;QACxD,MAAM,GAAG,GAAG,gBAAgB,aAAa,QAAQ,CAAC;QAClD,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,CAC3E,0DAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACV,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;gBAAE,OAAO,IAAI,CAAC;YACpC,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,wBAAwB,CAAC,SAAS;QAChC,MAAM,GAAG,GAAG,mBAAmB,SAAS,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAC9C,0DAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACV,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;gBACtB,MAAM,QAAQ,GAAG,GAAG,CAAC,IAA6B,CAAC;gBACnD,IAAI,QAAQ,CAAC,QAAQ,EAAE;oBACrB,QAAQ,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBAC1F,QAAQ,CAAC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC3F;gBACD,IAAI,QAAQ,CAAC,WAAW,EAAE;oBACxB,QAAQ,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;oBAChG,QAAQ,CAAC,WAAW,CAAC,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;iBACpG;gBACD,IAAI,QAAQ,CAAC,QAAQ,EAAE;oBACrB,QAAQ,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBAC1F,QAAQ,CAAC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC3F;gBACD,OAAO,QAAQ,CAAC;aACjB;iBAAM;gBACL,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aACtD;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,iBAAiB,CAAC,EAAU,EAAE,IAAmB,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE;QACrE,MAAM,GAAG,GAAG,gCAAgC,yEAAa,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,KAAK,SAAS,IAAI,EAAE,CAAC;QACvG,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAC9C,0DAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACV,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;gBACtB,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU,EAA+B,CAAC;aAChG;iBAAM;gBACL,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aAC/C;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,iBAAiB,CAAC,aAAqB,EAAE,KAA0B;QACjE,MAAM,GAAG,GAAG,gBAAgB,aAAa,kBAAkB,CAAC;QAC5D,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,CAC5D,0DAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACV,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;gBACtB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;oBACvB,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,0CAA0C,CAAC;oBAC1F,IAAI,EAAE,kFAAW,CAAC,OAAO;iBAC1B,CAAC,CAAC;gBACH,OAAO,GAAG,CAAC,IAA6B,CAAC;aAC1C;iBAAM;gBACL,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aACtD;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,yBAAyB,CAAC,aAAqB,EAAE,KAA2B;QAC1E,MAAM,GAAG,GAAG,gBAAgB,aAAa,mBAAmB,CAAC;QAC7D,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,CAC5D,0DAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACV,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;gBACtB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;oBACvB,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,0CAA0C,CAAC;oBAC1F,IAAI,EAAE,kFAAW,CAAC,OAAO;iBAC1B,CAAC,CAAC;gBACH,OAAO,GAAG,CAAC,IAA8B,CAAC;aAC3C;iBAAM;gBACL,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aACtD;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IACO,WAAW,CAAC,KAAa;QAC/B,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAClC,CAAC;;8EApmBU,eAAe;kGAAf,eAAe,WAAf,eAAe,mBAFd,MAAM;;;;;;;;;;;;;AC/CpB;AAAA;AAAA;AAAA;AAAA;AAAmD;;;;ICCjD,qEAAiD;;;IAFnD,2EAAkD;IAChD,uDACA;IAAA,4HAAiD;IACnD,4DAAQ;;;IAFN,0DACA;IADA,wFACA;IAAwB,0DAAgB;IAAhB,mFAAgB;;;ADWnC,MAAM,sBAAsB;IAIjC;QAFS,eAAU,GAAY,KAAK,CAAC;IAErB,CAAC;IAEjB,QAAQ;IACR,CAAC;;4FAPU,sBAAsB;sGAAtB,sBAAsB,yKANtB,CAAC;gBACV,OAAO,EAAE,gEAAiB;gBAC1B,WAAW,EAAE,sBAAsB;gBACnC,KAAK,EAAE,IAAI;aACZ,CAAC;;QCXJ,sHAGQ;QACR,6DAAyB;;QAJjB,2EAAW;;;;;;;;;;;;;;ACAnB;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2F;AAClB;AACd;;;;ICYrD,0EAAiC;IAAC,uDAAS;IAAA,4DAAO;;;IAAhB,0DAAS;IAAT,uFAAS;;ADA1C,MAAM,iBAAiB;IAe5B;QARS,eAAU,GAAY,KAAK,CAAC;QAE5B,kBAAa,GAAW,sEAAqB,CAAC,UAAU,CAAC;QAC1D,aAAQ,GAAQ,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1B,YAAO,GAAQ,GAAG,EAAE,GAAG,CAAC,CAAC;QAEvB,iBAAY,GAA0B,IAAI,0DAAY,EAAE,CAAC;IAEnD,CAAC;IACjB,UAAU,CAAC,GAAY;QACrB,IAAI,GAAG,IAAI,IAAI;YACb,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;IACrB,CAAC;IACD,gBAAgB,CAAC,EAAO;QACtB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACrB,CAAC;IAED,iBAAiB,CAAC,EAAO;QACvB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,gBAAgB,CAAC,UAAmB;QAClC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,QAAQ,KAAW,CAAC;IAEpB,MAAM,CAAC,KAAY;QACjB,MAAM,MAAM,GAAG,KAAK,CAAC,MAA0B,CAAC;QAChD,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;;kFAxCU,iBAAiB;iGAAjB,iBAAiB,gYANjB,CAAC;gBACV,WAAW,EAAE,gEAAU,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC;gBAChD,OAAO,EAAE,gEAAiB;gBAC1B,KAAK,EAAE,IAAI;aACZ,CAAC;QCZJ,2EAAoG;QAAnC,8IAAS,wBAAwB,IAAC;QACjG,2EAIkC;QAA3B,gJAAU,kBAAc,IAAC;QAJhC,4DAIkC;QAClC,uEACsD;QACpD,qEAGqD;QACrD,uEAAM;QACJ,+DAA2B;QAC3B,+GAAkD;QACpD,4DAAO;QACT,4DAAO;QAET,4DAAQ;;QAlBwB,wFAAgC;QAEvD,0DAAiB;QAAjB,8EAAiB;QAIlB,0DAAmD;QAAnD,2GAAmD;QAGjD,0DAA2C;QAA3C,uGAA2C;QAI5C,0DAAmB;QAAnB,uEAAmB;QACF,0DAAW;QAAX,2EAAW;;;;;;;;;;;;;;ACbrC;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+C;AACI;AACF;;AAc1C,MAAM,UAAU;;yFAAV,UAAU;8IAAV,UAAU,kBARZ;YACP,4DAAY;SACb;mIAMU,UAAU,mBATN,+DAAY,EAAE,6DAAa,aAExC,4DAAY,aAGZ,+DAAY;QACZ,6DAAa;;;;;;;;;;;;;;;;;;ACPV,MAAM,aAAa;IAIxB;QAFS,iBAAY,GAAY,KAAK,CAAC;IAEvB,CAAC;IAEjB,QAAQ;IACR,CAAC;;0EAPU,aAAa;6FAAb,aAAa;;QCP1B,sEAAyE;QACrE,6DAAyB;QAC7B,4DAAM;;QAFD,uIAAmE;;;;;;;;;;;;;;ACAxE;AAAA;AAAA;AAAA;AAAiE;;;;;;;;;;;;;ACCjE;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6C;AACE;AACI;;AAW5C,MAAM,WAAW;;0FAAX,WAAW;gJAAX,WAAW,kBALb;YACP,4DAAY,EAAE,0DAAW;SAC1B;mIAGU,WAAW,mBANP,+DAAc,aAE3B,4DAAY,EAAE,0DAAW,aAEjB,+DAAc;;;;;;;;;;;;;ACZ1B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA8F;AACpB;AACA;;;;;;;;;ICepE,gFAMkB;;;;IAJhB,qJAAoC;;;;IAnB5C,yEAAwF;IAEtF,yFAIyC;IAAzC,+TAAe,+BAAwB,IAAC;IACxC,4DAAsB;IAEtB,yEAAgC;IAC9B,yEAAkD;IAAA,uDAAgF;IAAA,4DAAM;IAExI,gFAIC;IADC,wVAAsC;IAEtC,4IAMkB;IACpB,4DAAa;IACf,4DAAM;IACR,4DAAM;;;IAvBJ,0DAAiC;IAAjC,iGAAiC;IAOmB,0DAAgF;IAAhF,yKAAgF;IAGhI,0DAAyC;IAAzC,yGAAyC;IAKtB,0DAAc;IAAd,uFAAc;;ADLhC,MAAM,kBAAkB;IA8D7B,YAAoB,WAA0C;QAA1C,gBAAW,GAAX,WAAW,CAA+B;QA7D7C,mBAAc,GAAsB;YACnD,IAAI,EAAE,sEAAI,CAAC,IAAI;YACf,mBAAmB,EAAE,CAAC;YACtB,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,oEAAM,CAAC,IAAI;YAClB,UAAU,EAAE,KAAK;YACjB,SAAS,EAAE,YAAY;YACvB,WAAW,EAAE,EAAE;SAChB,CAAC;QACF,YAAO,qBAA0B,IAAI,CAAC,cAAc,EAAE;QAQ5C,gBAAW,GAAG,IAAI,0DAAY,EAAU,CAAC;QACzC,mBAAc,GAAG,IAAI,0DAAY,EAAU,CAAC;QAWtD,kBAAa,GAAkB;YAC7B,aAAa,EAAE,2EAAa,CAAC,QAAQ;YACrC,IAAI,EAAE,kEAAI,CAAC,EAAE;YACb,WAAW,EAAE,2BAA2B;SACzC,CAAC;QAEF,gBAAW,GAAwB;YACjC;gBACE,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,EAAE;gBACT,WAAW,EAAE,wBAAwB;aACtC;YACD;gBACE,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,EAAE;gBACT,WAAW,EAAE,wBAAwB;aACtC;YACD;gBACE,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,EAAE;gBACT,WAAW,EAAE,wBAAwB;aACtC;YACD;gBACE,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,EAAE;gBACT,WAAW,EAAE,wBAAwB;aACtC;SACF,CAAC;QAMA,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YAC/C,IAAI,CAAC,aAAa,GAAG,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,cAAc,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC;IAtDD,IACI,gBAAgB,CAAC,OAA0B;QAC7C,IAAI,CAAC,OAAO,mCAAO,IAAI,CAAC,cAAc,GAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;IAC9D,CAAC;IAMD,IAAI,kBAAkB;QACpB,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,CAAC,CAAC;IAC9E,CAAC;IAED,IAAI,aAAa;QACf,MAAM,aAAa,GAAW,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;QACzF,OAAO,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC;IACvG,CAAC;IAwCD,aAAa,CAAC,QAAgB;QAC5B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;IACnD,CAAC;;oFAtEU,kBAAkB;kGAAlB,kBAAkB;QCb/B,8GA0BM;;QA1B4B,wHAAoD;;;;;;;;;;;;;;ACAtF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuH;AAC9C;AACpB;AACS;;;;;ICF5D,kEAIwC;;;IAHrC,0FAA0B;;;IAF/B,2EAA+C;IAAA,uDAC7C;IAAA,mHAIwC;IACxC,4DAAQ;;;IANqC,0DAC7C;IAD6C,uFAC7C;IAAI,0DAAiB;IAAjB,oFAAiB;;;ADchB,MAAM,mBAAmB;IAgB9B;QATS,iBAAY,GAAU,0DAAK,CAAC,UAAU,CAAC;QAItC,iBAAY,GAAsB,IAAI,0DAAY,EAAE,CAAC;QAEvD,aAAQ,GAAQ,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1B,YAAO,GAAQ,GAAG,EAAE,GAAG,CAAC,CAAC;IAEjB,CAAC;IAEjB,QAAQ;IACR,CAAC;IACD,UAAU,CAAC,KAAU;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IACD,gBAAgB,CAAC,EAAO;QACtB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACrB,CAAC;IACD,iBAAiB,CAAC,EAAO;QACvB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;IACD,gBAAgB,CAAC,UAAmB;QAClC,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,EAAE;YAChC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,KAAqB,EAAE,EAAE;gBACrD,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;YAChC,CAAC,CAAC;SACH;IACH,CAAC;IACD,aAAa;QACX,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,EAAE;YAChC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,KAAqB,EAAE,EAAE;gBACrD,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC;YAC7C,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IACD,WAAW,CAAC,KAAU;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;;sFAlDU,mBAAmB;mGAAnB,mBAAmB;+EASb,0EAAc;;;;kUAfpB,CAAC;gBACV,WAAW,EAAE,mBAAmB;gBAChC,OAAO,EAAE,gEAAiB;gBAC1B,KAAK,EAAE,IAAI;aACZ,CAAC;;QCbJ,mHAMU;QACV,sEAAwC;QACtC,6DAAyB;QAC3B,4DAAM;;QATE,2EAAW;QAOd,0DAAkC;QAAlC,wGAAkC;;;;;;;;;;;;;;ACPvC;AAAA;AAAA;AAAA;AAAA;AAgBuB;AACgC;AACoB;;AAMpE,MAAM,gBAAgB;IAkB3B,YAAsB,UAAsB,EACxB,wBAAkD,EAClD,QAAkB,EAClB,MAAsB,EACtB,KAAwB;QAJtB,eAAU,GAAV,UAAU,CAAY;QACxB,6BAAwB,GAAxB,wBAAwB,CAA0B;QAClD,aAAQ,GAAR,QAAQ,CAAU;QAClB,WAAM,GAAN,MAAM,CAAgB;QACtB,UAAK,GAAL,KAAK,CAAmB;QApBnC,kBAAa,GAAG,EAAE,CAAC;QACnB,sBAAiB,GAAwB,0DAAU,CAAC,KAAK,CAAC;QAC1D,oBAAe,GAA2B,6DAAa,CAAC,GAAG,CAAC;QAG5D,iBAAY,GAA0B,4DAAY,CAAC,KAAK,CAAC;QACzD,sBAAiB,GAAG,KAAK,CAAC;QAC1B,mBAAc,GAAG,IAAI,CAAC;QAErB,aAAQ,GAAuB,IAAI,0DAAY,EAAE,CAAC;QAE5D,WAAM,GAAG,KAAK,CAAC;QACf,wBAAmB,GAAG,KAAK,CAAC;IAS5B,CAAC;IAED,WAAW;QACT,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,UAAU,EAAE;YAC9C,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,aAA4B,CAAC;YACxD,IAAI,IAAI,CAAC,iBAAiB,KAAK,0DAAU,CAAC,KAAK,EAAE;gBAC/C,EAAE,CAAC,gBAAgB,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBACrD,EAAE,CAAC,gBAAgB,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBACrD,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;aACjD;iBAAM;gBACL,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;oBAChC,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;wBACnD,IAAI,CAAC,IAAI,EAAE,CAAC;qBACb;yBAAM;wBACL,IAAI,CAAC,IAAI,EAAE,CAAC;wBACZ,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;qBAClC;gBACH,CAAC,CAAC,CAAC;aACJ;SACF;IACH,CAAC;IAED,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtB,MAAM,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,CAAC,mEAAgB,CAAC,CAAC;YACjG,IAAI,CAAC,YAAY,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC3D,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YACnD,MAAM,UAAU,GAAI,IAAI,CAAC,YAAY,CAAC,QAAiC,CAAC,SAAS,CAAC,CAAC,CAAgB,CAAC;YACpG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YACtC,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;SAC5B;IACH,CAAC;IAEO,uBAAuB;QAC7B,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC;YACrD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC;YAC3D,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC;YAC3D,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC;YAC3D,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;YACrD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC;SAC1D;IACH,CAAC;IAEO,iBAAiB;QACvB,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,aAA+B,CAAC;QAC3D,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAAC;QAChE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACpE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACpE,CAAC;IAEO,eAAe,CAAC,IAAY,EAAE,KAAa;QACjD,IAAI,IAAI,CAAC,eAAe,KAAK,6DAAa,CAAC,GAAG,IAAI,IAAI,CAAC,eAAe,KAAK,6DAAa,CAAC,MAAM,EAAE;YAC/F,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;SAClC;QACD,IAAI,IAAI,CAAC,eAAe,KAAK,6DAAa,CAAC,QAAQ,IAAI,IAAI,CAAC,eAAe,KAAK,6DAAa,CAAC,WAAW,EAAE;YACzG,OAAO,KAAK,CAAC;SACd;QACD,IAAI,IAAI,CAAC,eAAe,KAAK,6DAAa,CAAC,OAAO,IAAI,IAAI,CAAC,eAAe,KAAK,6DAAa,CAAC,UAAU,EAAE;YACvG,OAAO,IAAI,CAAC;SACb;QACD,IAAI,IAAI,CAAC,eAAe,KAAK,6DAAa,CAAC,IAAI,IAAI,IAAI,CAAC,eAAe,KAAK,6DAAa,CAAC,OAAO;eAC5F,IAAI,CAAC,eAAe,KAAK,6DAAa,CAAC,UAAU,EAAE;YACtD,OAAO,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC;SAClC;QACD,IAAI,IAAI,CAAC,eAAe,KAAK,6DAAa,CAAC,KAAK,IAAI,IAAI,CAAC,eAAe,KAAK,6DAAa,CAAC,QAAQ;YACjG,IAAI,CAAC,eAAe,KAAK,6DAAa,CAAC,WAAW,EAAE;YACpD,OAAO,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC;SACnC;IAEH,CAAC;IAEO,cAAc,CAAC,GAAW,EAAE,MAAc;QAChD,IAAI,IAAI,CAAC,eAAe,KAAK,6DAAa,CAAC,GAAG;YAC5C,IAAI,CAAC,eAAe,KAAK,6DAAa,CAAC,OAAO;YAC9C,IAAI,CAAC,eAAe,KAAK,6DAAa,CAAC,QAAQ,EAAE;YACjD,OAAO,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC;SACjC;QACD,IAAI,IAAI,CAAC,eAAe,KAAK,6DAAa,CAAC,MAAM;YAC/C,IAAI,CAAC,eAAe,KAAK,6DAAa,CAAC,UAAU;YACjD,IAAI,CAAC,eAAe,KAAK,6DAAa,CAAC,WAAW,EAAE;YACpD,OAAO,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC;SACpC;QACD,IAAI,IAAI,CAAC,eAAe,KAAK,6DAAa,CAAC,IAAI,IAAI,IAAI,CAAC,eAAe,KAAK,6DAAa,CAAC,KAAK;YAC7F,IAAI,CAAC,eAAe,KAAK,6DAAa,CAAC,OAAO,IAAI,IAAI,CAAC,eAAe,KAAK,6DAAa,CAAC,UAAU;YACnG,IAAI,CAAC,eAAe,KAAK,6DAAa,CAAC,QAAQ,IAAI,IAAI,CAAC,eAAe,KAAK,6DAAa,CAAC,WAAW,EAAE;YACvG,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;SACjC;IACH,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YACnD,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;SAC5B;IACH,CAAC;IAED,WAAW;QACT,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;;gFAjIU,gBAAgB;gGAAhB,gBAAgB;;;;;;;;;;;;;ACrB7B;AAAA;AAAA;AAAA;AAAgF;;;AAKzE,MAAM,YAAY;IACvB,YAAoB,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;IAAG,CAAC;IAEtD,IAAI,CAAC,OAAqB;QACxB,IAAG,OAAO,CAAC,OAAO,EAAE;YAClB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;SAC9B;aAAM;YACL,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;SAChC;IACH,CAAC;IAED,WAAW,CAAC,KAAa,EAAE,OAAgB,EAAE,MAAoB;QAC/D,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;YACvB,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,2EAAW,CAAC,OAAO;SAC1B,CAAC,CAAC;IACL,CAAC;IAAA,CAAC;IAEF,WAAW,CAAC,KAAa,EAAE,OAAgB,EAAE,MAAoB;QAC/D,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;YACvB,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,2EAAW,CAAC,OAAO;SAC1B,CAAC,CAAC;IACL,CAAC;IAAA,CAAC;IAEF,SAAS,CAAC,KAAa,EAAE,OAAgB,EAAE,MAAoB;QAC7D,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;YACvB,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,2EAAW,CAAC,KAAK;SACxB,CAAC,CAAC;IACL,CAAC;IAAA,CAAC;;wEA9BS,YAAY;+FAAZ,YAAY,WAAZ,YAAY,mBAFX,MAAM;;;;;;;;;;;;;ACNpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAoB;AACa;AACR;AAC+C;AAIjE,MAAM,UAAU;IAIb,MAAM,CAAC,0BAA0B,CAAC,WAAW;QACnD,MAAM,EAAE,GAAG,mCAAM,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,mCAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,mCAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,mCAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,mCAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,mCAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QAE5C,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC/D,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,GAAW;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,GAAG,GAAG,EAAE,CAAC;QAEzB,OAAO,GAAG,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC;IAC5F,CAAC;IAEC,MAAM,CAAC,+BAA+B,CAAC,UAAkB;QACzD,IAAI,CAAC,eAAe,GAAG,gFAAkB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,UAAU,CAAC,CAAC;QACtF,IAAI,cAA+B,CAAC;QACpC,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;YACpE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;YACzD,cAAc,GAAG;gBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,qBAAqB,EAAG,IAAI,CAAC,qBAAqB;gBAClD,6BAA6B,EAAG,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,QAAQ,CAAC;aAC/E;SACF;QAED,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,IAAU;QAC/B,MAAM,IAAI,GAAG,mCAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,yBAAyB,CAAC,IAAU,EAAE,MAAc;QACzD,MAAM,IAAI,GAAG,mCAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,IAAU;QAC9B,MAAM,KAAK,GAAG,mCAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,IAAY,EAAE,IAAY;QAC9C,MAAM,YAAY,GAAG,mCAAM,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,EAAE,oBAAoB,CAAC,CAAC,MAAM,EAAE,CAAC;QAC9E,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,IAAY;QACzB,MAAM,YAAY,GAAG,mCAAM,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC,MAAM,EAAE,CAAC;QACjE,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,gCAAgC,CAAC,IAAmB,EAAE,aAAqB,CAAC,EAAE,YAAqB;QACxG,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,UAAU,GAAG,CAAC,EAAE;YAClB,MAAM,eAAe,GAAG,IAAI,CAAC,+BAA+B,CAAC,UAAU,CAAC,CAAC;YACzE,UAAU,GAAG,yCAAS,CAAC,mCAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;SACvG;aACI;YACH,MAAM,QAAQ,GAAG,gFAAkB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1G,UAAU,GAAG,yCAAS,CAAC,mCAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;SACvF;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,oBAAoB,CAAC,IAAmB;QAC7C,OAAO,gDAAgB,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IACH,MAAM,CAAC,wBAAwB,CAAC,IAAmB,EAAE,UAAkB;QACnE,MAAM,eAAe,GAAG,IAAI,CAAC,+BAA+B,CAAC,UAAU,CAAC,CAAC;QACzE,MAAM,UAAU,GAAG,yCAAS,CAAC,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QACxF,OAAO,UAAU,CAAC;IACtB,CAAC;IACD,MAAM,CAAC,4BAA4B,CAAC,IAAmB,EAAE,QAAgB;QACvE,MAAM,UAAU,GAAG,gFAAkB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxG,MAAM,UAAU,GAAG,yCAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC1E,OAAO,UAAU,CAAC;IACtB,CAAC;IACC,MAAM,CAAC,oBAAoB,CAAC,aAAkB,EAAE,QAAe;QAC7D,iCAAiC;QACjC,IAAI,IAAI,CAAE;QACV,IAAI,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE;YACzC,IAAI,GAAG,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,aAAa,CAAC,WAAW,CAAC;SACvF;aAAM;YACL,IAAI,GAAG,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,aAAa,CAAC,WAAW,CAAC;SACxF;QACD,OAAO,QAAQ,GAAG;YAChB,EAAE,EAAG,aAAa,CAAC,EAAE;YACrB,IAAI,EAAE,IAAI;SACX;IACD,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,IAAmB,EAAE,EAAa,EAAE,oBAA6B;QAC3F,MAAM,KAAK,GAAG,mCAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,EAAE,EAAE;YACP,EAAE,GAAG,gFAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,KAAK,oBAAoB,CAAC,CAAC;SACxF;QACD,IAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE;YAC/B,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;SAAC;aACvF;YACL,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,GAAG,GAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;SAAC;IAChG,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,SAAiB,EAAE,OAAe;QACtD,OAAO,0CAAU,EAAE,CAAC,SAAS,CAAC,0CAAU,CAAC,SAAS,CAAC,EAAE,0CAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5E,CAAC;IAAA,CAAC;CACL;;;;;;;;;;;;;AC3HD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;AACP;AACoB;;;AAKxD,MAAM,oBAAoB;IAE/B,YAAoB,kBAAsC;QAAtC,uBAAkB,GAAlB,kBAAkB,CAAoB;IAAG,CAAC;IAE5D,SAAS,CAAC,KAAU,EAAE,MAAc;QAChC,MAAM,QAAQ,GAAG,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,6DAAU,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC,CAAC;QACzE,IAAI,MAAa,CAAC;QAClB,MAAM,aAAa,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACvD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,EAAE,iCAAiC;YAC9E,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,4EAAU,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,eAAe,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACjJ,OAAO,MAAM,CAAC;SACjB;aACI,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,EAAE,6BAA6B;YAC3D,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,4EAAU,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,eAAe,SAAS,EAAE,CAAC,CAAC,CAAC;YACvH,OAAO,MAAM,CAAC;SACjB;;YAEG,OAAO,aAAa,CAAC;IAC/B,CAAC;;wFAtBU,oBAAoB;0HAApB,oBAAoB;;;;;;;;;;;;;ACPjC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+D;AAK8B;AAmB7F,IAAY,uBAkBX;AAlBD,WAAY,uBAAuB;IACjC,gEAAqC;IACrC,4DAAiC;IACjC,0DAA+B;IAC/B,kDAAuB;IACvB,8CAAmB;IACnB,0CAAe;IACf,0CAAe;IACf,gDAAqB;IACrB,kDAAuB;IACvB,kDAAuB;IACvB,sDAA2B;IAC3B,8EAAmD;IACnD,4EAAiD;IACjD,8FAAmE;IACnE,4FAAiE;IACjE,4FAAiE;IACjE,0FAA+D;AACjE,CAAC,EAlBW,uBAAuB,KAAvB,uBAAuB,QAkBlC;AAEM,IAAI,MAAM,GAAwB;IACvC;QACE,OAAO,EAAE,uBAAuB;QAChC,KAAK,EAAE,8DAAS,CAAC,GAAG;KACrB;IACD;QACE,OAAO,EAAE,wBAAwB;QACjC,KAAK,EAAE,8DAAS,CAAC,IAAI;KACtB;CACF,CAAC;AAEK,IAAI,eAAe,GAAwB;IAChD;QACE,OAAO,EAAE,oBAAoB;QAC7B,KAAK,EAAE,8DAAS,CAAC,GAAG;KACrB;IACD;QACE,OAAO,EAAE,oBAAoB;QAC7B,KAAK,EAAE,8DAAS,CAAC,IAAI;KACtB;CACF,CAAC;AAEK,IAAI,SAAS,GAAwB;IAC1C;QACE,OAAO,EAAE,0BAA0B;QACnC,KAAK,EAAE,8DAAS,CAAC,IAAI;KACtB;IACD;QACE,OAAO,EAAE,4BAA4B;QACrC,KAAK,EAAE,8DAAS,CAAC,GAAG;KACrB;CACF,CAAC;AAEK,IAAI,QAAQ,GAAgE;IACjF;QACE,OAAO,EAAE,yBAAyB;QAClC,KAAK,EAAE,uBAAuB,CAAC,gBAAgB;QAC/C,UAAU,EAAE,eAAe;KAC5B;IACD;QACE,OAAO,EAAE,uBAAuB;QAChC,KAAK,EAAE,uBAAuB,CAAC,SAAS;QACxC,UAAU,EAAE,SAAS;KACtB;IACD;QACE,OAAO,EAAE,4BAA4B;QACrC,KAAK,EAAE,uBAAuB,CAAC,uBAAuB;QACtD,UAAU,EAAE,eAAe;KAC5B;IACD;QACE,OAAO,EAAE,sBAAsB;QAC/B,KAAK,EAAE,uBAAuB,CAAC,QAAQ;QACvC,UAAU,EAAE,eAAe;KAC5B;IACD;QACE,OAAO,EAAE,mBAAmB;QAC5B,KAAK,EAAE,uBAAuB,CAAC,KAAK;QACpC,UAAU,EAAE,MAAM;KACnB;IACD;QACE,OAAO,EAAE,kBAAkB;QAC3B,KAAK,EAAE,uBAAuB,CAAC,SAAS;QACxC,UAAU,EAAE,eAAe;KAC5B;IACD;QACE,OAAO,EAAE,yBAAyB;QAClC,KAAK,EAAE,uBAAuB,CAAC,SAAS;QACxC,UAAU,EAAE,eAAe;KAC5B;IACD;QACE,OAAO,EAAE,+BAA+B;QACxC,KAAK,EAAE,uBAAuB,CAAC,+BAA+B;QAC9D,UAAU,EAAE,eAAe;KAC5B;IACD;QACE,OAAO,EAAE,+BAA+B;QACxC,KAAK,EAAE,uBAAuB,CAAC,8BAA8B;QAC7D,UAAU,EAAE,eAAe;KAC5B;IACD;QACE,OAAO,EAAE,2BAA2B;QACpC,KAAK,EAAE,uBAAuB,CAAC,WAAW;QAC1C,UAAU,EAAE,eAAe;KAC5B;CACF,CAAC;AAEK,MAAM,wBAAwB,GAAkB;IACrD,IAAI,EAAE,4FAAU,CAAC,SAAS;CAC1B,CAAC;AACI,MAAM,sBAAsB,GAAkB;IACnD,IAAI,EAAE,4FAAU,CAAC,WAAW;CAC7B,CAAC;;;;;;;;;;;;;ACzIF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuH;AACvE;AAG0D;AAErE;AACqC;;;;;;;;;;;ICc9D,mEAAuH;;IAA3D,+EAA2B;;;IAI3F,mEAKK;;;IAHH,oKAAsD;;;;IAV1D,yEAAwE;IACtE,yEAAqE;IAAxB,kXAAuB;IAClE,oEAAG;IACD,uDACA;IAAA,uIAAuH;IACzH,4DAAI;IACJ,oEAAG;IAAA,uDAAiD;IAAA,4DAAI;IAC1D,4DAAM;IACN,uIAKK;IACP,4DAAM;;;;IAbC,0DAAuC;IAAvC,8FAAuC;IAExC,0DACA;IADA,0KACA;IAA0C,0DAAgB;IAAhB,mFAAgB;IAEzD,0DAAiD;IAAjD,6KAAiD;IAMnD,0DAA0B;IAA1B,yFAA0B;;;IAIjC,0EAAmF;IACjF,uDACF;;IAAA,4DAAM;;IADJ,0DACF;IADE,8KACF;;;IApBF,yEAAsE;IACpE,yEAAyB;IACvB,oIAcM;;IACR,4DAAM;IACN,oIAEM;;IACR,4DAAM;;;IAnB8C,0DAAsB;IAAtB,wJAAsB;IAgB1C,0DAAmD;IAAnD,oLAAmD;;;IAInF,0EAAmD;IACjD,uDACF;;IAAA,4DAAM;;IADJ,0DACF;IADE,2KACF;;;IAxBA,8HAqBM;;IACN,8HAEM;;;IAxB4B,4JAAkC;IAsBtC,0DAAmB;IAAnB,sFAAmB;;;;IAM/C,8EAMC;IAHC,sWAAqB;IAIvB,4DAAU;;;;IALR,6EAAoB;;;IAJ1B,0EAAqD;IACnD,2EAAU;IACR,+HAOU;IACZ,4DAAW;IACb,4DAAM;;;IARiB,0DAAU;IAAV,iFAAU;;AD9B1B,MAAM,oBAAqB,SAAQ,+GAA0B;IAsDlE,YAAoB,WAAwB,EAAsB,SAAoB,EAAU,KAAwB;QACtH,KAAK,EAAE,CAAC;QADU,gBAAW,GAAX,WAAW,CAAa;QAAsB,cAAS,GAAT,SAAS,CAAW;QAAU,UAAK,GAAL,KAAK,CAAmB;QArD/G,gBAAW,GAAW,0CAA0C,CAAC;QACjE,cAAS,GAAY,IAAI,CAAC;QAC1B,aAAQ,GAAY,KAAK,CAAC;QAC1B,eAAU,GAAG,KAAK,CAAC;QACnB,UAAK,GAAW,EAAE,CAAC;QACnB,iBAAY,GAAG,EAAE,CAAC;QAClB,gBAAW,GAAW,EAAE,CAAC;QAmBzB,gBAAW,GAAY,IAAI,CAAC;QAC5B,eAAU,GAAY,KAAK,CAAC;QAKrC,aAAQ,GAAoB,IAAI,4CAAO,EAAE,CAAC;QAC1C,gBAAW,GAAmE,IAAI,oDAAe,CAAC,EAAE,CAAC,CAAC;QACtG,UAAK,GAAwB,EAAE,CAAC;QAChC,kBAAa,GAAW,EAAE,CAAC,CAAC,2CAA2C;QACvE,kBAAa,GAAY,KAAK,CAAC;QAUrB,aAAQ,GAAsC,IAAI,0DAAY,EAAE,CAAC;QACjE,UAAK,GAAuB,IAAI,0DAAY,EAAE,CAAC;QAC/C,iBAAY,GAAyB,IAAI,0DAAY,EAAE,CAAC;QAQhE,SAAS,IAAI,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAChD,CAAC;IAhDD,IACI,YAAY,CAAC,KAA0B;QACzC,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACnB,IAAI,KAAK,CAAC,MAAM,EAAE;oBAChB,IAAI,CAAC,KAAK,GAAG;wBACX,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;wBAClB,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;qBACpD,CAAC;iBACH;qBAAM;oBACL,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;iBACnB;aACF;YACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACpB;IACH,CAAC;IAeD,IAAI,OAAO;QACT,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;SACrD;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAMD,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IACxD,CAAC;IAOD,aAAa;QACX,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;SAC5B;IACH,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,UAAU,CAAC,KAA0B;QACnC,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACnB,IAAI,KAAK,CAAC,MAAM,EAAE;oBAChB,IAAI,CAAC,KAAK,GAAG;wBACX,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;wBAClB,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;qBACpD,CAAC;iBACH;qBAAM;oBACL,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;iBACnB;aACF;YACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACpB;IACH,CAAC;IAED,gBAAgB,CAAC,UAAmB;QAClC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;IAC7B,CAAC;IAEO,WAAW;QACjB,IAAI,CAAC,QAAQ;aACV,IAAI,CACH,0DAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACR,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC,CAAC,CACH;aACA,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;YACnB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,IAAI,CAAC,WAAW,EAAE;gBACpB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,uFAAkB,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAiB,EAAE,EAAE;oBAC7G,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;oBACvB,IAAI,CAAC,aAAa,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;oBAChD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;oBACnC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAChC,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,uFAAkB,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAiB,EAAE,EAAE;oBAC9G,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;oBACvB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;oBACnC,IAAI,CAAC,aAAa,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;oBAChD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAChC,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,SAAS,CAAC,GAAiB;QACjC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACnB,uCACK,CAAC,KACJ,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAChG;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,IAAgB;QACrB,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,KAAK,GAAG;gBACX,GAAG,IAAI,CAAC,KAAK;gBACb;oBACE,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,EAAE,EAAE,IAAI,CAAC,EAAE;oBACX,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;iBACxB;aACF,CAAC;SACH;aAAM;YACL,IAAI,CAAC,KAAK,GAAG;gBACX;oBACE,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,EAAE,EAAE,IAAI,CAAC,EAAE;oBACX,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;iBACxB;aACF,CAAC;SACH;QACD,IAAI,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACxC,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB,IAAI,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;SAC9E;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;SAC5B;IACH,CAAC;IACO,eAAe;QACrB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC7B,CAAC;IACD,SAAS;QACP,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5C,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;SACnB;IACH,CAAC;;wFA9LU,oBAAoB;oGAApB,oBAAoB;QCdjC,gFAaC;QATC,kKAAe,yBAAqB,IAAC,sGAGrB,eAAW,IAHU;;;QAStC,4DAAa;QACd,4MA0Bc;QACd,gHAWM;;;QAnDJ,0JAAuC;QAwCnC,0DAAgC;QAAhC,gIAAgC;;ADsK/B,MAAM,iBAAiB;CAU7B;;;;;;;;;;;;;AEzND;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0G;AACT;AAGvB;AACA;;;;;;;;;;;;;;;;ICGR,2EACoB;IAAA,uDAAS;IAAA,4DAAO;;;IAAhB,0DAAS;IAAT,6EAAS;;;;IAazE,qEAAiE;IAC/D,mFAC8E;IAAhE,uaAA8C;IAAmB,4DAAe;IAChG,4DAAK;;;IAFwC,0DAAyB;IAAzB,+FAAyB;IAAtD,qHAA4B;;;IAS1C,qEAA6D;IAC3D,2EAAiF;IACnF,4DAAK;;;IADQ,0DAAkB;IAAlB,+EAAkB;;;;IAInC,iFAI+D;IADnD,6WAA2B;;IACwB,4DAAa;;IAFhE,0EAAiB;;;;IAX/B,0EAAyE;IACvE,4EAA6B;IAAA,uDAA6B;IAAA,4DAAQ;IAClE,sFAA+E;IAA9D,0XAAqC;IACpD,yEAA4C;IAC1C,4IAEK;IACP,4DAAK;IACP,4DAAkB;IAClB,6JAI4E;IAC9E,4DAAM;;;IAdgD,kFAAkB;IACzC,0DAA6B;IAA7B,iGAA6B;IAEpD,0DAA0B;IAA1B,8EAA0B;IACN,0DAAqC;IAArC,8GAAqC;IAKlD,0DAA+B;IAA/B,kGAA+B;;;IAQlD,0EAAqE;IAAA,gEAAI;IAAA,4DAAM;;;IA5BjF,sEAA2D;IACzD,0EAA0B;IACxB,0EAA4B;IAC1B,yFAA8C;IAC5C,yEAAyC;IACvC,sIAGK;IACP,4DAAK;IACP,4DAAqB;IACrB,yIAcM;IACR,4DAAM;IACR,4DAAM;IACN,yIAA+E;IACjF,4DAAM;;;;;IA1BoB,0DAAyB;IAAzB,8FAAyB;IAC1B,0DAAuB;IAAvB,4EAAuB;IACd,0DAA0B;IAA1B,8FAA0B;IAMhD,0DAA8C;IAA9C,oHAA8C;IAiBlD,0DAAqC;IAArC,6GAAqC;;;IA1CnD,wEAAsE;IACpE,wEAA8C;IAC5C,wEAAmD;IACjD,yEAAuC;IACrC,wEAAO;IACL,uDAAkD;;IAAA,mIACoC;IACxF,4DAAQ;IACV,4DAAM;IACR,4DAAK;IACP,4DAAK;IAEL,2EAA6B;IAC3B,yEAA+C;IAC7C,mIA6BM;IACR,4DAAK;IACP,4DAAK;IACP,qEAAe;;;;IA7CH,0DAAmC;IAAnC,8EAAmC;IACnB,0DAA0B;IAA1B,0FAA0B;IAG5C,0DAAkD;IAAlD,8KAAkD;IACO,0DAAW;IAAX,8EAAW;IAQlD,0DAAkB;IAAlB,0FAAkB;;ADA7C,MAAM,sBAAsB;IAejC;QAdA,oBAAe,GAAG,CAAC,CAAC,CAAC;QACZ,OAAE,GAAG,EAAE,CAAC;QACP,kBAAa,GAAsC,IAAI,0DAAY,EAAE,CAAC;QAChF,mBAAc,GAAoB,EAAE,CAAC;QAErC,SAAI,GAAG,IAAI,wDAAS,CAAC;YACnB,KAAK,EAAE,IAAI,0DAAW,EAAE;SACzB,CAAC,CAAC;QAEH,aAAQ,GAAQ,GAAG,EAAE;QACrB,CAAC;QACD,YAAO,GAAQ,GAAG,EAAE;QACpB,CAAC;IAEe,CAAC;IAEjB,QAAQ;QACN,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;QAC5B,uFAAkB,CAAC,+BAA+B,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACjE,IAAI,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,kFAAyB,CAAC,aAAa;gBAC5D,IAAI,CAAC,cAAc,CAAC,IAAI,CACtB;oBACE,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI;oBAC3B,UAAU,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE;oBAC3B,iBAAiB,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,+BAA+B,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAsB;iBAC9G,CACF,CAAC;;gBAEF,IAAI,CAAC,gBAAgB,GAAG;oBACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI;oBAC3B,UAAU,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE;oBAC3B,iBAAiB,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,+BAA+B,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAsB;iBAC9G;QACL,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,UAAU,CAAC,IAAI,EAAE,EAAE;QACjB,IAAI,cAAc,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACf,cAAc,CAAC,IAAI,CAAC;gBAClB,KAAK,EAAE,CAAC,CAAC,WAAW;gBACpB,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE;gBACnB,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK;aAClE,CAAC;QACJ,CAAC,CAAC;QACF,IAAI,cAAc,EAAE;YAClB,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE;gBAC7B,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBACtF,IAAI,aAAa,CAAC,MAAM,EAAE;oBACxB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBACxD;aACF;YACD,OAAO,cAAc,CAAC;SACvB;IAEH,CAAC;IACD,UAAU,CAAC,KAAK,EAAE,KAAK;QACrB,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SAC5B;aACI;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC3D,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;SACzB;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC;IAED,YAAY,CAAC,KAAK;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClG,IAAI,MAAM,CAAC,MAAM,EAAE;YACjB,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;SACvE;QACD,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC;IACD,UAAU,CAAC,KAAU,IAAI,CAAC;IAE1B,gBAAgB,CAAC,EAAO;QACtB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACrB,CAAC;IACD,iBAAiB,CAAC,EAAO;QACvB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;IACD,aAAa;QACX,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClG,IAAI,MAAM,CAAC,MAAM,EAAE;YACjB,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;SACvE;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC;;4FA9FU,sBAAsB;sGAAtB,sBAAsB,sLANtB,CAAC;gBACV,OAAO,EAAE,gEAAiB;gBAC1B,WAAW,EAAE,gEAAU,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC;gBACrD,KAAK,EAAE,IAAI;aACZ,CAAC;QCfJ,wEAAc;QACZ,2EAAgB;QACd,2EAAgB;QACd,qIA8Ce;QACjB,4DAAQ;QACV,4DAAQ;QACV,qEAAe;;QAjDsB,0DAAoB;QAApB,wFAAoB;;;;;;;;;;;;;;ACHzD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkH;;;;;;;;ICG7G,uEAAmB;IAAA,kEAA+C;IAAA,4DAAO;;;IAA5B,0DAAgB;IAAhB,gFAAgB;;;IAC7D,0EAAoG;IAAA,uDAAW;IAAA,4DAAO;;;IAA9F,8FAA8B;IAA8C,0DAAW;IAAX,+EAAW;;;IAClH,uEAAuB;IAAA,2EAA6C;IAAA,4DAAO;;;IAAvC,0DAAkB;IAAlB,kFAAkB;;;;IAJxD,yEAC2E;IAAzB,uTAAwB;IACrE,uHAAyE;IACzE,uHAAsH;IACzH,uHAA2E;IAC7E,4DAAM;;;IALsB,gHAAuC;IAAC,wFAA6B;IAErF,0DAAU;IAAV,6EAAU;IACV,0DAAe;IAAf,kFAAe;IAClB,0DAAc;IAAd,iFAAc;;;IAMvB,2EAAqD;IAAA,uDAAW;IAAA,4DAAO;;;IAAjD,8FAA8B;IAAC,0DAAW;IAAX,+EAAW;;;IAChE,uEAAoB;IAAA,uDAAS;IAAA,4DAAO;;;IAAhB,0DAAS;IAAT,6EAAS;;;;IAJ7B,yEACwE;IAAzB,0TAAwB;IACvE,6DAAyB;IACzB,wHAAuE;IACvE,uHAAoC;IACpC,4DAAM;;;IALsD,wFAA6B;IAGlF,0DAAa;IAAb,gFAAa;IACb,0DAAW;IAAX,8EAAW;;;;IAGlB,0EACgD;IAC9C,mFAA2H;IAAzC,+VAAuC;IAAE,4DAAe;IAC5I,4DAAM;;;IAHqD,wFAA6B;IAEtE,0DAAoB;IAApB,oFAAoB;;;ADT/B,MAAM,mBAAmB;IAmB5B,YACsB,MAAuB;QAAvB,WAAM,GAAN,MAAM,CAAiB;QAjBtC,eAAU,GAAY,KAAK,CAAC;QAG5B,aAAQ,GAAS,KAAK,CAAC;QACvB,mBAAc,GAAW,KAAK,CAAC;QAC/B,aAAQ,GAAG,KAAK,CAAC;QAEjB,kBAAa,GAAW,KAAK,CAAC;QAI9B,cAAS,GAAW,KAAK,CAAC;QAE1B,2BAAsB,GAAS,KAAK,CAAC;QACpC,kBAAa,GAAsB,IAAI,0DAAY,EAAE,CAAC;IAI3D,CAAC;IACN,WAAW;QACT,IAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,EAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAC,IAAI,CAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAAC;IACvE,CAAC;IACD,UAAU,CAAC,GAAQ;IAEnB,CAAC;IACD,gBAAgB,CAAC,EAAY,IAAS,CAAC;IAEvC,iBAAiB,CAAC,EAAY,IAAS,CAAC;IACxC,gBAAgB,CAAE,UAAmB,IAAS,CAAC;IACtC,QAAQ,KAAU,CAAC;IAE1B,YAAY,CAAC,KAAU;QACrB,IAAG,CAAC,IAAI,CAAC,aAAa,EAAC;YACrB,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAC,IAAI,CAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAChE;QACD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IACrD,CAAC;IAED,cAAc,CAAC,KAAK;QAClB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;IAChC,CAAC;;sFA5CQ,mBAAmB;mGAAnB,mBAAmB;;QCPhC,gHAKM;QAEN,+GAKM;QAEN,+GAGM;;QAjBA,oFAAoB;QAOpB,0DAA4B;QAA5B,gGAA4B;QAO5B,0DAA2B;QAA3B,+FAA2B;;;;;;;;;;;;;;ACdjC;AAAA;AAAA;AAAA;AAAA;AAA+C;AACL;;AAOnC,MAAM,gBAAgB;;+FAAhB,gBAAgB;0JAAhB,gBAAgB,kBAHlB,CAAC,4DAAY,CAAC;mIAGZ,gBAAgB,mBAJZ,sDAAS,aACd,4DAAY,aACZ,sDAAS;;;;;;;;;;;;;;;;;;;ACCd,MAAM,qBAAqB;IAEhC,gBAAgB,CAAC;IAEjB,QAAQ;IACR,CAAC;;0FALU,qBAAqB;qGAArB,qBAAqB;QCRlC,yEAAmC;QACjC,yEAA2B;QACzB,oEAA8C;QAC9C,uEAAiB;QAAA,uDAA4C;;QAAA,4DAAI;QACjE,uEAAqB;QACnB,uEAAM;QAAA,uDAA6C;;QAAA,4DAAO;QAC1D,wEAAM;QAAA,wDAA8C;;QAAA,4DAAO;QAC7D,4DAAI;QACN,4DAAM;QACR,4DAAM;;QANe,0DAA4C;QAA5C,4JAA4C;QAErD,0DAA6C;QAA7C,+JAA6C;QAC7C,0DAA8C;QAA9C,iKAA8C;;;;;;;;;;;;;;ACN1D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyG;AACT;AAC/D;;;;;;;ICD/B,mEAAwG;;;IAGpG,mEACqF;;;IACrF,mEACoF;;;IAWlF,uEAAmF;IAAC,uDAAyC;;IAAA,4DAAO;;IAAhD,0DAAyC;IAAzC,mKAAyC;;;IAC7H,uEAAkF;IAAC,uDAA2C;;IAAA,4DAAO;;IAAlD,0DAA2C;IAA3C,qKAA2C;;;IAiB1H,mEAAiF;;;IAZvF,0EAAmH;IACjH,0EAAkB;IAChB,uEAAM;IAAA,uDAAsD;;IAAA,4DAAO;IACnE,uEAAM;IAAA,uDAA+C;IAAA,4DAAO;IAC9D,4DAAM;IACN,0EAAkB;IAChB,uEAAM;IAAA,uDAA2C;;IAAA,4DAAO;IACxD,wEAAM;IAAA,wDAA6C;IAAA,4DAAO;IAC5D,4DAAM;IACN,2EAAkB;IAChB,wEAAM;IAAA,wDAA4C;;IAAA,4DAAO;IACzD,uEAAK;IACH,2HAAiF;IACjF,4EAA4E;IAAA,wDAAgC;IAAA,4DAAO;IACrH,4DAAM;IACR,4DAAM;IACR,4DAAM;;;IAdI,0DAAsD;IAAtD,sKAAsD;IACtD,0DAA+C;IAA/C,mHAA+C;IAG/C,0DAA2C;IAA3C,sKAA2C;IAC3C,0DAA6C;IAA7C,iHAA6C;IAG7C,0DAA4C;IAA5C,8JAA4C;IAE5C,0DAAsC;IAAtC,yGAAsC;IACpC,0DAAqE;IAArE,qIAAqE;IAAC,0DAAgC;IAAhC,oGAAgC;;;;;IAItH,0EAA+F;IAC7F,wEAAuH;IAAC,uDAA8C;;IAAA,4DAAI;IAC1K,wEAA4G;IAAzG,+VAAoD;IAAsD,uDAAmD;;IAAA,4DAAI;IACtK,4DAAM;;;IAFkD,0DAAgE;IAAhE,4HAAgE;IAAnH,8IAAkD;IAAmE,0DAA8C;IAA9C,wKAA8C;IAC9G,0DAAmD;IAAnD,+GAAmD;IAAE,0DAAmD;IAAnD,6KAAmD;;ADjC7J,MAAM,yBAAyB;IAIpC,YAAoB,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QAFlC,yBAAoB,GAAG,wEAAoB,CAAC;QAClC,WAAM,GAAyB,IAAI,0DAAY,EAAE,CAAC;IACtB,CAAC;IAEvC,QAAQ;IACR,CAAC;IACD,WAAW,CAAC,OAAsB;QAChC,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;QACjC,IAAI,YAAY,IAAI,YAAY,CAAC,YAAY,EAAE;YAC7C,IAAI,CAAC,YAAY,mCACZ,IAAI,CAAC,YAAY,KACpB,UAAU,EAAE,gDAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,GACzF;SACF;IACH,CAAC;IACD,4BAA4B,CAAC,YAAsC;QACjE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,+BAA+B,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;IAC9G,CAAC;;kGAnBU,yBAAyB;yGAAzB,yBAAyB;QCVtC,yEAAkC;QAChC,uIAAwG;QACxG,yEAAgC;QAC9B,yEAAkB;QAChB,iHACqF;QACrF,iHACoF;QACpF,uEAAM;QAAA,uDAAyB;QAAA,4DAAO;QACxC,4DAAM;QACN,yEAAmB;QACjB,uEAAmG;QAAvC,4IAAS,oCAA4B,IAAC;QAAC,4DAAI;QACzG,4DAAM;QACR,4DAAM;QACN,0EAAuC;QACrC,0EAAmB;QACjB,yEAAqB;QAAA,wDAAgC;QAAA,4DAAI;QACzD,qEAAG;QACD,yHAAoI;QACpI,yHAAqI;QACrI,wEAAM;QAAA,wDAA2D;;QAAA,4DAAO;QAC1E,4DAAI;QACN,4DAAM;QACN,yEAAc;QACZ,0HAgBM;QACV,yHAGM;QACN,qEAAe;QACb,4DAAM;QACV,4DAAM;;QA9CW,0DAAwE;QAAxE,8IAAwE;QAI/E,0DAA0E;QAA1E,yNAA0E;QAE1E,0DAAyE;QAAzE,wNAAyE;QACvE,0DAAyB;QAAzB,2HAAyB;QAGE,0DAA0B;QAA1B,8EAA0B;QAKtC,0DAAgC;QAAhC,wKAAgC;QAE5C,0DAA0E;QAA1E,yNAA0E;QAC1E,0DAAyE;QAAzE,wNAAyE;QAC1E,0DAA2D;QAA3D,uLAA2D;QAI3B,0DAAyE;QAAzE,wNAAyE;QAiBjG,0DAAyE;QAAzE,wNAAyE;;;;;;;;;;;;;;ACxC/F;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkE;AACnB;AACU;;AAalD,MAAM,cAAc;;6FAAd,cAAc;sJAAd,cAAc,kBAPhB;YACP,4DAAY;YACZ,0DAAW;YACX,kEAAmB;SACpB;mIAGU,cAAc,mBARV,qEAAiB,aAE9B,4DAAY;QACZ,0DAAW;QACX,kEAAmB,aAEZ,qEAAiB;;;;;;;;;;;;;ACb5B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAqD;AACyE;AAGpD;AACH;AAEN;;;;;;;;;;ICIvD,mEAA4D;;;;IAF9D,yEAA2G;IAA3B,kWAA0B;IACxG,uEAAM;IAAA,uDAAe;IAAA,4DAAO;IAC5B,yHAA4D;IAC9D,4DAAK;;;;IAH4B,4GAA8C;IACvE,0DAAe;IAAf,6EAAe;IACjB,0DAAsB;IAAtB,qFAAsB;;;;IALlC,yEAAwD;IACtD,yEAA0B;IACxB,qEAAI;IACF,qHAGK;IACP,4DAAK;IACL,yEAAmC;IACjC,iEAAW;IACb,4DAAM;IACN,0EAAgE;IAA9B,8TAA6B;IAAC,uDAAsC;;IAAA,4DAAM;IAC9G,4DAAM;IACR,4DAAM;;;IAVqB,0DAAU;IAAV,mFAAU;IAQ+B,0DAAsC;IAAtC,wJAAsC;;;ADHrG,MAAM,qBAAsB,SAAQ,4EAAa;IAKtD,YACU,6BAA4D,EAC5D,kBAAsC,EACtC,MAAc,EACd,wBAAkD;QAE1D,KAAK,EAAE,CAAC;QALA,kCAA6B,GAA7B,6BAA6B,CAA+B;QAC5D,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,WAAM,GAAN,MAAM,CAAQ;QACd,6BAAwB,GAAxB,wBAAwB,CAA0B;QAR5D,WAAM,GAAG,KAAK,CAAC;QACf,YAAO,GAAkB,EAAE,CAAC;QAU1B,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,IAAI,CAAC,gEAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YACvF,IAAG,GAAG,EAAE;gBACN,IAAI,CAAC,6BAA6B,CAAC,YAAY,CAAC,IAAI,CAAC,gEAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE;oBACvG,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,WAAW,CAAC,MAAM,CAAC,CAAC;oBACxF,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACtH,uDAAuD;oBACvD,uFAAkB,CAAC,8BAA8B,GAAG,uFAAkB,CAAC,SAAS,CAAC;gBACnF,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC;IAEJ,CAAC;IACD,iBAAiB;QACf,MAAM,CAAC,IAAI,CAAC,IAAI,mEAAY,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC9D,CAAC;IACD,cAAc,CAAC,KAAiB;QAC9B,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED,UAAU,CAAC,IAAiB;QAC1B,IAAI,CAAC,kBAAkB;aACpB,OAAO,CAA8C,SAAS,IAAI,CAAC,EAAE,EAAE,CAAC;aACxE,IAAI,CACH,gEAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EACxB,0DAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YACf,OAAO,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACvE,CAAC,CAAC,CACH;aACA,SAAS,CAAC,CAAC,QAA6B,EAAE,EAAE;YAC3C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,MAAM,IAAI,GAAS;gBACjB,cAAc,EAAG,IAAI,CAAC,EAAE;gBACxB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;aAC5B;YACD,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,4GAAsB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;YACzF,IAAI,CAAC,6BAA6B,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3D,IAAI,CAAC,6BAA6B,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;IACP,CAAC;IACD,0BAA0B,CAAC,OAAO;QAChC,IAAI,QAAQ,GAAG,EAAE;QACjB,OAAO,CAAC,OAAO,CAAC,CAAC,GAAE;YACjB,QAAQ,CAAC,IAAI,CAAC,GAAG,uFAAkB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAClF,CAAC,CAAC;QACF,IAAG,QAAQ,EAAC;YACV,uFAAkB,CAAC,8BAA8B,GAAG,QAAQ;SAC7D;IACH,CAAC;;0FA5DU,qBAAqB;qGAArB,qBAAqB;QCflC,yEAA+F;QAApE,gJAAS,0BAAsB,IAAC,mHAA6B,KAAK,IAAlC;QACzD,yEAAkC;QAChC,0EAAuB;QAAA,uDAAwB;QAAA,4DAAO;QACxD,4DAAM;QACN,0EAAsF;QACpF,kEAAqD;QACvD,4DAAO;QACP,iHAaM;QACR,4DAAM;;QAnBqB,0DAAwB;QAAxB,wHAAwB;QAEd,0DAAkD;QAAlD,sJAAkD;QAG3C,0DAAY;QAAZ,4EAAY;;;;;;;;;;;;;;ACPxD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAqH;AAC5C;AAGL;AAExC;AAE0C;;;;;;;;;;;;ICN7B,0EAA0C;IAAC,6DAAC;IAAA,4DAAO;;;;IACnF,4EAA6D;IAAlB,qTAAiB;IAAC,uDAAW;IAAA,4DAAQ;;;IAAnB,0DAAW;IAAX,6EAAW;;;;IAgBzE,0EAA2D;IACzD,mFAMC;IADC,8WAAoC;;IAEtC,4DAAe;IACjB,4DAAM;;;IANF,0DAAkD;IAAlD,gKAAkD;;;;IASpD,mFAOC;IADC,iYAAwC;IAE1C,4DAAe;;;IANb,iHAAoB;;;;IAOtB,0EAA2G;IACzG,mFAIsD;IAFxC,gaAA4C;IAG1D,4DAAe;IACjB,4DAAM;;;;IAP0C,uHAA0D;IAC1F,0DAAoB;IAApB,qFAAoB;;;IAZtC,sEAAqB;IACrB,qFAAoB;IAClB,yJAQe;IACf,uIAOM;IACR,4DAAqB;IACvB,4DAAM;;;IAjBC,0DAAoB;IAApB,uFAAoB;IAQD,0DAAO;IAAP,gFAAO;;;;IAe3B,mFAOC;IADC,gfAAiD;IAEnD,4DAAe;;;;IANb,iHAAoB;;;;IAOtB,0EAA6H;IAC3H,mFAIsD;IAFxC,+gBAAsD;;IAGpE,4DAAe;IACjB,4DAAM;;;;IAP4D,uHAA0D;IAI5G,0DAA4C;IAA5C,6LAA4C;IAH5C,qFAAoB;;;IAdxC,0EAAuD;IACrD,sEAAK;IAAA,uEAAM;IAAA,uDAAe;IAAA,4DAAO;IAAA,4DAAM;IACvC,sEAAK;IACL,qFAAoB;IAClB,+JAQe;IACf,6IAOM;IACR,4DAAqB;IACvB,4DAAM;IACN,4DAAM;;;;IAtBO,0DAAe;IAAf,gFAAe;IAIrB,0DAAoB;IAApB,wFAAoB;IAQD,0DAAyB;IAAzB,uGAAyB;;;IAdrD,sEAAoB;IAClB,uIAuBM;IACR,4DAAM;;;IAxBwC,0DAAS;IAAT,kFAAS;;;IAlCzD,wEAA6B;IAC3B,0EAA0B;IACxB,iIASM;IACN,gIAoBI;IACN,gIAyBM;IACN,4DAAM;IACR,qEAAe;;;IA1DwB,0DAAsB;IAAtB,yFAAsB;IAUnD,0DAAa;IAAb,gFAAa;IAqBf,0DAAY;IAAZ,+EAAY;;;IA4BpB,yEAAiH;IAAA,uDAA8B;;IAAA,4DAAM;;;IAA/D,8EAA0B;IAAC,0DAA8B;IAA9B,qJAA8B;;;;IAI7I,8EAMG;IAFD,wWAAsB,KAAK,oCAAyB;;IAEnD,4DAAU;;;;IAJX,0FAAyB;;;;IAO3B,4EAAqE;IAA3B,sUAAoB,KAAK,IAAC;IAAC,uDAAwC;;IAAA,4DAAQ;;IAAhD,0DAAwC;IAAxC,wJAAwC;;;;IAC7G,4EAAqE;IAA1B,sUAAoB,IAAI,IAAC;IAAC,uDAAwC;;IAAA,4DAAQ;;IAAhD,0DAAwC;IAAxC,wJAAwC;;;IAF/G,sEAA0C;IACxC,kIAAqH;IACrH,kIAAqH;IACvH,4DAAM;;;IAFsB,0DAAc;IAAd,kFAAc;IACd,0DAAe;IAAf,mFAAe;;;IAZ7C,sEAA0C;IACxC,2EAAU;IACR,gIAMa;;IACf,4DAAW;IACX,uHAGM;IACR,4DAAM;;;IAXiB,0DAA4B;IAA5B,mKAA4B;IAO3C,0DAAkC;IAAlC,4GAAkC;;ADtErC,MAAM,oBAAoB;IAmD/B,YAAoB,kBAAqC;QAArC,uBAAkB,GAAlB,kBAAkB,CAAmB;QAlDhD,SAAI,GAAsB,EAAE,CAAC;QAC7B,mBAAc,GAAY,IAAI,CAAC;QAC/B,iBAAY,GAAW,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;QAChF,cAAS,GAAY,IAAI,CAAC;QAC1B,aAAQ,GAAY,KAAK,CAAC;QAC1B,eAAU,GAAY,KAAK,CAAC;QAE5B,qBAAgB,GAAY,KAAK,CAAC;QAElC,gBAAW,GAAW,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;QAClF,iBAAY,GAAW,EAAE,CAAC;QAC1B,eAAU,GAAY,KAAK,CAAC;QAC5B,kBAAa,GAAW,CAAC,CAAC;QAG1B,0BAAqB,GAAS,IAAI,CAAC;QAG5C,aAAQ,GAAY,KAAK,CAAC;QAC1B,QAAG,GAAoB,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;QACpD,WAAM,GAAY,KAAK,CAAC;QACxB,iBAAY,GAAkB;YAC5B,IAAI,EAAE,mEAAU,CAAC,OAAO;SACzB;QACD,eAAU,GAAG,oEAAM,CAAC,IAAI,CAAC;QACzB,UAAK,GAAsB,EAAE,CAAC;QACpB,kBAAa,GAAsC,IAAI,0DAAY,EAAE,CAAC;QACtE,mBAAc,GAA0B,IAAI,0DAAY,EAAE,CAAC;QACrE,iBAAY,GAAsB,EAAE,CAAC;QAiBrC,aAAQ,GAAQ,GAAG,EAAE;QACrB,CAAC;QACD,YAAO,GAAQ,GAAG,EAAE;QACpB,CAAC;IAE4D,CAAC;IArB9D,IAAI,IAAI;QACN,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC,EAAE;YAC9C,OAAO,IAAI,CAAC,WAAW,CAAC;SACzB;aACI,IAAI,IAAI,CAAC,IAAI;YAChB,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,iCAAiC,CAAC,EAAE,CAAC;QAC3N,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,oBAAoB,CAAC,EAAE,CAAC;IAC1E,CAAC;IACD,IAAI,KAAK;QACP,IAAI,IAAI,CAAC,QAAQ;YACf,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC9B,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IACD,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IAQD,QAAQ;IACR,CAAC;IACD,WAAW,CAAC,OAAsB;QAChC,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;QACvC,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE;YAC7B,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;QACD,IAAG,IAAI,CAAC,KAAK,EAAC;YACZ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC7B;QACD,IAAI,YAAY,IAAI,YAAY,CAAC,YAAY;YAC3C,IAAI,CAAC,GAAG,mCAAQ,IAAI,CAAC,GAAG,KAAE,KAAK,EAAE,YAAY,CAAC,YAAY,GAAE,CAAC;QAC7D,IAAI,CAAC,YAAY,GAAG,gDAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACvD,CAAC;IACD,UAAU,CAAC,GAAwB;QACjC,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;gBAC3B,IAAI,GAAG,EAAE;oBACP,IAAG,IAAI,CAAC,MAAM,EAAC;wBACb,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;4BACpB,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAkB,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;wBAC5F,CAAC,CAAC,CAAC;qBACJ;yBACG;wBACF,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;4BACpB,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAkB,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;wBACrF,CAAC,CAAC,CAAC;qBACJ;oBACD,IAAI,CAAC,eAAe,EAAE,CAAC;oBACvB,0BAA0B;oBAC1B,IAAI,CAAC,WAAW,EAAE,CAAC;iBACpB;aACF;QACH,CAAC,CAAC;IACJ,CAAC;IAEO,gBAAgB;QACtB,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACtG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACxC,CAAC;IACO,eAAe,CAAC,OAAe;QACrC,IAAG,OAAO,EAAC;YACT,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC;YAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,OAAO,CAAC;YACzD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KACrB,YAAY,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAC7D,kBAAkB,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAC3G;SACF;QAED,IAAI,CAAC,GAAG,mCACH,IAAI,CAAC,GAAG,KACX,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAC1D,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GACxG;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACtG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC9B,CAAC;IACD,eAAe,CAAC,KAAc,EAAG,OAAe;QAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;QAEf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC5B,uCACK,CAAC,KACJ,SAAS,EAAC,OAAO,EAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,IACxE;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,CAAC,gBAAgB,EAAE;QACvB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IACO,WAAW;QACjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7D,CAAC;IACD,UAAU,CAAC,KAAc,EAAE,EAAU,EAAG,OAAe;QACrD,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAG,OAAO,EAAC;YACT,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBAC5B,uCACK,CAAC,KACJ,SAAS,EAAE,EAAE,KAAK,CAAC,CAAC,EAAE,IAAI,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,IACtE;YACH,CAAC,CAAC,CAAC;SACJ;aACG;YACJ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBAC5B,uCACK,CAAC,KACJ,SAAS,EAAE,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,IAC7C;YACH,CAAC,CAAC,CAAC;SAAC;QACJ,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,CAAC,gBAAgB,EAAE;QACvB,IAAI,CAAC,WAAW,EAAE,CAAC;IAErB,CAAC;IACD,gBAAgB,CAAC,EAAO;QACtB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACrB,CAAC;IACD,iBAAiB,CAAC,EAAO;QACvB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;IACD,WAAW,CAAC,IAAI;QACd,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,KAAK;QACJ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;QAC9B,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,gBAAgB,EAAE;QACvB,IAAI,CAAC,WAAW,EAAE,CAAC;IACpB,CAAC;IAED,YAAY,CAAC,EAAE;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,YAAY;QACV,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC,EAAE;YAC9C,OAAO,IAAI,CAAC;SACb;IACH,CAAC;;wFAjLU,oBAAoB;oGAApB,oBAAoB,sqBANpB,CAAC;gBACV,OAAO,EAAE,gEAAiB;gBAC1B,WAAW,EAAE,gEAAU,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC;gBACnD,KAAK,EAAE,IAAI;aACZ,CAAC;QClBJ,yEAAqF;QAAnC,0KAA4B,KAAK,IAAC;QAClF,yEAAoB;QAClB,sEAAK;QAAA,2EAAqB;QAAA,uDAAW;QAAA,kHAAmD;QAAA,4DAAQ;QAAA,4DAAM;QACtG,sEAAK;QAAA,oHAAgF;QAAA,4DAAM;QAC7F,4DAAM;QAEN,yEAA8B;QAC5B,gFAQG;QAFD,gLAA4B;QAE3B,4DACF;QACD,oIA4De;QACf,kHAAqJ;QACvJ,4DAAM;QACN,kHAcM;QACR,4DAAM;;QA7FwB,0DAAW;QAAX,0EAAW;QAAO,0DAAgB;QAAhB,gFAAgB;QAC/C,0DAAW;QAAX,2EAAW;QAQtB,0DAA8E;QAA9E,8IAA8E;QAH9E,uFAA0B;QASb,0DAAY;QAAZ,4EAAY;QA6DJ,0DAA6D;QAA7D,qIAA6D;QAEhF,0DAAkC;QAAlC,sGAAkC;;;;;;;;;;;;;;AC9E1C;AAAA;AAAA;AAAA;AAAuG;;AAIhG,MAAM,YAAY;;AACd,wBAAW,GAAG;IACjB,WAAW,EAAE,YAAY;IACzB,IAAI,EAAE,YAAY;IAClB,KAAK,EAAE,YAAY;IACnB,IAAI,EAAE,qBAAqB;IAC3B,KAAK,EAAE,qBAAqB;IAC5B,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,SAAS;IAChB,eAAe,EAAE,UAAU;CAC9B,CAAC;AAEG,6BAAgB,GAAqB;IAC1C,KAAK,EAAE,oEAAM,CAAC,IAAI;IAClB,IAAI,EAAE,kEAAI,CAAC,EAAE;IACb,YAAY,EAAE,KAAK;IACnB,aAAa,EAAE,2EAAa,CAAC,QAAQ;IACrC,eAAe,EAAE,2EAAa,CAAC,UAAU;IACzC,aAAa,EAAE,CAAC;IAChB,UAAU,EAAE,wEAAU,CAAC,QAAQ;CAChC,CAAC;AAEK,yBAAY,GAAiB;IAClC,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,eAAe;IACzB,WAAW,EAAE,KAAK;IAClB,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,YAAY,CAAC,gBAAgB,CAAC,KAAK;CAC3C,CAAC;wEA5BS,YAAY;+FAAZ,YAAY,WAAZ,YAAY;;;;;;;;;;;;;ACLzB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAmC;AAE0B;AAQU;;;;;AAShE,MAAM,mBAAmB;IAE9B,YAAoB,kBAAsC,EAAU,cAA4B,EAAU,cAA8B;QAApH,uBAAkB,GAAlB,kBAAkB,CAAoB;QAAU,mBAAc,GAAd,cAAc,CAAc;QAAU,mBAAc,GAAd,cAAc,CAAgB;QAKhI,uBAAkB,GAAG,IAAI,oDAAe,CAAqB,IAAI,CAAC,CAAC;QAC3E,wBAAmB,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;IAL7D,CAAC;IAOD,cAAc,CAAC,EAAU,EAAE,QAAgB,EAAE,EAAE,WAAW,GAAG,IAAI,EAAE,SAAS,GAAG,IAAI;QACjF,IAAI,GAAG,GAAG,gBAAgB,EAAE,EAAE,CAAC;QAC/B,IAAI,KAAK,EAAE;YACT,GAAG,IAAI,4BAA4B,KAAK,EAAE,CAAC;SAC5C;QACD,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,IAAI,CAC3D,0DAAG,CAAC,GAAG,CAAC,EAAE;YACR,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;gBACtB,MAAM,QAAQ,GAAG,GAAG,CAAC,IAA0B,CAAC;gBAChD,IAAI,QAAQ,CAAC,KAAK,EAAE;oBAClB,QAAQ,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBACpF,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;iBAClF;gBACD,IAAI,QAAQ,CAAC,cAAc,EAAE;oBAC3B,QAAQ,CAAC,cAAc,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;oBACtG,QAAQ,CAAC,cAAc,CAAC,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC7G;gBACD,IAAI,QAAQ,CAAC,UAAU,EAAE;oBACvB,QAAQ,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;oBAC9F,QAAQ,CAAC,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;iBACjG;gBACD,OAAO,QAAQ,CAAC;aACjB;iBAAM;gBACL,IAAI,SAAS;oBACX,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;;oBAErD,OAAO,IAAI,CAAC;aACf;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,mBAAmB,CAAC,aAAqB,EAAE,KAA6B;QACtE,MAAM,GAAG,GAAG,eAAe,aAAa,mBAAmB,CAAC;QAC5D,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CACtD,0DAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACV,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;gBACtB,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAgC,CAAC;gBACtD,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBACzB,IAAI,CAAC,CAAC,cAAc,EAAE;wBACpB,IAAI,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE;4BAC7B,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC;gCACvG,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;yBACpH;wBACD,IAAI,CAAC,CAAC,cAAc,CAAC,WAAW,EAAE;4BAChC,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC;gCAC7G,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,QAAQ,GAAG,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;yBAC7H;qBACF;oBACD,IAAI,CAAC,CAAC,YAAY,EAAE;wBAClB,IAAI,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE;4BAC7B,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC;gCACvG,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,GAAG,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;yBACpH;qBACF;gBACH,CAAC,CAAC;gBACF,IAAI,QAAQ,CAAC,qBAAqB,IAAI,QAAQ,CAAC,qBAAqB,CAAC,uBAAuB,EAAE;oBAC5F,QAAQ,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;wBACnE,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC;4BACvD,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;oBAC7C,CAAC,CAAC;iBACH;gBACD,OAAO,QAAQ,CAAC;aACjB;iBAAM;gBACL,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aACtD;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,2BAA2B,CAAC,aAAqB,EAAE,YAAoB,EAAE,oBAA6B,KAAK;QACzG,MAAM,GAAG,GAAG,gBAAgB,aAAa,aAAa,CAAC;QACvD,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,EAAE,iBAAiB,EAAE,KAAK,CAAC;aACtF,IAAI,CACH,0DAAG,CAAC,GAAG,CAAC,EAAE;YACR,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;gBACtB,OAAO,IAAI,CAAC;aACb;iBAAM;gBACL,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aAC/C;QACH,CAAC,CAAC,CACH,CAAC;IACN,CAAC;IAED,uBAAuB,CAAC,aAAqB,EAAE,KAA4B;QACzE,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;QACf,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC;QAClB,KAAK,CAAC,QAAQ,GAAG,sFAAgB,CAAC,sFAAgB,CAAC,aAAa,CAAC,CAAC;QAClE,MAAM,GAAG,GAAG,eAAe,aAAa,mBAAmB,CAAC;QAC5D,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC;aACtD,IAAI,CAAC,0DAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAChB,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;gBACtB,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAgC,CAAC;gBACtD,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBACzB,IAAI,CAAC,CAAC,cAAc,EAAE;wBACpB,IAAI,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE;4BAC7B,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC;gCACvG,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;yBACpH;wBACD,IAAI,CAAC,CAAC,cAAc,CAAC,WAAW,EAAE;4BAChC,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC;gCAC7G,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,QAAQ,GAAG,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;yBAC7H;qBACF;oBACD,IAAI,CAAC,CAAC,YAAY,EAAE;wBAClB,IAAI,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE;4BAC7B,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC;gCACvG,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,GAAG,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;yBACpH;qBACF;gBACH,CAAC,CAAC;gBACF,IAAI,QAAQ,CAAC,qBAAqB,IAAI,QAAQ,CAAC,qBAAqB,CAAC,uBAAuB,EAAE;oBAC5F,QAAQ,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;wBACnE,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC;4BACvD,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;oBAC7C,CAAC,CAAC;iBACH;gBACD,OAAO,QAAQ,CAAC;aACjB;iBACI;gBACH,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aACtD;QACH,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,uIAAuI;IACvI,qEAAqE;IACrE,4FAA4F;IAE5F,kGAAkG;IAClG,8BAA8B;IAC9B,+BAA+B;IAC/B,2CAA2C;IAC3C,0DAA0D;IAC1D,wBAAwB;IACxB,cAAc;IACd,gCAAgC;IAChC,gCAAgC;IAChC,gCAAgC;IAChC,mCAAmC;IACnC,mEAAmE;IACnE,aAAa;IACb,gDAAgD;IAChD,iDAAiD;IACjD,eAAe;IACf,+EAA+E;IAC/E,WAAW;IACX,SAAS;IACT,6CAA6C;IAC7C,oHAAoH;IACpH,UAAU;IACV,OAAO;IACP,QAAQ;IACR,GAAG;IAGH,WAAW,CAAC,MAAc,EAAE,aAAqB,EAAE,IAAe;QAChE,MAAM,GAAG,GAAG,SAAS,MAAM,iBAAiB,aAAa,OAAO,CAAC;QACjE,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC;aACtD,IAAI,CAAC,0DAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAChB,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;gBACrB,OAAO,GAAG,CAAC,IAAI,CAAC;aACjB;iBAAM;gBACL,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,CAClC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAC3G,CAAC;aACH;QACH,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAGD,WAAW,CAAC,MAAc,EAAE,aAAqB,EAAE,IAAe;QAChE,MAAM,GAAG,GAAG,SAAS,MAAM,iBAAiB,aAAa,OAAO,CAAC;QACjE,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACzE,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;gBACrB,OAAO,GAAG,CAAC,IAAI,CAAC;aACjB;iBAAM;gBACL,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,CAClC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAC3G,CAAC;aACH;QACH,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAGD,iBAAiB,CAAC,EAAU,EAAE,IAAS,EAAE,KAAc;QACrD,IAAI,GAAG,GAAG,SAAS,EAAE,eAAe,CAAC;QACrC,IAAI,KAAK,EAAE;YACT,GAAG,IAAI,4BAA4B,KAAK,EAAE,CAAC;SAC5C;QACD,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,CACxE,0DAAG,CAAC,GAAG,CAAC,EAAE;YACR,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;gBACtB,OAAO,GAAG,CAAC,IAAiC,CAAC;aAC9C;iBAAM;gBACL,MAAM,uDAAU,CAAC,GAAG,CAAC,CAAC;aACvB;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,aAAqB,EAAE,oBAA4C,EAAE,KAAa;QAChG,MAAM,GAAG,GAAG,gBAAgB,aAAa,4BAA4B,KAAK,EAAE,CAAC;QAC7E,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,oBAAoB,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,CAAC,GAAQ,EAAE,EAAE;YAC5F,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;gBACtB,MAAM,kBAAkB,GAAG,GAAG,CAAC,IAA0B,CAAC;gBAC1D,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBACjD,OAAO,GAAG,CAAC;aACZ;iBAAM;gBACL,IAAI,CAAC,cAAc,CAAC,SAAS,CAC3B,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAC3G,CAAC;gBACF,MAAM,uDAAU,CAAC,GAAG,CAAC,CAAC;aACvB;QACH,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,eAAe,CAAC,aAAqB,EAAE,iBAAoC;QACzE,MAAM,GAAG,GAAG,gBAAgB,aAAa,gBAAgB,CAAC;QAC1D,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,GAAG,CAAC,EAAE;YACzF,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;YAC3B,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;gBACrB,OAAO,GAAG,CAAC,IAAsB,CAAC;aACnC;iBAAM;gBACL,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;gBAC9C,OAAO,IAAI,CAAC;aACb;QACH,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,qBAAqB,CAAC,kBAAsC;QAC1D,IAAI,kBAAkB,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK;YAC5C,OAAO,IAAI,CAAC;aACT,IAAI,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,MAAM,CAAC;YAC9E,OAAO,IAAI,CAAC;aACT,IAAI,kBAAkB,CAAC,cAAc,IAAI,IAAI,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,GAAG,IAAI,IAAI,EAAE;YACpG,OAAO,IAAI,CAAC;;YAEZ,OAAO,KAAK,CAAC;IACjB,CAAC;;sFAzPU,mBAAmB;sGAAnB,mBAAmB,WAAnB,mBAAmB,mBAFlB,MAAM;;;;;;;;;;;;;ACgBpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAY,gBAOX;AAPD,WAAY,gBAAgB;IAC1B,2CAAsB;IACtB,2DAAsC;IACtC,mDAA+B;IAC/B,iCAAW;IACX,yDAAoC;IACpC,6DAAyC;AAC3C,CAAC,EAPW,gBAAgB,KAAhB,gBAAgB,QAO3B;AAED,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,gCAAiB;IACjB,8BAAe;IACf,4BAAa;IACb,0BAAW;AACb,CAAC,EALW,WAAW,KAAX,WAAW,QAKtB;AAEM,MAAM,cAAc;IACzB;QACE,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;IAC5B,CAAC;CAGF;AAEM,MAAM,iBAAiB;IAC5B;QACE,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;IAC7C,CAAC;CAGF;AAEM,MAAM,kBAAkB;IAC7B;QACE,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACrB,CAAC;CAKF;;;;;;;;;;;;;AC5ED;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAY,QAYX;AAZD,WAAY,QAAQ;IAClB,yBAAa;IACb,+BAAmB;IACnB,iCAAqB;IACrB,6BAAiB;IACjB,2CAA+B;IAC/B,uCAA2B;IAC3B,uCAA2B;IAC3B,iDAAqC;IACrC,uCAA2B;IAC3B,iCAAqB;IACrB,uCAA2B;AAC7B,CAAC,EAZW,QAAQ,KAAR,QAAQ,QAYnB;AACD,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC/B,wDAA+B;IAC/B,8CAAqB;IACrB,sCAAa;IACb,8CAAqB;AACvB,CAAC,EALW,qBAAqB,KAArB,qBAAqB,QAKhC;AACD,IAAY,mBAQX;AARD,WAAY,mBAAmB;IAC7B,oEAA6C;IAC7C,0DAAmC;IACnC,oEAA6C;IAC7C,gEAAyC;IACzC,sDAA+B;IAC/B,oEAA6C;IAC7C,oEAA6C;AAC/C,CAAC,EARW,mBAAmB,KAAnB,mBAAmB,QAQ9B;AACD,IAAY,mBAMX;AAND,WAAY,mBAAmB;IAC7B,sDAA+B;IAC/B,8CAAuB;IACvB,kDAA2B;IAC3B,0DAAmC;IACnC,wDAAiC;AACnC,CAAC,EANW,mBAAmB,KAAnB,mBAAmB,QAM9B;AACD,IAAY,wBAQX;AARD,WAAY,wBAAwB;IAClC,yCAAa;IACb,yDAA6B;IAC7B,6CAAiB;IACjB,yEAA6C;IAC7C,2DAA+B;IAC/B,2EAA+C;IAC/C,yEAA6C;AAC/C,CAAC,EARW,wBAAwB,KAAxB,wBAAwB,QAQnC;AACD,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,4CAAqB;IACrB,4CAAqB;IACrB,sDAA+B;AACjC,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,QAI9B;AAED,IAAY,kBASX;AATD,WAAY,kBAAkB;IAC5B,mCAAa;IACb,6CAAuB;IACvB,yCAAmB;IACnB,2CAAqB;IACrB,6CAAuB;IACvB,6CAAuB;IACvB,yCAAmB;IACnB,uCAAiB;AACnB,CAAC,EATW,kBAAkB,KAAlB,kBAAkB,QAS7B;AAED,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC9B,6CAAqB;IACrB,6CAAqB;AACvB,CAAC,EAHW,oBAAoB,KAApB,oBAAoB,QAG/B;AA2DD,IAAY,sBAOX;AAPD,WAAY,sBAAsB;IAChC,iDAAuB;IACvB,+CAAqB;IACrB,+CAAqB;IACrB,iDAAuB;IACvB,mEAAyC;IACzC,oDAA0B;AAC5B,CAAC,EAPW,sBAAsB,KAAtB,sBAAsB,QAOjC;AAEM,MAAM,mBAAmB;IAC9B,YACS,SAAiB,EAAE,EACnB,WAAmB,EAAE,EACrB,cAAuB,KAAK,EAC5B,WAAoB,IAAI;IAC/B,uCAAuC;IAChC,WAA2B,EAAE,EAC7B,SAAyB,EAAE,EAC3B,eAAwB,IAAI,EAC5B,iBAAyB,gBAAgB,EACzC,WAAmB,CAAC,EACpB,gBAA2C,IAAI,yBAAyB,EAAE,EAC1E,cAAuC,IAAI,uBAAuB,EAAE,EACpE,cAAuC,IAAI,uBAAuB,EAAE,EACpE,cAAuC,IAAI,uBAAuB,EAAE,EACpE,mBAAiD,IAAI,4BAA4B,EAAE,EACnF,WAA0B,EAAE;QAf5B,WAAM,GAAN,MAAM,CAAa;QACnB,aAAQ,GAAR,QAAQ,CAAa;QACrB,gBAAW,GAAX,WAAW,CAAiB;QAC5B,aAAQ,GAAR,QAAQ,CAAgB;QAExB,aAAQ,GAAR,QAAQ,CAAqB;QAC7B,WAAM,GAAN,MAAM,CAAqB;QAC3B,iBAAY,GAAZ,YAAY,CAAgB;QAC5B,mBAAc,GAAd,cAAc,CAA2B;QACzC,aAAQ,GAAR,QAAQ,CAAY;QACpB,kBAAa,GAAb,aAAa,CAA6D;QAC1E,gBAAW,GAAX,WAAW,CAAyD;QACpE,gBAAW,GAAX,WAAW,CAAyD;QACpE,gBAAW,GAAX,WAAW,CAAyD;QACpE,qBAAgB,GAAhB,gBAAgB,CAAmE;QACnF,aAAQ,GAAR,QAAQ,CAAoB;IAClC,CAAC;CACL;AAEM,MAAM,yBAAyB;IACpC,YAAmB,gBAAgC,EAAE,EAAS,WAAmB,cAAc,EAAS,OAAO,EAAE;QAA9F,kBAAa,GAAb,aAAa,CAAqB;QAAS,aAAQ,GAAR,QAAQ,CAAyB;QAAS,SAAI,GAAJ,IAAI,CAAK;IAAG,CAAC;CACtH;AAEM,MAAM,uBAAuB;IAClC,YAAmB,WAA2B,YAAY,EAAQ,gBAAgC,EAAE,EAAS,WAAmB,cAAc;QAA3H,aAAQ,GAAR,QAAQ,CAA+B;QAAQ,kBAAa,GAAb,aAAa,CAAqB;QAAS,aAAQ,GAAR,QAAQ,CAAyB;IAAG,CAAC;CACnJ;AAEM,MAAM,uBAAuB;IAClC,YACS,uBAAuC,YAAY,EACnD,uBAAuC,YAAY,EACnD,kBAAkC,wBAAwB,EAC1D,sBAAsC,YAAY,EAClD,iBAAiC,sBAAsB,EACvD,8BAA8C,sBAAsB;IAC3E,wDAAwD;IACjD,mCAAmD,YAAY;QAP/D,yBAAoB,GAApB,oBAAoB,CAA+B;QACnD,yBAAoB,GAApB,oBAAoB,CAA+B;QACnD,oBAAe,GAAf,eAAe,CAA2C;QAC1D,wBAAmB,GAAnB,mBAAmB,CAA+B;QAClD,mBAAc,GAAd,cAAc,CAAyC;QACvD,gCAA2B,GAA3B,2BAA2B,CAAyC;QAEpE,qCAAgC,GAAhC,gCAAgC,CAA+B;IACrE,CAAC;CACL;AACM,MAAM,uBAAuB;IAClC,YACS,gBAAgC,YAAY,EAC5C,YAA4B,YAAY,EACxC,cAA8B,YAAY,EAC1C,SAAyB,0BAA0B,EACnD,iBAAiC,eAAe;QAJhD,kBAAa,GAAb,aAAa,CAA+B;QAC5C,cAAS,GAAT,SAAS,CAA+B;QACxC,gBAAW,GAAX,WAAW,CAA+B;QAC1C,WAAM,GAAN,MAAM,CAA6C;QACnD,mBAAc,GAAd,cAAc,CAAkC;IACtD,CAAC;CACL;AAEM,MAAM,4BAA4B;IACvC,YACS,eAA+B,YAAY,EAC3C,wBAAwC,YAAY,EACpD,iBAAiC,oBAAoB,EACrD,uBAAuC,YAAY,EACnD,gBAAgC,4BAA4B,EAC5D,wBAAiC,KAAK,EACtC,uBAAgC,KAAK;QANrC,iBAAY,GAAZ,YAAY,CAA+B;QAC3C,0BAAqB,GAArB,qBAAqB,CAA+B;QACpD,mBAAc,GAAd,cAAc,CAAuC;QACrD,yBAAoB,GAApB,oBAAoB,CAA+B;QACnD,kBAAa,GAAb,aAAa,CAA+C;QAC5D,0BAAqB,GAArB,qBAAqB,CAAiB;QACtC,yBAAoB,GAApB,oBAAoB,CAAiB;IAC3C,CAAC;CACL;AAsEM,MAAM,cAAc,GAAG,GAAG,CAAC;AAC3B,MAAM,YAAY,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;AAChE,MAAM,wBAAwB,GAAG;IAEtC,EAAE,KAAK,EAAE,sBAAsB,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE;IACtD,EAAE,KAAK,EAAE,sBAAsB,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE;CACrD,CAAC;AACK,MAAM,0BAA0B,GAAG;IACxC;QACE,KAAK,EAAE,iBAAiB;QACxB,IAAI,EAAE,EAAE;KACT;IACD;QACE,KAAK,EAAE,WAAW;QAClB,IAAI,EAAE,EAAE;KACT;IACD;QACE,KAAK,EAAE,UAAU;QACjB,IAAI,EAAE,EAAE;KACT;IACD;QACE,KAAK,EAAE,iBAAiB;QACxB,IAAI,EAAE,EAAE;KACT;CACF,CAAC;AACK,MAAM,eAAe,GAAG,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;AACxD,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB,MAAM,qBAAqB,GAAG,YAAY,CAAC;AAE3C,MAAM,oBAAoB,GAAG,CAAC,EAAE,KAAK,EAAE,kBAAkB,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;AACjF,MAAM,4BAA4B,GAAG,CAAC,EAAE,KAAK,EAAE,kBAAkB,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;AACzF,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAC5B,MAAM,sBAAsB,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,kBAAkB,CAAC,SAAS,EAAE,CAAC,CAAC;;;;;;;;;;;;;ACvS1F;AAAA;AAAA;AAAA,IAAY,aAUX;AAVD,WAAY,aAAa;IACvB,sCAAqB;IACrB,wCAAuB;IACvB,sCAAqB;IACrB,gCAAe;IACf,4BAAW;IACX,oCAAmB;IACnB,8BAAY;IACZ,8BAAa;IACb,8BAAY;AACd,CAAC,EAVW,aAAa,KAAb,aAAa,QAUxB;AACD,IAAY,gBA4BX;AA5BD,WAAY,gBAAgB;IAC1B,uCAAmB;IACnB,yCAAqB;IACrB,wCAAoB;IACpB,2CAAuB;IACvB,yCAAqB;IACrB,yCAAqB;IACrB,8CAA0B;IAC1B,8CAA0B;IAC1B,gDAA4B;IAC5B,kDAA8B;IAC9B,2CAAuB;IACvB,mCAAe;IACf,uCAAiB;IACjB,yCAAqB;IACrB,gDAA4B;IAC5B,yCAAqB;IACrB,uCAAmB;IACnB,uCAAmB;IACnB,qDAAiC;IACjC,uCAAiB;IACjB,+CAA2B;IAC3B,qDAA+B;IAC/B,kDAA8B;IAC9B,uDAAiC;IACjC,oDAAgC;IAChC,gDAA4B;IAC5B,wDAAoC;AACtC,CAAC,EA5BW,gBAAgB,KAAhB,gBAAgB,QA4B3B;;;;;;;;;;;;;ACtCD;AAAA;AAAA;AAAA;AAAA;AAA+C;AACmB;;AAO3D,MAAM,kBAAkB;;iGAAlB,kBAAkB;8JAAlB,kBAAkB,kBAHpB,CAAC,4DAAY,CAAC;mIAGZ,kBAAkB,mBAJd,8EAAqB,aAC1B,4DAAY,aACZ,8EAAqB;;;;;;;;;;;;;ACLjC;AAAA;AAAO,MAAM,SAAS,GAAwB;IAC5C,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,EAAE;IAC7C,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE;IACnC,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE;IACtC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE;IACnC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE;CAErC,CAAC;;;;;;;;;;;;;ACTF;AAAA;AAAA;AAAA;AAA4E;;;AAQrE,MAAM,0BAA0B;IAKpC;QAHS,WAAM,GAA0B,IAAI,0DAAY,EAAE,CAAC;QAC7D,mBAAc,GAAY,KAAK,CAAC;IAEf,CAAC;IAElB,QAAQ;IACR,CAAC;IACD,WAAW;IACX,CAAC;IACD,WAAW,CAAC,IAAU;QAEpB,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC5G,CAAC;IACD,WAAW,CAAC,KAAc;QACxB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,CAAC;IAGD,MAAM;QACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;;oGAtBU,0BAA0B;0GAA1B,0BAA0B;QCRvC,yEAAuB;QACnB,yEAA2B;QACzB,gFAID;QAFC,wKAAe,uBAAmB,IAAC;QAGrC,4DAAa;QACX,4DAAM;QACR,yEAA2B;QACzB,yEAAuB;QACrB,uEAA6C;QAAA,uDAAsC;QAAA,4DAAI;QACvF,uEAAkD;QAAA,uDAAe;QAAA,4DAAI;QACrE,uEAA4B;QAAA,wDAAe;QAAA,4DAAI;QACjD,4DAAM;QACN,0EAA8B;QAC5B,wEAAqD;QAAnB,8IAAS,YAAQ,IAAC;QAAC,4DAAI;QAC3D,4DAAM;QACR,4DAAM;QACV,4DAAM;;QAhBA,0DAAqB;QAArB,2GAAqB;QAQ0B,0DAAsC;QAAtC,wKAAsC;QACjC,0DAAe;QAAf,yGAAe;QACrC,0DAAe;QAAf,yGAAe;;;;;;;;;;;;;;;;;;ACXnD,2DAA2D;AAIpD,MAAM,gBAAgB;IAH7B;QAIE,wBAAwB;QACxB,aAAQ,GAAG,CAAC,CAAC;QACb,0BAA0B;QAC1B,eAAU,GAAG,CAAC,CAAC;QACf,2BAA2B;QAC3B,gBAAW,GAAG,EAAE,CAAC;QACjB,+FAA+F;QAC/F,iBAAY,GAAG,IAAI,CAAC;QACpB,sCAAsC;QACtC,cAAS,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACzB,wDAAwD;QACxD,kBAAa,GAAG,KAAK,CAAC;QACtB,wDAAwD;QACxD,eAAU,GAAG,KAAK,CAAC;QACnB,iDAAiD;QACjD,mBAAc,GAAG,KAAK,CAAC;QACvB,sEAAsE;QACtE,eAAU,GAAG,IAAI,CAAC;QAClB,0GAA0G;QAC1G,cAAS,GAAG,IAAI,CAAC;QACjB,sEAAsE;QACtE,iBAAY,GAAG,IAAI,CAAC;QACpB,iCAAiC;QACjC,gBAAW,GAAG,KAAK,CAAC;QACpB,iCAAiC;QACjC,gBAAW,GAAG,IAAI,CAAC;QAKnB,gDAAgD;QAChD,qBAAgB,GAAG,IAAI,CAAC;QACxB,kDAAkD;QAClD,uBAAkB,GAAG,IAAI,CAAC;QAC1B,kDAAkD;QAClD,uBAAkB,GAAG,IAAI,CAAC;QAC1B,uBAAuB;QACvB,mBAAc,GAAG,OAAO,CAAC;QACzB,yBAAyB;QACzB,qBAAgB,GAAG,SAAS,CAAC;QAC7B,yBAAyB;QACzB,qBAAgB,GAAG,SAAS,CAAC;KAC9B;;gFA3CY,gBAAgB;mGAAhB,gBAAgB,WAAhB,gBAAgB,mBAFf,MAAM;;;;;;;;;;;;;ACJpB;AAAA;AAAA,gFAAgF;AAChF,0EAA0E;AAC1E,gEAAgE;AAEzD,MAAM,WAAW,GAAG;IACzB,UAAU,EAAE,KAAK;CAClB,CAAC;AAEF;;;;;;GAMG;AACH,mEAAmE;;;;;;;;;;;;;ACdnE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAwD;AACY;AACZ;AACL;AAEwB;;;;;;;;ICAvE,uEAAqD;IAAA,gEAAK;IAAA,4DAAI;;;;IAG9D,wEAAiD;IAC/C,wFAIC;IADC,4YAA8C;IAC/C,4DAAqB;IACxB,qEAAe;;;;IAJX,0DAAkB;IAAlB,8EAAkB;;ADGnB,MAAM,iBAAkB,SAAQ,4EAAa;IAKlD,YAAoB,MAAc,EAAU,4BAA2D;QACrG,KAAK,EAAE,CAAC;QADU,WAAM,GAAN,MAAM,CAAQ;QAAU,iCAA4B,GAA5B,4BAA4B,CAA+B;QAJvG,eAAU,GAAG,KAAK,CAAC;QACnB,cAAS,GAAG,qDAAU,CAAC;QAEvB,iBAAY,GAAY,IAAI,CAAC;QAG3B,IAAI,CAAC,WAAW,GAAG,gFAAkB,CAAC,QAAQ,CAAC;QAC/C,IAAI,CAAC,4BAA4B,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YAC/D,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QACzD,CAAC,CAAC;IACJ,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,MAAM,CAAC,MAAM;aACf,IAAI,CACH,6DAAM,CAAC,CAAC,CAAC,EAAsB,EAAE,CAAC,CAAC,YAAY,6DAAa,CAAC,EAC7D,gEAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CACzB;aACA,SAAS,CAAC,CAAC,CAAgB,EAAE,EAAE;YAC9B,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;YAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED,uBAAuB,CAAC,IAAmB;QACzC,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAEO,mBAAmB,CAAC,GAAW;QACrC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC3C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAE7C,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;oBAC1C,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBACrE,OAAO,KAAK,CAAC;gBACf,CAAC,CAAC,CAAC;aACJ;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC3C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,oBAAoB;QAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC3C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,aAAa,CAAC,KAAa;QACjC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;;kFAvEU,iBAAiB;iGAAjB,iBAAiB;QCd9B,yEAEgG;QAAlD,gJAAc,YAAQ,IAAC,wFAAe,cAAU,IAAzB;QAEnE,yEAA6B;QAC3B,oEAA+C;QAC/C,yGAA8D;QAChE,4DAAM;QACN,sEAAK;QACH,+HAMe;QACjB,4DAAM;QAEN,2FAAyF;QAC3F,4DAAM;;QAlBD,iKAAmE;QAKhE,0DAAgB;QAAhB,gFAAgB;QAGe,0DAAY;QAAZ,kFAAY;QASrB,0DAA+B;QAA/B,4FAA+B;;;;;;;;;;;;;;AChB7D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0E;AACV;;;;;;;;ICHhE,yEAAmD;IAC/C,yEAAgE;IAC5D,oEAAG;IAAA,uDAAyB;;IAAA,4DAAI;IAChC,uEAAmD;IAAlB,2SAAiB;IAAC,4DAAI;IAC3D,4DAAM;IACV,4DAAM;;;IAJmB,0DAA0C;IAA1C,qGAA0C;IACxD,0DAAyB;IAAzB,gJAAyB;;ADQ7B,MAAM,gBAAgB;IAE3B,YAAoB,cAA8B,EAAU,kBAAsC;QAA9E,mBAAc,GAAd,cAAc,CAAgB;QAAU,uBAAkB,GAAlB,kBAAkB,CAAoB;QAClG,gBAAW,GAAY,KAAK,CAAC;IADyE,CAAC;IAMvG,QAAQ;QACN,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YACxD,IAAG,GAAG,EAAE;gBACN,IAAI,CAAC,eAAe,GAAG,uFAAkB,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,yBAAyB,CAAC,CAAC,CAAC,CAAE,MAAM,CAAC,uFAAkB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,yBAAyB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;aAChO;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YAC1C,IAAG,GAAG,EAAE;gBACN,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;gBAC3B,IAAG,GAAG,CAAC,IAAI,IAAI,4DAAW,CAAC,OAAO,EAAE;oBAClC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;iBAClC;qBACI;oBACH,IAAI,CAAC,eAAe,GAAG,SAAS;iBACjC;gBACD,UAAU,CAAC,GAAG,EAAE;oBACd,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;aAC1B;QACH,CAAC,CAAC;IACJ,CAAC;IAED,KAAK;QACH,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;IACrC,CAAC;;gFAnCU,gBAAgB;gGAAhB,gBAAgB;QCV7B,4GAKM;;QAL0B,iFAAiB;;;;;;;;;;;;;;ACCjD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+C;AACiB;AACf;AACJ;AACS;AACI;AACH;;AAgBhD,MAAM,iBAAiB;;gGAAjB,iBAAiB;4JAAjB,iBAAiB,kBAVnB;YACP,4DAAY;YACZ,4DAAU;YACV,0DAAW;YACX,qEAAa;YACb,mEAAe;YACf,kEAAY;SACb;mIAGU,iBAAiB,mBAXb,4EAAoB,aAEjC,4DAAY;QACZ,4DAAU;QACV,0DAAW;QACX,qEAAa;QACb,mEAAe;QACf,kEAAY,aAEJ,4EAAoB;;;;;;;;;;;;;ACrBhC;AAAA;AAAA;AAAA;AAAA;AAA6D;AACS;AACP;AAWxD,MAAM,UAAU,GAAoB;IACzC;QACE,IAAI,EAAE,iBAAiB;QACvB,KAAK,EAAE,IAAI,0EAAY,CAAC,KAAK,CAAC,SAAS,EAAE;QACzC,MAAM,EAAE,KAAK;QACb,SAAS,EAAE,aAAa;KACzB;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,KAAK,EAAE,IAAI,0EAAY,CAAC,KAAK,CAAC,QAAQ,EAAE;QACxC,MAAM,EAAE,KAAK;QACb,SAAS,EAAE,0BAA0B;KACtC;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,KAAK,EAAE,0EAAY,CAAC,KAAK,CAAC,QAAQ;QAClC,MAAM,EAAE,KAAK;QACb,SAAS,EAAE,iBAAiB;QAC5B,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,+BAA+B;gBACrC,KAAK,EAAE,IAAI,0EAAY,CAAC,KAAK,CAAC,QAAQ,IAAI,mFAAc,CAAC,SAAS,EAAE;gBACpE,MAAM,EAAE,KAAK;aACd;YACD,oDAAoD;YACpD;gBACE,IAAI,EAAE,6BAA6B;gBACnC,KAAK,EAAE,IAAI,0EAAY,CAAC,KAAK,CAAC,QAAQ,IAAI,mFAAc,CAAC,QAAQ,IAAI,mFAAc,CAAC,SAAS,EAAE;gBAC/F,MAAM,EAAE,KAAK;aACd;SAMF;KACF;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,KAAK,EAAE,IAAI,0EAAY,CAAC,KAAK,CAAC,QAAQ,EAAE;QACxC,MAAM,EAAE,KAAK;QACb,SAAS,EAAE,iBAAiB;QAC5B,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,yBAAyB;gBAC/B,KAAK,EAAE,IAAI,0EAAY,CAAC,KAAK,CAAC,QAAQ,gBAAgB,oEAAa,CAAC,SAAS,EAAE;gBAC/E,MAAM,EAAE,KAAK;aACd;YACD;gBACE,IAAI,EAAE,sBAAsB;gBAC5B,KAAK,EAAE,IAAI,0EAAY,CAAC,KAAK,CAAC,QAAQ,IAAI,oEAAa,CAAC,QAAQ,EAAE;gBAClE,MAAM,EAAE,KAAK;aACd;SACF;KACF;IACD;QACE,IAAI,EAAE,2BAA2B;QACjC,KAAK,EAAE,IAAI,0EAAY,CAAC,KAAK,CAAC,aAAa,EAAE;QAC7C,MAAM,EAAE,KAAK;QACb,SAAS,EAAE,iBAAiB;KAC7B;CACF,CAAC;;;;;;;;;;;;;AC1EF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAoB;AAC2D;AAEhB;;;;;;ICH/D,oEAAoG;;;IAAtB,gJAAmB;;;IAE/F,yEAAgD;IAC9C,uDACF;IAAA,4DAAM;;;IADJ,0DACF;IADE,+FACF;;;IAFA,yHAEM;;;IAFA,qFAAkB;;ADQnB,MAAM,eAAe;IAoB1B,YAAoB,KAAiB,EAAU,kBAAsC;QAAjE,UAAK,GAAL,KAAK,CAAY;QAAU,uBAAkB,GAAlB,kBAAkB,CAAoB;QAhB3E,gBAAW,GAA0B,IAAI,0DAAY,EAAW,CAAC;QACjE,eAAU,GAAsB,IAAI,0DAAY,EAAO,CAAC;QAElE,kBAAa,GAAG,KAAK,CAAC;IActB,CAAC;IAZD,QAAQ;IACR,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACvC,sCAAsC;SACvC;aAAM;YACL,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;SAClE;IACH,CAAC;IAKD,kBAAkB,CAAC,KAAa;QAC9B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,MAAM,cAAc,GAAG,YAAY,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAExE,IAAI,SAAS,GAAW,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YACzC,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/C;QACD,SAAS,GAAG,yCAAyC,GAAG,KAAK,GAAG,eAAe,CAAC;QAEhF,IAAI,QAAQ,GAAG,IAAI,gEAAW,EAAE,CAAC;QACjC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QACzD,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAC;QAElE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;QAE5D,IAAI,WAAW,IAAI,MAAM,CAAC,cAAc,CAAC,EAAE;YACzC,mCAAmC;YACjC,6GAA6G;YAC7G,aAAa;YACb,sBAAsB;YACtB,yBAAyB;YACzB,kCAAkC;YAClC,OAAO;YACP,gBAAgB;YAChB,iBAAiB;YACjB,iDAAiD;YACjD,SAAS;YACT,iBAAiB;YACjB,sCAAsC;YACtC,QAAQ;YACR,OAAO;YACT,KAAK;SACN;aAAM;YACL,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,CAAC;YAC1G,IAAI,CAAC,KAAK;iBACP,GAAG,CAAC,SAAS,EAAE;gBACd,OAAO,EAAE,QAAQ;gBACjB,YAAY,EAAE,aAAa;aAC5B,CAAC;iBACD,SAAS,CACR,CAAC,GAAG,EAAE,EAAE;gBACN,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAC1C,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;gBACN,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;YAC/B,CAAC,CACF,CAAC;SACL;IACH,CAAC;IAED,kBAAkB,CAAC,GAAQ;QACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,EAAE;YAC1B,0CAA0C;SAC3C;IACH,CAAC;IAED,UAAU,CAAC,IAAS;QAClB,OAAO,wBAAwB,GAAG,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACtF,CAAC;;8EApFU,eAAe;+FAAf,eAAe;QCV5B,2GAAoG;QACpG,uMAIc;;;QALW,iFAAmB;;;;;;;;;;;;;;ACC5C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAiC;AACW;AACP;AAEuB;AACiB;AAEkD;;;;;AAOxH,MAAM,mBAAmB;IAE9B,YAAoB,cAA+B,EAAU,cAA+B,EAAU,kBAAuC;QAAzH,mBAAc,GAAd,cAAc,CAAiB;QAAU,mBAAc,GAAd,cAAc,CAAiB;QAAU,uBAAkB,GAAlB,kBAAkB,CAAqB;IAAK,CAAC;IAEnJ,mBAAmB,CAAC,IAAY;QAC9B,MAAM,KAAK,GAAE;YACX,SAAS,EAAG,mCAAM,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC;YACnG,OAAO,EAAE,mCAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC;YAC9E,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,iBAAiB;SAC7D,CAAC;QACF,OAAO,qDAAQ,CAAC;YACd,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CACzG,0DAAG,CAAC,GAAG,GAAE,IAAG,CAAC,KAAiB,CAAC,CAChC;YACD,8DAA8D;YAC9D,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CACxG,0DAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAA0B,CAAC,CAC3C;YACD,mHAAmH;YACnH,+CAA+C;YAC/C,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAClG,0DAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAuB,CAAC,CACxC;SACF,CAAC;IACJ,CAAC;IAEO,2BAA2B,CAAC,GAAG;QACrC,MAAM,KAAK,mCACN,GAAG,KACN,wBAAwB,EAAE,CAAC;oBACzB,QAAQ,EAAE,iIAAuB,CAAC,SAAS,CAAC,QAAQ,EAAE;oBACtD,KAAK,EAAE,8DAAS,CAAC,IAAI;iBACtB,CAAC,EACF,QAAQ,EAAE,+EAAgB,CAAC,iBAAiB,GAC7C;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,mBAAmB,CAAC,GAAG;QAC7B,MAAM,KAAK,mCACN,GAAG,KACN,sBAAsB,EAAE,CAAC;oBACvB,0BAA0B,EAAC,CAAC;oBAC5B,SAAS,EAAE,8DAAS,CAAC,IAAI;iBAC1B,CAAC,GACH;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,yBAAyB,CAAC,GAAG;QACnC,MAAM,KAAK,mCACN,GAAG,KACN,+BAA+B,EAAE,CAAC;oBAChC,QAAQ,EAAE,WAAW;oBACrB,KAAK,EAAE,8DAAS,CAAC,IAAI;iBACpB,CAAC,GACL;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACO,mBAAmB,CAAC,GAAG;QAC7B,MAAM,KAAK,GAA6B;YACtC,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,KAAK,EAAE,GAAG,CAAC,KAAK;SACjB;QACD,OAAO,KAAK,CAAC;IAEf,CAAC;;sFAtEU,mBAAmB;sGAAnB,mBAAmB,WAAnB,mBAAmB,mBAFlB,MAAM;;;;;;;;;;;;;ACbpB;AAAA;AAAA,IAAY,cAwBX;AAxBD,WAAY,cAAc;IACxB,qCAAmB;IACnB,yCAAuB;IACvB,+BAAa;IACb,uCAAqB;IACrB,uCAAqB;IACrB,iCAAe;IACf,2CAAyB;IACzB,6BAAW;IACX,qCAAmB;IACnB,+BAAa;IACb,uCAAqB;IACrB,6DAA2C;IAC3C,yCAAuB;IACvB,uCAAqB;IACnB,qDAAmC;IACnC,8CAA4B;IAC9B,qCAAiB;IACjB,uCAAmB;IACnB,6CAAyB;IACzB,+CAA2B;IAC3B,+BAAW;IACX,gDAA8B;IAC9B,sCAAkB;AACpB,CAAC,EAxBW,cAAc,KAAd,cAAc,QAwBzB;;;;;;;;;;;;;AChBA;AAAA;AAAA,CAAC;AAGF,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,iCAAmB;IACnB,mCAAqB;AACvB,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB;;;;;;;;;;;;;;;;;;;;;;;;;;ICdD,yEAA4C;IAC1C,yEAAoC;IAClC,yEAA6B;IAC3B,yEAAqB;IACnB,oEAA6D;IAC/D,4DAAM;IACN,yEAA0B;IACxB,wEAAO;IAAA,uDAAwC;;IAAA,4DAAQ;IACzD,4DAAM;IACR,4DAAM;IACR,4DAAM;IACR,4DAAM;;IAJS,0DAAwC;IAAxC,0JAAwC;;ACGhD,MAAM,gBAAgB;IAG3B,YACE,OAAuB,EACf,kBAAsC;QAAtC,uBAAkB,GAAlB,kBAAkB,CAAoB;QAE9C,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAe,EAAE,EAAE;YAC3C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;;gFAVU,gBAAgB;gGAAhB,gBAAgB;QDV7B,4GAWM;;QAXwB,4EAAY;;;;;;;;;;;;;;AEC1C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+C;AACF;AAC4C;AACS;AAC7C;AACqB;AACnB;AACM;AACa;;AAWnE,MAAM,YAAY;;2FAAZ,YAAY;kJAAZ,YAAY,kBALd;YACP,4DAAY,EAAC,0DAAW,EAAE,iGAAkB,EAAE,0GAAqB,EAAC,kEAAY,EAAC,wEAAc,EAAC,kFAAe;SAChH;mIAGU,YAAY,mBANR,iEAAe,EAAE,sFAAmB,aAEjD,4DAAY,EAAC,0DAAW,EAAE,iGAAkB,EAAE,0GAAqB,EAAC,kEAAY,EAAC,wEAAc,EAAC,kFAAe,aAExG,iEAAe,EAAC,sFAAmB;;;;;;;;;;;;;AClB9C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASuB;AAEsB;AAKxB;;;;;;ICfnB,wEAAmH;IAA/G,0TAAwB,CAAC,KAAE;IAAoF,uDAAmC;;IAAA,4DAAK;;;IAA3F,oHAAkD;IAAC,0DAAmC;IAAnC,qJAAmC;;;;IAEtJ,wEAAkD;IAChD,wEAAgC;IAA5B,oUAAwB,CAAC,KAAE;IAAC,4DAAC;IAAA,4DAAK;IACvC,wEAAqB;IAAA,8DAAG;IAAA,4DAAK;IAC9B,qEAAe;;;;IACf,wEAIC;IADC,wWAA8B;IAE9B,uDACF;IAAA,4DAAK;;;;IAJH,wGAA0C;IAG1C,0DACF;IADE,mFACF;;;;IACA,wEAAmC;IAClC,wEAAqB;IAAA,8DAAG;IAAA,4DAAK;IAC7B,wEAAyC;IAArC,8VAAoC;IAAC,uDAAc;IAAA,4DAAK;IAC7D,qEAAe;;;IAD2B,0DAAc;IAAd,kFAAc;;;;IAGxD,wEAAoI;IAAhI,qVAAoC;IAA4F,uDAAkC;;IAAA,4DAAK;;;IAAnG,oIAA2D;IAAC,0DAAkC;IAAlC,oJAAkC;;ADKjK,MAAM,2BAA2B;IAetC;QAdS,eAAU,GAAW,0DAAe,CAAC;QACrC,UAAK,GAAW,qDAAU,CAAC;QAC3B,wBAAmB,GAAW,gEAAqB,CAAC;QACpD,2BAAsB,GAAY,KAAK,CAAC;QACxC,0BAAqB,GAAY,KAAK,CAAC;QAEtC,gBAAW,GAAyB,IAAI,0DAAY,EAAU,CAAC;QAIlE,iBAAY,GAAG,qDAAU,CAAC;QAC1B,cAAS,GAAa,EAAE,CAAC;QACzB,iBAAY,GAAG,IAAI,CAAC;IAEX,CAAC;IAEV,QAAQ;QACb,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAEM,WAAW,CAAC,OAAsB;QACvC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,OAAO,CAAC,KAAK,EAAE;YACjB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACxC;QACD,IAAI,OAAO,CAAC,mBAAmB,EAAE;YAC/B,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;SAC7D;IACH,CAAC;IAED,IAAI,UAAU;QACZ,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,GAAG,IAAI,CAAC;QACxD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,mBAAmB,CAAC,CAAC;QAC5D,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAwB,CAAC;IAC5D,CAAC;IAED,cAAc,CAAC,UAAkB;QAC/B,IAAI,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE;YAC5D,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;YACpC,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;YACjD,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC;YACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACnC;IACH,CAAC;IAED,SAAS,CAAC,KAAa;QACrB,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,kBAAkB,CAAC,YAAoB,EAAE,MAAgB;QAC/D,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;QACrD,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACtG,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACvD,KAAK,IAAI,CAAC,GAAG,eAAe,GAAG,IAAI,CAAC,mBAAmB,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YACzF,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE;gBACxB,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACpB;YACD,IAAI,eAAe,IAAI,IAAI,CAAC,UAAU,EAAE;gBACtC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aACzB;iBAAM,IAAI,CAAC,IAAI,CAAC,EAAE;gBACjB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;aAC1B;SACF;QACD,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC;QAC5B,IAAI,CAAC,MAAM,EAAE;YACX,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;SACnC;IACH,CAAC;IAEO,kBAAkB,CAAC,KAAa;QACtC,IAAI,KAAK,GAAG,0DAAe,EAAE;YAC3B,KAAK,GAAG,0DAAe,CAAC;SACzB;QACD,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE;YAC3B,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;SACzB;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,sBAAsB,CAAC,eAAuB,EAAE,UAAkB;QACxE,MAAM,sBAAsB,GAAG,IAAI,CAAC,UAAU,GAAG,gEAAqB,CAAC;QACvE,MAAM,uBAAuB,GAAG,IAAI,CAAC,UAAU,GAAG,gEAAqB,GAAG,gEAAqB,CAAC;QAChG,IAAI,oBAAoB,GAAG,eAAe,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,uBAAuB,CAAC;QAC1C,IAAI,eAAe,GAAG,gEAAqB,EAAE;YAC3C,oBAAoB,GAAG,gEAAqB,CAAC;SAC9C;QACD,IAAI,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE;YACxC,oBAAoB,GAAG,UAAU,CAAC;SACnC;QACD,IAAI,eAAe,GAAG,sBAAsB,EAAE;YAC5C,oBAAoB,GAAG,sBAAsB,CAAC;SAC/C;QACD,IAAI,CAAC,uBAAuB,EAAE;YAC5B,oBAAoB,GAAG,IAAI,CAAC,UAAU,CAAC;SACxC;QACD,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAEO,qBAAqB;QAC3B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,UAAU,GAAG,0DAAe,CAAC;SACnC;aAAM;YACL,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC3C;QACD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAClG,wBAAwB;QACxB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACnF,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;;sGA/GU,2BAA2B;2GAA3B,2BAA2B;QCxBxC,wEAAgC;QAC9B,qHAA2J;QAC3J,wEAA2F;QAAvF,+IAAS,+BAAuB,CAAC,CAAC,IAAC;QAAoD,uDAAsC;;QAAA,4DAAK;QACtI,yIAGe;QACf,qHAMK;QACL,yIAGe;QACf,wEAAqG;QAAjG,+IAAS,+BAAuB,CAAC,CAAC,IAAC;QAA8D,uDAAkC;;QAAA,4DAAK;QAC5I,uHAA2K;QAC7K,4DAAK;;QAnB8B,0DAA4B;QAA5B,4FAA4B;QACrB,0DAAkD;QAAlD,8GAAkD;QAAC,0DAAsC;QAAtC,yJAAsC;QAClH,0DAAiC;QAAjC,qGAAiC;QAK7B,0DAAc;QAAd,kFAAc;QAMlB,0DAAkB;QAAlB,kFAAkB;QAIQ,0DAA2D;QAA3D,2HAA2D;QAAC,0DAAkC;QAAlC,sJAAkC;QAC7F,0DAA2B;QAA3B,2FAA2B;;ADuHvE,MAAM,KAAK,GAAG,CACZ,YAAoB,EACpB,QAAgB,EAChB,mBAA2B,EACjB,EAAE;IACZ,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,GAAG,CAAC,CAAC,CAAC;IAChD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAC5B,YAAY,CAAC,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CACtE,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAClB,YAAoB,EACpB,GAAW,EACX,QAAgB,EACI,EAAE;IACtB,OAAO,YAAY,IAAI,GAAG;QACxB,CAAC,CAAC,yDAAkB,CAAC,KAAK;QAC1B,CAAC,CAAC,YAAY,IAAI,QAAQ,GAAG,GAAG;YAC9B,CAAC,CAAC,yDAAkB,CAAC,GAAG;YACxB,CAAC,CAAC,yDAAkB,CAAC,OAAO,CAAC;AACnC,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CACnB,YAAoB,EACpB,KAAa,EACb,GAAW,EACX,QAAgB,EAChB,mBAA2B,EACnB,EAAE;IACV,MAAM,OAAO,GAAG;QACd,CAAC,yDAAkB,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,GAAG,CAAC;QAC3C,CAAC,yDAAkB,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,QAAQ,GAAG,mBAAmB,GAAG,KAAK,GAAG,CAAC;QAC1E,CAAC,yDAAkB,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,YAAY,GAAG,KAAK,GAAG,GAAG;KAC/D,CAAC;IACF,OAAO,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;AAC7D,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CACtB,UAAkB,EAClB,KAAa,EACb,QAAgB,EACP,EAAE;IACX,OAAO,UAAU,KAAK,KAAK,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,IAAI,QAAQ,CAAC;AAC1E,CAAC,CAAC;;;;;;;;;;;;;AEtLF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+C;AACM;AACa;AACR;AACgB;AACe;AACnC;;AAiB/C,MAAM,YAAY;;2FAAZ,YAAY;kJAAZ,YAAY,kBAbd;YACP,4DAAY;YACZ,0DAAW;YACX,qEAAa;YACb,kFAAe;YACf,kEAAmB;YACnB,iGAAkB;YAClB,mEAAe;SAChB;mIAKU,YAAY,mBAdR,iEAAe,aAE5B,4DAAY;QACZ,0DAAW;QACX,qEAAa;QACb,kFAAe;QACf,kEAAmB;QACnB,iGAAkB;QAClB,mEAAe,aAGf,iEAAe;;;;;;;;;;;;;ACnBnB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAAM,GAAG,GAAG,EAAE,CAAC;AACf,MAAM,WAAW,GAAG,EAAE,CAAC;AACvB,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,MAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAErB,SAAS,WAAW,CAAC,KAAqB;IAC/C,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,KAAK,CAAC;KACd;IAED,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE;QACpD,OAAO,KAAK,CAAC;KACd;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,OAAO,WAAW,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;KACrC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAEM,SAAS,YAAY,CAAC,QAAkC,EAAE,OAAa;IAC5E,IAAI,QAAQ,CAAC,OAAO,IAAI,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE;QAClD,OAAO,KAAK,CAAC;KACd;IAED,IAAI,QAAQ,CAAC,OAAO,IAAI,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE;QAClD,OAAO,KAAK,CAAC;KACd;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAEM,SAAS,QAAQ,CAAC,KAAuB;IAC9C,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;QAChC,OAAO,GAAG,CAAC;KACZ;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,OAAO,KAAK,CAAC;KACd;IAED,OAAO,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC9B,CAAC;AAEM,SAAS,QAAQ,CAAC,KAAsB;IAC7C,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AACjC,CAAC;AAEM,SAAS,UAAU,CACxB,KAAuB,EACvB,IAAI,GAAG,KAAK;IAEZ,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7B,IACE,KAAK,CAAC,IAAI,CAAC;QACX,IAAI,GAAG,CAAC;QACR,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,EAC7C;QACA,OAAO,GAAG,CAAC;KACZ;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAEM,SAAS,YAAY,CAAC,KAAuB;IAClD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,cAAc,EAAE;QAC1D,OAAO,GAAG,CAAC;KACZ;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAEM,SAAS,YAAY,CAAC,KAAuB;IAClD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,gBAAgB,EAAE;QAC/D,OAAO,GAAG,CAAC;KACZ;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAEM,SAAS,SAAS,CAAC,KAAqB;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;KACxB;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAEM,SAAS,UAAU,CAAC,KAAY,EAAE,IAAW;IAClD,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,UAAU,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;KAC1D;IAED,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,KAAK,CAAC;KACd;IAED,IAAI,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC5B,IAAI,OAAO,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;IACjC,IAAI,OAAO,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;IAEjC,IAAI,IAAI,CAAC,IAAI,EAAE;QACb,IAAI,GAAG,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACnC;IAED,IAAI,IAAI,CAAC,MAAM,EAAE;QACf,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAC3C;IAED,IAAI,IAAI,CAAC,OAAO,EAAE;QAChB,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC5C;IAED,OAAO,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC;AAEM,SAAS,OAAO,CAAC,KAAuB,EAAE,IAAU;IACzD,IAAI,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhD,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,EAAE,EAAE;QAC5B,IAAI,IAAI,eAAe,CAAC;KACzB;IAED,IAAI,CAAC,KAAK,EAAE;QACV,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;YAClC,OAAO,UAAU,CAAC,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;SACtD;QAED,OAAO,KAAK,CAAC;KACd;IAED,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE;QAChC,OAAO,KAAK,CAAC;KACd;IAED,OAAO,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAClD,CAAC;AAEM,SAAS,UAAU,CACxB,KAAW,EACX,KAAa,EACb,OAAe,EACf,OAAe;IAEf,MAAM,QAAQ,GAAG,IAAI,IAAI,CACvB,KAAK,CAAC,WAAW,EAAE,EACnB,KAAK,CAAC,QAAQ,EAAE,EAChB,KAAK,CAAC,OAAO,EAAE,EACf,KAAK,EACL,OAAO,EACP,OAAO,EACP,KAAK,CAAC,eAAe,EAAE,CACxB,CAAC;IACF,2CAA2C;IAC3C,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1C,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAElC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAEM,SAAS,SAAS,CAAC,KAAa;IACrC,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IAChC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;QACrB,OAAO,MAAM,CAAC;KACf;IAED,OAAO,IAAI,MAAM,EAAE,CAAC;AACtB,CAAC;AAEM,SAAS,gBAAgB,CAAC,KAAa,EAAE,IAAa;IAC3D,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AACzC,CAAC;AAEM,SAAS,kBAAkB,CAAC,OAAe;IAChD,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;AACvC,CAAC;AAEM,SAAS,kBAAkB,CAAC,OAAe;IAChD,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;AACvC,CAAC;AAEM,SAAS,iBAAiB,CAAC,IAAU,EAAE,OAAc,EAAE,OAAc;IAC1E,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;IAE1C,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,KAAK,CAAC;KACd;IAED,IAAI,OAAO,IAAI,OAAO,GAAG,OAAO,EAAE;QAChC,OAAO,KAAK,CAAC;KACd;IAED,IAAI,OAAO,IAAI,OAAO,GAAG,OAAO,EAAE;QAChC,OAAO,KAAK,CAAC;KACd;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAEM,SAAS,iBAAiB,CAAC,KAAa,EAAE,OAAe,EAAE,OAAe;IAC/E,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;AAC5E,CAAC;AAEM,SAAS,YAAY,CAC1B,KAAa,EACb,OAAO,GAAG,GAAG,EACb,OAAO,GAAG,GAAG,EACb,IAAa;IAEb,OAAO,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC;WAC/B,kBAAkB,CAAC,OAAO,CAAC;WAC3B,kBAAkB,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;;;;;;;;;;;;;AC7ND;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASuB;AAC4B;AACe;;;;;ICG9D,+DAA2C;;;IAAvB,qEAAkB;;;IAMlC,0EAAiF;IAAA,uDAAiB;IAAA,4DAAO;;;IAAxB,0DAAiB;IAAjB,+EAAiB;;;IADpG,wEAA+D;IAC7D,+IAAyG;IAC3G,qEAAe;;;IADN,0DAA6C;IAA7C,wIAA6C;;;IAMlD,uEAAuD;IAAA,uDAAkB;IAAA,4DAAO;;;IAAzB,0DAAkB;IAAlB,uGAAkB;;;IACzE,oEAA6E;;;IAC7E,2EAAkD;IAAA,uDAAuB;IAAA,4DAAO;;;IAA9B,0DAAuB;IAAvB,4GAAuB;;;IAJ7E,wEAAqF;IACnF,yEAAyC;IACvC,+IAAgF;IAChF,6IAA6E;IAC7E,+IAAgF;IAClF,4DAAM;IACR,qEAAe;;;IAJJ,0DAA8C;IAA9C,kKAA8C;IAC/B,0DAA+C;IAA/C,mKAA+C;IAChD,0DAA2B;IAA3B,mHAA2B;;;IAbtD,wEAAwC;IACtC,uDAEA;IACA,gJAEe;IAGf,gJAMe;IACjB,qEAAe;;;;IAfb,0DAEA;IAFA,0FAEA;IACe,0DAA8C;IAA9C,wHAA8C;IAK9C,0DAAoE;IAApE,iJAAoE;;;IAUrF,wEAAsC;IACpC,0EAA0D;IAC5D,qEAAe;;;IADH,0DAAoC;IAApC,gGAAoC;;;;;;IAlClD,yEAYC;IADC,4WAA4C;IAE5C,2GAA2C;IAC3C,iIAgBe;IAGf,iIAEe;IAEjB,4DAAM;;;;IAnCJ,4IAAsE;IACtE,4HAA0D;IAC1D,6UAIE;IAKE,0DAAc;IAAd,6EAAc;IACH,0DAAsB;IAAtB,qFAAsB;IAmBtB,0DAAqB;IAArB,oFAAqB;;;IAMxC,yFAA4C;;;ADtBrC,MAAM,aAAa;IAaxB,YAAoB,KAAwB;QAAxB,UAAK,GAAL,KAAK,CAAmB;QATnC,aAAQ,GAAW,iEAAK,CAAC,OAAO,CAAC;QACjC,iBAAY,GAAW,wEAAY,CAAC,OAAO,CAAC;QAC5C,eAAU,GAAY,IAAI,CAAC;QAE1B,eAAU,GAAG,IAAI,0DAAY,EAAmB,CAAC;QAElD,qBAAgB,GAAG,wEAAY,CAAC;QAChC,iBAAY,GAAG,iEAAK,CAAC;IAEkB,CAAC;IAEjD,eAAe;QACb,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;YAClC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACnC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;SAC5B;IACH,CAAC;IAED,SAAS,CAAC,EAAmB;QAC3B,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACpB,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;IAC1B,CAAC;;0EA5BU,aAAa;6FAAb,aAAa;+EACU,+DAAY;;;;;;QCnBhD,sEAAiC;QAC/B,0GAqCM;QACR,4DAAM;QACN,uHAA4C;;QAxCvC,+FAA2B;QAEZ,0DAAO;QAAP,6EAAO;QAsCd,0DAAgB;QAAhB,gFAAgB;;;;;;;;;;;;;;ACxC7B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA4E;AAKN;;;;;;;AAO/D,MAAM,8BAA8B;IAazC,YAAoB,WAAyC,EAAU,kBAAqC;QAAxF,gBAAW,GAAX,WAAW,CAA8B;QAAU,uBAAkB,GAAlB,kBAAkB,CAAmB;QAZlG,mBAAc,GAAuB,IAAI,0DAAY,EAAW,CAAC;QAClE,uBAAkB,GAAY,IAAI,CAAC;QAC5C,mBAAc,GAAS,KAAK,CAAC;QAC7B,iBAAY,GAAkB;YAC5B,IAAI,EAAE,mEAAU,CAAC,WAAW;YAC5B,IAAI,EAAE,mBAAmB;SAC1B;QACD,wBAAmB,GAAkB;YACnC,IAAI,EAAE,mEAAU,CAAC,OAAO;YACxB,IAAI,EAAE,iBAAiB;SACxB;QAGC,iDAAiD;QACjD,iEAAiE;QACjE,eAAe;QACf,uDAAuD;QACvD,4CAA4C;QAC5C,SAAS;QACT,MAAM;QACN,OAAO;IACT,CAAC;IACD,iDAAiD;IACnD,mCAAmC;IACnC,kCAAkC;IAClC,qCAAqC;IACrC,yFAAyF;IACzF,4CAA4C;IAC5C,wCAAwC;IACxC,+DAA+D;IAC/D,4DAA4D;IAC5D,YAAY;IACZ,SAAS;IACT,IAAI;IAEF,QAAQ;QACN,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC/C,CAAC;IAED,cAAc,CAAC,IAAa;QAC1B,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,EAAE;YACnC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAChC;QACD,IAAG,CAAC,IAAI,CAAC,kBAAkB,EAAC;YAC1B,IAAI,CAAC,mBAAmB,CAAC,IAAI,GAAE,mEAAU,CAAC,WAAW;YACrD,IAAI,CAAC,YAAY,CAAC,IAAI,GAAE,mEAAU,CAAC,OAAO;SAC3C;aACG;YACF,IAAI,CAAC,mBAAmB,CAAC,IAAI,GAAE,mEAAU,CAAC,OAAO;YACjD,IAAI,CAAC,YAAY,CAAC,IAAI,GAAE,mEAAU,CAAC,WAAW;SAC/C;IACH,CAAC;;4GArDU,8BAA8B;8GAA9B,8BAA8B;QCZ3C,yEAA4B;QAC1B,yEAAuB;QACrB,gFAOC;QAJC,8JAAW,mBAAe,IAAI,CAAC,IAAC;;QAKlC,4DAAa;QAYf,4DAAM;QACR,4DAAM;;QApBA,0DAA0B;QAA1B,uFAA0B;;;;;;;;;;;;;;;;;;ACCzB,MAAM,iBAAiB;IAQ5B,UAAU,CAAC,KAAqB;QAC9B,OAAO;YACL,IAAI,EAAE,iBAAiB,CAAC,WAAW;YACnC,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,KAAsB;QAChC,OAAO;YACL,IAAI,EAAE,iBAAiB,CAAC,YAAY;YACpC,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,KAAsB;QAClC,OAAO;YACL,IAAI,EAAE,iBAAiB,CAAC,cAAc;YACtC,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,KAAsB;QAClC,OAAO;YACL,IAAI,EAAE,iBAAiB,CAAC,cAAc;YACtC,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,KAAW;QACjB,OAAO;YACL,IAAI,EAAE,iBAAiB,CAAC,aAAa;YACrC,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC;IAED,cAAc,CAAC,KAA+B;QAC5C,OAAO;YACL,IAAI,EAAE,iBAAiB,CAAC,eAAe;YACvC,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC;;AA/Ce,6BAAW,GAAG,wCAAwC,CAAC;AACvD,8BAAY,GAAG,2BAA2B,CAAC;AAC3C,gCAAc,GAAG,6BAA6B,CAAC;AAC/C,gCAAc,GAAG,6BAA6B,CAAC;AAC/C,+BAAa,GAAG,4BAA4B,CAAC;AAC7C,iCAAe,GAAG,8BAA8B,CAAC;kFANtD,iBAAiB;oGAAjB,iBAAiB,WAAjB,iBAAiB,mBADJ,UAAU;;;;;;;;;;;;;ACiBpC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAY,yBAKX;AALD,WAAY,yBAAyB;IACnC,mGAAqB;IACrB,2GAAyB;IACzB,yFAAgB;IAChB,2FAAiB;AACnB,CAAC,EALW,yBAAyB,KAAzB,yBAAyB,QAKpC;AAcD,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,+CAAqB;IACrB,2CAAiB;AACnB,CAAC,EAHW,sBAAsB,KAAtB,sBAAsB,QAGjC;AA8MD,OAAO;AACP,IAAY,wBAKX;AALD,WAAY,wBAAwB;IAClC,iFAAS;IACT,yGAAqB;IACrB,6GAAuB;IACvB,qGAAmB;AACrB,CAAC,EALW,wBAAwB,KAAxB,wBAAwB,QAKnC;AACD,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAC3B,qEAAc;IACd,+DAAW;AACb,CAAC,EAHW,iBAAiB,KAAjB,iBAAiB,QAG5B;AAED,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,0CAAyB;IACzB,oCAAmB;AACrB,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB;AAEM,MAAM,sBAAsB,GAAG;IACpC,WAAW,EAAE,iBAAiB,CAAC,OAAO;IACtC,WAAW,EAAE,iBAAiB,CAAC,UAAU;IACzC,YAAY,EAAE,iBAAiB,CAAC,UAAU;IAC1C,WAAW,EAAE,iBAAiB,CAAC,OAAO;CACvC,CAAC;AAEK,MAAM,sBAAsB,GAAG;IACpC,cAAc,EAAE,iBAAiB,CAAC,OAAO;IACzC,WAAW,EAAE,iBAAiB,CAAC,UAAU;IACzC,eAAe,EAAE,iBAAiB,CAAC,UAAU;IAC7C,cAAc,EAAE,iBAAiB,CAAC,OAAO;CAC1C,CAAC;AACK,MAAM,QAAQ;CAepB;AAAA,CAAC;AAMF,IAAY,WAMX;AAND,WAAY,WAAW;IACrB,mCAAoB;IACpB,8BAAe;IACf,gCAAiB;IACjB,8BAAe;IACf,gCAAe;AACjB,CAAC,EANW,WAAW,KAAX,WAAW,QAMtB;;;;;;;;;;;;;AC9SD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAgc;AAC9X;AACY;AACpC;AACsH;AAC9F;AACD;AAOH;;;;;;AAOvD,MAAM,iBAAiB;IAE5B,YAAoB,kBAAsC,EACtC,WAAwB,EACxB,eAAgC,EACH,oBAA4B,EACzD,cAA8B;QAJ9B,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,gBAAW,GAAX,WAAW,CAAa;QACxB,oBAAe,GAAf,eAAe,CAAiB;QACH,yBAAoB,GAApB,oBAAoB,CAAQ;QACzD,mBAAc,GAAd,cAAc,CAAgB;QAelD,6BAAwB,GAA6B,IAAI,oDAAe,CAAU,KAAK,CAAC,CAAC;QACzF,4BAAuB,GAAwC,IAAI,oDAAe,CAAC,IAAI,CAAC,CAAC;QACjF,oBAAe,GAAG,IAAI,oDAAe,CAAiB,IAAI,CAAC,CAAC;QACpE,oBAAe,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;QAE9C,yBAAoB,GAAG,IAAI,oDAAe,CAAc,IAAI,CAAC,CAAC;QACtE,yBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,kEAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IArB/B,CAAC;IAIvD,IAAY,cAAc;QACxB,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,uBAAuB,CAAC,EAAE;YAChI,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,gBAAgB,GAAG;YACtB,SAAS,EAAE,EAAE;YACb,WAAW,EAAE,IAAI;SAClB,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAYD,iBAAiB,CAAC,SAAyB;QACzC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAED,iBAAiB,CAAC,OAAoB;QACpC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,CAAC;IAC9C,CAAC;IAGD,oBAAoB;QAClB,MAAM,GAAG,GAAG,mBAAmB,CAAC;QAChC,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAC9C,0DAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAA0B,CAAC,CAC3C,CAAC;IACJ,CAAC;IACD,sBAAsB,CAAC,OAAwB;QAC7C,MAAM,GAAG,GAAG,mBAAmB,CAAC;QAChC,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,IAAI,CACxD,0DAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CACrB,CAAC;IACJ,CAAC;IACD,sBAAsB,CAAC,QAAgB;QACrC,MAAM,GAAG,GAAG,qBAAqB,QAAQ,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CACjD,0DAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CACrB,CAAC;IACJ,CAAC;IACD,kBAAkB,CAAC,aAAqB;QACtC,MAAM,GAAG,GAAG,oBAAoB,aAAa,UAAU,CAAC;QACxD,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CACpD,0DAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CACrB,CAAC;IACJ,CAAC;IACD,cAAc,CAAC,KAAuB;QACpC,IAAI,GAAG,GAAG,eAAe,CAAC;QAC1B,IAAI,KAAK,CAAC,IAAI,EAAE;YACd,GAAG,IAAI,QAAQ,KAAK,CAAC,IAAI,GAAG,CAAC;SAC9B;QACD,IAAI,KAAK,CAAC,QAAQ,EAAE;YAClB,GAAG,IAAI,YAAY,KAAK,CAAC,QAAQ,GAAG,CAAC;SACtC;QACD,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE;YACjD,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;gBAC/B,GAAG,IAAI,eAAe,EAAE,GAAG,CAAC;YAC9B,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,KAAK,CAAC,aAAa,EAAE;YACvB,GAAG,IAAI,iBAAiB,KAAK,CAAC,aAAa,GAAG,CAAC;SAChD;QACD,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CACrD,0DAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAqB,CAAC,CACtC,CAAC;IACJ,CAAC;IACD,iBAAiB,CAAC,OAAwB;QACxC,MAAM,GAAG,GAAG,sBAAsB,CAAC;QACnC,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,IAAI,CACxD,0DAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CACrB,CAAC;IACJ,CAAC;IACD,0BAA0B,CAAC,OAAqC;QAC9D,MAAM,GAAG,GAAG,yBAAyB,CAAC;QACtC,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,IAAI,CACxD,0DAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,MAAmC,CAAC,CACrE,CAAC;IACJ,CAAC;IAED,yCAAyC;IACzC,iBAAiB,CAAC,MAAc,EAAE,eAA4C,EAAE,YAA0B,EAAE,UAAmB,KAAK,EAAE,gBAA0B;QAC9J,MAAM,UAAU,GAAG,uEAAkB,CAAC,QAAQ,IAAI,uEAAkB,CAAC,QAAQ,CAAC,EAAE,KAAK,MAAM,IAAI,eAAe,CAAC,kBAAkB,CAAC,UAAU,IAAI,kEAAa,CAAC,kEAAa,CAAC,QAAQ,CAAC,CAAC;QACtL,MAAM,QAAQ,GAAG,kDAAS,CAAC,IAAI,IAAI,EAAE,EAAE,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAE3F,MAAM,iBAAiB,GAAG,GAAG,4CAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,4CAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,QAAQ,EAAE,CAAC;QACnJ,MAAM,eAAe,GAAG,GAAG,4CAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,4CAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,QAAQ,EAAE,CAAC;QAE7I,IAAI,SAAoB,CAAC;QACzB,IAAI,eAAe,CAAC,kBAAkB,CAAC,UAAU,IAAI,iFAAe,CAAC,QAAQ,EAAE;YAC7E,SAAS,GAAG;gBACV,YAAY,EAAE,8EAAY,CAAC,SAAS;gBACpC,kBAAkB,EAAE;oBAClB,SAAS,EAAE,iBAAiB;oBAC5B,OAAO,EAAE,eAAe;iBACzB;aACF,CAAC;SACH;aAEI,IAAI,eAAe,CAAC,kBAAkB,CAAC,UAAU,IAAI,iFAAe,CAAC,iBAAiB,EAAE;YAC3F,SAAS,GAAG;gBACV,YAAY,EAAE,8EAAY,CAAC,SAAS;gBACpC,kBAAkB,EAAE;oBAClB,cAAc,EAAE;wBACd,qBAAqB,EAAE,wFAAsB,CAAC,eAAe,CAAC,kBAAkB,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC;wBAC/G,QAAQ,EAAE,eAAe,CAAC,kBAAkB,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,KAAK,wFAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,kBAAkB,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,kBAAkB,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK;wBAC5O,SAAS,EAAE,iBAAiB;wBAC5B,OAAO,EAAE,eAAe;wBACxB,uBAAuB,EAAE,eAAe,CAAC,kBAAkB,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,KAAK,wFAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,2EAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,kBAAkB,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;qBAC7Q;iBACF;aACF,CAAC;SACH;aAEI;YACH,SAAS,GAAG;gBACV,kBAAkB,EAAE;oBAClB,KAAK,EAAE,IAAI;oBACX,SAAS,EAAE,iBAAiB;oBAC5B,OAAO,EAAE,GAAG,4CAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,4CAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,QAAQ,EAAE;iBAChI;aACF,CAAC;SACH;QAED,IAAI,kBAAkB,GAAG,KAAK,CAAC;QAC/B,IAAI,gBAAgB,IAAI,IAAI,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3D,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,2EAAS,CAAC,OAAO,CAAC,EAAE;gBAC9D,kBAAkB,GAAG,IAAI,CAAC;aAC3B;SACF;QAED,IAAI,YAAY,CAAC,SAAS,KAAK,aAAa,EAAE;YAC5C,SAAS,CAAC,cAAc,GAAG,2EAAU,CAAC,mBAAmB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC9E,SAAS,CAAC,iBAAiB,GAAG,2EAAU,CAAC,mBAAmB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;SACrF;QAED,IAAI,MAAM,GAA+B;YACvC,UAAU,EAAE,YAAY,CAAC,QAAQ,CAAC,EAAE;YACpC,cAAc,EAAE,YAAY,CAAC,SAAS;YACtC,YAAY,EAAE,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,mFAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,mFAAiB,CAAC,UAAU;YACzI,UAAU,EAAE,YAAY,CAAC,SAAS,IAAI,YAAY,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;YACtG,SAAS,EAAE,2EAAS,CAAC,MAAM;YAC3B,QAAQ,EAAE,GAAG,0EAAQ,CAAC,SAAS,IAAI,0EAAQ,CAAC,YAAY,EAAE;YAC1D,kBAAkB;YAClB,yBAAyB,EAAE,OAAO;YAClC,SAAS;SACV,CAAC;QAEF,MAAM,YAAY,GAAiC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,MAAM,EAAE,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,+CAAE,CAAC,EAAE,CAAC,CAAC;QAC5K,IAAI,iBAAiB,GAAyF,EAAE,CAAC;QAEjH,OAAO,YAAY,CAAC,IAAI,CAAC,gEAAS,CAAC,GAAG,CAAC,EAAE;YACvC,MAAM,oBAAoB,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC3G,IAAI,oBAAoB,CAAC,MAAM,EAAE;gBAC/B,MAAM,mCAAQ,MAAM,KAAE,cAAc,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,EAAE,uBAAuB,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,GAAE,CAAC;aAC7J;YAED,iBAAiB,GAAG,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;gBAC3E,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC5E,OAAO,OAAO,CAAC;YACjB,CAAC,EAAE,EAAE,CAAC,CAAC;YAEP,oBAAoB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBACvC,IAAI,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;oBACvC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBACnD;qBACI;oBACH,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACjD;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,2BAA2B,GAAG,MAAM,CAAC;YAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,GAAG,CAAC,EAAE;gBAE/D,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBACnB,MAAM,EAAE,KAAK,EAAE,0BAA0B,EAAE,GAAG,IAAI,CAAC;oBAEnD,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,mFAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,mFAAiB,CAAC,UAAU,CAAC;oBAClN,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,KAAK,kFAAgB,CAAC,SAAS,IAAI,IAAI,CAAC,gBAAgB,KAAK,kFAAgB,CAAC,kBAAkB,CAAC;oBAEhJ,IAAI,0BAA0B,EAAE;wBAC9B,IAAI,CAAC,0BAA0B,GAAG;4BAChC,SAAS,EAAE,4CAAM,CAAC,kDAAS,CAAC,0BAA0B,CAAC,SAAS,EAAE,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,MAAM,EAAE;4BAC3I,OAAO,EAAE,4CAAM,CAAC,kDAAS,CAAC,0BAA0B,CAAC,OAAO,EAAE,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,MAAM,EAAE;yBACxI,CAAC;qBACH;oBAED,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC/C,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;4BACjF,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;4BAC/D,OAAO,OAAO,CAAC;wBACjB,CAAC,CAAC,CAAC;qBACJ;oBAED,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;wBACpD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;wBACxB,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;qBACjD;gBAEH,CAAC,CAAC,CAAC;gBACH,OAAO,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,iCAAM,GAAG,KAAE,gBAAgB,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,IAAG,CAAC,CAAC,GAAG,CAAC;YAC5H,CAAC,CAAC;YACA,4BAA4B;YAC5B,gEAAS,CAAC,CAAC,GAAsB,EAAiC,EAAE;gBAClE,OAAO,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,+CAAE,CAAC,GAAG,CAAC,CAAC;YACvG,CAAC,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IACD,SAAS,CAAC,OAAmC,EAAE,MAAc,EAAE,UAAmB;QAChF,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;QAC1E,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,SAAS,MAAM,gCAAgC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACxI,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;gBACtB,OAAO,GAAG,CAAC,IAAyB,CAAC;aACtC;QACH,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IACD,0BAA0B,CAAC,iBAAoC,EAAE,MAAc,EAAE,MAAkC,EAAE,YAA0B;QAC7I,MAAM,KAAK,GAAG,EAAE,MAAM,EAAuB,CAAC;QAE9C,IAAI,YAAY,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,EAAE,sBAAsB;YACpD,KAAK,CAAC,cAAc,GAAG,YAAY,CAAC,KAAK,CAAC;SAC3C;aACI;YACH,gCAAgC;YAChC,IAAI,iBAAiB,CAAC,KAAK,IAAI,iBAAiB,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBACjE,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,KAAK,kFAAgB,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;gBAChI,KAAK,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;aAC1E;SACF;QAED,IAAI,KAAK,CAAC,cAAc,EAAE;YACxB,IAAI,MAAM,CAAC,SAAS,CAAC,YAAY,KAAK,8EAAY,CAAC,SAAS,EAAE;gBAC5D,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;gBAC7G,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;aAEhH;iBAAM;gBACL,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;gBAC9F,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;aACjG;SACF;QACD,OAAO,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,GAAG,CAAC,EAAE;YACxF,MAAM,QAAQ,GAAG,GAAG,CAAC;YACrB,6CAA6C;YAC7C,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE;gBACrB,MAAM,iBAAiB,GAAsF,QAAQ;qBAClH,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,iCACX,OAAO,KACV,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,MAAM,EACvC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,MAAM,IACpC,CAAC;qBACF,MAAM,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;oBAC3B,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC5E,OAAO,OAAO,CAAC;gBACjB,CAAC,EAAE,EAAE,CAAC,CAAC;gBAET,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBACrC,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;oBAC5D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;oBAC9F,OAAO,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC1C,CAAC,CAAC,CAAC;gBAEH,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC;qBAC/C,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;qBACvE,GAAG,CAAC,EAAE,CAAC,EAAE;oBACR,MAAM,EACJ,mBAAmB,EACnB,UAAU,EACV,IAAI,EACJ,SAAS,EACT,SAAS,EACT,cAAc,EACd,EAAE;oBACF,gDAAgD;oBAChD,iBAAiB;oBACjB,gDAAgD;oBAChD,eAAe,EACf,QAAQ,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBAC9C,OAAO;wBACL,KAAK,EAAE;4BACL,mBAAmB;4BACnB,UAAU;4BACV,QAAQ;4BACR,iBAAiB,EAAE;gCACjB,CAAC,EAAE,iBAAiB,CAAC,CAAC;gCACtB,CAAC,EAAE,iBAAiB,CAAC,CAAC;gCACtB,SAAS,EAAE,iBAAiB,CAAC,SAAS;6BACvC;4BACD,QAAQ,EAAE,EAAE;4BACZ,SAAS;4BACT,cAAc;4BACd,EAAE;4BACF,IAAI;4BACJ,cAAc,EAAE,EAAE;4BAClB,SAAS,EAAE,EAAE;4BACb,eAAe,EAAE;gCACf,MAAM,EAAE,eAAe,CAAC,MAAM;gCAC9B,IAAI,EAAE,eAAe,CAAC,IAAI;gCAC1B,GAAG,EAAE,eAAe,CAAC,GAAG;gCACxB,KAAK,EAAE,eAAe,CAAC,KAAK;6BAC7B;4BACD,SAAS,EAAE;gCACT,EAAE,EAAE,SAAS,CAAC,EAAE;gCAChB,IAAI,EAAE,SAAS,CAAC,IAAI;gCACpB,IAAI,EAAE,SAAS,CAAC,IAAI;6BACrB;4BACD,QAAQ,EAAE,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,mFAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,mFAAiB,CAAC,OAAO;yBAClL;wBACV,YAAY,EAAE,iBAAiB,CAAC,EAAE,CAAC;wBACnC,eAAe,EAAE,IAAI;qBACG,CAAC;gBAC7B,CAAC,CAAC,CAAC;gBACL,iBAAiB,CAAC,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;aACvE;YACD,OAAO,iBAAiB,CAAC;QAC3B,CAAC,CACA,CAAC,CAAC,CAAC,CAAC,+CAAE,CAAC,iBAAiB,CAAC,CAAC;IAC7B,CAAC;IAEO,uBAAuB,CAAC,IAAY,EAAE,WAAoB,KAAK;QACrE,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,2EAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,IAAI,QAAQ,EAAE;YACZ,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;SAC7B;aAAM;YACL,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SAC3B;QACD,OAAO,4CAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACjE,CAAC;IAKD,MAAM,CAAC,IAAqB;QAC1B,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,oBAAoB,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACzF,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;YAC3B,OAAO,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,iDAAiD;QACzF,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,iBAAiB,CAAC,MAAc,EAAE,gBAAkC,EAAE,wBAAiC,IAAI;QACzG,MAAM,GAAG,GAAG,SAAS,MAAM,eAAe,CAAC;QAC3C,MAAM,UAAU,GAAG,uEAAkB,CAAC,QAAQ,IAAI,MAAM,IAAI,uEAAkB,CAAC,QAAQ,CAAC,EAAE,IAAI,qBAAqB,CAAC;QACpH,IAAI,gBAAgB,CAAC,wBAAwB,IAAI,gBAAgB,CAAC,wBAAwB,CAAC,MAAM,EAAE;YACjG,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAA0C,CAAC;YAC9E,gBAAgB,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACzD,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,gBAAgB,CAAC,wBAAwB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACvH,CAAC,CAAC,CAAC;YACH,gBAAgB,CAAC,wBAAwB,GAAG,EAAE,CAAC;YAC/C,mBAAmB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBACpC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBAClB,IAAI,CAAC,CAAC,WAAW,IAAI,oFAAsB,CAAC,aAAa,EAAE;wBACzD,OAAO,CAAC,CAAC,CAAC;qBACX;yBACI,IAAI,CAAC,CAAC,WAAW,IAAI,oFAAsB,CAAC,kBAAkB,EAAE;wBACnE,IAAI,CAAC,CAAC,WAAW,IAAI,oFAAsB,CAAC,IAAI,EAAE;4BAChD,OAAO,CAAC,CAAC,CAAC;yBACX;6BACI,IAAI,CAAC,CAAC,WAAW,IAAI,oFAAsB,CAAC,aAAa,EAAE;4BAC9D,OAAO,CAAC,CAAC;yBACrB;6BACe;4BACH,OAAO,CAAC,CAAC;yBACrB;qBACS;yBACI;wBACH,OAAO,CAAC,CAAC;qBACnB;gBACM,CAAC,CAAC,CAAC;gBACH,gBAAgB,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3D,CAAC,CAAC,CAAC;SACJ;QAED,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,GAAG,CAAC,EAAE;YACrG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;YAC3B,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;gBACrB,MAAM,QAAQ,GAA8B;oBAC1C,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE;oBACf,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ;oBAC3B,eAAe,EAAE,GAAG,CAAC,IAAI,CAAC,eAAe;iBAC1C,CAAC;gBACF,OAAO,QAAQ,CAAC;aACjB;iBACI;gBACH,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;oBACrB,MAAM,UAAU,GAAG,EAAE,CAAC;oBACtB,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE;wBACnB,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE;4BACpB,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;yBACtD;wBACD,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;4BAChC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;wBACrC,CAAC,CAAC,CAAC;wBACH,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC;qBACpE;iBACF;gBACD,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aACtD;QACH,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,MAAM,CAAC,eAA4C,EAAE,MAA6B,EAAE,YAA0B;QAE5G,MAAM,OAAO,GAAG;YACd,YAAY,EAAE;gBACZ,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE;gBACxB,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;gBACvB,cAAc,EAAE,YAAY,CAAC,SAAS;gBACtC,SAAS,EAAE;oBACT,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS;oBACjC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY;oBACvC,YAAY,EAAE,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,8EAAY,CAAC,SAAS;oBACjI,kBAAkB,EAAE,IAAI;oBACxB,kBAAkB,EAAE,IAAI;iBACzB;aACF;SACF,CAAC;QAEF,IAAI,eAAe,CAAC,kBAAkB,CAAC,UAAU,IAAI,iFAAe,CAAC,QAAQ,EAAE;YAC7E,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,kBAAkB,GAAG;gBAClD,SAAS,EAAE,MAAM,CAAC,0BAA0B,CAAC,SAAS;gBACtD,OAAO,EAAE,MAAM,CAAC,0BAA0B,CAAC,OAAO;aACnD,CAAC;SACH;aAEI,IAAI,eAAe,CAAC,kBAAkB,CAAC,UAAU,IAAI,iFAAe,CAAC,iBAAiB,EAAE;YAC3F,MAAM,QAAQ,GAAG,kDAAS,CAAC,IAAI,IAAI,EAAE,EAAE,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC3F,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,kBAAkB,GAAG;gBAClD,cAAc,EAAE,EAAE;aACnB,CAAC;YAEF,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,kBAAkB,CAAC,cAAc,GAAG;gBACjE,qBAAqB,EAAE,wFAAsB,CAAC,eAAe,CAAC,kBAAkB,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC;gBAC/G,QAAQ,EAAE,wFAAsB,CAAC,KAAK;oBACpC,CAAC,CAAC,eAAe,CAAC,kBAAkB,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI;oBAC/D,CAAC,CAAC,eAAe,CAAC,kBAAkB,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK;gBAClE,SAAS,EAAE,GAAG,4CAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,4CAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,QAAQ,EAAE;aACpI,CAAC;YAEF,IAAI,eAAe,CAAC,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,KAAK,8EAAY,CAAC,WAAW,EAAE;gBAC3F,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,kBAAkB,CAAC,cAAc,CAAC,OAAO,GAAG,GAAG,4CAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,4CAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,QAAQ,EAAE,CAAC;gBAChM,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,kBAAkB,CAAC,cAAc,CAAC,WAAW;oBAC1E,eAAe,CAAC,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC;aACrE;iBAAM;gBACL,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,kBAAkB,CAAC,cAAc,CAAC,OAAO,GAAG,GAAG,4CAAM,CAClF,eAAe,CAAC,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAC3D,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,4CAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,QAAQ,EAAE,CAAC;aACxF;YAED,IAAI,eAAe,CAAC,kBAAkB,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,KAAK,wFAAsB,CAAC,KAAK,EAAE;gBACrG,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,kBAAkB,CAAC,cAAc,CAAC,uBAAuB,GAAG;oBACzF,UAAU,EAAE,IAAI,CAAC,6BAA6B,CAAC,eAAe,CAAC,kBAAkB,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC;iBAClH,CAAC;aACH;SAEF;QAED,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,SAAS,eAAe,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,0BAA0B,EAAE,IAAI,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACvM,OAAO,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,6BAA6B,CAAC,YAAwC;QACpE,OAAO,2EAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC5E,CAAC;IAED,iBAAiB,CACf,kBAA+C,EAC/C,QAAsB,EACtB,qBAA4C;QAE5C,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,EAAE,QAAQ,CAAC,CAAC,IAAI,CAC1E,0DAAG,CAAC,CAAC,SAAS,EAAE,EAAE;YAChB,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,mFAAqB,CAAC,+BAA+B,CAAC,CAAC;QACnG,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,UAAkB,EAAE,OAAe;QAClD,MAAM,YAAY,GAAG,uEAAkB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC;QACnG,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC;QAClF,MAAM,MAAM,GAAG,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,2CAA2C;QACjF,MAAM,SAAS,GAAG,KAAK,IAAI,KAAK,CAAC,SAAS,CAAC;QAC3C,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,yEAAyE;QACrM,IAAI,MAAM,EAAE;YACV,OAAO,qDAAQ,CAAC;gBACd,QAAQ,EAAE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CACrD,0DAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAC3G;gBACD,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,IAAI,CACpD,0DAAG,CAAC,GAAG,CAAC,EAAE;oBACR,MAAM,UAAU,GAAG,GAAG,CAAC;oBACvB,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;wBACvB,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;wBACxE,OAAO,cAAc,CAAC,CAAC,iCAAM,CAAC,KAAE,SAAS,EAAE,cAAc,CAAC,SAAS,IAAG,CAAC,mBAAM,CAAC,CAAE,CAAC;oBACnF,CAAC,CAAmB,CAAC;gBACvB,CAAC,CAAC,CACH;aACF,CAAC,CAAC,IAAI,CACL,0DAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAgB,CAAC,CAC7B,CAAC;SACH;aACI;YACH,MAAM,SAAS,GAAc,EAAE,CAAC;YAChC,OAAO,+CAAE,CAAC,SAAS,CAAC,CAAC;SACtB;IACH,CAAC;IAEO,gBAAgB,CAAC,SAAyB;QAChD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YACxB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,uCAAuC;YACjO,gCAAgC;YAChC,MAAM,cAAc,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACzC,MAAM,OAAO,GAAG,uEAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,uDAAuD;gBACtI,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,oIAAoI;oBAC9J,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC1F,IAAI,gBAAgB,EAAE,EAAC,iCAAiC;wBACtD,OAAO,+CAAE,CAAC,gBAAgB,CAAC,CAAC;qBAC7B;yBACI,EAAE,uEAAuE;wBAC5E,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;qBACpC;iBACF;qBACI,EAAE,mDAAmD;oBACxD,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;iBACpC;YACH,CAAC,CAAC,CAAC;YACH,OAAO,qDAAQ,CAAC,cAAc,CAAC,CAAC;SACjC;QACD,OAAO,+CAAE,CAAC,EAAE,CAAC,CAAC;IAChB,CAAC;IAEO,UAAU,CAAC,OAAgB,EAAE,YAA0B;QAC7D,OAAO,qDAAQ,CAAC;YACd,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC;YAC9E,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,CAAE;SAChF,CAAC,CAAC,IAAI,CACL,0DAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACV,OAAO,mCACF,OAAO,KACV,SAAS,kCACJ,OAAO,CAAC,SAAS,KACpB,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,EACrE,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,MAExE,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE;gBAC1G,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC/C;YACD,IAAI,CAAC,gBAAgB,CAAC,WAAW,GAAG,4CAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;YACrF,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAChF,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAGH,cAAc,CAAC,qBAA8C,EAAE,UAAU;QACvE,MAAM,GAAG,GAAG,SAAS,UAAU,qBAAqB,CAAC;QACrD,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACzF,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;gBACrB,OAAO,GAAG,CAAC;aACZ;iBAAM;gBACL,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aAC/C;QACH,CAAC,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,oBAAoB,CAAC,MAAgB;QACnC,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;IACD,kBAAkB,CAAC,IAAU,EAAE,EAAa,EAAE,oBAA6B;QACzE,MAAM,KAAK,GAAG,4CAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,EAAE,EAAE;YACP,EAAE,GAAG,uEAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,KAAK,oBAAoB,CAAC,CAAC;SACxF;QACD,IAAI,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE;YAC9B,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7F;aACI;YACH,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnG;IACH,CAAC;;kFAxlBU,iBAAiB,ubAKR,0EAAmB;oGAL5B,iBAAiB,WAAjB,iBAAiB,mBAFhB,MAAM;AA6lBpB,iBAAiB;AACV,MAAM,eAAe;IAC1B,YACS,WAAmB,EACnB,aAAqB,EACrB,KAAa,EACb,YAAoB,EACpB,OAAe,EACf,aAAqB,CAAC,EACtB,aAAqB,CAAC,EACtB,SAAiB,CAAC;QAPlB,gBAAW,GAAX,WAAW,CAAQ;QACnB,kBAAa,GAAb,aAAa,CAAQ;QACrB,UAAK,GAAL,KAAK,CAAQ;QACb,iBAAY,GAAZ,YAAY,CAAQ;QACpB,YAAO,GAAP,OAAO,CAAQ;QACf,eAAU,GAAV,UAAU,CAAY;QACtB,eAAU,GAAV,UAAU,CAAY;QACtB,WAAM,GAAN,MAAM,CAAY;IACvB,CAAC;CACN;;;;;;;;;;;;;AC7nBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+C;AACqB;AACA;;AAe7D,MAAM,cAAc;;6FAAd,cAAc;sJAAd,cAAc,kBARhB;YACP,4DAAY;SACb;mIAMU,cAAc,mBATV,gFAAsB,EAAE,gFAAiB,aAEtD,4DAAY,aAGZ,gFAAiB;QACjB,gFAAsB;;;;;;;;;;;;;ACd1B;AAAA;AAAA;AAAA;AAAA;AAA+C;AACY;;AAOpD,MAAM,iBAAiB;;gGAAjB,iBAAiB;4JAAjB,iBAAiB,kBAHnB,CAAC,4DAAY,CAAC;mIAGZ,iBAAiB,mBAJb,uEAAe,aACpB,4DAAY,aACZ,uEAAe;;;;;;;;;;;;;ACN3B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6E;AACxB;AACoB;AACuD;AAiBxF;AACuB;AAC9B;AAG4B;AAC6B;;;AAKnF,MAAM,eAAe;IAE1B,YAAoB,kBAAsC;QAAtC,uBAAkB,GAAlB,kBAAkB,CAAoB;QAGlD,mBAAc,GAAG,IAAI,oDAAe,CAAiB,IAAI,CAAC,CAAC;QACnE,oBAAe,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QAC7C,iBAAY,GAAiC,IAAI,GAAG,EAAE,CAAC;IAJ/D,CAAC;IAKD,cAAc,CAAC,KAAiC;QAC9C,MAAM,GAAG,GAAG,eAAe,CAAC;QAC5B,OAAO,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CACxD,0DAAG,CAAC,GAAG,CAAC,EAAE;YACR,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;gBACrB,OAAO,GAAG,CAAC,IAAI;aAChB;iBAAM;gBACL,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aAC/C;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,cAAgC;QAC5C,MAAM,cAAc,GAA+B,EAAE,CAAC;QACtD,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC3B,MAAM,KAAK,GAA6B;gBACtC,aAAa,EAAE,IAAI;gBACnB,cAAc,EAAE,CAAC;gBACjB,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,QAAQ,EAAE,GAAG,CAAC,QAAQ;aACvB,CAAC;YACF,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAC1D,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,kBAAkB,CAAC,cAAqC;QACtD,IAAI,GAAG,GAAG,yBAAyB,CAAC;QACpC,IAAI,cAAc,CAAC,SAAS,EAAE;YAC5B,GAAG,IAAI,aAAa,kBAAkB,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC;SACrE;QACD,IAAI,cAAc,CAAC,OAAO,EAAE;YAC1B,GAAG,IAAI,WAAW,kBAAkB,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC;SACjE;QACD,IAAI,cAAc,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACtC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;gBACrC,GAAG,IAAI,YAAY,EAAE,GAAG,CAAC;YAC3B,CAAC,CAAC,CAAC;SACJ;QACD,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAC9E,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;gBACrB,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE;oBAC/B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAwB,CAAC;oBAC1C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;wBACtB,IAAI,QAAQ,CAAC,KAAK,EAAE;4BAClB,QAAQ,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;4BACpF,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;yBAClF;wBACD,IAAI,QAAQ,CAAC,cAAc,EAAE;4BAC3B,QAAQ,CAAC,cAAc,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;4BACtG,QAAQ,CAAC,cAAc,CAAC,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;yBAC7G;wBACD,IAAI,QAAQ,CAAC,UAAU,EAAE;4BACvB,QAAQ,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;4BAC9F,QAAQ,CAAC,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;yBACjG;wBACD,IAAI,QAAQ,CAAC,QAAQ,EAAE;4BACrB,QAAQ,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;4BAC1F,QAAQ,CAAC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;yBAC3F;oBACH,CAAC,CAAC;oBACF,OAAO,IAAI,CAAC;iBACb;aACF;iBAAM;gBACL,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aAC/C;QACH,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,gBAAgB,CAAC,KAAwB;QACvC,IAAI,GAAG,GAAG,UAAU,KAAK,CAAC,cAAc,4BAA4B,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,kBAAkB,CACnI,KAAK,CAAC,OAAO,CACd,EAAE,CAAC;QACJ,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE;YAClB,GAAG,IAAI,WAAW,KAAK,CAAC,MAAM,EAAE,CAAC;SAClC;QACD,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,GAAG,CAAC,EAAE;YACzD,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;gBACrB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAwB,CAAC;gBAC1C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBACtB,IAAI,QAAQ,CAAC,KAAK,EAAE;wBAClB,QAAQ,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;wBACpF,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;qBAClF;oBACD,IAAI,QAAQ,CAAC,cAAc,EAAE;wBAC3B,QAAQ,CAAC,cAAc,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;wBACtG,QAAQ,CAAC,cAAc,CAAC,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;qBAC7G;oBACD,IAAI,QAAQ,CAAC,UAAU,EAAE;wBACvB,QAAQ,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;wBAC9F,QAAQ,CAAC,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;qBACjG;oBACD,IAAI,QAAQ,CAAC,QAAQ,EAAE;wBACrB,QAAQ,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;wBAC1F,QAAQ,CAAC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;qBAC3F;gBACH,CAAC,CAAC;gBACF,OAAO,IAAI,CAAC;aACb;iBAAM;gBACL,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aAC/C;QACH,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,wBAAwB,CAAC,GAA6B,EAAE,oBAA6B,IAAI;QACvF,IAAI,gBAAgB,GAAG;YACrB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,wCAAwC,EAAE,GAAG,CAAC,wCAAwC;YACtF,uBAAuB,EAAE;gBACvB,GAAG,EAAE,GAAG,CAAC,0BAA0B,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC,IAAI;gBACnF,WAAW,EAAE,GAAG,CAAC,kCAAkC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC,CAAC,IAAI;gBAC3G,YAAY,EAAE,GAAG,CAAC,mCAAmC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC,CAAC,IAAI;aAC/G;YACD,yBAAyB,EAAE,GAAG,CAAC,yBAAyB;YACxD,cAAc,EAAE,GAAG,CAAC,cAAc;YAClC,mBAAmB,EAAE,GAAG,CAAC,MAAM;YAC/B,QAAQ,EAAE,sFAAgB,CAAC,iBAAiB;YAC5C,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,OAAO,EAAE,GAAG,CAAC,OAAO;SACrB,CAAC;QACF,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,gBAAgB,CAAC,CAAC;QACxF,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,8BAA8B,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAC5H,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;gBACrB,MAAM,QAAQ,GAAG,GAAG,CAAC,IAA6B,CAAC;gBACnD,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBACzB,IAAI,CAAC,CAAC,KAAK,EAAE;wBACX,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;wBACtE,CAAC,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;qBAC7D;gBACH,CAAC,CAAC;gBACF,OAAO,QAAQ,CAAC;aACjB;iBACI;gBACH,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aACtD;QACH,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,mBAAmB,CAAC,MAAkC,EAAE,aAAqB;QAC3E,IAAI,OAAgC,CAAC;QAErC,IAAI,MAAM,CAAC,SAAS,CAAC,YAAY,IAAI,8EAAY,CAAC,SAAS,EAAE;YAC3D,OAAO,GAAG;gBACR,aAAa,EAAE,aAAa;gBAC5B,YAAY,EAAE;oBACZ,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,SAAS;oBACxD,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,OAAO;iBACrD;aACF,CAAC;SACH;aAAM;YACL,OAAO,GAAG;gBACR,aAAa,EAAE,aAAa;gBAC5B,cAAc,EAAE;oBACd,qBAAqB,EAAE,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,cAAc,CAAC,qBAAqB;oBAC/F,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,cAAc,CAAC,SAAS;oBACvE,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,cAAc,CAAC,OAAO;oBACnE,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,cAAc,CAAC,QAAQ;oBACrE,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,cAAc,CAAC,WAAW;oBAC3E,uBAAuB,EAAE,IAAI;iBAC9B;aACF,CAAC;YACF,IAAI,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,cAAc,CAAC,uBAAuB,EAAE;gBAC9E,OAAO,CAAC,cAAc,CAAC,uBAAuB,GAAG;oBAC/C,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,cAAc,CAAC,uBAAuB,CAAC,UAAU;iBAClG,CAAC;aACH;SAEF;QACD,CAAC;QACD,IAAI,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;QAE5D,OAAO,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,sBAAsB,CAAC,KAA8B;QACnD,IAAI,GAAG,GAAG,6CAA6C,KAAK,CAAC,aAAa,GAAG,CAAC;QAC9E,IAAI,KAAK,CAAC,YAAY,EAAE;YACtB,GAAG,IAAI,wBAAwB,kBAAkB,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;YACjF,GAAG,IAAI,0BAA0B,kBAAkB,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC;SACtF;aAAM;YACL,GAAG,IAAI,wCAAwC,KAAK,CAAC,cAAc,CAAC,qBAAqB,GAAG,CAAC;YAC7F,GAAG,IAAI,0BAA0B,kBAAkB,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC;YACrF,GAAG,IAAI,4BAA4B,kBAAkB,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC;YACzF,IAAI,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE;gBACjC,GAAG,IAAI,2BAA2B,KAAK,CAAC,cAAc,CAAC,QAAQ,GAAG,CAAC;aACpE;YACD,IAAI,KAAK,CAAC,cAAc,CAAC,WAAW,EAAE;gBACpC,GAAG,IAAI,8BAA8B,KAAK,CAAC,cAAc,CAAC,WAAW,GAAG,CAAC;aAC1E;YACD,IAAI,KAAK,CAAC,cAAc,CAAC,uBAAuB,IAAI,KAAK,CAAC,cAAc,CAAC,uBAAuB,CAAC,UAAU,IAAI,KAAK,CAAC,cAAc,CAAC,uBAAuB,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBACjL,KAAK,CAAC,cAAc,CAAC,uBAAuB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;oBACtE,GAAG,IAAI,qDAAqD,GAAG,GAAG,CAAC;gBACrE,CAAC,CAAC,CAAC;aACJ;SACF;QAED,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,GAAG,CAAC,EAAE;YACzD,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;gBACrB,OAAO,GAAG,CAAC,IAAwB,CAAC;aACrC;iBAAM;gBACL,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aAC/C;YACD,CAAC;QACH,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAAA,CAAC;IAEF,wBAAwB,CAAC,OAA+B,EAAE,oBAA6B,IAAI;QACzF,MAAM,GAAG,GAAG,yBAAyB,CAAC;QACtC,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC,IAAI,CAC3E,0DAAG,CAAC,GAAG,CAAC,EAAE;YACR,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;gBACtB,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAiC,CAAC;gBACvD,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBACzB,IAAI,CAAC,CAAC,sBAAsB,EAAE;wBAC5B,CAAC,CAAC,sBAAsB,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC;wBACxG,CAAC,CAAC,sBAAsB,CAAC,QAAQ,GAAG,CAAC,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;qBAChH;oBACD,IAAI,CAAC,CAAC,cAAc,EAAE;wBACpB,CAAC,CAAC,cAAc,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;wBACxF,CAAC,CAAC,cAAc,CAAC,QAAQ,GAAG,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;qBACxF;oBACD,IAAI,CAAC,CAAC,KAAK,EAAE;wBACX,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;wBACtE,CAAC,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;qBAC7D;gBACH,CAAC,CAAC;gBACF,OAAO,QAAQ,CAAC;aACjB;iBACI;gBACH,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aACtD;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,uBAAuB,CAAC,SAAiB,EAAE,YAAoB;QAC7D,MAAM,GAAG,GAAG,iBAAiB,SAAS,aAAa,CAAC;QACpD,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,CAChF,0DAAG,CAAC,GAAG,CAAC,EAAE;YACR,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;gBACrB,OAAO,GAAG,CAAC,IAAI;aAChB;iBAAM;gBACL,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aAC/C;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,cAAc,CAAC,SAAiB;QAC9B,MAAM,GAAG,GAAG,iBAAiB,SAAS,UAAU,CAAC;QACjD,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CACpD,0DAAG,CAAC,GAAG,CAAC,EAAE;YACR,IAAI,GAAG,CAAC,MAAM,EAAE;gBACd,OAAO,GAAG,CAAC,IAAI;aAChB;iBAAM;gBACL,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aAC/C;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,SAAiB,EAAE,SAAiB;QAChD,MAAM,GAAG,GAAG,iBAAiB,SAAS,SAAS,CAAC;QAChD,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,CAC1E,0DAAG,CAAC,GAAG,CAAC,EAAE;YACR,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;gBACrB,OAAO,GAAG,CAAC,IAAI,CAAC;aACjB;iBAAM;gBACL,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aAC/C;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,kBAAkB,CAAC,QAAc,EAAE,mBAAyB;QAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,mBAAmB,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC9G,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,mBAAmB,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9E,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;QAC1C,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;QACvC,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;QACrC,OAAO,GAAG,OAAO,GAAG,EAAE,CAAC;QACvB,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAChD,OAAO,GAAG,OAAO,GAAG,EAAE,CAAC;QACvB,KAAK,GAAG,KAAK,GAAG,EAAE,CAAC;QACnB,OAAO;YACL,aAAa,EAAE,GAAG,QAAQ,GAAG,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM;YAC7H,IAAI,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;YAC/F,YAAY;SACb,CAAC;IACJ,CAAC;IAEO,YAAY,CAAC,GAAG;QACtB,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACzC,CAAC;IAED,cAAc,CAAC,EAAU,EAAE,WAAqB;QAC9C,MAAM,GAAG,GAAG,iBAAiB,EAAE,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,IAAI,CAC3D,0DAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAC9C,0DAAG,CAAC,CAAC,CAAC,EAAE;YACN,IAAI,CAAC,CAAC,MAAM,KAAK,GAAG,EAAE;gBACpB,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAsB,CAAC;gBAC1C,IAAI,QAAQ,CAAC,KAAK,EAAE;oBAClB,QAAQ,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBACpF,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;iBAClF;gBACD,IAAI,QAAQ,CAAC,cAAc,EAAE;oBAC3B,QAAQ,CAAC,cAAc,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;oBACtG,QAAQ,CAAC,cAAc,CAAC,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC7G;gBACD,IAAI,QAAQ,CAAC,UAAU,EAAE;oBACvB,QAAQ,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;oBAC9F,QAAQ,CAAC,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;iBACjG;gBACD,IAAI,QAAQ,CAAC,QAAQ,EAAE;oBACrB,QAAQ,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBAC1F,QAAQ,CAAC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC3F;gBACD,OAAO,QAAQ,CAAC;aACjB;iBACI;gBACH,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;aACpD;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,+BAA+B,CAAC,SAAiB,EAAE,YAAoB,EAAE,SAAiB,EAAE,OAAe;QACzG,4DAA4D;QAC5D,MAAM,gBAAgB,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACzE,MAAM,mBAAmB,GAAI,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACnF,MAAM,YAAY,GAAG,mCAAM,CAAC,gDAAgB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QACxE,MAAM,UAAU,GAAG,mCAAM,CAAC,gDAAgB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QACpE,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;QACvD,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;QACnD,IAAI,gBAAgB,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;YAC/B,SAAS,GAAG,YAAY;iBACrB,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;iBAC9C,MAAM,CAAC,qBAAqB,CAAC,CAAC;SAClC;QACD,IAAI,gBAAgB,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;YAC/B,SAAS,GAAG,YAAY;iBACrB,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;iBAChD,MAAM,CAAC,qBAAqB,CAAC,CAAC;SAClC;QACD,IAAI,mBAAmB,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;YAClC,OAAO,GAAG,UAAU;iBACjB,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;SAC/E;QACD,IAAI,mBAAmB,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;YAClC,OAAO,GAAG,UAAU;iBACjB,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;iBAC9C,MAAM,CAAC,qBAAqB,CAAC,CAAC;SAClC;QACD,OAAO;YACL,SAAS,EAAE,SAAS;YACpB,OAAO,EAAE,OAAO;YAChB,kBAAkB,EAAE,CAAC,mCAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,mCAAM,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC;SACpE,CAAC;IACJ,CAAC;IAED,oBAAoB,CAAC,OAAe;QAClC,MAAM,GAAG,GAAG,UAAU,OAAO,WAAW,CAAC;QACzC,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAC9C,0DAAG,CAAC,GAAG,CAAC,EAAE;YACR,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;gBACrB,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;oBAChC,MAAM,OAAO,GAAiB;wBAC5B,EAAE,EAAE,CAAC,CAAC,EAAE;wBACR,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,OAAO,EAAE,CAAC,CAAC,OAAO;wBAClB,SAAS,EAAE,CAAC,CAAC,OAAO,IAAI,uEAAkB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS;qBACtG,CAAC;oBACF,OAAO,OAAO,CAAC;gBACjB,CAAC,CAAC,CAAC;gBACH,OAAO,QAAQ,CAAC;aACjB;iBAAM;gBACL,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aAC/C;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,iBAAiB,CAAC,EAAU;QAC1B,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE;YACxC,OAAO,+CAAE,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;SACjD;aACI;YACH,OAAO,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,IAAI,CACjC,gEAAS,CAAC,GAAG,CAAC,EAAE;gBACd,OAAO,qDAAQ,CAAC;oBACd,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,+FAAsB,CAAC,oBAAoB,IAAI,+FAAsB,CAAC,sBAAsB,IAAI,+FAAsB,CAAC,uBAAuB,IAAI,+FAAsB,CAAC,2BAA2B,EAAE,CAAC;oBACxP,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBACvC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;iBACnC,CAAC,CAAC,IAAI,CACL,0DAAG,CAAC,YAAY,CAAC,EAAE;oBACjB,MAAM,QAAQ,GAAoB;wBAChC,cAAc,EAAE,GAAG;wBACnB,kBAAkB,EAAE,YAAY,CAAC,CAAC,CAAC;wBACnC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;wBACzB,kBAAkB,EAAE,YAAY,CAAC,CAAC,CAAC;qBACpC;oBACD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC;oBAC/C,OAAO,QAAQ,CAAC;gBAClB,CAAC,CAAC,CACH;YACH,CAAC,CAAC,CACH,CAAC;SACH;IACH,CAAC;IACO,qBAAqB,CAAC,aAAqB,EAAE,QAAiB;QACpE,MAAM,GAAG,GAAG,gBAAgB,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,4BAA4B,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACrG,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAC9C,0DAAG,CAAC,GAAG,CAAC,EAAE;YACR,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;gBACtB,MAAM,QAAQ,GAAG,GAAG,CAAC,IAA0B,CAAC;gBAChD,IAAI,QAAQ,CAAC,KAAK,EAAE;oBAClB,QAAQ,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBACpF,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;iBAClF;gBACD,IAAI,QAAQ,CAAC,cAAc,EAAE;oBAC3B,QAAQ,CAAC,cAAc,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;oBACtG,QAAQ,CAAC,cAAc,CAAC,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC7G;gBACD,IAAI,QAAQ,CAAC,UAAU,EAAE;oBACvB,QAAQ,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;oBAC9F,QAAQ,CAAC,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;iBACjG;gBACD,OAAO,QAAQ,CAAC;aACjB;iBAAM;gBACL,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aAC/C;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,qBAAqB,CAAC,EAAU,EAAE,gBAA+B,kEAAa,CAAC,OAAO;QACpF,MAAM,GAAG,GAAG,+BAA+B,aAAa,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC5E,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAC9C,0DAAG,CAAC,GAAG,CAAC,EAAE;YACR,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;gBACrB,OAAO,GAAG,CAAC,IAA0B;aACtC;iBAAM;gBACL,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aAC/C;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,KAAsB;QAClC,IAAI,GAAG,GAAG,mCAAmC,CAAC;QAC9C,IAAI,KAAK,CAAC,EAAE,EAAE;YACZ,GAAG,IAAI,MAAM,KAAK,CAAC,EAAE,GAAG,CAAC;SAC1B;QACD,IAAI,KAAK,CAAC,KAAK,EAAE;YACf,GAAG,IAAI,SAAS,KAAK,CAAC,KAAK,GAAG,CAAC;SAChC;QACD,IAAI,KAAK,CAAC,IAAI,EAAE;YACd,GAAG,IAAI,QAAQ,KAAK,CAAC,IAAI,GAAG,CAAC;SAC9B;QACD,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAC9C,0DAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAA0B,CAAC,EAC1C,0DAAG,CAAC,GAAG,CAAC,EAAE;YACR,uCACK,GAAG,KACN,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;oBACvB,IAAI,CAAC,CAAC,YAAY,KAAK,gFAAyB,CAAC,MAAM,EAAE;wBACvD,IAAI,CAAC,CAAC,QAAQ,EAAE;4BACd,CAAC,CAAC,QAAQ,GAAG,uEAAkB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC;yBAC5F;wBACD,IAAI,CAAC,CAAC,QAAQ,EAAE;4BACd,CAAC,CAAC,QAAQ,GAAG,uEAAkB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC;yBAC5F;qBACF;oBACD,IAAI,CAAC,CAAC,YAAY,KAAK,gFAAyB,CAAC,SAAS,EAAE;wBAC1D,IAAI,CAAC,CAAC,QAAQ,EAAE;4BACd,CAAC,CAAC,QAAQ,GAAG,uEAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC;yBACvG;wBACD,IAAI,CAAC,CAAC,QAAQ,EAAE;4BACd,CAAC,CAAC,QAAQ,GAAG,uEAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC;yBACvG;qBACF;oBACD,IAAI,CAAC,CAAC,YAAY,KAAK,gFAAyB,CAAC,KAAK,EAAE;wBACtD,IAAI,CAAC,CAAC,QAAQ,EAAE;4BACd,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAAC;yBAC1G;wBACD,IAAI,CAAC,CAAC,QAAQ,EAAE;4BACd,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAAC;yBAC1G;qBACF;oBACD,IAAI,CAAC,CAAC,YAAY,KAAK,gFAAyB,CAAC,YAAY,EAAE;wBAC7D,MAAM,aAAa,GAAG,uEAAkB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC;wBAC3F,IAAI,CAAC,CAAC,QAAQ,EAAE;4BACd,CAAC,CAAC,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;yBACxE;wBACD,IAAI,CAAC,CAAC,QAAQ,EAAE;4BACd,CAAC,CAAC,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;yBACxE;qBACF;oBACD,CAAC,CAAC,oBAAoB,GAAG,uEAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC;oBACpG,CAAC,CAAC,UAAU,GAAG,gDAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC7D,CAAC,CAAC,YAAY,GAAG,sFAA+B,CAAC,GAAG,CAAC,gFAAyB,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;oBACnH,OAAO,CAAC,CAAC;gBACX,CAAC,CAAC,IACF;QACJ,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,oBAAoB,CAAC,aAAqB;QACxC,MAAM,GAAG,GAAG,mCAAmC,aAAa,EAAE,CAAC;QAC/D,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAC9C,0DAAG,CAAC,GAAG,CAAC,EAAE;YACR,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;gBACrB,OAAO,GAAG,CAAC,IAAsC;aAClD;iBAAM;gBACL,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aAC/C;QACH,CAAC,CAAC,CACH;IACH,CAAC;IACD,WAAW,CAAC,EAAU,EAAE,KAAkB;QACxC,IAAI,GAAG,GAAG,iBAAiB,EAAE,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,GAAG,CAAC,EAAE;YAChE,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;gBACrB,OAAO,GAAG,CAAC,IAAI;aAChB;iBAAM;gBACL,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aAC/C;QACH,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IACD,sBAAsB,CAAC,EAAU;QAC/B,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;YACtC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5C,CAAC;IACD,kBAAkB,CAAC,EAAU,EAAE,GAAoB;QACjD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;IACD,mBAAmB,CAAC,EAAU;QAC5B,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9C,CAAC;;8EA3iBU,eAAe;kGAAf,eAAe,WAAf,eAAe,mBAFd,MAAM;;;;;;;;;;;;;AC5BpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAgE;AAgBkB;AAGO;AAgGzF,IAAY,WAOX;AAPD,WAAY,WAAW;IACrB,8CAA+B;IAC/B,8BAAe;IACf,0CAA2B;IAC3B,oCAAqB;IACrB,wCAAyB;IACzB,4BAAa;AACf,CAAC,EAPW,WAAW,KAAX,WAAW,QAOtB;AAEM,MAAM,qBAAqB,GAAG;IACnC,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,0BAA0B;IACvD,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,kBAAkB;IACvC,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,wBAAwB;IACnD,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,qBAAqB;IAC7C,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,uBAAuB;IACjD,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,iBAAiB;CACtC,CAAC;AAoLF,OAAO;AACP,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,wCAAqB;IACrB,0DAAuC;IACvC,8BAAW;AACb,CAAC,EAJW,eAAe,KAAf,eAAe,QAI1B;AAED,IAAY,sBAKX;AALD,WAAY,sBAAsB;IAChC,6CAAmB;IACnB,6CAAmB;IACnB,qCAAW;IACX,qCAAW;AACb,CAAC,EALW,sBAAsB,KAAtB,sBAAsB,QAKjC;AAED,IAAY,yBAIX;AAJD,WAAY,yBAAyB;IACnC,0DAA6B;IAC7B,gDAAmB;IACnB,8CAAiB;AACnB,CAAC,EAJW,yBAAyB,KAAzB,yBAAyB,QAIpC;AAEM,MAAM,6BAA6B,GAAG,IAAI,GAAG,CAAiB;IACnE,CAAC,yBAAyB,CAAC,yBAAyB,CAAC,YAAY,CAAC,EAAE,uBAAuB,CAAC;IAC5F,CAAC,yBAAyB,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAAE,qBAAqB,CAAC;IACrF,CAAC,yBAAyB,CAAC,yBAAyB,CAAC,MAAM,CAAC,EAAE,mBAAmB,CAAC;CACnF,CAAC,CAAC;AAEI,MAAM,8BAA8B,GAAG,IAAI,GAAG,CAAiB;IACpE,CAAC,yBAAyB,CAAC,yBAAyB,CAAC,YAAY,CAAC,EAAE,0BAA0B,CAAC;IAC/F,CAAC,yBAAyB,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAAE,qBAAqB,CAAC;IACrF,CAAC,yBAAyB,CAAC,yBAAyB,CAAC,MAAM,CAAC,EAAE,oBAAoB,CAAC;CACpF,CAAC,CAAC;AAEH,IAAY,sBAKX;AALD,WAAY,sBAAsB;IAChC,yCAAe;IACf,uDAA6B;IAC7B,2CAAiB;IACjB,6CAAmB;AACrB,CAAC,EALW,sBAAsB,KAAtB,sBAAsB,QAKjC;AAED,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,6BAAa;IACb,2CAA2B;AAC7B,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB;AAED,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAC3B,8CAAyB;IACzB,wCAAmB;AACrB,CAAC,EAHW,iBAAiB,KAAjB,iBAAiB,QAG5B;AAED,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,8CAAiC;IACjC,8BAAiB;AACnB,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB;AAED,IAAY,QAOX;AAPD,WAAY,QAAQ;IAClB,mCAAuB;IACvB,+BAAmB;IACnB,mCAAuB;IACvB,iCAAqB;IACrB,2CAA+B;IAC/B,yCAA6B;AAC/B,CAAC,EAPW,QAAQ,KAAR,QAAQ,QAOnB;AAED,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,+DAAQ;IACR,6DAAO;AACT,CAAC,EAHW,gBAAgB,KAAhB,gBAAgB,QAG3B;AAED,IAAY,UAQX;AARD,WAAY,UAAU;IACpB,+CAAM;IACN,+CAAM;IACN,iDAAO;IACP,qDAAS;IACT,mDAAQ;IACR,+CAAM;IACN,mDAAQ;AACV,CAAC,EARW,UAAU,KAAV,UAAU,QAQrB;AAEM,MAAM,SAAS,GAAG;IACvB;QACE,GAAG,EAAE,UAAU,CAAC,MAAM;QACtB,eAAe,EAAE,GAAG;QACpB,SAAS,EAAE,KAAK;QAChB,SAAS,EAAE,KAAK;QAChB,QAAQ,EAAE,QAAQ;KACnB;IACD;QACE,GAAG,EAAE,UAAU,CAAC,MAAM;QACtB,eAAe,EAAE,GAAG;QACpB,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,KAAK;QAChB,QAAQ,EAAE,QAAQ;KACnB;IACD;QACE,GAAG,EAAE,UAAU,CAAC,OAAO;QACvB,eAAe,EAAE,GAAG;QACpB,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,KAAK;QAChB,QAAQ,EAAE,SAAS;KACpB;IACD;QACE,GAAG,EAAE,UAAU,CAAC,SAAS;QACzB,eAAe,EAAE,GAAG;QACpB,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,KAAK;QAChB,QAAQ,EAAE,WAAW;KACtB;IACD;QACE,GAAG,EAAE,UAAU,CAAC,QAAQ;QACxB,eAAe,EAAE,GAAG;QACpB,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,KAAK;QAChB,QAAQ,EAAE,UAAU;KACrB;IACD;QACE,GAAG,EAAE,UAAU,CAAC,MAAM;QACtB,eAAe,EAAE,GAAG;QACpB,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,KAAK;QAChB,QAAQ,EAAE,QAAQ;KACnB;IACD;QACE,GAAG,EAAE,UAAU,CAAC,QAAQ;QACxB,eAAe,EAAE,GAAG;QACpB,SAAS,EAAE,KAAK;QAChB,SAAS,EAAE,KAAK;QAChB,QAAQ,EAAE,UAAU;KACrB;CACF,CAAC;AAEF,IAAY,kBAUX;AAVD,WAAY,kBAAkB;IAC5B,sGAAsG;IACtG,2DAA2D;IAC3D,0FAA0F;IAC1F,iGAAiG;IACjG,yFAAyF;IACzF,mCAAa;IACb,mEAA6C;IAC7C,yEAAmD;IACnD,qEAA+C;AACjD,CAAC,EAVW,kBAAkB,KAAlB,kBAAkB,QAU7B;AAED,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,2CAAuB;IACvB,2CAAuB;IACvB,yCAAqB;IACrB,6DAAyC;AAC3C,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,QAK3B;AAED,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,uCAAuB;IACvB,uCAAuB;IACvB,qEAAqD;AACvD,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB;AAEM,MAAM,aAAa,GAAG;IAC3B;QACE,IAAI,EAAE,0BAA0B;QAChC,KAAK,EAAE,yBAAyB,CAAC,YAAY;KAC9C;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,KAAK,EAAE,yBAAyB,CAAC,MAAM;KACxC;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,KAAK,EAAE,yBAAyB,CAAC,OAAO;KACzC;CACF,CAAC;AAEK,MAAM,WAAW,GAAG;IACzB;QACE,IAAI,EAAE,kBAAkB;QACxB,KAAK,EAAE,2EAAa,CAAC,QAAQ;KAC9B;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,KAAK,EAAE,2EAAa,CAAC,IAAI;KAC1B;CACF,CAAC;AAEK,MAAM,YAAY,GAAG;IAC1B;QACE,IAAI,EAAE,sBAAsB;QAC5B,KAAK,EAAE,eAAe,CAAC,QAAQ;KAChC;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,KAAK,EAAE,eAAe,CAAC,iBAAiB;KACzC;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,KAAK,EAAE,eAAe,CAAC,GAAG;KAC3B;CACF,CAAC;AAEF,IAAY,aAMX;AAND,WAAY,aAAa;IACvB,uDAAW;IACX,uEAAmB;IACnB,qEAAkB;IAClB,+DAAe;IACf,yDAAY;AACd,CAAC,EANW,aAAa,KAAb,aAAa,QAMxB;AAED,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,uDAAQ;IACR,+CAAI;IACJ,qDAAO;AACT,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB;AAED,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,+BAAmB;IACnB,mCAAuB;IACvB,2CAA+B;AACjC,CAAC,EAJW,QAAQ,KAAR,QAAQ,QAInB;AA4QD,IAAY,2BASX;AATD,WAAY,2BAA2B;IACrC,kDAAmB;IACnB,oDAAqB;IACrB,4CAAa;IACb,0DAA2B;IAC3B,sDAAuB;IACvB,4CAAa;IACb,sDAAuB;IACvB,kDAAmB;AACrB,CAAC,EATW,2BAA2B,KAA3B,2BAA2B,QAStC;AAED,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,yCAA2B;IAC3B,2CAA6B;IAC7B,yCAA2B;IAC3B,yCAA2B;AAC7B,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB;AAEM,MAAM,wBAAwB,GAAkB;IACrD,IAAI,EAAE,qFAAU,CAAC,SAAS;CAC3B,CAAC;AACK,MAAM,sBAAsB,GAAkB;IACnD,IAAI,EAAE,qFAAU,CAAC,WAAW;CAC7B,CAAC;AACK,MAAM,WAAW,GAAkB;IACxC,IAAI,EAAE,qFAAU,CAAC,WAAW;CAC7B,CAAC;AACK,MAAM,iBAAiB,GAAkB;IAC9C,IAAI,EAAE,qFAAU,CAAC,OAAO;CACzB,CAAC;AACK,MAAM,UAAU,GAAG,oEAAM,CAAC,IAAI,CAAC;AAC/B,MAAM,uBAAuB,GAAG,2EAAa,CAAC,QAAQ,CAAC;AACvD,MAAM,qBAAqB,GAAG,wEAAU,CAAC,QAAQ,CAAC;AAQzD,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,6DAAe;IACf,2DAAc;AAChB,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB;AAED,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,iEAAQ;IACR,+EAAe;IACf,iFAAgB;AAClB,CAAC,EAJW,iBAAiB,KAAjB,iBAAiB,QAI5B;AAQM,MAAM,oBAAoB,GAA2E;IAC1G;QACE,KAAK,EAAE,sBAAsB;QAC7B,SAAS,EAAE,IAAI;QACf,EAAE,EAAE,iBAAiB,CAAC,QAAQ;QAC9B,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,KAAK,iBAAiB,CAAC,OAAO,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QACvI,CAAC;KACF;IACD;QACE,KAAK,EAAE,6BAA6B;QACpC,SAAS,EAAE,IAAI;QACf,EAAE,EAAE,iBAAiB,CAAC,eAAe;QACrC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,IAAI,CAChB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,KAAK,iBAAiB,CAAC,OAAO,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CACpH,CAAC;QACJ,CAAC;KACF;IACD;QACE,KAAK,EAAE,8BAA8B;QACrC,SAAS,EAAE,IAAI;QACf,EAAE,EAAE,iBAAiB,CAAC,gBAAgB;QACtC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,IAAI,CAChB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,KAAK,iBAAiB,CAAC,UAAU,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CACpH,CAAC;QACJ,CAAC;KACF;CACF,CAAC;AAEK,MAAM,YAAY,GAA2E;IAClG;QACE,KAAK,EAAE,gBAAgB;QACvB,SAAS,EAAE,IAAI;QACf,EAAE,EAAE,YAAY,CAAC,WAAW;QAC5B,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,kBAAkB;QAC3E,CAAC;KACF;IACD;QACE,KAAK,EAAE,8BAA8B;QACrC,SAAS,EAAE,IAAI;QACf,EAAE,EAAE,YAAY,CAAC,UAAU;QAC3B,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAClD,CAAC;KACF;CACF,CAAC;AAEK,MAAM,kBAAkB;CAU9B;AAaD,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,wBAAW;IACX,qCAAwB;IACxB,4BAAe;AACjB,CAAC,EAJW,SAAS,KAAT,SAAS,QAIpB;;;;;;;;;;;;;AC/5BD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2E;;;;;;;ICDzE,qEAAuE;;;IAAzB,iFAAiB;;;IAC/D,0EAA6D;IAAA,uDAAqB;;IAAA,4DAAO;;;IAA5B,0DAAqB;IAArB,8IAAqB;;;IAClF,0EAAkE;IAAA,uDAAqB;;IAAA,4DAAO;;;IAA9C,iFAAiB;IAAC,0DAAqB;IAArB,8IAAqB;;ADOlF,MAAM,eAAe;IAU1B,YAAoB,kBAAsC;QAAtC,uBAAkB,GAAlB,kBAAkB,CAAoB;QATjD,cAAS,GAAG,IAAI,CAAC;QACjB,eAAU,GAAG,KAAK,CAAC;QAOpB,aAAQ,GAAa,EAAE,CAAC;QAE9B,kBAAkB,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,GAAY,EAAE,EAAE;YAC9D,IAAI,GAAG,EAAE;gBACP,IAAI,CAAC,QAAQ,GAAG;oBACd,GAAG,gFAAkB,CAAC,aAAa;oBACnC,GAAG,gFAAkB,CAAC,qBAAqB;oBAC3C,GAAG,gFAAkB,CAAC,oBAAoB;oBAC1C,GAAG,gFAAkB,CAAC,iBAAiB;oBACvC,GAAG,gFAAkB,CAAC,UAAU;oBAChC,GAAG,gFAAkB,CAAC,cAAc;oBACpC,GAAG,gFAAkB,CAAC,cAAc;iBACrC,CAAC;aACH;QACH,CAAC,CAAC;IACJ,CAAC;IArBD,IAAa,MAAM,CAAC,GAAW;;QAC7B,IAAI,CAAC,CAAC,GAAG,EAAC;YACR,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;YAC/B,IAAI,CAAC,KAAK,SAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,0CAAE,WAAW,CAAC;SACnE;IACH,CAAC;;8EARU,eAAe;+FAAf,eAAe;QCV5B,yEAA0C;QACxC,6GAAuE;QACvE,6GAAyF;QACzF,6GAA8F;QAChG,4DAAM;;QAHG,0DAAiB;QAAjB,iFAAiB;QACjB,0DAA8B;QAA9B,kGAA8B;QAC9B,0DAAgB;QAAhB,gFAAgB;;;;;;;;;;;;;;ACHzB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkJ;AAEnH;AACoB;;;;;;;;;ICA/C,2EAAuC;IAAA,4DAAC;IAAA,4DAAO;;;IAC/C,mEAAmI;;;IAAhF,0FAA0B;;;IAH/E,wEAAqB;IACnB,uDACA;IAAA,qHAA+C;IAC/C,+GAAmI;IACrI,4DAAQ;;;IAHN,0DACA;IADA,wFACA;IAAO,0DAAgB;IAAhB,mFAAgB;IACS,0DAAiB;IAAjB,oFAAiB;;;;IAcjD,wEAA8F;IAA7D,wSAAiB;IAA4C,4DAAI;;;IAClG,qEAA6F;;;IAE3F,uEAA4E;;;IAA7C,6FAA6B;;;IAKpD,sEAAuF;;;;;IAA/D,2OAAuD;;;IAC/E,uEAAyB;IAAA,uDAAkB;IAAA,4DAAO;;;IAAzB,0DAAkB;IAAlB,iFAAkB;;;;IAF7C,0EAAyE;IAAvB,oXAAsB;IACtE,+IAAuF;IACvF,8IAAkD;IACpD,4DAAM;;;IAFG,0DAAe;IAAf,mFAAe;IACf,0DAAgB;IAAhB,oFAAgB;;;IAG3B,0EAAyD;IACvD,uDACF;;IAAA,4DAAM;;IADJ,0DACF;IADE,8KACF;;;IATF,0EAA+C;IAC7C,0EAA4D;IAC1D,uIAGM;IACR,4DAAM;IACN,uIAEM;IACR,4DAAM;;;IATc,0DAAyC;IAAzC,qGAAyC;IACjB,0DAAQ;IAAR,kFAAQ;IAK5C,0DAAiC;IAAjC,6GAAiC;;;IAIzC,0EAA4C;IAC1C,uDACF;;IAAA,4DAAM;;IADJ,0DACF;IADE,2KACF;;;IAdF,sEAAuB;IACrB,iIAUM;IACN,iIAEM;IACR,4DAAM;;;IAduB,0DAAkB;IAAlB,sFAAkB;IAWvC,0DAAoB;IAApB,wFAAoB;;;IAd9B,wEAA6B;IAC3B,6IAA4E;IAC5E,0HAeM;IACR,qEAAe;;;IAjBE,0DAAc;IAAd,iFAAc;IACvB,0DAAe;IAAf,kFAAe;;;IAkBzB,0EAAgE;IAAA,uDAAkB;IAAA,4DAAM;;;IAArE,8EAA0B;IAAmB,0DAAkB;IAAlB,oFAAkB;;AD9B7E,MAAM,eAAe;IAkD1B,YAAwC,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;QAhDnD,iBAAY,GAAW,GAAG,CAAC;QAG3B,eAAU,GAAG,KAAK,CAAC;QACnB,cAAS,GAAG,CAAC,CAAC;QASd,YAAO,GAAW,CAAC,CAAC;QACpB,WAAM,GAAY,IAAI,CAAC;QAGvB,YAAO,GAAY,IAAI,CAAC;QAOxB,aAAQ,GAAW,OAAO,CAAC;QAC3B,aAAQ,GAAW,OAAO,CAAC;QAC3B,gBAAW,GAAW,EAAE,CAAC;QACzB,cAAS,GAAY,KAAK,CAAC;QAC3B,SAAI,GAAU,EAAE,CAAC;QACjB,kBAAa,GAAW,GAAG,CAAC;QAC5B,kBAAa,GAAW,EAAE,CAAC;QAC3B,eAAU,GAAY,KAAK,CAAC;QAErC,UAAK,GAAe,EAAE,CAAC;QACvB,gBAAW,GAAW,EAAE,CAAC;QACzB,iBAAY,GAAoB,IAAI,4CAAO,EAAE,CAAC;QAC9C,eAAU,GAAY,KAAK,CAAC;QAC5B,WAAM,GAAY,KAAK,CAAC;QACxB,mBAAc,GAAY,KAAK,CAAC;QAChC,UAAK,GAAY,KAAK,CAAC;QAEb,gBAAW,GAAyB,IAAI,0DAAY,EAAE,CAAC;QACvD,iBAAY,GAAuB,IAAI,0DAAY,EAAE,CAAC;QACtD,aAAQ,GAAsB,IAAI,0DAAY,EAAE,CAAC;QAE3D,UAAK,GAAQ,GAAG,EAAE,GAAE,CAAC,CAAC;QACtB,WAAM,GAAQ,GAAG,EAAE,GAAE,CAAC,CAAC;QAGrB,SAAS,IAAI,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAChD,CAAC;IA7CD,IACI,KAAK,CAAC,GAAQ;QAChB,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QACvB,IAAI,GAAG,EAAE;YACP,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;;gBAC/C,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC5C;IACH,CAAC;IAQD,IACI,UAAU,CAAC,GAAY;QACzB,IAAI,OAAO,GAAG,KAAK,SAAS;YAAE,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC;IACvD,CAAC;IA4BD,UAAU,CAAC,GAAQ;QACjB,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QACvB,IAAI,GAAG,EAAE;YACP,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;;gBAC/C,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC5C;IACH,CAAC;IACD,gBAAgB,CAAC,EAAO;QACtB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACnB,CAAC;IACD,iBAAiB,CAAC,EAAO;QACvB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,CAAC;IACD,gBAAgB,CAAE,UAAmB;QACnC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,WAAW,CAAC,OAAsB;QAChC,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;QACzB,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE;YAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI;iBACnB,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC;iBAChD,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBACX,MAAM,IAAI,GAAa;oBACrB,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;oBAC3B,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;iBAC1B,CAAC;gBACF,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;YACL,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;SACxD;IACH,CAAC;IACO,iBAAiB;QACvB,IAAI,CAAC,YAAY;aACd,IAAI,CACH,0DAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACR,IAAI,IAAI,CAAC,SAAS;gBAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAEzD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC9B,CAAC,CAAC,EACF,mEAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAChC;aACA,SAAS,CAAC,CAAC,GAAW,EAAE,EAAE;YACzB,IAAI,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;gBAC9B,IAAI,IAAI,CAAC,MAAM;oBAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACxC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACnB,IAAI,IAAI,CAAC,UAAU,EAAE;oBACnB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;iBAClB;gBACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAC5B;YACD,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;gBACf,IAAI,IAAI,CAAC,UAAU;oBAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACtC,IAAI,CAAC,KAAK,EAAE,CAAC;aACd;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IACD,KAAK;QACH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAChB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,IAAI,CAAC,SAAS;YAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACzD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IACD,OAAO;QACL,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IACD,KAAK,CAAC,KAAiB;QACrB,KAAK,CAAC,eAAe,EAAE,CAAC;IAC1B,CAAC;IACD,IAAI,SAAS;QACX,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;aACzD;YACD,OAAO,IAAI,CAAC,OAAO,CAAC;SACrB;IACH,CAAC;IACD,MAAM,CAAC,IAAc;QACnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC;QACxE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;;8EAhJU,eAAe;+FAAf,eAAe;QCV5B,yEAA6D;QAC3D,+GAIQ;QACR,yEAAmE;QAAnC,qKAA4B,KAAK,IAAC;QAChE,kEAA4C;QAC5C,2EASE;QAPA,wLAAyB,oGACR,6BAAyB,IADjB,kFAGd,aAAS,IAHK,gGAIL,KAAK,IAJA,oFAKhB,iBAAa,IALG;QAF3B,4DASE;QACF,uGAAkG;QAClG,2GAA6F;QAC7F,6HAkBe;QACjB,4DAAM;QACN,2GAAwF;QAC1F,4DAAM;;QAzCsB,wFAAgC;QAClD,0DAAW;QAAX,2EAAW;QAWf,0DAAgC;QAAhC,wFAAgC;QAHhC,wFAA2B;QAO3B,kHAAqD;QAEH,0DAAwC;QAAxC,8IAAwC;QAC7B,0DAA0B;QAA1B,8FAA0B;QAC1E,0DAAY;QAAZ,4EAAY;QAoBkB,0DAAe;QAAf,+EAAe;;;;;;;;;;;;;;ACvChE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+C;AACwB;AACA;AACjB;;AAe/C,MAAM,YAAY;;2FAAZ,YAAY;kJAAZ,YAAY,kBATd;YACP,4DAAY;YACZ,mEAAe;SAChB;mIAMU,YAAY,mBAVR,mFAAuB,EAAE,mFAAkB,aAExD,4DAAY;QACZ,mEAAe,aAGf,mFAAkB;QAClB,mFAAuB;;;;;;;;;;;;;ACd3B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuC;AAGoC;;;;;;;;;;;;;;ICAzE,0EAAuD;IACrD,+EAAuC;IACzC,4DAAM;;;;IAiDF,4FAIC;IADC,2XAAqC;IACtC,4DAAwB;;;IAFvB,iFAAqB;;;IAP3B,0EAAuC;IACrC,0EAAgC;IAC9B,uDACF;;IAAA,4DAAM;IACN,0EAA+B;IAC7B,+JAIyB;;IAC3B,4DAAM;IACR,4DAAM;;;IATF,0DACF;IADE,uKACF;IAGqB,0DAAyB;IAAzB,2JAAyB;;;IAQhD,uFAAuD;;ADnDlD,MAAM,eAAe;IAQ1B,YAAoB,WAAwB,EAAU,4BAA2D;QAA7F,gBAAW,GAAX,WAAW,CAAa;QAAU,iCAA4B,GAA5B,4BAA4B,CAA+B;QANjH,eAAU,GAAY,KAAK,CAAC;QAC5B,mBAAc,GAAgD,IAAI,oDAAe,CAAC,EAAE,CAAC,CAAC;QAEtF,iBAAY,GAAY,IAAI,CAAC;QAI3B,uHAAuH;QACvH,gEAAgE;QAChE,IAAI,CAAC,WAAW,GAAG,gFAAkB,CAAC,QAAQ,CAAC;QAC/C,wEAAwE;QACxE,cAAc;QACd,qCAAqC;QACrC,MAAM;QACN,KAAK;QACL,IAAI,CAAC,4BAA4B,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YAC/D,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QACzD,CAAC,CAAC;IACJ,CAAC;IACD,QAAQ;QACN,uHAAuH;QACvH,+BAA+B;IACjC,CAAC;IACO,oBAAoB;QAC1B,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE,CAAC,SAAS,CAAC,CAAC,GAA+B,EAAE,EAAE;YACpF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,kBAAkB,CAAC,EAAU;QAC3B,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;QAChC,uHAAuH;QACvH,2FAA2F;QAC3F,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;IACzD,CAAC;;8EAnCU,eAAe;+FAAf,eAAe;;;;;;QCd5B,yEAEyE;QADpE,yKAA8B,KAAK,IAAE;QAIxC,2GAEM;QACN,yEAA6B;QAC3B,yEAAoC;QAElC,yEAA+D;QAC7D,uEAKC;QADC,sKAAkC;QACnC,4DAAI;QACP,4DAAM;QAeN,yEAAuE;QACrE,qEAQK;QACP,4DAAM;QACR,4DAAM;QACN,yEAA4C;QAC1C,gFAAuC;QACzC,4DAAM;QACR,4DAAM;QACR,4DAAM;QACN,0MAac;QACd,0MAEc;;;;QAhET,iKAAmE;QAGjC,0DAAgB;QAAhB,gFAAgB;QAMd,0DAA2B;QAA3B,mFAA2B;QAG1D,0DAAkD;QAAlD,0GAAkD;QAmBxB,0DAAwC;QAAxC,8EAAwC;QAGlE,0DAAyB;QAAzB,2EAAyB;;;;;;;;;;;;;;ACnCnC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+C;AACa;AACsB;AACG;AACM;AACN;AACoB;AACd;AACzB;AACG;AACA;AACsB;AACrC;AAC6B;AACe;AACxC;AACH;AACA;AACsC;AACtC;;AAwChD,MAAM,eAAe;;+FAAf,eAAe;yJAAf,eAAe,kBAfjB;YACP,4DAAY;YACZ,0DAAW;YACX,kEAAmB;YACnB,mFAAgB;YAChB,mEAAY;YACZ,mEAAY;YACZ,oEAAe;YACf,iGAAmB;YACnB,sEAAa;YACb,2GAAqB;YACrB,yGAAwB;YACxB,mEAAY;SACb;oIAEU,eAAe,mBApCxB,wEAAkB;QAClB,8FAAqB;QACrB,iGAAsB;QACtB,uGAAwB;QACxB,iGAAsB;QACtB,qHAA4B;QAC5B,uGAAwB;QACxB,iFAAkB;QAClB,wGAAwB,aAcxB,4DAAY;QACZ,0DAAW;QACX,kEAAmB;QACnB,mFAAgB;QAChB,mEAAY;QACZ,mEAAY;QACZ,oEAAe;QACf,iGAAmB;QACnB,sEAAa;QACb,2GAAqB;QACrB,yGAAwB;QACxB,mEAAY,aAtBZ,wEAAkB;QAClB,8FAAqB;QACrB,iGAAsB;QACtB,uGAAwB;QACxB,iGAAsB;QACtB,qHAA4B;QAC5B,uGAAwB;QACxB,iFAAkB;QAClB,wGAAwB;;;;;;;;;;;;;AC3C5B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0E;AAGZ;;;;;;;;;ICQxD,wEAAkF;IAChF,yEAAqE;IACnE,0EAAuC;IACrC,mEAA6C;IAC7C,uDACF;;IAAA,4DAAM;IACR,4DAAM;IACR,4DAAI;;;IAPuC,mJAAsB;IAI3D,0DACF;IADE,qKACF;;;IAGJ,wEAAgG;IAC9F,yEAAqE;IACnE,0EAAuC;IACrC,mEAAkD;IAClD,uDACF;;IAAA,4DAAM;IACR,4DAAM;IACR,4DAAI;;;IAP8C,0JAA6B;IAIzE,0DACF;IADE,2KACF;;;;IAvBR,wEAAyD;IACvD,yEAA+B;IAC7B,uEAA0E;IAAvE,mUAAoB;IACrB,yEAAqE;IACnE,0EAAuC;IACrC,mEAAsC;IACtC,uDACF;;IAAA,4DAAM;IACR,4DAAM;IACR,4DAAI;IACJ,oIAOI;IACJ,oIAOI;IACJ,2EAA0C;IAAnB,sUAAkB;IACvC,0EAAqE;IACnE,2EAAuC;IACrC,oEAA+B;IAC/B,wDACF;;IAAA,4DAAM;IACR,4DAAM;IACR,4DAAM;IACR,4DAAM;IACR,qEAAe;;;IA7BL,0DACF;IADE,sKACF;IAGkB,0DAAmB;IAAnB,sFAAmB;IAQnB,0DAA0B;IAA1B,6FAA0B;IAY1C,0DACF;IADE,kKACF;;;IAWF,0EAAgD;IAC9C,0EAAuB;IAAA,uDAAkD;IAAA,4DAAM;IAC/E,0EAA2B;IAAA,uDAA0B;IAAA,4DAAM;IAC7D,4DAAM;;;IAFmB,0DAAkD;IAAlD,wMAAkD;IAC9C,0DAA0B;IAA1B,8HAA0B;;;IANzD,wEAAsD;IACpD,0EAAsB;IACpB,4EAAkF;IACpF,4DAAM;IACN,wIAGM;IACR,qEAAe;;;IANC,0DAAyB;IAAzB,yHAAyB;IAEjC,0DAAsB;IAAtB,yFAAsB;;;IAK9B,sEAAiG;;;IACjG,sEAA4F;;;IAQ5F,0EAAgD;IAC9C,0EAAuB;IAAA,uDAAe;IAAA,4DAAM;IAC5C,0EAA2B;IAAA,uDAAmB;IAAA,4DAAM;IACtD,4DAAM;;;IAFmB,0DAAe;IAAf,kFAAe;IACX,0DAAmB;IAAnB,sFAAmB;;;IALhD,0EAAsB;IACpB,qEAA2C;IAC7C,4DAAM;IACN,uIAGM;;;IALC,0DAAkB;IAAlB,+IAAkB;IAEnB,0DAAsB;IAAtB,yFAAsB;;AD5C3B,MAAM,4BAA4B;IAwBzC,YAAoB,WAAwB,EAAU,kBAAsC;QAAxE,gBAAW,GAAX,WAAW,CAAa;QAAU,uBAAkB,GAAlB,kBAAkB,CAAoB;QAvBjF,qBAAgB,GAAG,KAAK,CAAC;QAClC,mBAAc,GAAG,KAAK,CAAC;QAGd,kBAAa,GAAG,mEAAY,CAAC,KAAK,CAAC;QAC5C,8BAA8B;QAC9B,SAAI,GAAQ;YACV,KAAK,EAAE,0BAA0B;YACjC,IAAI,EAAE,eAAe;YACrB,QAAQ,EAAE,iBAAiB;SAC5B,CAAC;QAcA,kBAAkB,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,GAAY,EAAE,EAAE;YAC9D,IAAI,GAAG,EAAE;gBACP,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;gBACxD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;aAC7D;QACH,CAAC,CAAC;IACJ,CAAC;IAlBD,IAAI,QAAQ;QACV,OAAO,uFAAkB,CAAC,QAAQ,CAAC;IACrC,CAAC;IAED,IAAI,YAAY;;QACd,OAAO,IAAI,CAAC,QAAQ;YAClB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ;gBACjD,CAAC,CAAC,WAAI,CAAC,QAAQ,CAAC,SAAS,0CAAE,MAAM,CAAC,CAAC,YAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,0CAAE,MAAM,CAAC,CAAC,EAAC;gBACxE,CAAC,OAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,0CAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;YAC3C,CAAC,CAAC,EAAE,CAAC;IACT,CAAC;IAUD,QAAQ,KAAU,CAAC;IAEnB,YAAY;QACV,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC;IAC7C,CAAC;IAED,MAAM;QACJ,MAAM,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAC;QACxC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IACD,QAAQ;QACN,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC9D,CAAC;IACO,YAAY,CAAC,GAAW;QAC9B,MAAM,QAAQ,GAAG,uFAAkB,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;QACvF,IAAI,QAAQ;YACV,OAAO,QAAQ,CAAC,KAAK,CAAC;;YAEtB,OAAO,IAAI,CAAC;IAChB,CAAC;;wGApDU,4BAA4B;4GAA5B,4BAA4B;QCbzC,yEAAiC;QAC/B,2IAmCe;QACf,wEAA8G;QAA1G,gJAAS,kBAAc,IAAC;QAC1B,qEAAI;QACF,0IAQe;QACf,0HAAiG;QACjG,0HAA4F;QAC9F,4DAAK;QAGL,oNAQc;QAChB,4DAAK;QACP,4DAAM;;;QA9DW,0DAAwC;QAAxC,4GAAwC;QAoC1B,0DAAgF;QAAhF,iJAAgF;QAE1F,0DAAgB;QAAhB,8EAAgB;QASgB,0DAAyC;QAAzC,6GAAyC;QAC7C,0DAAwC;QAAxC,4GAAwC;;;;;;;;;;;;;;;;;;;;ACxClF,MAAM,sBAAsB;IAIjC;QAHuC,UAAK,GAAG,IAAI,CAAC;QAC3C,aAAQ,GAAY,KAAK,CAAC;IAGnC,CAAC;;4FALU,sBAAsB;sGAAtB,sBAAsB;;;;QCTnC,oEAAiG;QACjG,6DAAyB;;QADsC,mFAA2B;;;;;;;;;;;;;;AC+Q1F;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAY,wBAMX;AAND,WAAY,wBAAwB;IAClC,yDAA6B;IAC7B,+CAAmB;IACnB,2DAA+B;IAC/B,yDAA6B;IAC7B,qDAAyB;AAC3B,CAAC,EANW,wBAAwB,KAAxB,wBAAwB,QAMnC;AAED,IAAY,qBAMX;AAND,WAAY,qBAAqB;IAC/B,gDAAuB;IACvB,4CAAmB;IACnB,gDAAuB;IACvB,oDAA2B;IAC3B,gDAAuB;AACzB,CAAC,EANW,qBAAqB,KAArB,qBAAqB,QAMhC;AAED,IAAY,oBAMX;AAND,WAAY,oBAAoB;IAC9B,+CAAuB;IACvB,2CAAmB;IACnB,+CAAuB;IACvB,mDAA2B;IAC3B,+CAAuB;AACzB,CAAC,EANW,oBAAoB,KAApB,oBAAoB,QAM/B;AA6ED,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,wDAAiC;IACjC,wDAAiC;IACjC,oDAA6B;AAC/B,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,QAI9B;AAED,IAAY,qBAGX;AAHD,WAAY,qBAAqB;IAC/B,oCAAW;IACX,8CAAqB;AACvB,CAAC,EAHW,qBAAqB,KAArB,qBAAqB,QAGhC;AAED,IAAY,kBAOX;AAPD,WAAY,kBAAkB;IAC5B,6CAAuB;IACvB,uEAAiD;IACjD,yEAAmD;IACnD,mEAA6C;IAC7C,iFAA2D;IAC3D,2DAAqC;AACvC,CAAC,EAPW,kBAAkB,KAAlB,kBAAkB,QAO7B;AAsFD,IAAY,2BASX;AATD,WAAY,2BAA2B;IACrC,kDAAmB;IACnB,oDAAqB;IACrB,4CAAa;IACb,0DAA2B;IAC3B,sDAAuB;IACvB,4CAAa;IACb,sDAAuB;IACvB,kDAAmB;AACrB,CAAC,EATW,2BAA2B,KAA3B,2BAA2B,QAStC;AAED,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,yCAA2B;IAC3B,2CAA6B;IAC7B,yCAA2B;IAC3B,yCAA2B;AAC7B,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB;AAsLD,IAAY,uBAKX;AALD,WAAY,uBAAuB;IACjC,0CAAe;IACf,sEAA2C;IAC3C,wDAA6B;IAC7B,4EAAiD;AACnD,CAAC,EALW,uBAAuB,KAAvB,uBAAuB,QAKlC;AAEM,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAiB;IACjE,CAAC,uBAAuB,CAAC,uBAAuB,CAAC,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC7E,CAAC,uBAAuB,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,EAAE,kCAAkC,CAAC;IAC1G,CAAC,uBAAuB,CAAC,uBAAuB,CAAC,YAAY,CAAC,EAAE,2BAA2B,CAAC;IAC5F,CAAC,uBAAuB,CAAC,uBAAuB,CAAC,sBAAsB,CAAC,EAAE,sCAAsC,CAAC;CAClH,CAAC,CAAC;AAkJI,MAAM,kBAAkB;CAE9B;AAwCD,IAAY,mBAgBX;AAhBD,WAAY,mBAAmB;IAC7B,qEAA8C;IAC9C,uEAAgD;IAChD,8EAAuD;IACvD,8DAAuC;IACvC,wDAAiC;IACjC,wDAAiC;IACjC,wDAAiC;IACjC,0DAAmC;IACnC,6DAAsC;IACtC,0DAAmC;IACnC,kDAA2B;IAC3B,qEAA8C;IAC9C,oEAA6C;IAC7C,4CAAqB;IACrB,0CAAmB;AACrB,CAAC,EAhBW,mBAAmB,KAAnB,mBAAmB,QAgB9B;;;;;;;;;;;;;ACv3BD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+C;AACyB;AACiB;AACnC;AACmC;;AAWlF,MAAM,qBAAqB;;oGAArB,qBAAqB;oKAArB,qBAAqB,kBARvB;YACP,4DAAY;YACZ,mEAAe;YACf,iGAAkB;SACnB;mIAIU,qBAAqB,mBAHjB,oFAAwB,EAAE,qGAAwB,aAJ/D,4DAAY;QACZ,mEAAe;QACf,iGAAkB,aAGV,oFAAwB;;;;;;;;;;;;;ACbpC;AAAA;AAAA;AAAA;AAAA;AAAqC;AAE0B;;;AAOxD,MAAM,WAAW;IAEtB,YAAoB,kBAAsC;QAAtC,uBAAkB,GAAlB,kBAAkB,CAAoB;QACxD,kBAAkB,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACrD,IAAI,GAAG,EAAE;gBACP,IAAI,CAAC,KAAK,GAAG,uEAAkB,CAAC,aAAa,CAAC;aAC/C;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,SAAmB,EAAE;QACnC,IAAI,GAAG,GAAG,oBAAoB;QAC9B,IAAI,MAAM,CAAC,MAAM,EAAE;YACjB,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACvB,GAAG,IAAI,UAAU,KAAK,GAAG,CAC1B,CAAC;SACH;QACD,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAC9C,0DAAG,CAAC,GAAG,CAAC,EAAE;YACR,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;gBACtB,IAAI,KAAK,GAAG,GAAG,CAAC,IAAqB,CAAC;gBACtC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBAChB,IAAI,CAAC,CAAC,IAAI,EAAE;wBACV,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;wBACpE,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAE;qBACxD;gBACH,CAAC,CAAC;gBACF,OAAO,KAAK,CAAC;aACd;iBACI;gBACH,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aACtD;QACH,CAAC,CAAC,CACH;IACH,CAAC;IACD,YAAY,CAAC,IAAY,EAAE,KAAa;QACtC,MAAM,GAAG,GAAG,uBAAuB,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,SAAS,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QACnG,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CACrD,0DAAG,CAAC,GAAG,CAAC,EAAE;YACR,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;gBACtB,MAAM,KAAK,GAAG,GAAG,CAAC,IAAoB,CAAC;gBACvC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;oBACnB,uCACK,CAAC,KACJ,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,EACtD,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IACtC;gBACJ,CAAC,CAAC;aACH;iBAAM;gBACL,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aACtD;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IACD,aAAa,CAAC,IAAY,EAAE,KAAa;QACvC,MAAM,GAAG,GAAG,aAAa,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,SAAS,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QACzF,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CACrD,0DAAG,CAAC,GAAG,CAAC,EAAE;YACR,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;gBACtB,MAAM,KAAK,GAAG,GAAG,CAAC,IAAoB,CAAC;gBACvC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;oBACnB,uCACK,CAAC,KACJ,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,EACtD,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IACtC;gBACJ,CAAC,CAAC;aACH;iBAAM;gBACL,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aACtD;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,MAAc;QACxB,MAAM,GAAG,GAAG,QAAQ,GAAG,MAAM,CAAC;QAC9B,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CACrD,0DAAG,CAAC,GAAG,CAAC,EAAE;YACR,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;gBACtB,MAAM,KAAK,GAAG,GAAG,CAAC,IAAkB,CAAC;gBACrC,KAAK,CAAC,SAAS,GAAC,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC;gBAClE,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;gBACrD,OAAO,KAAK;aACb;iBAAM;gBACL,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aACtD;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,IAAY,EAAE,KAAc;QACnC,MAAM,GAAG,GAAG,aAAa,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,SAAS,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QACzF,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,GAAG,CAAC,EAAE;YAChE,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;gBACtB,MAAM,KAAK,GAAG,GAAG,CAAC,IAAoB,CAAC;gBACvC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;oBACnB,uCACK,CAAC,KACJ,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,EACtD,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IACtC;gBACJ,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aACtD;QACH,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,aAAa,CAAC,UAAsB;QAClC,IAAI,UAAU,CAAC,MAAM,IAAI,uEAAkB,CAAC,6BAA6B;YACvE,OAAO,IAAI,CAAC;;YAEZ,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,sBAAsB,CAAC,EAAU;QAC/B,MAAM,GAAG,GAAG,qBAAqB,EAAE,aAAa,CAAC;QACjD,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,IAAI,CAC3D,0DAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CACvB;IACH,CAAC;IACD,oBAAoB;QAClB,MAAM,GAAG,GAAG,0BAA0B,CAAC;QACvC,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CACrD,0DAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAkC,CAAC,CACnD;IACH,CAAC;;sEA7HU,WAAW;8FAAX,WAAW,WAAX,WAAW,mBAFV,MAAM;;;;;;;;;;;;;ACPpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+C;AAE+B;AACxB;;AAO/C,MAAM,wBAAwB;;uGAAxB,wBAAwB;0KAAxB,wBAAwB,kBAJ1B,CAAC,4DAAY,EAAE,mEAAe,CAAC;mIAI7B,wBAAwB,mBAHpB,0FAA2B,aADhC,4DAAY,EAAE,mEAAe,aAE7B,0FAA2B;;;;;;;;;;;;;ACRvC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAiE;AACA;AACW;AACtB;AACiB;AACiB;AACzC;AAC8B;AACX;AACsD;AACnD;AACa;AACb;AACO;AACX;AAClB;AACmC;AACkB;AACN;AACxB;AACG;AACqB;AACjB;AAClB;AACY;AACH;AACH;AAEH;AACS;AACN;AACsC;;AA+DhG,MAAM,YAAY;;4FAAZ,YAAY;mJAAZ,YAAY,mBAFZ,CAAC,mFAAoB,CAAC,YA1DxB;YACP,8EAAY;YACZ,6EAAY;YACZ,6EAAY;YACZ,8EAAY;YACZ,wEAAc;YACd,wFAAiB;YACjB,mEAAe;YACf,oGAAmB;YACnB,0DAAW;YACX,kEAAmB;YACnB,mFAAgB;YAChB,4DAAY;YACZ,+FAAiB;YACjB,2EAAW;YACX,oFAAc;YACd,kFAAgB;YAChB,yFAAe;YACf,8EAAY;YACZ,6DAAY;YACZ,mFAAe;YACf,iHAAuB;YACvB,2GAAqB;YACrB,kFAAgB;YAChB,sFAAc;YACd,2GAAqB;YACrB,wEAAU;YACV,iFAAa;YACb,oHAAwB;SACzB,EAEC,8EAAY;QACZ,6EAAY;QACZ,6EAAY;QACZ,wFAAiB;QAEjB,oGAAmB;QACnB,0DAAW;QACX,kEAAmB;QAEnB,2EAAW;QACX,oFAAc;QACd,oFAAc;QACd,+FAAiB;QACjB,iHAAuB;QACvB,sFAAc;QACd,mEAAe;QACf,0FAAmB;QACnB,2GAAqB;QACrB,wEAAU;QACV,8EAAY;QACZ,oHAAwB;oIASf,YAAY,mBANrB,mFAAoB;QACpB,oIAA8B,aAtD9B,8EAAY;QACZ,6EAAY;QACZ,6EAAY;QACZ,8EAAY;QACZ,wEAAc;QACd,wFAAiB;QACjB,mEAAe;QACf,oGAAmB;QACnB,0DAAW;QACX,kEAAmB;QACnB,mFAAgB;QAChB,4DAAY;QACZ,+FAAiB;QACjB,2EAAW;QACX,oFAAc;QACd,kFAAgB;QAChB,yFAAe;QACf,8EAAY;QACZ,6DAAY;QACZ,mFAAe;QACf,iHAAuB;QACvB,2GAAqB;QACrB,kFAAgB;QAChB,sFAAc;QACd,2GAAqB;QACrB,wEAAU;QACV,iFAAa;QACb,oHAAwB,aAGxB,8EAAY;QACZ,6EAAY;QACZ,6EAAY;QACZ,wFAAiB;QACjB,mFAAoB;QACpB,oGAAmB;QACnB,0DAAW;QACX,kEAAmB;QACnB,oIAA8B;QAC9B,2EAAW;QACX,oFAAc;QACd,oFAAc;QACd,+FAAiB;QACjB,iHAAuB;QACvB,sFAAc;QACd,mEAAe;QACf,0FAAmB;QACnB,2GAAqB;QACrB,wEAAU;QACV,8EAAY;QACZ,oHAAwB;;;;;;;;;;;;;ACrF5B;AAAA;AAAA;AAAA;AAAA;AAA8E;AAC3B;;AAM5C,MAAM,wBAAyB,SAAQ,sFAAgB;IAK5D,YACY,UAAsB,EAChC,wBAAkD,EAClD,QAAkB,EAClB,MAAsB,EACtB,KAAwB,EAChB,QAAmB;QAE3B,KAAK,CAAC,UAAU,EAAE,wBAAwB,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAP3D,eAAU,GAAV,UAAU,CAAY;QAKxB,aAAQ,GAAR,QAAQ,CAAW;QAG3B,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;IAC9B,CAAC;IAED,QAAQ;IACR,CAAC;IACD,eAAe;QACb,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACxB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;SAClE;IACH,CAAC;IAEO,gBAAgB,CAAC,OAAoB;QAC3C,OAAO,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IACnD,CAAC;IAGD,OAAO;QACL,KAAK,CAAC,IAAI,EAAE,CAAC;IACf,CAAC;IAGD,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC3B,IAAI,IAAI,CAAC,aAAa,EAAE;gBACtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC;gBAC1C,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;gBAC3B,KAAK,CAAC,IAAI,EAAE,CAAC;gBACb,OAAO;aACR;iBACI;gBACH,IAAI,IAAI,CAAC,cAAc,EAAE;oBACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC;oBAC1C,KAAK,CAAC,IAAI,EAAE,CAAC;oBACb,OAAO;iBACR;gBACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtH,IAAI,IAAI,CAAC,UAAU,EAAE;oBACnB,KAAK,CAAC,IAAI,EAAE,CAAC;iBACd;aACF;SACF;IACH,CAAC;IAED,UAAU;QACN,KAAK,CAAC,IAAI,EAAE,CAAC;IACjB,CAAC;;gGA7DU,wBAAwB;wGAAxB,wBAAwB;sJAAxB,mBAAe,oGAAf,mBAAe,oGAAf,sBAAkB;6MAFlB,CAAC,+DAAc,CAAC;;;;;;;;;;;;;ACL7B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6C;AAC6D;AAC5B;AAE7C;AAES;AACV;AACiC;AACS;AACV;AAC2B;;;;;;;;;;;;;;;;;;ICArF,yEAAmG;IAAlB,oTAAiB;IAAC,6DAAI;;;IACvG,sEAAmE;;;IAIjE,0EAAiJ;;;;IAA/G,8EAAgB;;;;IAO5C,yEAA6D;IAC3D,sEAA4F;IAC9F,sEAAe;;;;;IADR,2DAAgC;IAAhC,kFAAgC;;;IAJ3C,yEAAsC;IACpC,6EAAwB;IAAA,wDAA+C;;IAAA,6DAAQ;IAC/E,2EAAmB;IACjB,0KAEe;;IACjB,6DAAM;IACN,iEAAM;IACR,sEAAe;;;IAPW,2DAA+C;IAA/C,mKAA+C;IAEtC,2DAA4B;IAA5B,+JAA4B;;;IAe3D,yEAAqF;IACnF,sEAA4F;IAC9F,sEAAe;;;;;IADR,2DAAgC;IAAhC,kFAAgC;;;IAFzC,2EAAkD;IAChD,gLAEe;;IACjB,6DAAM;;;IAH2B,2DAAoD;IAApD,+LAAoD;;;IARvF,yEAAuE;IACrE,6EAAwB;IAAA,wDAA8C;;IAAA,6DAAQ;IAM9E,wJAIM;IACN,iEAAM;IACR,sEAAe;;;IAZW,2DAA8C;IAA9C,kKAA8C;IAMlD,2DAA4B;IAA5B,iGAA4B;;;IAU9C,yEAA8D;IAC5D,sEAA6F;IAC/F,sEAAe;;;;;IADR,2DAAiC;IAAjC,kFAAiC;;;IAJ5C,yEAAuC;IACrC,6EAAwB;IAAA,wDAAsC;;IAAA,6DAAQ;IACtE,2EAAmB;IACjB,0KAEe;;IACjB,6DAAM;IACR,sEAAe;;;IANW,2DAAsC;IAAtC,0JAAsC;IAE7B,2DAA6B;IAA7B,gKAA6B;;;IA5BlE,yEAAoC;IAClC,2JAQe;IAEf,2JAae;IACf,2JAOe;IACjB,sEAAe;;;IAhCE,2DAAqB;IAArB,0FAAqB;IAUrB,2DAAsD;IAAtD,mIAAsD;IActD,2DAAsB;IAAtB,2FAAsB;;;IAWnC,yEAA6D;IAC3D,sEAA4F;IAC9F,sEAAe;;;;;IADR,2DAAgC;IAAhC,kFAAgC;;;IAFzC,2EAA2C;IACzC,iKAEe;;IACjB,6DAAM;;;IAH2B,2DAA4B;IAA5B,+JAA4B;;;IAI7D,sEAAuE;;;;IAAzC,kFAAkC;;;IANlE,yEAAwC;IACtC,yIAIM;IACN,yIAAuE;IACzE,sEAAe;;;IANO,2DAAqB;IAArB,0FAAqB;IAKnC,2DAAsB;IAAtB,2FAAsB;;;IAI1B,yEAAqF;IACnF,sEAA4F;IAC9F,sEAAe;;;;;IADR,2DAAgC;IAAhC,kFAAgC;;;IAFzC,2EAAkD;IAChD,iKAEe;;IACjB,6DAAM;;;IAH2B,2DAAoD;IAApD,+LAAoD;;;IAKnF,yEAAqF;IACnF,sEAA4F;IAC9F,sEAAe;;;;;IADR,2DAAgC;IAAhC,kFAAgC;;;IAFzC,2EAAkD;IAChD,iKAEe;;IACjB,6DAAM;;;IAH2B,2DAAoD;IAApD,+LAAoD;;;IAIrF,sEAAyG;;;;IAAzC,kFAAkC;;;IAXpG,yEAAgD;IAC9C,yIAIM;IACN,yIAIM;IACN,yIAAyG;IAC3G,sEAAe;;;IAXO,2DAA4B;IAA5B,iGAA4B;IAK5B,2DAA4B;IAA5B,iGAA4B;IAK1C,2DAAwD;IAAxD,qIAAwD;;;IAI5D,yEAA8D;IAC5D,sEAA6F;IAC/F,sEAAe;;;;;IADR,2DAAiC;IAAjC,kFAAiC;;;IAF1C,2EAA4C;IAC1C,iKAEe;;IACjB,6DAAM;;;IAH2B,2DAA6B;IAA7B,gKAA6B;;;IAI9D,sEAAwE;;;;IAAzC,kFAAkC;;;IANnE,yEAAyC;IACvC,yIAIM;IACN,yIAAwE;IAC1E,sEAAe;;;IANO,2DAAsB;IAAtB,2FAAsB;IAKpC,2DAAuB;IAAvB,4FAAuB;;;IAGjC,sEAAkE;;;;IAA7D,mFAAiC;;;;IArExC,2EAA0H;IACxH,gFAAgE;IAAjC,wVAAgC;IAC7D,kIAAiJ;IACnJ,6DAAW;IACX,2EAAyD;IACvD,4IAiCe;IACf,4IAOe;IACf,4IAYe;IACf,4IAOe;IACjB,6DAAM;IACN,0HAAkE;IACpE,6DAAM;;;IArEM,2DAAoB;IAApB,8EAAoB;IACH,2DAAO;IAAP,iFAAO;IAEF,2DAAwB;IAAxB,yFAAwB;IACvC,2DAAmB;IAAnB,gFAAmB;IAkCnB,2DAAuB;IAAvB,oFAAuB;IAQvB,2DAA+B;IAA/B,4FAA+B;IAa/B,2DAAwB;IAAxB,qFAAwB;IASD,2DAAkB;IAAlB,sFAAkB;;;IAE5D,2EAAqD;IAAA,wDAA4C;;IAAA,6DAAM;;IAAlD,2DAA4C;IAA5C,gKAA4C;;;IAInG,2EAA6B;IAC3B,2EAAmC;IACjC,sEAAiD;IACjD,yEAAgB;IAAA,wDAA8C;;IAAA,6DAAI;IAClE,qEAAG;IAAA,wDAAgD;;IAAA,6DAAI;IACzD,6DAAM;IACR,6DAAM;;IAHc,2DAA8C;IAA9C,gKAA8C;IAC3D,2DAAgD;IAAhD,oKAAgD;;;IA2BjD,uEAAkI;;;;;IAA5D,0QAAoD;;;IAC1H,uEAGQ;;;;;IADN,4RAAsE;;;IAM1E,yEAA4E;IAC1E,yEAAyB;IAAA,wDAAuB;IAAA,6DAAI;IACpD,oEAAuB;IACvB,yEAAyB;IAAA,wDAAgB;IAAA,6DAAI;IAC7C,6EAAgD;IAClD,sEAAe;;;IAJY,2DAAuB;IAAvB,uFAAuB;IAEvB,2DAAgB;IAAhB,gFAAgB;IAC7B,2DAAsB;IAAtB,oFAAsB;;;IAGlC,yEAA8E;IAC5E,qEAAG;IAAA,wDAAuB;IAAA,6DAAI;IAC9B,oEAAuB;IACzB,sEAAe;;;IAFV,2DAAuB;IAAvB,uFAAuB;;;IAI1B,wEAAsE;IAAA,wDAAuC;;IAAA,6DAAO;;IAA9C,2DAAuC;IAAvC,2JAAuC;;;IAC7G,wEAAsE;IAAA,wDAAqC;;IAAA,6DAAO;;IAA5C,2DAAqC;IAArC,yJAAqC;;;IAP/G,yEAA4E;IAC1E,oKAGe;IACf,qEAAG;IACD,oJAAoH;IACpH,oJAAkH;IACpH,6DAAI;IACJ,6EAAgD;IAClD,sEAAe;;;;IATE,2DAA6D;IAA7D,sIAA6D;IAKnE,2DAA6D;IAA7D,sIAA6D;IAC7D,2DAA6D;IAA7D,sIAA6D;IAE1D,2DAAsB;IAAtB,oFAAsB;;;;IA9CxC,2EAA0B;IACxB,2EAA6B;IAC3B,yEAAuI;IAAjC,kXAAgC;;IAAC,6DAAI;IAC3I,oEAAuB;IACvB,oEAAmE;;IACnE,oEAAuB;IACvB,qEAAG;IACD,6EAAqB;IAAA,yDAAqC;;IAAA,6DAAQ;IAClE,wEAAiG;;IACnG,6DAAI;IACJ,qEAAuB;IACvB,sEAAG;IACD,8EAAqB;IAAA,yDAAmC;;IAAA,6DAAQ;IAChE,wEAA+F;;IACjG,6DAAI;IACJ,8EAA2D;IAE7D,6DAAM;IACN,4EAA0B;IACxB,0EAAiI;IAAlC,oXAAiC;;IAAC,6DAAI;IACrI,qEAAuB;IACvB,sEAAG;IACD,sIAAkI;IAClI,sIAGQ;IACV,6DAAI;IACJ,qEAAuB;IACvB,sEAAG;IAAA,yDAAyH;;;IAAA,6DAAI;IAChI,qEAAuB;IACvB,sJAKe;IACf,sJAUe;IACjB,6DAAM;IACR,6DAAM;;;;IA/CsC,2DAA6D;IAA7D,kRAA6D;IAElG,2DAA2D;IAA3D,gRAA2D;IAGvC,2DAAqC;IAArC,oKAAqC;IAC9B,2DAA6D;IAA7D,kTAA6D;IAIpE,2DAAmC;IAAnC,kKAAmC;IAC5B,2DAA2D;IAA3D,8SAA2D;IAE7E,2DAAiC;IAAjC,+FAAiC;IAIL,2DAAsD;IAAtD,4QAAsD;IAGrF,2DAA6D;IAA7D,qIAA6D;IAEjE,2DAA6D;IAA7D,qIAA6D;IAK/D,2DAAyH;IAAzH,8TAAyH;IAE7G,2DAA2D;IAA3D,mIAA2D;IAM3D,2DAA2D;IAA3D,mIAA2D;;;;IAe9E,2EAA2B;IACzB,2EAAkB;IAChB,yEAAiH;IAAjC,kXAAgC;;IAAC,6DAAI;IACrH,6EAAgD;IAClD,6DAAM;IACN,2EAAsB;IACpB,qEAAG;IAAA,wDAAyH;;;IAAA,6DAAI;IAChI,qEAAuB;IACvB,sEAAG;IAAA,yDAAuB;IAAA,6DAAI;IAChC,6DAAM;IACR,6DAAM;;;;IARgB,2DAA6D;IAA7D,gTAA6D;IACnE,2DAAsB;IAAtB,oFAAsB;IAG/B,2DAAyH;IAAzH,2TAAyH;IAEzH,2DAAuB;IAAvB,uFAAuB;;;IAK9B,2EAA2B;IAC1B,wDACD;;IAAA,6DAAM;;IADL,2DACD;IADC,0KACD;;ADjJK,MAAM,qBAAqB;IAShC,YAAoB,kBAAsC,EAChD,mBAAwC,EAAU,KAAwB,EAC1E,kBAAuC;QAF7B,uBAAkB,GAAlB,kBAAkB,CAAoB;QAChD,wBAAmB,GAAnB,mBAAmB,CAAqB;QAAU,UAAK,GAAL,KAAK,CAAmB;QAC1E,uBAAkB,GAAlB,kBAAkB,CAAqB;QAVjD,kBAAa,GAAY,IAAI,CAAC;QAC9B,gBAAW,GAAY,KAAK,CAAC;QAC7B,WAAM,GAAgB,IAAI,0DAAW,CAAC,IAAI,CAAC,CAAC;QAC5C,aAAQ,GAAuB,EAAE,CAAC;QAClC,oBAAe,GAAuB,EAAE,CAAC;QACzC,oBAAe,GAAuB,EAAE,CAAC;QACzC,cAAS,GAAuB,EAAE,CAAC;QACnC,2BAAsB,GAAG,0EAAmB,CAAC;QAI7C,SAAI,GAA4E;YAC9E;gBACE,KAAK,EAAE,iBAAiB;gBACxB,KAAK,EAAE,KAAK;gBACZ,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,CAAC;aACX;YACD;gBACE,KAAK,EAAE,+BAA+B;gBACtC,KAAK,EAAE,SAAS;gBAChB,OAAO,EAAE,CAAC;aACX;YACD;gBACE,KAAK,EAAE,6BAA6B;gBACpC,KAAK,EAAE,iBAAiB;gBACxB,OAAO,EAAE,CAAC;aACX;YACD;gBACE,KAAK,EAAE,sBAAsB;gBAC7B,KAAK,EAAE,UAAU;gBACjB,OAAO,EAAE,CAAC;aACX;SACF;QAoDD,eAAU,GAAY,KAAK,CAAC;QAC5B,mBAAc,GAAY,KAAK,CAAC;QAChC,sBAAiB,GAAW,EAAE,CAAC;IA7EuB,CAAC;IAwBvD,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;IAC/C,CAAC;IACD,IAAI,mBAAmB;QACrB,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,EAAE;YAC9B,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM;gBAC9B,OAAO,EAAE,CAAC;iBACP,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,IAAI,CAAC;gBACvC,OAAO,CAAC,CAAC;;gBAET,OAAO,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;SAC3C;aACI;YACH,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM;gBAC9B,OAAO,EAAE,CAAC;iBACP,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,IAAI,EAAE;gBACxC,OAAO,EAAE,CAAC;;gBAEV,OAAO,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;SAC3C;IACH,CAAC;IACD,IAAI,mBAAmB;QACrB,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,EAAE;YAC9B,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM;gBAC9B,OAAO,EAAE,CAAC;iBACP,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,IAAI,CAAC;gBACvC,OAAO,CAAC,CAAC;;gBAET,OAAO,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;SAC3C;aACI;YACH,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM;gBAC9B,OAAO,EAAE,CAAC;iBACP,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,IAAI,EAAE;gBACxC,OAAO,EAAE,CAAC;;gBAEV,OAAO,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;SAC3C;IACH,CAAC;IACD,IAAI,YAAY;QACd,QAAQ,IAAI,CAAC,WAAW,EAAE;YACxB,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK;gBACrB,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACvD,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK;gBACrB,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACvD,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK;gBACrB,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACvD,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK;gBACrB,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC;SACxD;IACH,CAAC;IAID,QAAQ;QACN,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IACD,SAAS,CAAC,KAAa;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC5B,uCACK,CAAC,KACJ,QAAQ,EAAE,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAC3C;QACH,CAAC,CAAC;IACJ,CAAC;IACO,YAAY;QAClB,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAC3B,+DAAQ,CAAC,CAAC,GAAE,CAAC,qDAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;aAC3B,SAAS,CAAC,KAAK,CAAC,EAAE;YACjB,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;gBACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;oBAClE,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;oBACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAC/C,0EAA0E;oBAC1E,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAClD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;oBACrE,sEAAsE;oBACtE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAC,KAAK,EAAE,EAAE;wBACpC,uCACK,CAAC,KACJ,OAAO,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,mCAAmC,GAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAC;gCACrI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,KAAI,CAAC,SAAS,CAAC,MAAM,IAKxG;oBACH,CAAC,CAAC;oBACF,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;oBAE3B,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAC,sCAAsC;gBAC9I,CAAC,CAAC;aACH;QACH,CAAC,CAAC;IACJ,CAAC;IACD,KAAK;QACH,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IACO,WAAW,CAAC,KAAc;QAChC,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC7B,MAAM,IAAI,GAAqB;gBAC7B,EAAE,EAAE,CAAC,CAAC,cAAc;gBACpB,SAAS,EAAE,CAAC,CAAC,aAAa;gBAC1B,IAAI,EAAE,CAAC,CAAC,gBAAgB;gBACxB,WAAW,EAAE,CAAC,CAAC,eAAe;gBAC9B,KAAK,EAAE,CAAC,CAAC,SAAS;gBAClB,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,GAAG,EAAE;oBACH,IAAI,EAAE,GAAG,CAAC,CAAC,cAAc,CAAC,SAAS,IAAI,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE;oBAClE,KAAK,EAAE,CAAC,CAAC,cAAc,CAAC,QAAQ;oBAChC,KAAK,EAAE,CAAC,CAAC,cAAc,CAAC,KAAK;iBAC9B;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE;oBAChD,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ;oBACvB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK;iBACrB;gBACD,QAAQ,EAAE,0EAAmB,CAAC,YAAY;gBAC1C,SAAS,EAAE,gDAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;gBACvD,OAAO,EAAE,gDAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;gBACnD,kBAAkB,EAAE,CAAC,gDAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,gDAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC;gBAC3F,QAAQ,EAAE,gFAAkB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;oBAC7E,gFAAkB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gFAAkB,CAAC,aAAa,CAAC,MAAM;gBAClH,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,MAAM,EAAG,CAAC,CAAC,UAAU;gBACrB,iBAAiB,EAAE,CAAC,CAAC,qBAAqB;aAC3C;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QACH,IAAI,GAAG,GAAuB,EAAE,CAAC;QACjC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACpC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnF,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IAAA,CAAC;IACN,mBAAmB,CAAC,KAAwB;QAClD,IAAI,gBAAgB,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACnC,MAAM,IAAI,GAAqB;gBAC7B,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,SAAS,EAAE,CAAC,CAAC,aAAa;gBAC1B,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,WAAW,EAAE,CAAC,CAAC,eAAe;gBAC9B,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,KAAK,EAAE;oBACL,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE;oBAChD,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ;oBACvB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK;iBACrB;gBACD,GAAG,EAAE;oBACH,IAAI,EAAE,GAAG,CAAC,CAAC,cAAc,CAAC,SAAS,IAAI,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE;oBAClE,KAAK,EAAE,CAAC,CAAC,cAAc,CAAC,QAAQ;oBAChC,KAAK,EAAE,CAAC,CAAC,cAAc,CAAC,KAAK;iBAC9B;gBACD,QAAQ,EAAE,0EAAmB,CAAC,cAAc;gBAC5C,MAAM,EAAE,CAAC,CAAC,yBAAyB,CAAC,IAAI;gBACxC,SAAS,EAAE,gDAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;gBACvD,OAAO,EAAE,gDAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;gBACnD,kBAAkB,EAAE,CAAC,gDAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,gDAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC;gBAC3F,QAAQ,EAAE,gFAAkB,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,EAAE;gBAC5G,iBAAiB,EAAE,CAAC,CAAC,qBAAqB;aAC3C;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QACH,IAAI,GAAG,GAAuB,EAAE,CAAC;QACjC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YAC5C,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnF,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IAAA,CAAC;IACN,kBAAkB,CAAC,KAAwB;QACjD,MAAM,eAAe,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACpC,MAAM,IAAI,GAAqB;gBAC7B,EAAE,EAAE,CAAC,CAAC,gBAAgB;gBACtB,oBAAoB,EAAE,MAAM,CAAC,CAAC,CAAC,6BAA6B,CAAC;gBAC7D,SAAS,EAAE,CAAC,CAAC,aAAa;gBAC1B,IAAI,EAAE,CAAC,CAAC,WAAW;gBACnB,WAAW,EAAE,CAAC,CAAC,eAAe;gBAC9B,KAAK,EAAE;oBACL,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE;oBAChD,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ;oBACvB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK;iBACrB;gBACD,GAAG,EAAE;oBACH,IAAI,EAAE,GAAG,CAAC,CAAC,cAAc,CAAC,SAAS,IAAI,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE;oBAClE,KAAK,EAAE,CAAC,CAAC,cAAc,CAAC,QAAQ;oBAChC,KAAK,EAAE,CAAC,CAAC,cAAc,CAAC,KAAK;iBAC9B;gBACD,QAAQ,EAAE,0EAAmB,CAAC,cAAc;gBAC5C,MAAM,EAAE,CAAC,CAAC,UAAU;gBACpB,SAAS,EAAE,gDAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;gBACvD,OAAO,EAAE,gDAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;gBACnD,kBAAkB,EAAE,CAAC,gDAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,gDAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC;gBAC3F,QAAQ,EAAE,gFAAkB,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE;gBACvF,iBAAiB,EAAE,CAAC,CAAC,qBAAqB;aAC3C;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QACH,IAAI,GAAG,GAAuB,EAAE,CAAC;QACjC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YAC3C,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnF,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC;IACO,YAAY,CAAC,KAAqB;QACxC,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC9B,MAAM,IAAI,GAAqB;gBAC7B,KAAK,EAAE;oBACL,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE;oBAChD,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ;oBACvB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK;iBACrB;gBACD,MAAM,EAAE,CAAC,CAAC,mBAAmB;gBAC7B,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,SAAS,EAAE,gDAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;gBACvD,OAAO,EAAE,gDAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;gBACnD,kBAAkB,EAAE,CAAC,gDAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,gDAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC;gBAC3F,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,QAAQ,EAAE,gFAAkB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,mBAAmB,CAAC,CAAC,EAAE;aAC3F;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QACH,IAAI,GAAG,GAAuB,EAAE,CAAC;QACjC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACrC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnF,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC;IACO,sBAAsB,CAAC,IAAsB;;QACnD,IAAI,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QACxD,IAAI,KAAK,CAAC,IAAI,OAAC,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,WAAW,GAAG;YAC5C,KAAK,CAAC,IAAI,OAAC,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,WAAW,GAAG;YAC3C,KAAK,CAAC,IAAI,OAAC,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,WAAW,GAAG;YAC3C,KAAK,CAAC,IAAI,OAAC,IAAI,CAAC,KAAK,0CAAE,WAAW,GAAG;YACrC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC;YAC9G,KAAK,CAAC,IAAI,OAAC,IAAI,CAAC,IAAI,0CAAE,WAAW,GAAG;YACpC,KAAK,CAAC,IAAI,OAAC,IAAI,CAAC,SAAS,0CAAE,QAAQ,GAAG,WAAW,GAAG;YACpD,KAAK,CAAC,IAAI,OAAC,IAAI,CAAC,WAAW,0CAAE,WAAW,GAAG;YAC3C,KAAK,CAAC,IAAI,OAAC,IAAI,CAAC,GAAG,CAAC,IAAI,0CAAE,WAAW,GAAG;YACxC,KAAK,CAAC,IAAI,OAAC,IAAI,CAAC,GAAG,CAAC,KAAK,0CAAE,WAAW,GAAG;YACzC,KAAK,CAAC,IAAI,OAAC,IAAI,CAAC,GAAG,CAAC,KAAK,0CAAE,WAAW,GAAG;YACzC,OAAO,IAAI,CAAC;;YAEZ,OAAO,KAAK,CAAC;IACjB,CAAC;IACO,UAAU,CAAC,GAA4B;QAC7C,MAAM,WAAW,GAAG,mCAAM,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAuB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,mCAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;QAC/F,MAAM,SAAS,GAAuB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,mCAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,mCAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpK,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC9B,CAAC;IACD,KAAK;QACH,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,CAAC;IACD,gBAAgB,CAAC,IAAsB;QACrC,IAAI,GAAG,GAAW,EAAE,CAAC;QACrB,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;QACvD,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACvE,MAAM,oBAAoB,GAAG,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC;YACpD,IAAI,oBAAoB;gBACtB,GAAG,GAAG,IAAI,mEAAY,CAAC,KAAK,CAAC,QAAQ,IAAI,4EAAc,CAAC,SAAS,IAAI,4EAAc,CAAC,GAAG,IAAI,EAAE,IAAI,4EAAc,CAAC,OAAO,EAAE,CAAC;;gBAE1H,GAAG,GAAG,IAAI,mEAAY,CAAC,KAAK,CAAC,QAAQ,wBAAwB,IAAI,CAAC,EAAE,EAAE,CAAC;YACzE,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC1C,MAAM,GAAG,GAAiB;gBACxB,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE;gBAC7B,GAAG,EAAE,8EAAgB,CAAC,QAAQ;gBAC9B,IAAI,EAAE,IAAI;aACX,CAAC;YACF,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACpC,CAAC,CAAC;IACJ,CAAC;IACD,iBAAiB,CAAC,IAAsB;QACtC,IAAI,GAAG,GAAW,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,sBAAsB,CAAC,YAAY,EAAE;YAC9D,GAAG,GAAG,IAAI,mEAAY,CAAC,KAAK,CAAC,QAAQ,wBAAwB,IAAI,CAAC,EAAE,EAAE,CAAC;SACxE;aACI,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,sBAAsB,CAAC,cAAc,EAAE;YACrE,GAAG,GAAG,IAAI,mEAAY,CAAC,KAAK,CAAC,QAAQ,IAAI,4EAAc,CAAC,QAAQ,IAAI,4EAAc,CAAC,GAAG,IAAI,kEAAa,CAAC,kEAAa,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;SACpJ;aACI;YACH,GAAG,GAAG,IAAI,mEAAY,CAAC,KAAK,CAAC,QAAQ,IAAI,4EAAc,CAAC,QAAQ,IAAI,4EAAc,CAAC,GAAG,IAAI,kEAAa,CAAC,kEAAa,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;SACrJ;QACD,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC7B,CAAC;IACD,gBAAgB,CAAC,IAAsB;QACrC,MAAM,CAAC,IAAI,CAAC,IAAI,2EAAa,CAAC,QAAQ,IAAI,2EAAa,CAAC,QAAQ,YAAY,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;IACnG,CAAC;;0FAzUU,qBAAqB;sGAArB,qBAAqB;QCrBlC,0EAAiE;QAArC,wJAAmB,WAAO,SAAE,WAAO,IAAC;QAC9D,0EAAyB;QACvB,mEAAuJ;;QACzJ,6DAAM;QACN,0EAAoB;QAClB,0EAAwB;QACtB,mEAAwD;QACxD,4EAIgD;QADzC,yKAAS,0BAAuB,IAAC,sHACrB,4BAAyB,IADJ;;QAHxC,6DAIgD;QAChD,8GAAuG;QACvG,oHAAmE;QACrE,6DAAM;QACN,oHAsEM;QACN,qHAAuG;QACzG,6DAAM;QACR,6DAAM;QACN,kNAQc;QACd,oNAmDc;QACd,oNAYc;QACd,kNAIc;;QArKqB,2DAAyD;QAAzD,yKAAyD;QAM/E,2DAAsF;QAAtF,uMAAsF;QAIhD,2DAAkC;QAAlC,oIAAkC;QACzE,2DAAgB;QAAhB,iFAAgB;QAEG,2DAA6F;QAA7F,0KAA6F;QAuEzF,2DAAoB;QAApB,qFAAoB;;;;;;;;;;;;;;ACrFvD;AAAA;AAAA;AAAA;AAAA;AAAkD;AACL;;;AAetC,MAAM,UAAU;;yFAAV,UAAU;8IAAV,UAAU,mBAXV;QACT,yDAAW;QACX,0BAA0B;QAC1B,sBAAsB;QACtB,sCAAsC;QACtC,iCAAiC;QACjC,+BAA+B;QAC/B,8BAA8B;KAC/B,YACQ,CAAC,+DAAW,CAAC,OAAO,EAAE,CAAC;mIAErB,UAAU;;;;;;;;;;;;;ACjBvB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkH;AAEtE;;;;;ICF5C,yEAA2G;IACzG,uDACF;IAAA,4DAAM;;;IAFyC,wFAA6B;IAC1E,0DACF;IADE,yFACF;;;IAaA,yEAA4C;IAAA,uDAAkB;IAAA,4DAAM;;;IAAxB,0DAAkB;IAAlB,oFAAkB;;;;ADNvD,MAAM,cAAc;IAoDzB,YAC6B,SAAoB,EACvC,iBAAoC;QADjB,cAAS,GAAT,SAAS,CAAW;QACvC,sBAAiB,GAAjB,iBAAiB,CAAmB;QApDrC,gBAAW,GAAW,EAAE,CAAC;QAEzB,eAAU,GAAG,KAAK,CAAC;QACnB,eAAU,GAAG,KAAK,CAAC;QACnB,YAAO,GAAY,KAAK,CAAC;QACzB,eAAU,GAAe,wDAAU,CAAC,OAAO,CAAC;QAE5C,UAAK,GAAW,EAAE,CAAC;QACnB,cAAS,GAAG,KAAK,CAAC;QACjB,iBAAY,GAAyB,IAAI,0DAAY,EAAE,CAAC;QAElE,aAAQ,GAAQ,CAAC,KAAa,EAAE,EAAE;QAClC,CAAC;QACD,YAAO,GAAQ,GAAG,EAAE;QACpB,CAAC;QAuCC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAC1D,CAAC;IAtCD,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,MAAM,CAAC,CAAS;QAClB,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE;YACpB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACzB;IACH,CAAC;IAED,IAAI,OAAO;QACT,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,OAAO,IAAI,CAAC,OAAO,CAAC;SACrB;QACD,IAAI,IAAI,CAAC,SAAS;YAChB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAC3D,CAAC;IAED,IAAI,SAAS;QACX,QAAQ,IAAI,CAAC,UAAU,EAAE;YACvB,KAAK,wDAAU,CAAC,OAAO,CAAC,CAAC;gBACvB,OAAO,IAAI,CAAC,OAAO,CAAC;aACrB;YACD,KAAK,wDAAU,CAAC,QAAQ,CAAC,CAAC;gBACxB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;oBACnB,OAAO,KAAK,CAAC;iBACd;gBACD,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;aAChD;SACF;IACH,CAAC;IAQD,QAAQ;QACN,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;IACzC,CAAC;IAED,UAAU,CAAC,KAAa;QACtB,IAAI,CAAC,KAAK,EAAE;YACV,OAAO;SACR;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;IACzC,CAAC;IAED,gBAAgB,CAAC,EAAY;QAC3B,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACrB,CAAC;IAED,iBAAiB,CAAC,EAAY;QAC5B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,gBAAgB,CAAE,UAAmB;QACnC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;IAED,kBAAkB,CAAC,KAAa;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;;4EA5FU,cAAc;8FAAd,cAAc;QCT3B,0GAEM;QACN,yEAA4F;QAC1F,8EASgB;QANT,kLAAoB,mGACH,8BAA0B,IADvB,2EAEZ,aAAS,IAFG;QAH3B,4DASgB;QAClB,4DAAM;QACN,0GAAoE;;QAf9D,2EAAW;QAGM,0DAAoE;QAApE,yKAAoE;QAGlF,0DAA6B;QAA7B,mGAA6B;QAI7B,+FAAyB;QAHzB,+EAAoB;QAQF,0DAAe;QAAf,+EAAe;;;;;;;;;;;;;;ACd1C;AAAA;AAAA;AAAA;AAAA;AAAA;AAA4D;;;;;;ICG1D,kEAC0H;;;IAApH,4LAA4G;;;ADK7G,MAAM,4BAA4B;IAUvC,6EAA6E;IAE7E,qCAAqC;IACrC,iCAAiC;IACjC,wBAAwB;IACxB,+BAA+B;IAC/B,MAAM;IACN,IAAI;IAEJ;QAlBS,cAAS,GAAG,8DAAS,CAAC;QAE/B,4BAA4B;QACnB,WAAM,GAAG,KAAK,CAAC;QAGxB,yDAAyD;QAEX,UAAK,GAAG,IAAI,CAAC;IAW3D,CAAC;IAED,QAAQ;QACN,mCAAmC;IACrC,CAAC;;wGAxBU,4BAA4B;4GAA5B,4BAA4B;;;;QCVzC,yEAAiC;QAC/B,0EAA4B;QAC1B,6DAAyB;QAC3B,4DAAO;QACP,0HAC0H;QAC5H,4DAAM;;QAFG,0DAAY;QAAZ,4EAAY;;;;;;;;;;;;;ACJrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2B;;;;;;;;;;;;;;;;;;;IC9RI,wEAAqD;IACnD,6DAAyB;IAC3B,qEAAe;;;IAKjB,sEAAmB;IACjB,uDACF;IAAA,4DAAM;;;IADJ,0DACF;IADE,wFACF;;;IACA,sEAAoB;IAAA,iEAAO;IAAA,4DAAM;;;IAHjC,2HAEM;IACN,2HAAiC;;;IAH3B,8EAAW;IAGX,0DAAY;IAAZ,+EAAY;;;ACPb,MAAM,iBAAiB;IAN9B;QASW,eAAU,GAAG,KAAK,CAAC;KAC7B;;kFAJY,iBAAiB;iGAAjB,iBAAiB;;QDR9B,yEAAuB;QACrB,yEAAoC;QAClC,uDACF;QAAA,4DAAM;QACN,yEAAgC;QAC9B,+HAEe;QACjB,4DAAM;QACR,4DAAM;QAEN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","file":"main.js","sourcesContent":["import { NgModule } from '@angular/core';\r\nimport { TabsComponent } from './tabs.component';\r\nimport { TabComponent } from './tab/tab.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n RouterModule\r\n ],\r\n declarations: [TabsComponent, TabComponent],\r\n exports: [TabsComponent, TabComponent]\r\n}) export class MergeTabsModule {}\r\n","import {\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n QueryList,\r\n ViewChild,\r\n ViewChildren,\r\n} from '@angular/core';\r\nimport { BaseComponent } from '../../../common/base-component/base-component';\r\nimport { DataContextService } from '../../../services/datacontext.service';\r\nimport { SpaceAvailability, SpaceAvailabilityItem } from '../../../models/find-a-space.model';\r\nimport { SpaceFeature } from '../../../models/masterdata.model'\r\nimport { MRRecommendation } from 'src/app/models/meetings.model';\r\nimport { InBuildingSpaceAvailablity } from '../bulk/change-space/components/select-space/select-space';\r\n\r\n@Component({\r\n selector: 'app-space-features',\r\n templateUrl: './space-features.component.html',\r\n styleUrls: ['./space-features.component.less'],\r\n})\r\nexport class SpaceFeaturesComponent extends BaseComponent implements OnInit, OnChanges, AfterViewInit {\r\n @Input() initialSelect: number[];\r\n\r\n @Output() featureChange = new EventEmitter();\r\n\r\n @ViewChild('featuresContainer', { static: false }) featuresContainer: ElementRef;\r\n @ViewChild('leftSide', { static: false }) leftSide: ElementRef;\r\n @ViewChild('rightSide', { static: false }) rightSide: ElementRef;\r\n @ViewChildren('featureElement') featureElements: QueryList>;\r\n\r\n features: SpaceFeature[] = [];\r\n selectedQuantity: number;\r\n isExpanded: boolean;\r\n visibleFeatures: number;\r\n\r\n private maxVisibleCount: number;\r\n private readonly wrapperPadding = 60;\r\n private readonly featureGap = 8;\r\n\r\n get selected(): SpaceFeature[] {\r\n return this.features.filter((f) => f.selected);\r\n }\r\n\r\n constructor(private cdRef: ChangeDetectorRef) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.getAllFeatures();\r\n this.setInitialState();\r\n this.sortFeatures();\r\n }\r\n\r\n ngOnChanges() {\r\n if (!this.isExpanded) {\r\n setTimeout(() => {\r\n this.calculateVisibilityCount();\r\n }, 0);\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.featuresContainer && this.featureElements && this.leftSide && this.rightSide) {\r\n const alreadyUsedSpace = this.leftSide.nativeElement.clientWidth + this.rightSide.nativeElement.clientWidth + this.wrapperPadding;\r\n let count = 0;\r\n const clientWidth = this.featuresContainer.nativeElement.clientWidth - alreadyUsedSpace;\r\n let totalWidth = 0;\r\n this.featureElements.forEach((el, index) => {\r\n this.features[index].width = el.nativeElement.clientWidth;\r\n totalWidth += el.nativeElement.clientWidth + this.featureGap;\r\n if (clientWidth - totalWidth > 10) {\r\n ++count;\r\n }\r\n });\r\n\r\n this.visibleFeatures = this.maxVisibleCount = count;\r\n this.cdRef.detectChanges();\r\n }\r\n }\r\n\r\n calculateFeaturesAmount(availableSpaces: SpaceAvailability | MRRecommendation | InBuildingSpaceAvailablity): void {\r\n if (!availableSpaces || !this.features.length) {\r\n return;\r\n }\r\n const featuresCountMap = {};\r\n this.features.forEach((f) => (featuresCountMap[f.id] = 0));\r\n\r\n availableSpaces.items.forEach((item) => {\r\n const features = item.roomFeatures || item.space.features;\r\n features.forEach((feature) => {\r\n const id = feature.id || feature;\r\n featuresCountMap[id] = featuresCountMap[id] ? ++featuresCountMap[id] : 1;\r\n });\r\n });\r\n\r\n this.features.forEach((feature: SpaceFeature) => {\r\n feature.amount = featuresCountMap[feature.id];\r\n });\r\n }\r\n\r\n toggleSelection(feature: SpaceFeature, index: number): void {\r\n if (index !== -1) {\r\n this.features[index].selected = !this.features[index].selected;\r\n }\r\n this.selectedQuantity = this.selected.length;\r\n this.featureChange.emit(this.selected.map((s) => s.id));\r\n }\r\n\r\n expand(state: boolean): void {\r\n this.isExpanded = state;\r\n if (state) {\r\n this.visibleFeatures = undefined;\r\n } else {\r\n setTimeout(() => {\r\n this.calculateVisibilityCount();\r\n }, 0);\r\n }\r\n }\r\n\r\n clearSelected(): void {\r\n this.features.forEach((f) => (f.selected = false));\r\n this.selectedQuantity = this.selected.length;\r\n this.featureChange.emit(this.selected.map((s) => s.id));\r\n }\r\n\r\n private calculateVisibilityCount(): void {\r\n if (this.featuresContainer && this.features.every((i) => !!i.width) && this.leftSide && this.rightSide) {\r\n const alreadyUsedSpace = this.leftSide.nativeElement.clientWidth + this.rightSide.nativeElement.clientWidth + this.wrapperPadding;\r\n const clientWidth = this.featuresContainer.nativeElement.clientWidth - alreadyUsedSpace;\r\n let count = 0;\r\n let totalWidth = 0;\r\n this.features.forEach((f) => {\r\n totalWidth += f.width + this.featureGap;\r\n if (clientWidth - totalWidth > 10) {\r\n ++count;\r\n }\r\n });\r\n\r\n if (count) {\r\n this.visibleFeatures = this.maxVisibleCount = count;\r\n }\r\n this.cdRef.detectChanges();\r\n }\r\n }\r\n\r\n private getAllFeatures(): void {\r\n this.features = DataContextService.SpaceFeatures.filter(feature => feature.iconKey).map((feature) => ({\r\n id: feature.id,\r\n name: feature.name,\r\n amount: 0,\r\n iconClass: feature.iconClass,\r\n }));\r\n }\r\n\r\n private setInitialState(): void {\r\n if (this.initialSelect) {\r\n const preferenceFeaturesMap = this.initialSelect.reduce((acc, id) => {\r\n acc[id] = true;\r\n return acc;\r\n }, {});\r\n this.features.forEach((f) => (f.selected = !!preferenceFeaturesMap[f.id]));\r\n this.selectedQuantity = this.selected.length;\r\n if (!this.isExpanded) {\r\n this.calculateVisibilityCount();\r\n }\r\n }\r\n }\r\n\r\n sortFeatures(): void {\r\n this.features = this.features\r\n .sort((a, b) => a.name.localeCompare(b.name))\r\n .sort((a, b) => b.amount - a.amount)\r\n .sort((a, b) => Number(b.selected) - Number(a.selected));\r\n }\r\n}\r\n","
\r\n
\r\n
{{ \"Translation.Spacefeatures\" | translate }}:
\r\n \r\n {{ selectedQuantity }}\r\n {{ \"Translation.Clear\" | translate }}\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n {{ \"Translation.Showmore\" | translate }}\r\n {{ \"Translation.Showless\" | translate }}\r\n
\r\n
\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Output\r\n} from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { TimeChangeSource, TimepickerControls } from './models/timepicker.models';\r\nimport { TimepickerActions } from './reducer/timepicker.actions';\r\nimport { TimepickerStore } from './reducer/timepicker.store';\r\nimport { getControlsValue } from './utils/timepicker-controls.util';\r\nimport { TimepickerConfig } from './utils/timepicker.config';\r\nimport { isHourInputValid, isInputLimitValid, isInputValid, isMinuteInputValid, isOneOfDatesEmpty, isSecondInputValid, isValidDate, padNumber, parseTime } from './utils/timepicker.utils';\r\n\r\n@Component({\r\n selector: 'app-timepicker-popup',\r\n templateUrl: './timepicker-popup.component.html',\r\n styleUrls: ['./timepicker-popup.component.less'],\r\n})\r\n\r\nexport class TimepickerPopupComponent implements OnInit, OnChanges, OnDestroy {\r\n @Input() initTime: Date;\r\n\r\n\r\n /** hours change step */\r\n @Input() hourStep = 1;\r\n /** minutes change step */\r\n @Input() minuteStep = 5;\r\n /** seconds change step */\r\n @Input() secondsStep = 10;\r\n /** if true hours and minutes fields will be readonly */\r\n @Input() readonlyInput = false;\r\n /** if true hours and minutes fields will be disabled */\r\n @Input() isDisabled = false;\r\n /** if true scroll inside hours and minutes inputs will change time */\r\n @Input() mousewheel = true;\r\n /** if true the values of hours and minutes can be changed using the up/down arrow keys on the keyboard */\r\n @Input() arrowkeys = true;\r\n /** if true spinner arrows above and below the inputs will be shown */\r\n @Input() showSpinners = true;\r\n /** if true meridian will be shown (12/24 showMeridian toggle) */\r\n @Input() showMeridian = true;\r\n /** show minutes in timepicker */\r\n @Input() showMinutes = true;\r\n /** show seconds in timepicker */\r\n @Input() showSeconds = false;\r\n /** meridian labels based on locale */\r\n @Input() meridians: string[] = ['AM', 'PM'];\r\n /** minimum time user can select */\r\n @Input() minDate?: Date;\r\n /** maximum time user can select */\r\n @Input() maxDate?: Date;\r\n /** placeholder for hours field in timepicker */\r\n @Input() hoursPlaceholder = 'HH';\r\n /** placeholder for minutes field in timepicker */\r\n @Input() minutesPlaceholder = 'MM';\r\n /** placeholder for seconds field in timepicker */\r\n @Input() secondsPlaceholder = 'SS';\r\n /** emits true if value is a valid date */\r\n @Output() isValid = new EventEmitter();\r\n /** emits value of meridian*/\r\n @Output() meridianChange = new EventEmitter();\r\n /** emits value change*/\r\n @Output() timepickerValueChanged = new EventEmitter();\r\n\r\n // ui variables\r\n hours = '';\r\n minutes = '';\r\n seconds = '';\r\n meridian = '';\r\n // min\\max validation for input fields\r\n invalidHours = false;\r\n invalidMinutes = false;\r\n invalidSeconds = false;\r\n // aria-label variables\r\n labelHours = 'hours';\r\n labelMinutes = 'minutes';\r\n labelSeconds = 'seconds';\r\n // time picker controls state\r\n canIncrementHours = true;\r\n canIncrementMinutes = true;\r\n canIncrementSeconds = true;\r\n canDecrementHours = true;\r\n canDecrementMinutes = true;\r\n canDecrementSeconds = true;\r\n canToggleMeridian = true;\r\n onChange = Function.prototype;\r\n onTouched = Function.prototype;\r\n config: TimepickerConfig;\r\n // control value accessor methods\r\n timepickerSub?: Subscription;\r\n\r\n constructor(\r\n _config: TimepickerConfig,\r\n private _cd: ChangeDetectorRef,\r\n private _store: TimepickerStore,\r\n private _timepickerActions: TimepickerActions\r\n ) {\r\n this.config = _config;\r\n Object.assign(this, this.config);\r\n\r\n _store.select(state => state.controls)\r\n .subscribe((controlsState: TimepickerControls) => {\r\n const isTimepickerInputValid = isInputValid(this.hours, this.minutes, this.seconds, this.isPM());\r\n const isValid = this.config.allowEmptyTime ?\r\n this.isOneOfDatesIsEmpty() || isTimepickerInputValid\r\n : isTimepickerInputValid;\r\n this.isValid.emit(isValid);\r\n Object.assign(this, controlsState);\r\n _cd.markForCheck();\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n // init data\r\n const initValue = this.initTime ? this.initTime : undefined;\r\n this._renderTime(initValue);\r\n this._store.dispatch(this._timepickerActions.writeValue(initValue));\r\n\r\n this.timepickerSub = this._store.select(state => state.value)\r\n .subscribe((value: Date | undefined) => {\r\n // update UI values if date changed\r\n this._renderTime(value);\r\n this.onChange(value);\r\n this.timepickerValueChanged.emit(value);\r\n\r\n this._store.dispatch(\r\n this._timepickerActions.updateControls(getControlsValue(this))\r\n );\r\n });\r\n }\r\n\r\n get isEditable(): boolean {\r\n return !(this.readonlyInput || this.isDisabled);\r\n }\r\n\r\n resetValidation(): void {\r\n this.invalidHours = false;\r\n this.invalidMinutes = false;\r\n this.invalidSeconds = false;\r\n }\r\n\r\n isPM(): boolean {\r\n return this.showMeridian && this.meridian === this.meridians[1];\r\n }\r\n\r\n prevDef($event: Event) {\r\n $event.preventDefault();\r\n }\r\n\r\n wheelSign($event: WheelEventInit): number {\r\n return Math.sign($event.deltaY || 0) * -1;\r\n }\r\n\r\n ngOnChanges(): void {\r\n this._store.dispatch(\r\n this._timepickerActions.updateControls(getControlsValue(this))\r\n );\r\n }\r\n\r\n changeHours(step: number, source: TimeChangeSource = ''): void {\r\n this.resetValidation();\r\n this._store.dispatch(this._timepickerActions.changeHours({ step, source }));\r\n }\r\n\r\n changeMinutes(step: number, source: TimeChangeSource = ''): void {\r\n this.resetValidation();\r\n this._store.dispatch(\r\n this._timepickerActions.changeMinutes({ step, source })\r\n );\r\n }\r\n\r\n changeSeconds(step: number, source: TimeChangeSource = ''): void {\r\n this.resetValidation();\r\n this._store.dispatch(\r\n this._timepickerActions.changeSeconds({ step, source })\r\n );\r\n }\r\n\r\n updateHours(target?: Partial | null): void {\r\n this.resetValidation();\r\n this.hours = (target as HTMLInputElement).value;\r\n\r\n const isTimepickerInputValid = isHourInputValid(this.hours, this.isPM()) && this.isValidLimit();\r\n const isValid = this.config.allowEmptyTime ?\r\n this.isOneOfDatesIsEmpty() || isTimepickerInputValid\r\n : isTimepickerInputValid;\r\n\r\n if (!isValid) {\r\n this.invalidHours = true;\r\n this.isValid.emit(false);\r\n this.onChange(null);\r\n\r\n return;\r\n }\r\n\r\n this._updateTime();\r\n }\r\n\r\n updateMinutes(target: Partial | null) {\r\n this.resetValidation();\r\n this.minutes = (target as HTMLInputElement).value;\r\n\r\n const isTimepickerInputValid = isMinuteInputValid(this.minutes) && this.isValidLimit();\r\n const isValid = this.config.allowEmptyTime ?\r\n this.isOneOfDatesIsEmpty() || isTimepickerInputValid\r\n : isTimepickerInputValid;\r\n\r\n if (!isValid) {\r\n this.invalidMinutes = true;\r\n this.isValid.emit(false);\r\n this.onChange(null);\r\n\r\n return;\r\n }\r\n\r\n this._updateTime();\r\n }\r\n\r\n updateSeconds(target: Partial | null) {\r\n this.resetValidation();\r\n this.seconds = (target as HTMLInputElement).value;\r\n\r\n const isTimepickerInputValid = isSecondInputValid(this.seconds) && this.isValidLimit();\r\n const isValid = this.config.allowEmptyTime ?\r\n this.isOneOfDatesIsEmpty() || isTimepickerInputValid\r\n : isTimepickerInputValid;\r\n\r\n if (!isValid) {\r\n this.invalidSeconds = true;\r\n this.isValid.emit(false);\r\n this.onChange(null);\r\n\r\n return;\r\n }\r\n\r\n this._updateTime();\r\n }\r\n\r\n isValidLimit(): boolean {\r\n return isInputLimitValid({\r\n hour: this.hours,\r\n minute: this.minutes,\r\n seconds: this.seconds,\r\n isPM: this.isPM()\r\n }, this.maxDate, this.minDate);\r\n }\r\n\r\n isOneOfDatesIsEmpty(): boolean {\r\n return isOneOfDatesEmpty(\r\n this.hours,\r\n this.minutes,\r\n this.seconds);\r\n }\r\n\r\n _updateTime() {\r\n const _seconds = this.showSeconds ? this.seconds : void 0;\r\n const _minutes = this.showMinutes ? this.minutes : void 0;\r\n const isTimepickerInputValid = isInputValid(this.hours, _minutes, _seconds, this.isPM());\r\n const isValid = this.config.allowEmptyTime ?\r\n this.isOneOfDatesIsEmpty() || isTimepickerInputValid\r\n : isTimepickerInputValid;\r\n if (!isValid) {\r\n this.isValid.emit(false);\r\n this.onChange(null);\r\n\r\n return;\r\n }\r\n\r\n this._store.dispatch(\r\n this._timepickerActions.setTime({\r\n hour: this.hours,\r\n minute: this.minutes,\r\n seconds: this.seconds,\r\n isPM: this.isPM()\r\n })\r\n );\r\n }\r\n\r\n toggleMeridian(): void {\r\n if (!this.showMeridian || !this.isEditable) {\r\n return;\r\n }\r\n\r\n const _hoursPerDayHalf = 12;\r\n this._store.dispatch(\r\n this._timepickerActions.changeHours({\r\n step: _hoursPerDayHalf,\r\n source: ''\r\n })\r\n );\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.isDisabled = isDisabled;\r\n this._cd.markForCheck();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.timepickerSub?.unsubscribe();\r\n }\r\n\r\n private _renderTime(value?: string | Date): void {\r\n if (!value || !isValidDate(value)) {\r\n this.hours = '';\r\n this.minutes = '';\r\n this.seconds = '';\r\n this.meridian = this.meridians[0];\r\n this.meridianChange.emit(this.meridian);\r\n return;\r\n }\r\n\r\n const _value = parseTime(value);\r\n if (!_value) {\r\n return;\r\n }\r\n\r\n const _hoursPerDayHalf = 12;\r\n let _hours = _value.getHours();\r\n\r\n if (this.showMeridian) {\r\n this.meridian = this.meridians[_hours >= _hoursPerDayHalf ? 1 : 0];\r\n this.meridianChange.emit(this.meridian);\r\n _hours = _hours % _hoursPerDayHalf;\r\n // should be 12 PM, not 00 PM\r\n if (_hours === 0) {\r\n _hours = _hoursPerDayHalf;\r\n }\r\n }\r\n\r\n this.hours = padNumber(_hours);\r\n this.minutes = padNumber(_value.getMinutes());\r\n this.seconds = padNumber(_value.getUTCSeconds());\r\n }\r\n}\r\n","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n    \r\n \r\n  \r\n \r\n \r\n \r\n    \r\n \r\n
\r\n   \r\n \r\n  : \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \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 { Injectable } from '@angular/core';\r\nimport { map } from 'rxjs/operators';\r\nimport { ReleaseSpaceBookingInput } from '../../../models/bookings.model';\r\nimport { IdWithRevision } from '../../../models/masterdata.model';\r\nimport {\r\n BulkChangeSpaceInput,\r\n BulkCopyInput,\r\n BulkEditInput,\r\n BulkInput,\r\n EditReservationDetails,\r\n InOfficeDashboardRequest,\r\n MeetingDashboardResponse,\r\n MeetingsDashboardInput,\r\n MeetingWaitlistDashboard,\r\n ReservationDetails,\r\n ReservationItemsInput,\r\n ReservationItemsResponse,\r\n SpaceAvailabilityInput,\r\n SpaceAvailabilityResponseItem,\r\n VirtualBookingDetails,\r\n VirtualBookingsDashboard,\r\n VirtualDashboardRequest,\r\n TeamRequestDashboardInput,\r\n TeamRequestDashboardResponse,\r\n VirtualRequestTaskRecords,\r\n CateringCount,\r\n Count,\r\n VirtualBookingModify,\r\n ConfirmMRModel,\r\n ConfirmMRResponse,\r\n MeetingWaitlistAuditItem,\r\n MeetingWaitListReleaseData,\r\n MeetingWaitListDetails,\r\n MeetingWaitlistStatus,\r\n VirtualDetails,\r\n} from '../../../models/meetings.model';\r\nimport { DataContextService } from '../../datacontext.service';\r\nimport { Observable, throwError, ReplaySubject } from 'rxjs';\r\nimport { BookingsService } from '../Bookings/bookings.service';\r\nimport { FindASpaceService } from '../FindASpace/find-a-space.service';\r\nimport { DateHelper } from 'src/app/shared/Helper/dateHelper';\r\nimport * as moment from 'moment';\r\nimport { ReferenceType } from 'src/app/models/common.enums';\r\nimport { ReservationTasksBookingDetails } from 'src/app/models/tasks.model';\r\nimport { MeetingWaitlistInput, VirtualBookingInput } from 'src/app/models/find-a-space.model';\r\nimport { ToasterService, ToasterType } from 'src/app/common/toaster/toaster.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MeetingsService {\r\n info$ = new ReplaySubject(1);\r\n tasks$: ReplaySubject = new ReplaySubject(1);\r\n reservationInfo$: ReplaySubject = new ReplaySubject(1);\r\n constructor(\r\n private dataContextService: DataContextService,\r\n private findASpaceService: FindASpaceService,\r\n private bookingsService: BookingsService,\r\n private toasterService: ToasterService\r\n ) {}\r\n\r\n isContainerSelected: boolean;\r\n getMeetingDashboardData(input: MeetingsDashboardInput): Observable {\r\n const url = `Reservations/MeetingDashboard`;\r\n return this.dataContextService.postData(url, input).pipe(\r\n map((res) => {\r\n if (res.status === 200) {\r\n const response = res.data as MeetingDashboardResponse;\r\n response.items.forEach((i) => {\r\n if (i.reservationSpecialist) {\r\n (i.reservationSpecialist.firstName = this.dataContextService.getUserFirstName(i.reservationSpecialist)),\r\n (i.reservationSpecialist.lastName = i.reservationSpecialist.lastName ? i.reservationSpecialist.lastName : '');\r\n }\r\n if (i.pointOfContact) {\r\n (i.pointOfContact.firstName = this.dataContextService.getUserFirstName(i.pointOfContact)),\r\n (i.pointOfContact.lastName = i.pointOfContact.lastName ? i.pointOfContact.lastName : '');\r\n }\r\n });\r\n return response;\r\n } else {\r\n return this.dataContextService.showErrorToaster(res);\r\n }\r\n })\r\n );\r\n }\r\n getReservationItems(reservationId: number, input?: ReservationItemsInput): Observable {\r\n const url = `Reservation/${reservationId}/ReservationItems`;\r\n return this.dataContextService.postData(url, input).pipe(\r\n map((res) => {\r\n if (res.status === 200) {\r\n const response = res.data as ReservationItemsResponse;\r\n response.items.forEach((i) => {\r\n if (i.virtualBooking) {\r\n if (i.virtualBooking.producer) {\r\n (i.virtualBooking.producer.firstName = this.dataContextService.getUserFirstName(i.virtualBooking.producer)),\r\n (i.virtualBooking.producer.lastName = i.virtualBooking.producer.lastName ? i.virtualBooking.producer.lastName : '');\r\n }\r\n if (i.virtualBooking.facilitator) {\r\n (i.virtualBooking.facilitator.firstName = this.dataContextService.getUserFirstName(i.virtualBooking.facilitator)),\r\n (i.virtualBooking.facilitator.lastName = i.virtualBooking.facilitator.lastName\r\n ? i.virtualBooking.facilitator.lastName\r\n : '');\r\n }\r\n }\r\n if (i.spaceBooking) {\r\n if (i.spaceBooking.specialist) {\r\n (i.spaceBooking.specialist.firstName = this.dataContextService.getUserFirstName(i.spaceBooking.specialist)),\r\n (i.spaceBooking.specialist.lastName = i.spaceBooking.specialist.lastName ? i.spaceBooking.specialist.lastName : '');\r\n }\r\n }\r\n });\r\n if (response.reservationItemFacets && response.reservationItemFacets.spaceBookingSpecialists) {\r\n response.reservationItemFacets.spaceBookingSpecialists.forEach((i) => {\r\n (i.firstName = this.dataContextService.getUserFirstName(i)), (i.lastName = i.lastName ? i.lastName : '');\r\n });\r\n }\r\n return response;\r\n } else {\r\n return this.dataContextService.showErrorToaster(res);\r\n }\r\n })\r\n );\r\n }\r\n getReservationDetails(reservationId: number, features?: string): Observable {\r\n const url = `Reservations/${reservationId}${features ? `?reservationFeatureFlags=${features}` : ''}`;\r\n return this.dataContextService.getData(url).pipe(\r\n map((res) => {\r\n if (res.status == 200) {\r\n const response = res.data as ReservationDetails;\r\n if (response.owner) {\r\n response.owner.firstName = this.dataContextService.getUserFirstName(response.owner);\r\n response.owner.lastName = response.owner.lastName ? response.owner.lastName : '';\r\n }\r\n if (response.pointOfContact) {\r\n response.pointOfContact.firstName = this.dataContextService.getUserFirstName(response.pointOfContact);\r\n response.pointOfContact.lastName = response.pointOfContact.lastName ? response.pointOfContact.lastName : '';\r\n }\r\n if (response.specialist) {\r\n response.specialist.firstName = this.dataContextService.getUserFirstName(response.specialist);\r\n response.specialist.lastName = response.specialist.lastName ? response.specialist.lastName : '';\r\n }\r\n return response;\r\n } else {\r\n this.dataContextService.showErrorToaster(res);\r\n }\r\n })\r\n );\r\n }\r\n\r\n editReservationDetails(reservationId: number, input: EditReservationDetails): Observable {\r\n const url = `Reservations/${reservationId}`;\r\n return this.dataContextService.putData(url, input).pipe(\r\n map((res) => {\r\n if (res.status == 200) {\r\n return res.data as ReservationDetails;\r\n } else {\r\n this.dataContextService.showErrorToaster(res);\r\n }\r\n })\r\n );\r\n }\r\n bulkEdit(reservationId: number, input: BulkEditInput): Observable {\r\n const url = `Reservations/${reservationId}/BookingModify`;\r\n return this.dataContextService.patchData(url, input).pipe(\r\n map((res) => {\r\n if (res.status == 200) {\r\n return res.data as IdWithRevision;\r\n } else {\r\n this.dataContextService.showErrorToaster(res);\r\n }\r\n })\r\n );\r\n }\r\n bulkChangeSpace(reservationId: number, input: BulkChangeSpaceInput): Observable {\r\n const url = `Reservations/${reservationId}/SpaceChange`;\r\n return this.dataContextService.patchData(url, input).pipe(\r\n map((res) => {\r\n if (res.status == 200) {\r\n return res.data as IdWithRevision;\r\n } else {\r\n this.dataContextService.showErrorToaster(res);\r\n }\r\n })\r\n );\r\n }\r\n bulkCopy(userId: number, reservationId: number, input: BulkCopyInput): Observable {\r\n const url = `Users/${userId}/Reservations/${reservationId}/Copy`;\r\n return this.dataContextService.patchData(url, input).pipe(\r\n map((res) => {\r\n if (res.status == 200) {\r\n return res.data as IdWithRevision;\r\n } else {\r\n this.dataContextService.showErrorToaster(res);\r\n }\r\n })\r\n );\r\n }\r\n bulkMove(userId: number, reservationId: number, input: BulkInput): Observable {\r\n const url = `Users/${userId}/Reservations/${reservationId}/Move`;\r\n return this.dataContextService.patchData(url, input).pipe(\r\n map((res) => {\r\n if (res.status == 200) {\r\n return res.data as IdWithRevision;\r\n } else {\r\n this.dataContextService.showErrorToaster(res);\r\n }\r\n })\r\n );\r\n }\r\n bulkRelease(input: ReleaseSpaceBookingInput[]) {\r\n return this.bookingsService.releaseBooking(input);\r\n }\r\n checkSpaceAvailability(userId: number, input: SpaceAvailabilityInput) {\r\n const url = `Users/${userId}/Spaces/Availability`;\r\n return this.dataContextService.postData(url, input).pipe(\r\n map((res) => {\r\n if (res.status == 200) {\r\n return res.data as SpaceAvailabilityResponseItem[];\r\n } else {\r\n this.dataContextService.showErrorToaster(res);\r\n }\r\n })\r\n );\r\n }\r\n getDTeamRequestDashboardData(input: TeamRequestDashboardInput): Observable {\r\n let url = `TeamRequestItems/Dashboard?Filter.StartDate=${input.startDate}&Filter.EndDate=${input.endDate}&`;\r\n if (input.term) url += `Term=${input.term}&`;\r\n if (input.features) url += `Featuers=${input.features}&`;\r\n if (input.teamRequestId) url += `TeamRequestId=${input.teamRequestId}&`;\r\n if (input.orderType) url += `Sorting.OrderType=${input.orderType}&`;\r\n if (input.teamRequestItemDashboardSortingType)\r\n url += `Sorting.TeamRequestItemDashboardSortingType=${input.teamRequestItemDashboardSortingType}&`;\r\n if (input.spaceTypes && input.spaceTypes.length) {\r\n input.spaceTypes.forEach((type) => {\r\n url += `SpaceTypes=${type}&`;\r\n });\r\n }\r\n if (input.userIds && input.userIds.length) {\r\n input.userIds.forEach((id) => {\r\n url += `UserIds=${id}&`;\r\n });\r\n }\r\n if (input.requestedByIds && input.requestedByIds.length) {\r\n input.requestedByIds.forEach((id) => {\r\n url += `RequestedByIds=${id}&`;\r\n });\r\n }\r\n if (input.buildingIds && input.buildingIds.length) {\r\n input.buildingIds.forEach((id) => {\r\n url += `BuildingIds=${id}&`;\r\n });\r\n }\r\n if (input.limit) url += `Limit=${input.limit}&`;\r\n if (input.page >= 0) url += `Page=${input.page}`;\r\n return this.dataContextService.getData(url).pipe(\r\n map((res) => {\r\n if (res.status === 200) {\r\n const data = res.data as TeamRequestDashboardResponse;\r\n data.items.forEach((i) => {\r\n if (i.user) {\r\n i.user.firstName = this.dataContextService.getUserFirstName(i.user);\r\n i.user.lastName = i.user.lastName ? i.user.lastName : '';\r\n }\r\n if (i.requestedBy) {\r\n i.requestedBy.firstName = this.dataContextService.getUserFirstName(i.requestedBy);\r\n i.requestedBy.lastName = i.requestedBy.lastName ? i.requestedBy.lastName : '';\r\n }\r\n });\r\n return data;\r\n } else {\r\n return this.dataContextService.showErrorToaster(res);\r\n }\r\n })\r\n );\r\n }\r\n deleteTeamRequest(temRequestId: string) {\r\n return this.findASpaceService.confirmTeamRequest(temRequestId);\r\n }\r\n\r\n //meeting request dashboard api calls\r\n\r\n //in-office dashboard call\r\n getInOfficeDashboardData(obj: InOfficeDashboardRequest, showSpinner: boolean = true): Observable {\r\n const url = `MeetingWaitLists/Dashboard`;\r\n return this.dataContextService.postData(url, obj, showSpinner).pipe(\r\n map((res) => {\r\n if (res.status === 200) {\r\n const data = res.data as MeetingWaitlistDashboard;\r\n data.items.forEach((i) => {\r\n if (i.owner) {\r\n (i.owner.firstName = this.dataContextService.getUserFirstName(i.owner)),\r\n (i.owner.lastName = i.owner.lastName ? i.owner.lastName : '');\r\n }\r\n if (i.reservationSpecialist) {\r\n (i.reservationSpecialist.firstName = this.dataContextService.getUserFirstName(i.reservationSpecialist)),\r\n (i.reservationSpecialist.lastName = i.reservationSpecialist.lastName ? i.reservationSpecialist.lastName : '');\r\n }\r\n if (i.pointOfContact) {\r\n (i.pointOfContact.firstName = this.dataContextService.getUserFirstName(i.pointOfContact)),\r\n (i.pointOfContact.lastName = i.pointOfContact.lastName ? i.pointOfContact.lastName : '');\r\n }\r\n });\r\n return data;\r\n } else {\r\n return this.dataContextService.showErrorToaster(res);\r\n }\r\n })\r\n );\r\n }\r\n\r\n //change request type of in-office\r\n changeReqType(meetingRequestId, data: { meetingWaitListRequestType: string }) {\r\n const url = 'MeetingWaitLists/' + meetingRequestId + '/RequestType';\r\n return this.dataContextService.patchData(url, data, false).pipe(\r\n map((res) => {\r\n if (res.status == 200) {\r\n return res.data;\r\n } else {\r\n this.dataContextService.showErrorToaster(res);\r\n }\r\n })\r\n );\r\n }\r\n\r\n //virtual booking dashboard api call\r\n getVirtualDashboardData(data: VirtualDashboardRequest, showSpinner: boolean = true): Observable {\r\n const url = `VirtualBookings/Dashboard`;\r\n return this.dataContextService.postData(url, data, showSpinner).pipe(\r\n map((res) => {\r\n if (res.status === 200) {\r\n const data = res.data as VirtualBookingsDashboard;\r\n data.items.forEach((i) => {\r\n if (i.reservationSpecialist) {\r\n (i.reservationSpecialist.firstName = this.dataContextService.getUserFirstName(i.reservationSpecialist)),\r\n (i.reservationSpecialist.lastName = i.reservationSpecialist.lastName ? i.reservationSpecialist.lastName : '');\r\n }\r\n if (i.owner) {\r\n (i.owner.firstName = this.dataContextService.getUserFirstName(i.owner)),\r\n (i.owner.lastName = i.owner.lastName ? i.owner.lastName : '');\r\n }\r\n if (i.pointOfContact) {\r\n (i.pointOfContact.firstName = this.dataContextService.getUserFirstName(i.pointOfContact)),\r\n (i.pointOfContact.lastName = i.pointOfContact.lastName ? i.pointOfContact.lastName : '');\r\n }\r\n if (i.producer) {\r\n (i.producer.firstName = this.dataContextService.getUserFirstName(i.producer)),\r\n (i.producer.lastName = i.producer.lastName ? i.producer.lastName : '');\r\n }\r\n if (i.facilitator) {\r\n (i.facilitator.firstName = this.dataContextService.getUserFirstName(i.facilitator)),\r\n (i.facilitator.lastName = i.facilitator.lastName ? i.facilitator.lastName : '');\r\n }\r\n });\r\n return data;\r\n } else {\r\n return this.dataContextService.showErrorToaster(res);\r\n }\r\n })\r\n );\r\n }\r\n\r\n //update virtual producer\r\n updateProducer(virtualBookingId, eventOwnerId, data: { producerId: number; revision: number }) {\r\n const url = 'VirtualBookings/' + virtualBookingId + '/Producer';\r\n return this.dataContextService.patchData(url, data, false).pipe(\r\n map((res) => {\r\n if (res.status == 200) {\r\n return res;\r\n } else {\r\n this.dataContextService.showErrorToaster(res);\r\n }\r\n })\r\n );\r\n }\r\n\r\n //update virtual facilitator\r\n updateFacilitator(virtualBookingId, eventOwnerId, data: { facilitatorId: number; revision: number }) {\r\n const url = 'VirtualBookings/' + virtualBookingId + '/Facilitator';\r\n return this.dataContextService.patchData(url, data, false).pipe(\r\n map((res) => {\r\n if (res.status == 200) {\r\n return res;\r\n } else {\r\n this.dataContextService.showErrorToaster(res);\r\n }\r\n })\r\n );\r\n }\r\n\r\n //in-office details call\r\n getInOfficeDetails(id: number): Observable {\r\n const url = `MeetingWaitLists/${id}`;\r\n return this.dataContextService.getData(url).pipe(\r\n map((res) => {\r\n if (res.status === 200) {\r\n const response = res.data as MeetingWaitListDetails;\r\n if (response.owner) {\r\n response.owner.firstName = this.dataContextService.getUserFirstName(response.owner);\r\n response.owner.lastName = response.owner.lastName ? response.owner.lastName : '';\r\n }\r\n return response;\r\n } else {\r\n return this.dataContextService.showErrorToaster(res);\r\n }\r\n })\r\n );\r\n }\r\n\r\n serviceOrderCount(bookingId: number, referenceType: string): Observable {\r\n const url = `ServiceOrders/Count/Booking/${referenceType}/${bookingId}`;\r\n return this.dataContextService.getData(url).pipe(\r\n map((res) => {\r\n if (res.status == 200) {\r\n return res.data as CateringCount;\r\n } else {\r\n this.dataContextService.showErrorToaster(res);\r\n }\r\n })\r\n );\r\n }\r\n\r\n confirmMeetingRequest(id: number, input: ConfirmMRModel) {\r\n const url = `MeetingWaitLists/${id}/Confirm`;\r\n return this.dataContextService.patchData(url, input, true).pipe(\r\n map((res) => {\r\n if (res.status == 200) {\r\n return res.data as ConfirmMRResponse;\r\n } else {\r\n return this.dataContextService.showErrorToaster(res);\r\n }\r\n })\r\n );\r\n }\r\n\r\n getMeetingWaitlistAuditTrail(id: number): Observable {\r\n const url = `MeetingWaitListAuditTrailItems/${id}`;\r\n const dateProperty = {\r\n Startdate: 'Start time',\r\n Enddate: 'End time',\r\n };\r\n const floor = 'Floor';\r\n const booleanField = ['Flexibledateandtime', 'Isprivate'];\r\n const notRequired = ['Grantedreservation', 'Addtocalendar', 'Createdate', 'Space', 'Grantedbooking'];\r\n const statusType = 'Statustype';\r\n const requestType = 'Requesttype';\r\n const setupType = 'Setuptype';\r\n let floorSelectedOnCreation = false;\r\n\r\n return this.dataContextService.getData(url).pipe(\r\n map((res) => {\r\n let meetingWaitlistAuditItems: MeetingWaitlistAuditItem[] = [];\r\n if (res.status == 200) {\r\n const auditItems = res.data;\r\n auditItems.forEach((item) => {\r\n const changeBy = `${item.changeBy.firstName} ${item.changeBy.lastName}`;\r\n const changeDate = item.changeDate;\r\n item.fieldChangeAuditTrailItems.forEach((fieldItem) => {\r\n const key = fieldItem.name.replace(/\\s/g, '');\r\n const timeProperty = dateProperty[key];\r\n if (!notRequired.some((n) => n == key)) {\r\n if (timeProperty) {\r\n const newtime = fieldItem.newValue ? moment(DateHelper.RemoveOffsetFromDate(fieldItem.newValue)).format('h:mm A') : '-';\r\n const oldTime = fieldItem.oldValue ? moment(DateHelper.RemoveOffsetFromDate(fieldItem.oldValue)).format('h:mm A') : '-';\r\n const newDate = fieldItem.newValue\r\n ? moment(DateHelper.RemoveOffsetFromDate(fieldItem.newValue)).format('MM/DD/YYYY')\r\n : '-';\r\n const oldDate = fieldItem.oldValue\r\n ? moment(DateHelper.RemoveOffsetFromDate(fieldItem.oldValue)).format('MM/DD/YYYY')\r\n : '-';\r\n meetingWaitlistAuditItems.push({\r\n valueChange: this.removeSpace(timeProperty),\r\n oldValue: oldTime,\r\n newValue: newtime,\r\n changedBy: changeBy,\r\n changedDate: changeDate,\r\n });\r\n meetingWaitlistAuditItems.push({\r\n valueChange: this.removeSpace(fieldItem.name),\r\n oldValue: oldDate,\r\n newValue: newDate,\r\n changedBy: changeBy,\r\n changedDate: changeDate,\r\n });\r\n } else if (key == floor) {\r\n floorSelectedOnCreation = true;\r\n if (item.auditTrailItemEventType == 'Added') {\r\n meetingWaitlistAuditItems.push({\r\n valueChange: this.removeSpace(fieldItem.name),\r\n oldValue: '-',\r\n newValue: fieldItem.newValue,\r\n changedBy: changeBy,\r\n changedDate: changeDate,\r\n });\r\n } else if (item.auditTrailItemEventType == 'Changed') {\r\n meetingWaitlistAuditItems.push({\r\n valueChange: this.removeSpace(fieldItem.name),\r\n oldValue: fieldItem.oldValue ? fieldItem.oldValue.replace(/\\bFloor\\b/, this.dataContextService.translateText('Translation.Floor')) : this.dataContextService.translateText('Translation.Any'),\r\n newValue: fieldItem.newValue ? fieldItem.newValue.replace(/\\bFloor\\b/, this.dataContextService.translateText('Translation.Floor')) : this.dataContextService.translateText('Translation.Any'),\r\n changedBy: changeBy,\r\n changedDate: changeDate,\r\n });\r\n }\r\n } else if (booleanField.some((b) => b == key)) {\r\n meetingWaitlistAuditItems.push({\r\n valueChange: this.removeSpace(fieldItem.name),\r\n oldValue: fieldItem.oldValue == null ? '-' : fieldItem.oldValue === 'True' ? this.dataContextService.translateText('Translation.Yes') : this.dataContextService.translateText('Translation.No'),\r\n newValue: fieldItem.newValue == null ? '-' : fieldItem.newValue === 'True' ? this.dataContextService.translateText('Translation.Yes') : this.dataContextService.translateText('Translation.No'),\r\n changedBy: changeBy,\r\n changedDate: changeDate,\r\n });\r\n } else if (statusType == key) {\r\n meetingWaitlistAuditItems.push({\r\n valueChange: this.removeSpace(fieldItem.name),\r\n oldValue: fieldItem.oldValue\r\n ? DataContextService.MeetingWaitlistStatus.find((status) => status.name == fieldItem.oldValue).displayName\r\n : '-',\r\n newValue: fieldItem.newValue\r\n ? DataContextService.MeetingWaitlistStatus.find((status) => status.name == fieldItem.newValue).displayName\r\n : '-',\r\n changedBy: changeBy,\r\n changedDate: changeDate,\r\n });\r\n } else if (setupType == key) {\r\n meetingWaitlistAuditItems.push({\r\n valueChange: this.removeSpace(fieldItem.name),\r\n oldValue: fieldItem.oldValue\r\n ? DataContextService.SpaceSetupTypes.find((type) => type.id == fieldItem.oldValue).description\r\n : '-',\r\n newValue: fieldItem.newValue\r\n ? DataContextService.SpaceSetupTypes.find((type) => type.id == fieldItem.newValue).description\r\n : '-',\r\n changedBy: changeBy,\r\n changedDate: changeDate,\r\n });\r\n } else if (requestType == key) {\r\n meetingWaitlistAuditItems.push({\r\n valueChange: this.removeSpace(fieldItem.name),\r\n oldValue: fieldItem.oldValue\r\n ? DataContextService.MeetingWaitlistRequestTypes.find((type) => type.name == fieldItem.oldValue).displayName\r\n : '-',\r\n newValue: fieldItem.newValue\r\n ? DataContextService.MeetingWaitlistRequestTypes.find((type) => type.name == fieldItem.newValue).displayName\r\n : '-',\r\n changedBy: changeBy,\r\n changedDate: changeDate,\r\n });\r\n } else {\r\n meetingWaitlistAuditItems.push({\r\n valueChange: this.removeSpace(fieldItem.name),\r\n oldValue: fieldItem.oldValue ? fieldItem.oldValue : '-',\r\n newValue: fieldItem.newValue ? fieldItem.newValue : '-',\r\n changedBy: changeBy,\r\n changedDate: changeDate,\r\n });\r\n }\r\n }\r\n });\r\n if (item.auditTrailItemEventType == 'Added' && !floorSelectedOnCreation) {\r\n meetingWaitlistAuditItems.push({\r\n valueChange:'Floor',\r\n oldValue: '-',\r\n newValue: this.dataContextService.translateText('Translation.Any'),\r\n changedBy: changeBy,\r\n changedDate: changeDate,\r\n });\r\n }\r\n });\r\n }\r\n\r\n return meetingWaitlistAuditItems.filter((item) => item.oldValue != item.newValue);\r\n })\r\n );\r\n }\r\n\r\n cancelMeetingRequest(data: MeetingWaitListReleaseData) {\r\n const url = `MeetingWaitLists`;\r\n return this.dataContextService.deleteData(url, data);\r\n }\r\n editEventOwner(reservationId: number, eventOwnerId: number): Observable {\r\n const url = `Reservations/${reservationId}/Owner`;\r\n return this.dataContextService.patchData(url, { ownerId: eventOwnerId }).pipe(\r\n map((res) => {\r\n if (res.status === 200) return true;\r\n return false;\r\n })\r\n );\r\n }\r\n\r\n getVirtualBookingDetails(meetingId) {\r\n const url = `VirtualBookings/${meetingId}`;\r\n return this.dataContextService.getData(url).pipe(\r\n map((res) => {\r\n if (res.status === 200) {\r\n const response = res.data as VirtualBookingDetails;\r\n if (response.producer) {\r\n response.producer.firstName = this.dataContextService.getUserFirstName(response.producer);\r\n response.producer.lastName = response.producer.lastName ? response.producer.lastName : '';\r\n }\r\n if (response.facilitator) {\r\n response.facilitator.firstName = this.dataContextService.getUserFirstName(response.facilitator);\r\n response.facilitator.lastName = response.facilitator.lastName ? response.facilitator.lastName : '';\r\n }\r\n if (response.createBy) {\r\n response.createBy.firstName = this.dataContextService.getUserFirstName(response.createBy);\r\n response.createBy.lastName = response.createBy.lastName ? response.createBy.lastName : '';\r\n }\r\n return response;\r\n } else {\r\n return this.dataContextService.showErrorToaster(res);\r\n }\r\n })\r\n );\r\n }\r\n\r\n getTaskAuditTrail(id: number, type: ReferenceType, page = 1, limit = 50): Observable {\r\n const url = `TaskAuditTrail?ReferenceType=${ReferenceType[type]}&Id=${id}&Limit=${limit}&Page=${page}`;\r\n return this.dataContextService.getData(url).pipe(\r\n map((res) => {\r\n if (res.status === 200) {\r\n return { items: res.data.items, totalCount: res.data.totalCount } as VirtualRequestTaskRecords;\r\n } else {\r\n this.dataContextService.showErrorToaster(res);\r\n }\r\n })\r\n );\r\n }\r\n\r\n addVirtualBooking(reservationId: number, input: VirtualBookingInput) {\r\n const url = `Reservations/${reservationId}/VirtualBookings`;\r\n return this.dataContextService.postData(url, input, true).pipe(\r\n map((res) => {\r\n if (res.status === 200) {\r\n this.toasterService.show({\r\n message: this.dataContextService.translateText('Translation.Component_added_successfully'),\r\n type: ToasterType.success,\r\n });\r\n return res.data as VirtualBookingDetails;\r\n } else {\r\n return this.dataContextService.showErrorToaster(res);\r\n }\r\n })\r\n );\r\n }\r\n\r\n addMeetingWaitlistBooking(reservationId: number, input: MeetingWaitlistInput) {\r\n const url = `Reservations/${reservationId}/MeetingWaitlists`;\r\n return this.dataContextService.postData(url, input, true).pipe(\r\n map((res) => {\r\n if (res.status === 200) {\r\n this.toasterService.show({\r\n message: this.dataContextService.translateText('Translation.Component_added_successfully'),\r\n type: ToasterType.success,\r\n });\r\n return res.data as MeetingWaitListDetails;\r\n } else {\r\n return this.dataContextService.showErrorToaster(res);\r\n }\r\n })\r\n );\r\n }\r\n private removeSpace(value: string): string {\r\n return value.replace(/\\s/g, '');\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-checkbox-group',\r\n templateUrl: './checkbox-group.component.html',\r\n styleUrls: ['./checkbox-group.component.less'],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: CheckboxGroupComponent,\r\n multi: true\r\n }]\r\n})\r\nexport class CheckboxGroupComponent implements OnInit {\r\n @Input() title: string;\r\n @Input() isRequired: boolean = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","\r\n\r\n\r\n","import { Component, EventEmitter, forwardRef, Input, OnInit, Output } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { CheckboxLabelPosition } from '../checkbox.config';\r\n\r\n@Component({\r\n selector: 'app-checkbox',\r\n templateUrl: './checkbox.component.html',\r\n styleUrls: ['./checkbox.component.less'],\r\n providers: [{\r\n useExisting: forwardRef(() => CheckboxComponent),\r\n provide: NG_VALUE_ACCESSOR,\r\n multi: true\r\n }]\r\n})\r\nexport class CheckboxComponent implements OnInit, ControlValueAccessor{\r\n @Input() label: string;\r\n @Input() theme: string;\r\n @Input() customClass: string;\r\n @Input() isIndeterminate: boolean;\r\n @Input() isDisabled: boolean;\r\n @Input() value: boolean;\r\n @Input() isRequired: boolean = false;\r\n @Input() iconClass: string;\r\n @Input() labelPosition: string = CheckboxLabelPosition.horizontal;\r\n private onChange: any = () => { };\r\n private onTouch: any = () => { };\r\n\r\n @Output() stateChanged: EventEmitter = new EventEmitter();\r\n\r\n constructor() { }\r\n writeValue(val: boolean): void {\r\n if (val != null)\r\n this.value = val;\r\n }\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.isDisabled = isDisabled;\r\n }\r\n\r\n ngOnInit(): void { }\r\n\r\n change(event: Event) {\r\n const target = event.target as HTMLInputElement;\r\n this.value = target.checked;\r\n this.onTouch();\r\n this.onChange(target.checked);\r\n this.stateChanged.emit(target.checked);\r\n }\r\n}\r\n","\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TagComponent } from './tag/tag.component';\r\nimport { TagsComponent } from './tags.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [TagComponent, TagsComponent],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n TagComponent,\r\n TagsComponent\r\n ]\r\n})\r\nexport class TagsModule { }\r\n","import { Component, OnInit, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-tags',\r\n templateUrl: './tags.component.html',\r\n styleUrls: ['./tags.component.less']\r\n})\r\nexport class TagsComponent implements OnInit {\r\n\r\n @Input() isMultilevel: boolean = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n}\r\n","
\r\n \r\n
\r\n","export { RulerFactoryOption } from './ruler-factory-option.enum';\r\n","import { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\nimport { InputComponent } from './input.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [InputComponent],\r\n imports: [\r\n CommonModule, FormsModule\r\n ],\r\n exports: [InputComponent]\r\n})\r\nexport class InputModule { }\r\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, Output} from '@angular/core';\r\nimport {LabelPosition, Size, Themes} from '@usitsdasdesign/dds-ng/shared';\r\nimport {Mode, PaginationOptions} from '@usitsdasdesign/dds-ng/pagination';\r\nimport {SelectItemOptions, SelectOptions} from '@usitsdasdesign/dds-ng/select';\r\nimport {PaginatorInfo} from './paginator';\r\nimport { PreferencesCurrentViewService } from 'src/app/services/preferences/preferences-current-view';\r\n\r\n@Component({\r\n selector: 'app-paginator',\r\n templateUrl: './paginator.component.html',\r\n styleUrls: ['./paginator.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class PaginatorComponent {\r\n private readonly defaultOptions: PaginationOptions = {\r\n mode: Mode.text,\r\n pageNumberInSection: 5,\r\n size: 'md',\r\n theme: Themes.dark,\r\n isDisabled: false,\r\n ariaLabel: 'pagination',\r\n customClass: '',\r\n };\r\n options: PaginationOptions = {...this.defaultOptions};\r\n\r\n @Input()\r\n set paginatorOptions(options: PaginationOptions) {\r\n this.options = {...this.defaultOptions, ...(options || {})};\r\n }\r\n\r\n @Input() paginatorInfo: PaginatorInfo;\r\n @Output() pageChanged = new EventEmitter();\r\n @Output() optionsChanged = new EventEmitter();\r\n\r\n get renderedFirstIndex(): number {\r\n return (this.paginatorInfo.pageIndex - 1) * this.paginatorInfo.pageSize + 1;\r\n }\r\n\r\n get renderedCount(): number {\r\n const renderedCount: number = this.paginatorInfo.pageSize * this.paginatorInfo.pageIndex;\r\n return renderedCount > this.paginatorInfo.totalItems ? this.paginatorInfo.totalItems : renderedCount;\r\n }\r\n\r\n selectOptions: SelectOptions = {\r\n labelPosition: LabelPosition.external,\r\n size: Size.md,\r\n customClass: 'paginator__select-options',\r\n };\r\n\r\n selectItems: SelectItemOptions[] = [\r\n {\r\n heading: '20',\r\n value: 20,\r\n customClass: 'paginator__select-item',\r\n },\r\n {\r\n heading: '30',\r\n value: 30,\r\n customClass: 'paginator__select-item',\r\n },\r\n {\r\n heading: '40',\r\n value: 40,\r\n customClass: 'paginator__select-item',\r\n },\r\n {\r\n heading: '50',\r\n value: 50,\r\n customClass: 'paginator__select-item',\r\n },\r\n ];\r\n\r\n \r\ninitPageValue: number;\r\n\r\n constructor(private prefService: PreferencesCurrentViewService) {\r\n this.prefService.currentView$.subscribe((res) => {\r\n this.initPageValue = res?.recordsPerPage;\r\n });\r\n }\r\n\r\n updateOptions(pageSize: string): void {\r\n this.optionsChanged.emit(parseInt(pageSize, 10));\r\n }\r\n}\r\n","
20\">\r\n\r\n \r\n \r\n\r\n
\r\n
{{ renderedFirstIndex }} - {{ renderedCount }} of {{ paginatorInfo.totalItems }}
\r\n\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n","import { Component, ContentChildren, EventEmitter, forwardRef, Input, OnInit, Output, QueryList } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { Style } from '../../../models/common.enums';\r\nimport { RadioComponent } from './components/radio.component';\r\n\r\n@Component({\r\n selector: 'app-radio-group',\r\n templateUrl: './radio-group.component.html',\r\n styleUrls: ['./radio-group.component.less'],\r\n providers: [{\r\n useExisting: RadioGroupComponent,\r\n provide: NG_VALUE_ACCESSOR,\r\n multi: true\r\n }]\r\n})\r\nexport class RadioGroupComponent implements OnInit, ControlValueAccessor {\r\n @Input() name: string;\r\n @Input() title: string;\r\n @Input() isDisabled: boolean;\r\n @Input() isError: boolean;\r\n @Input() isUncheckable: boolean;\r\n @Input() value: string;\r\n @Input() displayStyle: Style = Style.horizontal;\r\n @Input() description: string;\r\n @ContentChildren(RadioComponent, { descendants: true }) private radioComponents: QueryList\r\n\r\n @Output() stateChanged: EventEmitter = new EventEmitter();\r\n\r\n private onChange: any = () => { };\r\n private onTouch: any = () => { };\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n writeValue(value: any) {\r\n this.value = value;\r\n this.setRadioValue();\r\n }\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n setDisabledState(isDisabled: boolean) {\r\n if (this.radioComponents != null) {\r\n this.radioComponents.forEach((radio: RadioComponent) => {\r\n radio.isDisabled = isDisabled;\r\n })\r\n }\r\n }\r\n setRadioValue() {\r\n if (this.radioComponents != null) {\r\n this.radioComponents.forEach((radio: RadioComponent) => {\r\n radio.checked = this.value === radio.value;\r\n });\r\n }\r\n }\r\n updateValue(value: any) {\r\n this.value = value;\r\n this.setRadioValue();\r\n this.onChange(this.value);\r\n this.onTouch();\r\n this.stateChanged.emit(value);\r\n }\r\n}\r\n","\r\n
\r\n \r\n
\r\n\r\n","import {\r\n ApplicationRef,\r\n ChangeDetectorRef,\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n Directive,\r\n ElementRef,\r\n EmbeddedViewRef,\r\n EventEmitter,\r\n HostListener,\r\n Injector,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n Output,\r\n TemplateRef\r\n} from '@angular/core';\r\nimport { TooltipComponent } from './tooltip.component';\r\nimport { InvokeType, PositionState, TooltipTheme } from './tooltip.config';\r\n\r\n@Directive({\r\n selector: '[appTooltip]',\r\n exportAs: 'app-tooltip'\r\n})\r\nexport class TooltipDirective implements OnDestroy, OnChanges {\r\n @Input() appTooltip: string | TemplateRef;\r\n @Input() tooltipIndent = 15;\r\n @Input() tooltipInvokeType: InvokeType | string = InvokeType.hover;\r\n @Input() tooltipPosition: PositionState | string = PositionState.top;\r\n @Input() tooltipCustomClass: string;\r\n @Input() tooltipMaxWidth: number;\r\n @Input() tooltipTheme: string | TooltipTheme = TooltipTheme.black;\r\n @Input() tooltipIsDisabled = false;\r\n @Input() tooltipHasBeak = true;\r\n\r\n @Output() onHidden: EventEmitter = new EventEmitter();\r\n\r\n opened = false;\r\n closedFromComponent = false;\r\n\r\n private componentRef: ComponentRef;\r\n\r\n constructor(protected elementRef: ElementRef,\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private injector: Injector,\r\n private appRef: ApplicationRef,\r\n private cdRef: ChangeDetectorRef) {\r\n }\r\n\r\n ngOnChanges() {\r\n if (!this.tooltipIsDisabled && this.appTooltip) {\r\n const el = this.elementRef.nativeElement as HTMLElement;\r\n if (this.tooltipInvokeType === InvokeType.hover) {\r\n el.addEventListener('mouseenter', () => this.show());\r\n el.addEventListener('mouseleave', () => this.hide());\r\n el.addEventListener('click', () => this.hide());\r\n } else {\r\n el.addEventListener('click', () => {\r\n if (!this.componentRef && !this.closedFromComponent) {\r\n this.show();\r\n } else {\r\n this.hide();\r\n this.closedFromComponent = false;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n show() {\r\n if (!this.componentRef) {\r\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(TooltipComponent);\r\n this.componentRef = componentFactory.create(this.injector);\r\n this.appRef.attachView(this.componentRef.hostView);\r\n const domElement = (this.componentRef.hostView as EmbeddedViewRef).rootNodes[0] as HTMLElement;\r\n document.body.appendChild(domElement);\r\n this.setupTooltipPropwerties();\r\n this.opened = true;\r\n this.cdRef.detectChanges();\r\n }\r\n }\r\n\r\n private setupTooltipPropwerties() {\r\n if (this.componentRef) {\r\n this.setPositionOnView();\r\n this.componentRef.instance.content = this.appTooltip;\r\n this.componentRef.instance.position = this.tooltipPosition;\r\n this.componentRef.instance.class = this.tooltipCustomClass;\r\n this.componentRef.instance.maxWidth = this.tooltipMaxWidth;\r\n this.componentRef.instance.theme = this.tooltipTheme;\r\n this.componentRef.instance.hasBeak = this.tooltipHasBeak;\r\n }\r\n }\r\n\r\n private setPositionOnView() {\r\n const el = this.elementRef.nativeElement as HTMLDivElement;\r\n const { left, right, bottom, top } = el.getBoundingClientRect();\r\n this.componentRef.instance.left = this.setLeftPosition(left, right);\r\n this.componentRef.instance.top = this.setTopPosition(top, bottom);\r\n }\r\n\r\n private setLeftPosition(left: number, right: number): number {\r\n if (this.tooltipPosition === PositionState.top || this.tooltipPosition === PositionState.bottom) {\r\n return (right - left) / 2 + left;\r\n }\r\n if (this.tooltipPosition === PositionState.topRight || this.tooltipPosition === PositionState.bottomRight) {\r\n return right;\r\n }\r\n if (this.tooltipPosition === PositionState.topLeft || this.tooltipPosition === PositionState.bottomLeft) {\r\n return left;\r\n }\r\n if (this.tooltipPosition === PositionState.left || this.tooltipPosition === PositionState.leftTop\r\n || this.tooltipPosition === PositionState.leftBottom) {\r\n return left - this.tooltipIndent;\r\n }\r\n if (this.tooltipPosition === PositionState.right || this.tooltipPosition === PositionState.rightTop ||\r\n this.tooltipPosition === PositionState.rightBottom) {\r\n return right + this.tooltipIndent;\r\n }\r\n\r\n }\r\n\r\n private setTopPosition(top: number, bottom: number): number {\r\n if (this.tooltipPosition === PositionState.top ||\r\n this.tooltipPosition === PositionState.topLeft ||\r\n this.tooltipPosition === PositionState.topRight) {\r\n return top - this.tooltipIndent;\r\n }\r\n if (this.tooltipPosition === PositionState.bottom ||\r\n this.tooltipPosition === PositionState.bottomLeft ||\r\n this.tooltipPosition === PositionState.bottomRight) {\r\n return bottom + this.tooltipIndent;\r\n }\r\n if (this.tooltipPosition === PositionState.left || this.tooltipPosition === PositionState.right ||\r\n this.tooltipPosition === PositionState.leftTop || this.tooltipPosition === PositionState.leftBottom ||\r\n this.tooltipPosition === PositionState.rightTop || this.tooltipPosition === PositionState.rightBottom) {\r\n return (bottom - top) / 2 + top;\r\n }\r\n }\r\n\r\n hide() {\r\n if (this.componentRef) {\r\n this.onHidden.emit();\r\n this.appRef.detachView(this.componentRef.hostView);\r\n this.componentRef.destroy();\r\n this.componentRef = null;\r\n this.opened = false;\r\n this.cdRef.detectChanges();\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.hide();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Themes } from '@usitsdasdesign/dds-ng/shared';\r\nimport { ToastAction, ToastOptions } from '@usitsdasdesign/dds-ng/toast';\r\nimport { ToasterService, ToasterType } from '../common/toaster/toaster.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ToastService {\r\n constructor(private toasterService: ToasterService) {}\r\n\r\n open(options: ToastOptions): void {\r\n if(options.isError) {\r\n this.openError(options.title)\r\n } else {\r\n this.openSuccess(options.title)\r\n }\r\n }\r\n\r\n openSuccess(title: string, message?: string, action?: ToastAction): void {\r\n this.toasterService.show({\r\n message: title,\r\n type: ToasterType.success\r\n });\r\n };\r\n\r\n openDefault(title: string, message?: string, action?: ToastAction): void {\r\n this.toasterService.show({\r\n message: title,\r\n type: ToasterType.warning\r\n });\r\n };\r\n\r\n openError(title: string, message?: string, action?: ToastAction): void {\r\n this.toasterService.show({\r\n message: title,\r\n type: ToasterType.error\r\n });\r\n };\r\n}\r\n","/* tslint:disable */\r\nimport * as moment from 'moment';\r\nimport 'moment-timezone';\r\nimport { DataContextService } from '../../services/datacontext.service';\r\nimport { Building, Item, TimeZone } from \"../../models/masterdata.model\";\r\nimport { Moment } from \"moment\";\r\n\r\nexport class DateHelper {\r\n static currentfacility: Building[];\r\n static currentFacilityOffset: number;\r\n static IANAname: string;\r\n private static getFacilityCurrentDateTime(currentIANA) {\r\n const md = moment().tz(currentIANA);\r\n const year = moment(md, 'YYYY').year();\r\n const month = moment(md, 'MM').month();\r\n const date = moment(md, 'dd').date();\r\n const hours = moment(md, 'HH').hours();\r\n const minutues = moment(md, 'mm').minutes();\r\n\r\n const result = new Date(year, month, date, hours, minutues, 0);\r\n return result;\r\n }\r\n\r\n static minutesToTimeString(val: number): string {\r\n const hours = Math.floor(val / 60);\r\n const minutes = val % 60;\r\n\r\n return `${hours < 10 ? '0' + hours : hours}:${minutes < 10 ? '0' + minutes : minutes}:00`;\r\n }\r\n\r\n static getCurrentFacilityOffsetDetails(facilityId: number): FacilityDetails {\r\n this.currentfacility = DataContextService.Buildings.filter((f) => f.id == facilityId);\r\n let facilityDetail: FacilityDetails;\r\n if (this.currentfacility.length > 0) {\r\n this.currentFacilityOffset = this.currentfacility[0].timeZoneOffSet;\r\n this.IANAname = this.currentfacility[0].timeZoneIanaName;\r\n facilityDetail = {\r\n IANAName: this.IANAname,\r\n currentFacilityOffset: this.currentFacilityOffset,\r\n currentFacilityDateTimeOffset: this.getFacilityCurrentDateTime(this.IANAname)\r\n }\r\n }\r\n\r\n return facilityDetail;\r\n }\r\n\r\n static GetTimeForDates(date: Date): string {\r\n const time = moment(date).format('hh:mm a');\r\n return time;\r\n }\r\n\r\n static GetTimeForDateswithFormat(date: Date, format: string): string {\r\n const time = moment(date).format(format);\r\n return time;\r\n }\r\n\r\n static GetDateForDate(date: Date): string {\r\n const edate = moment(date).format('YYYY/MM/DD');\r\n return edate;\r\n }\r\n\r\n static SetDateAndTime(date: string, time: string): Date {\r\n const combinedDate = moment(date + ' ' + time, 'YYYY/MM/DD hh:mm a').toDate();\r\n return combinedDate;\r\n }\r\n\r\n static SetDate(date: string): Date {\r\n const combinedDate = moment(date, 'YYYY/MM/DD hh:mm a').toDate();\r\n return combinedDate;\r\n }\r\n\r\n static GetDateWithCurrentFacilityOffset(date: string | Date, facilityId: number = 0, abbreviation?: string): string {\r\n let offsetDate = '';\r\n if (facilityId > 0) {\r\n const currentFacility = this.getCurrentFacilityOffsetDetails(facilityId);\r\n offsetDate = moment.tz(moment(date).format('YYYY-MM-DDTHH:mm:ss'), currentFacility.IANAName).format();\r\n }\r\n else {\r\n const IANAName = DataContextService.TimeZones.filter((value) => value.abbreviation == abbreviation)[0].id;\r\n offsetDate = moment.tz(moment(date).format('YYYY-MM-DDTHH:mm:ss'), IANAName).format();\r\n }\r\n return offsetDate;\r\n }\r\n\r\n static RemoveOffsetFromDate(date: string | Date): string {\r\n return moment.parseZone(date).format('l LT');\r\n }\r\n static ConvertUTCToTimeZoneDate(date: string | Date, facilityId: number): string {\r\n const currentFacility = this.getCurrentFacilityOffsetDetails(facilityId);\r\n const offsetDate = moment.tz(date, currentFacility.IANAName).format('YYYY-MM-DD HH:mm');\r\n return offsetDate;\r\n }\r\n static ConvertUTCDateToTimeZoneDate(date: string | Date, timezone: string): string {\r\n const timeZoneId = DataContextService.TimeZones.filter((value) => value.abbreviation == timezone)[0].id;\r\n const offsetDate = moment.tz(date, timeZoneId).format('YYYY-MM-DD HH:mm');\r\n return offsetDate;\r\n}\r\n static GetFormattedTimezone(timezoneValue: any, timezone?: Item) {\r\n //timezone.id = timezoneValue.id;\r\n let name ;\r\n if (timezoneValue.offset.includes('-', 0)) {\r\n name = '(UTC ' + timezoneValue.offset.slice(0, -3) + ') ' + timezoneValue.displayName;\r\n } else {\r\n name = '(UTC +' + timezoneValue.offset.slice(0, -3) + ') ' + timezoneValue.displayName;\r\n }\r\n return timezone = {\r\n id : timezoneValue.id,\r\n name: name\r\n }\r\n }\r\n\r\n static MapDateToApiFormat(date: Date | Moment, tz?: TimeZone, timeZoneAbbreviation?: string) {\r\n const mDate = moment(date);\r\n if (!tz) {\r\n tz = DataContextService.TimeZones.find(tz => tz.abbreviation === timeZoneAbbreviation);\r\n }\r\n if(tz.offset.includes('-', 0)) {\r\n return `${mDate.format('YYYY-MM-DD')}T${mDate.format('HH:mm:ss')}${tz.offset.slice(0, -3)}`}\r\n else {\r\n return `${mDate.format('YYYY-MM-DD')}T${mDate.format('HH:mm:ss')}${'+'+tz.offset.slice(0, -3)}`}\r\n }\r\n\r\n static OnGoingBooking(startDate: string, endDate: string) {\r\n return moment.utc().isBetween(moment.utc(startDate), moment.utc(endDate));\r\n };\r\n}\r\n\r\nexport interface FacilityDetails {\r\n IANAName: string;\r\n currentFacilityOffset: number;\r\n currentFacilityDateTimeOffset: Date;\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DataContextService } from 'src/app/services/datacontext.service';\r\nimport { DateHelper } from '../Helper/dateHelper';\r\nimport { DatePipe } from '@angular/common';\r\nimport { DaysOfWeek } from 'src/app/models/find-a-space.model';\r\n\r\n@Pipe({\r\n name: 'weekDayTranslate'\r\n})\r\nexport class WeekDayTranslatePipe implements PipeTransform {\r\n\r\n constructor(private dataContextService: DataContextService) {} \r\n\r\n transform(value: any, format: string): string {\r\n const datePipe = new DatePipe('en-US');\r\n const date = new Date(DateHelper.RemoveOffsetFromDate(value));\r\n const dayOfWeek = date.getDay();\r\n const splittedFormat = format.split('');\r\n const eFormat = splittedFormat.filter(item => item.toLowerCase() == 'e');\r\n let result:string;\r\n const formattedDate = datePipe.transform(date, format);\r\n if (eFormat.length > 0 && eFormat.length <= 3) { //Abbr week day format 'E,EE,EEE'\r\n result = formattedDate.replace(DaysOfWeek[dayOfWeek].slice(0, 3), this.dataContextService.translateText(`Translation.${dayOfWeek}`).slice(0, 3));\r\n return result;\r\n }\r\n else if (eFormat.length == 4) { //Full week day format 'EEEE'\r\n result = formattedDate.replace(DaysOfWeek[dayOfWeek], this.dataContextService.translateText(`Translation.${dayOfWeek}`));\r\n return result;\r\n }\r\n else\r\n return formattedDate;\r\n }\r\n\r\n}\r\n","import { SelectItemOptions } from '@usitsdasdesign/dds-ng/select';\r\nimport { Size, Themes } from '@usitsdasdesign/dds-ng/shared';\r\nimport { SortOrder } from '../../../../../models/common.enums';\r\nimport { DashboardSorting } from '../../../../../models/dashboard-common.model';\r\nimport { TeamRequest } from '../../../../../models/find-a-space.model';\r\nimport { SelectedGroupMultiselectItem } from '../../../../../shared/components/group-multiselect-dropdown/group-multiselect-dropdown.component';\r\nimport { SelectedOwnerItem } from '../../../../../shared/components/owner-search/owner-search.component';\r\nimport { ButtonKind,ButtonOptions } from 'src/app/shared/components/button/button.component';\r\n\r\nexport interface DashboardFormValue {\r\n dates: Date[];\r\n assignedToMe: boolean;\r\n searchText: string;\r\n locations: SelectedGroupMultiselectItem[];\r\n spaceTypes: number[];\r\n meetingTypes: number[];\r\n statuses: string[];\r\n serviceOrders: number[];\r\n sortings: DashboardSorting[];\r\n bookingSpecialists: SelectedOwnerItem[];\r\n meetingSpecialists: SelectedOwnerItem[];\r\n bookingSpecialistNotAssigned: boolean;\r\n meetingSpecialistNotAssigned: boolean;\r\n classifications: string[];\r\n teamRequestIds: TeamRequest[];\r\n}\r\nexport enum BookingDashboardSorting {\r\n SpaceBookingName = 'SpaceBookingName',\r\n SpaceBookingId = 'SpaceBookingId',\r\n ReservationId = 'ReservationId',\r\n StartDate = 'StartDate',\r\n EndDate = 'EndDate',\r\n Space = 'Space',\r\n Floor = 'Floor',\r\n Building = 'Building',\r\n SpaceType = 'SpaceType',\r\n EventType = 'EventType',\r\n EventStatus = 'EventStatus',\r\n PointOfContactFirstName = 'PointOfContactFirstName',\r\n PointOfContactLastName = 'PointOfContactLastName',\r\n SpaceBookingSpecialistFirstName = 'SpaceBookingSpecialistFirstName',\r\n SpaceBookingSpecialistLastName = 'SpaceBookingSpecialistLastName',\r\n ReservationSpecialistFirstName = 'ReservationSpecialistFirstName',\r\n ReservationSpecialistLastName = 'ReservationSpecialistLastName',\r\n}\r\n\r\nexport let ORDERS: SelectItemOptions[] = [\r\n {\r\n heading: 'Translation.Ascending',\r\n value: SortOrder.Asc,\r\n },\r\n {\r\n heading: 'Translation.Descending',\r\n value: SortOrder.Desc,\r\n },\r\n];\r\n\r\nexport let OrderAlphabetic: SelectItemOptions[] = [\r\n {\r\n heading: 'Translation.A to Z',\r\n value: SortOrder.Asc,\r\n },\r\n {\r\n heading: 'Translation.Z to A',\r\n value: SortOrder.Desc,\r\n },\r\n];\r\n\r\nexport let OrderDate: SelectItemOptions[] = [\r\n {\r\n heading: 'Translation.Latest_first',\r\n value: SortOrder.Desc,\r\n },\r\n {\r\n heading: 'Translation.Earliest_first',\r\n value: SortOrder.Asc,\r\n },\r\n];\r\n\r\nexport let SORTINGS: (SelectItemOptions & { sortOption: SelectItemOptions[] })[] = [\r\n {\r\n heading: 'Translation.Bookingname',\r\n value: BookingDashboardSorting.SpaceBookingName,\r\n sortOption: OrderAlphabetic,\r\n },\r\n {\r\n heading: 'Translation.Date_time',\r\n value: BookingDashboardSorting.StartDate,\r\n sortOption: OrderDate,\r\n },\r\n {\r\n heading: 'Translation.Pointofcontact',\r\n value: BookingDashboardSorting.PointOfContactFirstName,\r\n sortOption: OrderAlphabetic,\r\n },\r\n {\r\n heading: 'Translation.Location',\r\n value: BookingDashboardSorting.Building,\r\n sortOption: OrderAlphabetic,\r\n },\r\n {\r\n heading: 'Translation.Floor',\r\n value: BookingDashboardSorting.Floor,\r\n sortOption: ORDERS,\r\n },\r\n {\r\n heading: 'Translation.Type',\r\n value: BookingDashboardSorting.SpaceType,\r\n sortOption: OrderAlphabetic,\r\n },\r\n {\r\n heading: 'Translation.Meetingtype',\r\n value: BookingDashboardSorting.EventType,\r\n sortOption: OrderAlphabetic,\r\n },\r\n {\r\n heading: 'Translation.Bookingspecialist',\r\n value: BookingDashboardSorting.SpaceBookingSpecialistFirstName,\r\n sortOption: OrderAlphabetic,\r\n },\r\n {\r\n heading: 'Translation.Meetingspecialist',\r\n value: BookingDashboardSorting.ReservationSpecialistFirstName,\r\n sortOption: OrderAlphabetic,\r\n },\r\n {\r\n heading: 'Translation.Bookingstatus',\r\n value: BookingDashboardSorting.EventStatus,\r\n sortOption: OrderAlphabetic,\r\n },\r\n];\r\n\r\nexport const SECONDARY_BUTTON_OPTIONS: ButtonOptions = {\r\n kind: ButtonKind.secondary,\r\n };\r\nexport const PRIMARY_BUTTON_OPTIONS: ButtonOptions = {\r\n kind: ButtonKind.primaryLoud,\r\n};\r\nexport interface BookingsDashboardPreferenceData {\r\n location?: SelectedGroupMultiselectItem[];\r\n serviceOrders?: number[];\r\n spaceTypes?: number[];\r\n meetingTypes?: number[];\r\n status?: string[];\r\n id?: string;\r\n form?: DashboardFormValue;\r\n assignedToMe?: boolean;\r\n}\r\n","import { ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Optional, Output, ViewChild } from '@angular/core';\r\nimport { BehaviorSubject, Subject } from 'rxjs';\r\nimport { UserDetail } from '../../../models/users.model';\r\nimport { UserService } from '../../../services/APIs/Users/userservice';\r\nimport { BaseValueAccessorComponent } from '../../../common/base-component/base-value-accessor.component';\r\nimport { AbstractControl, NgControl } from '@angular/forms';\r\nimport { tap } from 'rxjs/operators';\r\nimport { DataContextService } from 'src/app/services/datacontext.service';\r\n\r\n@Component({\r\n selector: 'app-owner-search',\r\n templateUrl: './owner-search.component.html',\r\n styleUrls: ['./owner-search.component.less'],\r\n})\r\nexport class OwnerSearchComponent extends BaseValueAccessorComponent implements OnInit {\r\n @Input() placeholder: string = 'Translation.Search_by_name_or_email_text';\r\n @Input() showChips: boolean = true;\r\n @Input() disabled: boolean = false;\r\n @Input() isRequired = false;\r\n @Input() label: string = '';\r\n @Input() errorMessage = '';\r\n @Input() description: string = '';\r\n\r\n @Input()\r\n set selectedData(value: SelectedOwnerItem[]) {\r\n if (value) {\r\n if (!this.showChips) {\r\n if (value.length) {\r\n this.value = {\r\n value: value[0].id,\r\n label: `${value[0].firstName} ${value[0].lastName}`,\r\n };\r\n } else {\r\n this.value = null;\r\n }\r\n }\r\n this.chips = value;\r\n }\r\n }\r\n\r\n @Input() useAssignee: boolean = true;\r\n @Input() isExternal: boolean = false;\r\n value: {\r\n label?: string;\r\n value?: number;\r\n };\r\n subject$: Subject = new Subject();\r\n ownersList$: BehaviorSubject<(UserDetail & { isAlreadyAdded?: boolean })[]> = new BehaviorSubject([]);\r\n chips: SelectedOwnerItem[] = [];\r\n overflowLimit: number = 40; //preference limit should be assigned here;\r\n noResultFound: boolean = false;\r\n stopLoader: boolean;\r\n\r\n get isError(): boolean {\r\n if (this.control) {\r\n return this.control.touched && this.control.invalid;\r\n }\r\n return false;\r\n }\r\n\r\n @Output() selected: EventEmitter = new EventEmitter();\r\n @Output() clear: EventEmitter = new EventEmitter();\r\n @Output() searchChange: EventEmitter = new EventEmitter();\r\n\r\n get control(): AbstractControl {\r\n return this.ngControl ? this.ngControl.control : null;\r\n }\r\n\r\n constructor(private userService: UserService, @Optional() private ngControl: NgControl, private cdRef: ChangeDetectorRef) {\r\n super();\r\n ngControl && (ngControl.valueAccessor = this);\r\n }\r\n\r\n markAsTouched(): void {\r\n if (this.ngControl) {\r\n this.onTouchedCallback();\r\n this.cdRef.detectChanges();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.searchOwner();\r\n }\r\n\r\n writeValue(value: SelectedOwnerItem[]) {\r\n if (value) {\r\n if (!this.showChips) {\r\n if (value.length) {\r\n this.value = {\r\n value: value[0].id,\r\n label: `${value[0].firstName} ${value[0].lastName}`,\r\n };\r\n } else {\r\n this.value = null;\r\n }\r\n }\r\n this.chips = value;\r\n }\r\n }\r\n\r\n setDisabledState(isDisabled: boolean) {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n private searchOwner() {\r\n this.subject$\r\n .pipe(\r\n tap((_) => {\r\n this.onTouchedCallback();\r\n this.ownersList$.next([]);\r\n this.stopLoader = null;\r\n })\r\n )\r\n .subscribe((value) => {\r\n this.searchChange.emit(value);\r\n if (this.useAssignee) {\r\n this.userService.getAssignees(value, (DataContextService.ROWS_PER_PAGE || 40)).subscribe((res: UserDetail[]) => {\r\n this.stopLoader = true;\r\n this.noResultFound = !res.length ? true : false;\r\n const owners = this.mapOwners(res);\r\n this.ownersList$.next(owners);\r\n });\r\n } else {\r\n this.userService.getUserSearch(value, (DataContextService.ROWS_PER_PAGE || 40)).subscribe((res: UserDetail[]) => {\r\n this.stopLoader = true;\r\n const owners = this.mapOwners(res);\r\n this.noResultFound = !res.length ? true : false;\r\n this.ownersList$.next(owners);\r\n });\r\n }\r\n });\r\n }\r\n\r\n private mapOwners(res: UserDetail[]) {\r\n return res.map((i) => {\r\n return {\r\n ...i,\r\n isAlreadyAdded: this.showChips ? !!(this.chips && this.chips.find((d) => d.id === i.id)) : false,\r\n };\r\n });\r\n }\r\n\r\n select(user: UserDetail) {\r\n if (this.showChips) {\r\n this.chips = [\r\n ...this.chips,\r\n {\r\n firstName: user.firstName,\r\n lastName: user.lastName,\r\n id: user.id,\r\n email: user.email,\r\n title: user.title,\r\n shortTitle: user.shortTitle,\r\n userName: user.userName,\r\n },\r\n ];\r\n } else {\r\n this.chips = [\r\n {\r\n firstName: user.firstName,\r\n lastName: user.lastName,\r\n id: user.id,\r\n email: user.email,\r\n title: user.title,\r\n shortTitle: user.shortTitle,\r\n userName: user.userName,\r\n },\r\n ];\r\n }\r\n this.value = { value: null, label: `` };\r\n this.emptySearchList();\r\n if (!this.showChips) {\r\n this.value = { value: user.id, label: `${user.firstName} ${user.lastName}` };\r\n }\r\n\r\n this.selected.emit(this.chips);\r\n this.updateControl();\r\n }\r\n\r\n remove(index: number) {\r\n this.chips.splice(index, 1);\r\n this.selected.emit(this.chips);\r\n this.updateControl();\r\n }\r\n\r\n updateControl(): void {\r\n if (this.ngControl) {\r\n this.onTouchedCallback();\r\n this.onChangeCallback(this.chips);\r\n this.cdRef.detectChanges();\r\n }\r\n }\r\n private emptySearchList() {\r\n this.ownersList$.next([]);\r\n this.noResultFound = false;\r\n }\r\n clearData() {\r\n this.emptySearchList();\r\n this.onTouchedCallback();\r\n if (!this.showChips && this.chips.length > 0) {\r\n this.chips = [];\r\n this.onChangeCallback(this.chips);\r\n this.clear.emit();\r\n }\r\n }\r\n}\r\n\r\nexport class SelectedOwnerItem {\r\n firstName: string;\r\n lastName: string;\r\n id: number;\r\n email?: string;\r\n title?: string;\r\n shortTitle?: string;\r\n label?: string;\r\n value?: string;\r\n userName?: string;\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n
\r\n

\r\n {{ owner?.firstName }} {{ owner?.lastName }}\r\n \r\n

\r\n

{{ owner?.title }}, {{ owner?.homeBuildingName }}

\r\n
\r\n \r\n
\r\n
\r\n
= overflowLimit\">\r\n {{ \"Translation.Foundtoomanymatches\" | translate }}\r\n
\r\n
\r\n
\r\n {{ \"Translation.No_results_found\" | translate }}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n","import { Component, OnInit, Input, SimpleChanges, Output, EventEmitter, forwardRef } from '@angular/core';\r\nimport { ControlValueAccessor, FormControl, FormGroup, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { MultiSelectItem } from '@usitsdasdesign/dds-ng/multi-select';\r\nimport { VirtualOptions } from 'src/app/models/meetings.model';\r\nimport { DataContextService } from 'src/app/services/datacontext.service';\r\nimport { AdditionalDetailscategory } from '../../models/masterdata.model';\r\n\r\n@Component({\r\n selector: 'app-virtul-options',\r\n templateUrl: './virtul-options.component.html',\r\n styleUrls: ['./virtul-options.component.less'],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => VirtulOptionsComponent),\r\n multi: true\r\n }]\r\n})\r\nexport class VirtulOptionsComponent implements OnInit, ControlValueAccessor {\r\n accordionlength = [1]\r\n @Input() Id = [];\r\n @Output() selectedItems: EventEmitter<(string | number)[]> = new EventEmitter();\r\n virtualOptions: VirtualOptions[] =[];\r\n virtualOptionsBR: VirtualOptions;\r\n form = new FormGroup({\r\n radio: new FormControl(),\r\n });\r\n\r\n onChange: any = () => {\r\n }\r\n onTouch: any = () => {\r\n }\r\n count: Number;\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.count = this.Id.length;\r\n DataContextService.VirtualBookingAdditionalDetails.forEach((obj) => {\r\n if (obj.category.id != AdditionalDetailscategory.breakoutRooms)\r\n this.virtualOptions.push(\r\n {\r\n category: obj.category.name,\r\n categoryId: obj.category.id,\r\n additionalDetails: this.mapOptions(obj.virtualBookingAdditionalDetails, obj.category.id) as MultiSelectItem[]\r\n }\r\n );\r\n else\r\n this.virtualOptionsBR = {\r\n category: obj.category.name,\r\n categoryId: obj.category.id,\r\n additionalDetails: this.mapOptions(obj.virtualBookingAdditionalDetails, obj.category.id) as MultiSelectItem[]\r\n }\r\n });\r\n\r\n }\r\n mapOptions(data, id) {\r\n let virtualOptions = [];\r\n data.forEach(i => {\r\n virtualOptions.push({\r\n label: i.description,\r\n id: i.id.toString(),\r\n isChecked: this.Id ? this.Id.some((type) => type == i.id) : false,\r\n })\r\n })\r\n if (virtualOptions) {\r\n if (id == 4 && this.Id.length) {\r\n const selectedRadio = virtualOptions.filter(item => this.Id.includes(Number(item.id)))\r\n if (selectedRadio.length) {\r\n this.form.controls.radio.setValue(selectedRadio[0].id);\r\n }\r\n }\r\n return virtualOptions;\r\n }\r\n\r\n }\r\n changeItem(event, addId) {\r\n if (event) {\r\n this.Id.push(Number(addId))\r\n }\r\n else {\r\n const index = this.Id.findIndex((i) => i == Number(addId));\r\n this.Id.splice(index, 1)\r\n }\r\n this.count = this.Id.length;\r\n this.selectedItems.emit(this.Id);\r\n }\r\n\r\n stateChanged(event) {\r\n const record = this.virtualOptionsBR.additionalDetails.filter(i => this.Id.includes(Number(i.id)))\r\n if (record.length) {\r\n this.Id.splice(this.Id.findIndex((i) => i == Number(record[0].id)), 1)\r\n }\r\n this.Id.push(Number(event));\r\n this.count = this.Id.length;\r\n this.selectedItems.emit(this.Id);\r\n }\r\n writeValue(value: any) { }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n clearSeaction() {\r\n this.form.controls.radio.setValue(null);\r\n const record = this.virtualOptionsBR.additionalDetails.filter(i => this.Id.includes(Number(i.id)))\r\n if (record.length) {\r\n this.Id.splice(this.Id.findIndex((i) => i == Number(record[0].id)), 1)\r\n }\r\n this.count = this.Id.length;\r\n this.selectedItems.emit(this.Id);\r\n }\r\n}\r\n\r\n// export interface VirtualOptions{\r\n// isCheckBox:boolean ;\r\n// category:string;\r\n// categoryId:number;\r\n// additionalDetails:MultiSelectItem[];\r\n// }\r\n","\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
    \r\n
  • \r\n \r\n
  • \r\n
\r\n
\r\n
\r\n \r\n \r\n
    \r\n
  • \r\n \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, EventEmitter, Input, OnChanges, OnInit, Optional, Output, SimpleChanges } from '@angular/core';\r\nimport { SelectComponent } from '../select.component';\r\n\r\n@Component({\r\n selector: 'app-select-item',\r\n templateUrl: './select-item.component.html',\r\n styleUrls: ['./select-item.component.less'],\r\n})\r\nexport class SelectItemComponent implements OnInit,OnChanges {\r\n @Input() value: any;\r\n @Input() heading:any;\r\n @Input() isDisabled: boolean = false;\r\n @Input() customClass: string;\r\n @Input() counter:any;\r\n @Input() isStatus:boolean=false;\r\n @Input() customSelected:boolean = false;\r\n @Input() selected = false;\r\n @Input() icon:any;\r\n @Input() isContextMenu:boolean = false;\r\n @Input() item:any;\r\n @Input() count:any;\r\n @Input() searchValue:any;\r\n @Input() isContent:boolean = false;\r\n @Input() shortName:string;\r\n @Input() disableEllipsisTooltip:boolean=false;\r\n @Output() selectOptions: EventEmitter = new EventEmitter();\r\n \r\n constructor(\r\n @Optional() private select: SelectComponent\r\n ) {}\r\n ngOnChanges(): void {\r\n if(this.value && this.heading){\r\n this.select.addSelectItem(this.value,this.heading,this.shortName);}\r\n }\r\n writeValue(obj: any): void {\r\n \r\n }\r\n registerOnChange(fn: () => {}): void {}\r\n\r\n registerOnTouched(fn: () => {}): void {}\r\n setDisabledState?(isDisabled: boolean): void {}\r\n public ngOnInit(): void {}\r\n \r\n selectOption(event?:any): void {\r\n if(!this.isContextMenu){\r\n this.select.changeItem(this.value,this.heading,this.shortName);\r\n }\r\n this.selectOptions.emit( event ? event : this.item)\r\n }\r\n\r\n checkboxSelect(event){\r\n this.selectOptions.emit(event)\r\n }\r\n}\r\n\r\n\r\n","\r\n
\r\n \r\n {{heading}}\r\n \r\n
\r\n\r\n
\r\n\r\n{{heading}}\r\n{{count}}\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DatexPipe } from './moment-pipe';\r\n\r\n@NgModule({\r\n declarations: [DatexPipe],\r\n imports: [CommonModule],\r\n exports: [DatexPipe],\r\n})\r\nexport class MomentPipeModule {}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { DataContextService } from '../../services/datacontext.service';\r\n\r\n@Component({\r\n selector: 'app-access-denied',\r\n templateUrl: './access-denied.component.html',\r\n styleUrls: ['./access-denied.component.less']\r\n})\r\nexport class AccessDeniedComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void { \r\n }\r\n\r\n}\r\n","
\r\n
\r\n \r\n

{{ 'Translation.Accessdenied' | translate }}

\r\n

\r\n {{'Translation.Accessdeniedmsg' | translate}}\r\n {{'Translation.Accessdeniedmsg1' | translate}}\r\n

\r\n
\r\n
\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { UserNotificationResponse, UserNotificationType } from '../../../../models/users.model';\r\nimport * as moment from 'moment';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-user-notification',\r\n templateUrl: './user-notification.component.html',\r\n styleUrls: ['./user-notification.component.less']\r\n})\r\nexport class UserNotificationComponent implements OnInit, OnChanges {\r\n @Input() notification: UserNotificationResponse;\r\n userNotificationType = UserNotificationType;\r\n @Output() remove: EventEmitter = new EventEmitter();\r\n constructor(private router: Router) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n ngOnChanges(changes: SimpleChanges) {\r\n const { notification } = changes;\r\n if (notification && notification.currentValue) {\r\n this.notification = {\r\n ...this.notification,\r\n createDate: moment.parseZone(this.notification.createDate).format('YYYY-MM-DDTHH:mm:ss')\r\n }\r\n }\r\n }\r\n navigateToUnfulfilledRequest(notification: UserNotificationResponse) {\r\n this.router.navigate([`/meetings/unfulfilledRequests`], { state: { teamName: notification.data.teamName } })\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n \r\n {{notification?.message}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

{{notification?.data?.teamName}}

\r\n

\r\n {{ 'Translation.Created' | translate }}: \r\n {{ 'Translation.Completed' | translate }}: \r\n {{notification.createDate | mPipe: 'MMM DD, YYYY, h:mm A'}}\r\n

\r\n
\r\n \r\n
\r\n
\r\n {{ 'Translation.Reservations_requested' | translate }}\r\n {{notification.data.reservationRequestedCount}}\r\n
\r\n
\r\n {{ 'Translation.Successful' | translate }} \r\n {{notification.data.reservationCreatedCount}}\r\n
\r\n
\r\n {{ 'Translation.Unfullfilled' | translate }}\r\n
\r\n 0\" class= \"icon-attention-24 error\">\r\n 0 ? 'error' : 'issueCount'\">{{notification.data.issueCount}}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TextareaComponent } from './textarea.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [TextareaComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ],\r\n exports:[TextareaComponent]\r\n})\r\nexport class TextareaModule { }\r\n","import { PreferencesConfigService } from '../../../../services/preferences/preferences-config.service';\r\nimport { map, takeUntil, tap } from 'rxjs/operators';\r\nimport { PreferencesCurrentViewService, PreferencesStorageKeys } from 'src/app/services/preferences/preferences-current-view';\r\nimport { Component } from '@angular/core';\r\nimport { AllViewItem, PreferenceDetails, PreferencesViewData } from 'src/app/services/preferences/models/preferences.model';\r\nimport { DataContextService } from 'src/app/services/datacontext.service';\r\nimport { BaseComponent } from '../../../base-component/base-component';\r\nimport { Router } from '@angular/router';\r\nimport { RoutesConfig } from '../../../../configs/routes.config';\r\n\r\n@Component({\r\n selector: 'app-view-selector',\r\n templateUrl: './view-selector.component.html',\r\n styleUrls: ['./view-selector.component.less'],\r\n})\r\nexport class ViewSelectorComponent extends BaseComponent {\r\n opened = false;\r\n allView: AllViewItem[] = [];\r\n selectedView: AllViewItem;\r\n\r\n constructor(\r\n private preferencesCurrentViewService: PreferencesCurrentViewService,\r\n private dataContextService: DataContextService,\r\n private router: Router,\r\n private preferencesConfigService: PreferencesConfigService\r\n ) {\r\n super();\r\n this.dataContextService.masterDadaLoaded$.pipe(takeUntil(this.destroy$)).subscribe(res => {\r\n if(res) {\r\n this.preferencesCurrentViewService.currentView$.pipe(takeUntil(this.destroy$)).subscribe((currentView) => {\r\n this.selectedView = currentView.allViews.find((view) => view.id === currentView.viewId);\r\n this.allView = currentView.allViews.filter((item) => item.isActive).sort(a => a.id === this.selectedView.id ? -1 : 0);\r\n // this.getSelectedCountryBuilding(currentView.country)\r\n DataContextService.FilterSelectedCountryBuildings = DataContextService.Buildings;\r\n });\r\n }\r\n })\r\n \r\n }\r\n allViewPreference() {\r\n window.open(`/${RoutesConfig.pages.preferences}`, '_blank');\r\n }\r\n toggleDropDown(event: MouseEvent): void {\r\n event.stopPropagation();\r\n this.opened = !this.opened;\r\n }\r\n\r\n selectView(view: AllViewItem): void {\r\n this.dataContextService\r\n .getData<{ data: PreferenceDetails; status: number }>(`Views/${view.id}`)\r\n .pipe(\r\n takeUntil(this.destroy$),\r\n map((response) => {\r\n return this.preferencesConfigService.parseViewDetails(response.data);\r\n })\r\n )\r\n .subscribe((viewData: PreferencesViewData) => {\r\n this.selectedView = view;\r\n const View : any = {\r\n selectedViewId : view.id,\r\n revision: viewData.revision\r\n }\r\n this.dataContextService.storeInLocalStorage(PreferencesStorageKeys.SelectedViewId, View);\r\n this.preferencesCurrentViewService.viewChanged$.next(true);\r\n this.preferencesCurrentViewService.currentView$.next(viewData);\r\n });\r\n }\r\n getSelectedCountryBuilding(country){\r\n let building = []\r\n country.forEach(i=> {\r\n building.push(...DataContextService.Buildings.filter(x => x.country == i.name));\r\n })\r\n if(building){\r\n DataContextService.FilterSelectedCountryBuildings = building\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n {{ selectedView?.name }}\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
    \r\n
  • \r\n {{ view.name }}\r\n \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
{{'Translation.Allviews' | translate}}
\r\n
\r\n
\r\n
\r\n","import { Component, forwardRef, Input, OnChanges, OnInit, SimpleChanges, Output, EventEmitter } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { CheckboxOptions } from '@usitsdasdesign/dds-ng/checkbox';\r\nimport { FocusHandlerService } from '@usitsdasdesign/dds-ng/core/focus-handler';\r\nimport { Themes, WidthState } from '@usitsdasdesign/dds-ng/shared';\r\nimport { DataContextService } from '../../../services/datacontext.service';\r\nimport * as _ from 'lodash';\r\nimport { MultiselectGroup } from './multi-select-and-tag-item.interface';\r\nimport {ButtonKind, ButtonOptions } from '../button/button.component';\r\n\r\n@Component({\r\n selector: 'app-multi-select',\r\n templateUrl: './multi-select.component.html',\r\n styleUrls: ['./multi-select.component.less'],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => MultiSelectComponent),\r\n multi: true\r\n }]\r\n})\r\nexport class MultiSelectComponent implements OnInit, ControlValueAccessor, OnChanges {\r\n @Input() list: MultiSelectItem[] = [];\r\n @Input() tickAllDisplay: boolean = true;\r\n @Input() tickAllLabel: string = this.dataContextService.translateText('Translation.All');\r\n @Input() showChips: boolean = true;\r\n @Input() showIcon: boolean = false;\r\n @Input() isRequired: boolean = false;\r\n @Input() label: string;\r\n @Input() isIncludeDeleted: boolean = false;\r\n @Input() includeDeletedValue: boolean;\r\n @Input() placeHolder: string = this.dataContextService.translateText('Translation.Select');\r\n @Input() errorMessage: string = '';\r\n @Input() isDisabled: boolean = false;\r\n @Input() showMoreLimit: number = 6;\r\n @Input() value:any;\r\n @Input() Reset:string;\r\n @Input() PreferenceInitialLoad:boolean=true;\r\n @Input() groups: MultiselectGroup[];\r\n @Input() key:string;\r\n showMore: boolean = false;\r\n all: MultiSelectItem = { label: this.tickAllLabel };\r\n opened: boolean = false;\r\n buttonOption: ButtonOptions = {\r\n kind: ButtonKind.primary,\r\n }\r\n BLUE_THEME = Themes.blue;\r\n chips: MultiSelectItem[] = [];\r\n @Output() selectedItems: EventEmitter<(string | number)[]> = new EventEmitter();\r\n @Output() includeDeleted: EventEmitter = new EventEmitter();\r\n initialState: MultiSelectItem[] = [];\r\n get text(): string {\r\n if (this.list.every(i => i.isChecked == false)) {\r\n return this.placeHolder;\r\n }\r\n else if (this.list)\r\n return `${this.selected.length === this.list.length ? this.dataContextService.translateText('Translation.All') : `${this.selected.length}`} ${this.dataContextService.translateText('Translation.Preference_selected')}`;\r\n return `${this.dataContextService.translateText('Translation.Select')}`;\r\n }\r\n get limit(): number {\r\n if (this.showMore)\r\n return this.selected.length;\r\n return this.showMoreLimit;\r\n }\r\n get selected(): MultiSelectItem[] {\r\n return this.list.filter(i => i.isChecked);\r\n }\r\n onChange: any = () => {\r\n }\r\n onTouch: any = () => {\r\n }\r\n\r\n constructor(private dataContextService:DataContextService) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n ngOnChanges(changes: SimpleChanges) {\r\n const { list, tickAllLabel } = changes;\r\n if (list && list.currentValue) {\r\n this.updateAllOption();\r\n this.updateChips();\r\n }\r\n if(this.value){\r\n this.writeValue(this.value);\r\n }\r\n if (tickAllLabel && tickAllLabel.currentValue)\r\n this.all = { ...this.all, label: tickAllLabel.currentValue };\r\n this.initialState = _.cloneDeep(list.currentValue); \r\n }\r\n writeValue(obj: (number | string)[]): void {\r\n setTimeout(() => {\r\n if (this.list !== undefined) {\r\n if (obj) {\r\n if(this.groups){\r\n this.list.forEach(i => {\r\n i.isChecked = obj.filter((d: number | string) => d === i[this.key]).length ? true : false;\r\n });\r\n }\r\n else{\r\n this.list.forEach(i => {\r\n i.isChecked = obj.filter((d: number | string) => d === i.id).length ? true : false;\r\n });\r\n }\r\n this.updateAllOption();\r\n // this.emitSelectedDate()\r\n this.updateChips();\r\n }\r\n }\r\n })\r\n }\r\n\r\n private emitSelectedDate() {\r\n const selectedData = this.groups ? this.selected.map(i => i[this.key]) : this.selected.map(i => i.id);\r\n this.selectedItems.emit(selectedData);\r\n }\r\n private updateAllOption(groupId?:number) {\r\n if(groupId){\r\n const groupList = this.list.filter(i => i.groupId == groupId);\r\n const index = this.groups.findIndex(i => i.id == groupId)\r\n this.groups[index] = {\r\n ...this.groups[index],\r\n isAllChecked: groupList.some(i => i.isChecked) ? true : false,\r\n isAllIndeterminate: groupList.every(i => i.isChecked) || groupList.every(i => !i.isChecked) ? false : true\r\n }\r\n }\r\n\r\n this.all = {\r\n ...this.all,\r\n isChecked: this.list.some(i => i.isChecked) ? true : false,\r\n isIndeterminate: this.list.every(i => i.isChecked) || this.list.every(i => !i.isChecked) ? false : true\r\n }\r\n \r\n const selectedData = this.groups ? this.selected.map(i => i[this.key]) : this.selected.map(i => i.id);\r\n this.onChange(selectedData);\r\n }\r\n changeAllOption(state: boolean , groupId?:number) {\r\n this.onTouch();\r\n \r\n this.list = this.list.map(i => {\r\n return {\r\n ...i,\r\n isChecked:groupId? (groupId == i.groupId ? state : i.isChecked) : state \r\n }\r\n });\r\n this.updateAllOption(groupId);\r\n this.emitSelectedDate()\r\n this.updateChips();\r\n }\r\n private updateChips() {\r\n this.chips = this.all.isIndeterminate ? this.selected : [];\r\n }\r\n changeItem(state: boolean, id: number , groupId?:number) {\r\n this.onTouch();\r\n if(groupId){\r\n this.list = this.list.map(i => {\r\n return {\r\n ...i,\r\n isChecked: id === i.id && groupId === i.groupId ? state : i.isChecked\r\n }\r\n });\r\n }\r\n else{\r\n this.list = this.list.map(i => {\r\n return {\r\n ...i,\r\n isChecked: id === i.id ? state : i.isChecked\r\n }\r\n });}\r\n this.updateAllOption(groupId);\r\n this.emitSelectedDate()\r\n this.updateChips();\r\n \r\n }\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n stateChange(item) {\r\n this.includeDeleted.emit(item);\r\n }\r\n\r\n reset(){\r\n this.list = this.initialState;\r\n this.updateAllOption();\r\n this.emitSelectedDate()\r\n this.updateChips();\r\n }\r\n\r\n getGroupData(id){\r\n return this.list.filter(i => i.groupId == id);\r\n }\r\n\r\n allUnChecked(){\r\n if (this.list.every(i => i.isChecked == false)) {\r\n return true;\r\n }\r\n }\r\n \r\n}\r\nexport interface MultiSelectItem extends CheckboxOptions {\r\n id?: number | string;\r\n isChecked?: boolean;\r\n icon?: string;\r\n groupId?:number;\r\n groupLabel?:string;\r\n [key: string]: any;\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{items.label}}
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{ errorMessage | translate }}
\r\n
\r\n
\r\n \r\n \r\n \r\n
showMoreLimit\">\r\n \r\n \r\n
\r\n
\r\n
\r\n","import {Injectable} from '@angular/core';\r\nimport { DdsConfigOptions } from '@usitsdasdesign/dds-ng/shared/dds-config';\r\nimport { ErrorState, LabelPosition, PositionState, Size, Themes } from '@usitsdasdesign/dds-ng/shared';\r\nimport { ToastOptions } from '@usitsdasdesign/dds-ng/toast';\r\n\r\n@Injectable()\r\nexport class CommonConfig {\r\n static datesFormat = {\r\n placeholder: 'MM/DD/YYYY',\r\n date: 'MM/dd/yyyy',\r\n mDate: 'MM/DD/YYYY',\r\n full: 'MM/dd/yyyy, hh:mm a',\r\n mFull: 'MM/DD/YYYY, hh:mm A',\r\n time: 'hh:mm a',\r\n mTime: 'hh:mm A',\r\n timePlaceholder: 'HH:MM AM'\r\n };\r\n\r\n static ddsConfigOptions: DdsConfigOptions = {\r\n theme: Themes.dark,\r\n size: Size.md,\r\n isResponsive: false,\r\n labelPosition: LabelPosition.external,\r\n stickerPosition: PositionState.bottomLeft,\r\n stickerIndent: 0,\r\n errorState: ErrorState.focusOut,\r\n };\r\n\r\n static toastOptions: ToastOptions = {\r\n lifeTime: 5000,\r\n position: 'bottom-center',\r\n isCloseIcon: false,\r\n limit: 5,\r\n theme: CommonConfig.ddsConfigOptions.theme,\r\n };\r\n\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {map} from 'rxjs/operators';\r\nimport {DataContextService} from '../../datacontext.service';\r\nimport {BehaviorSubject, Observable, throwError} from 'rxjs';\r\nimport {\r\n BulkInput,\r\n EditReservationDetails,\r\n ReservationDetails,\r\n ReservationItemsInput,\r\n ReservationItemsResponse,\r\n} from '../../../models/meetings.model';\r\nimport {DashboardFeature} from 'src/app/models/dashboard-common.model';\r\nimport {ToastService} from 'src/app/services/toast.service';\r\nimport {CreateReservationResponse, SpaceBookingInput} from 'src/app/models/find-a-space.model';\r\nimport {BookingDetails} from '../../../models/bookings.model';\r\nimport {SpinnerService} from '../../../common/spinner/spinner.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ReservationsService {\r\n\r\n constructor(private dataContextService: DataContextService, private toasterService: ToastService, private spinnerService: SpinnerService) {\r\n }\r\n\r\n reservationId: number;\r\n reservationName: string;\r\n private reservationDetails = new BehaviorSubject(null);\r\n reservationDetails$ = this.reservationDetails.asObservable();\r\n\r\n getReservation(id: number, flags: string = '', showSpinner = true, showError = true): Observable {\r\n let url = `Reservations/${id}`;\r\n if (flags) {\r\n url += `?reservationFeatureFlags=${flags}`;\r\n }\r\n return this.dataContextService.getData(url, showSpinner).pipe(\r\n map(res => {\r\n if (res.status === 200) {\r\n const response = res.data as ReservationDetails;\r\n if (response.owner) {\r\n response.owner.firstName = this.dataContextService.getUserFirstName(response.owner);\r\n response.owner.lastName = response.owner.lastName ? response.owner.lastName : '';\r\n }\r\n if (response.pointOfContact) {\r\n response.pointOfContact.firstName = this.dataContextService.getUserFirstName(response.pointOfContact);\r\n response.pointOfContact.lastName = response.pointOfContact.lastName ? response.pointOfContact.lastName : '';\r\n }\r\n if (response.specialist) {\r\n response.specialist.firstName = this.dataContextService.getUserFirstName(response.specialist);\r\n response.specialist.lastName = response.specialist.lastName ? response.specialist.lastName : '';\r\n }\r\n return response;\r\n } else {\r\n if (showError)\r\n return this.dataContextService.showErrorToaster(res);\r\n else\r\n return null;\r\n }\r\n })\r\n );\r\n }\r\n\r\n getReservationItems(reservationId: number, input?: ReservationItemsInput): Observable {\r\n const url = `Reservation/${reservationId}/ReservationItems`;\r\n return this.dataContextService.postData(url, input).pipe(\r\n map((res) => {\r\n if (res.status === 200) {\r\n const response = res.data as ReservationItemsResponse;\r\n response.items.forEach(i => {\r\n if (i.virtualBooking) {\r\n if (i.virtualBooking.producer) {\r\n i.virtualBooking.producer.firstName = this.dataContextService.getUserFirstName(i.virtualBooking.producer),\r\n i.virtualBooking.producer.lastName = i.virtualBooking.producer.lastName ? i.virtualBooking.producer.lastName : ''\r\n }\r\n if (i.virtualBooking.facilitator) {\r\n i.virtualBooking.facilitator.firstName = this.dataContextService.getUserFirstName(i.virtualBooking.facilitator),\r\n i.virtualBooking.facilitator.lastName = i.virtualBooking.facilitator.lastName ? i.virtualBooking.facilitator.lastName : ''\r\n }\r\n }\r\n if (i.spaceBooking) {\r\n if (i.spaceBooking.specialist) {\r\n i.spaceBooking.specialist.firstName = this.dataContextService.getUserFirstName(i.spaceBooking.specialist),\r\n i.spaceBooking.specialist.lastName = i.spaceBooking.specialist.lastName ? i.spaceBooking.specialist.lastName : ''\r\n }\r\n }\r\n })\r\n if (response.reservationItemFacets && response.reservationItemFacets.spaceBookingSpecialists) {\r\n response.reservationItemFacets.spaceBookingSpecialists.forEach((i) => {\r\n i.firstName = this.dataContextService.getUserFirstName(i),\r\n i.lastName = i.lastName ? i.lastName : ''\r\n })\r\n }\r\n return response;\r\n } else {\r\n return this.dataContextService.showErrorToaster(res);\r\n }\r\n })\r\n );\r\n }\r\n\r\n updateReservationSpecialist(reservationId: number, specialistId: number, showGlobalSpinner: boolean = false): Observable {\r\n const url = `Reservations/${reservationId}/Specialist`;\r\n return this.dataContextService.patchData(url, { specialistId }, showGlobalSpinner, false)\r\n .pipe(\r\n map(res => {\r\n if (res.status === 200) {\r\n return 'OK';\r\n } else {\r\n this.dataContextService.showErrorToaster(res);\r\n }\r\n })\r\n );\r\n }\r\n\r\n getBulkReservationItems(reservationId: number, input: ReservationItemsInput): Observable {\r\n input.page = 0;\r\n input.limit = 500;\r\n input.features = DashboardFeature[DashboardFeature.IncludeFacets];\r\n const url = `Reservation/${reservationId}/ReservationItems`;\r\n return this.dataContextService.postData(url, input, true)\r\n .pipe(map((res) => {\r\n if (res.status === 200) {\r\n const response = res.data as ReservationItemsResponse;\r\n response.items.forEach(i => {\r\n if (i.virtualBooking) {\r\n if (i.virtualBooking.producer) {\r\n i.virtualBooking.producer.firstName = this.dataContextService.getUserFirstName(i.virtualBooking.producer),\r\n i.virtualBooking.producer.lastName = i.virtualBooking.producer.lastName ? i.virtualBooking.producer.lastName : ''\r\n }\r\n if (i.virtualBooking.facilitator) {\r\n i.virtualBooking.facilitator.firstName = this.dataContextService.getUserFirstName(i.virtualBooking.facilitator),\r\n i.virtualBooking.facilitator.lastName = i.virtualBooking.facilitator.lastName ? i.virtualBooking.facilitator.lastName : ''\r\n }\r\n }\r\n if (i.spaceBooking) {\r\n if (i.spaceBooking.specialist) {\r\n i.spaceBooking.specialist.firstName = this.dataContextService.getUserFirstName(i.spaceBooking.specialist),\r\n i.spaceBooking.specialist.lastName = i.spaceBooking.specialist.lastName ? i.spaceBooking.specialist.lastName : ''\r\n }\r\n }\r\n })\r\n if (response.reservationItemFacets && response.reservationItemFacets.spaceBookingSpecialists) {\r\n response.reservationItemFacets.spaceBookingSpecialists.forEach((i) => {\r\n i.firstName = this.dataContextService.getUserFirstName(i),\r\n i.lastName = i.lastName ? i.lastName : ''\r\n })\r\n }\r\n return response;\r\n }\r\n else {\r\n return this.dataContextService.showErrorToaster(res);\r\n }\r\n }));\r\n }\r\n\r\n //copyBulkReservation(userId: number, reservationId: number, copyBulkBooking: CopyBulkBooking, isConciergeAllocation: boolean = true) {\r\n // const url = `Users/${userId}/Reservations/${reservationId}/Copy`;\r\n // const isDelegate = userId != DataContextService.LoggedInUserId && isConciergeAllocation;\r\n\r\n // return this.dataContextService.patchData(url, copyBulkBooking, true, true).pipe(map((res) => {\r\n // if (res.status == 200) {\r\n // const id = res.data.id;\r\n // const revision = res.data.revision;\r\n // const response: IdWithRevision = { id, revision };\r\n // return response;\r\n // } else {\r\n // if (res.status == 428) {\r\n // const spaceNames = [];\r\n // if (res.data.spaces) {\r\n // if (res.data.message) {\r\n // res.data.message = res.data.message.replace('.', '');\r\n // }\r\n // res.data.spaces.forEach(element => {\r\n // spaceNames.push(element.spaceName);\r\n // });\r\n // res.data.message = res.data.message + ': ' + spaceNames.toString();\r\n // }\r\n // }\r\n // return this.toasterService.openError(\r\n // res.data ? res.data.message : res.statusText || this.dataContextService.translateText('Translation.Error')\r\n // );\r\n // }\r\n // }));\r\n //}\r\n\r\n\r\n copyBooking(userId: number, reservationId: number, data: BulkInput) {\r\n const url = `Users/${userId}/Reservations/${reservationId}/Copy`;\r\n return this.dataContextService.patchData(url, data, true)\r\n .pipe(map((res) => {\r\n if (res.status == 200) {\r\n return res.data;\r\n } else {\r\n return this.toasterService.openError(\r\n res.data ? res.data.message : res.statusText || this.dataContextService.translateText('Translation.Error')\r\n );\r\n }\r\n }));\r\n }\r\n\r\n\r\n moveBooking(userId: number, reservationId: number, data: BulkInput) {\r\n const url = `Users/${userId}/Reservations/${reservationId}/Move`;\r\n return this.dataContextService.patchData(url, data, true).pipe(map((res) => {\r\n if (res.status == 200) {\r\n return res.data;\r\n } else {\r\n return this.toasterService.openError(\r\n res.data ? res.data.message : res.statusText || this.dataContextService.translateText('Translation.Error')\r\n );\r\n }\r\n }));\r\n }\r\n\r\n\r\n createReservation(id: number, data: any, flags?: string): Observable {\r\n let url = `Users/${id}/Reservations`;\r\n if (flags) {\r\n url += `?reservationFeatureFlags=${flags}`;\r\n }\r\n return this.dataContextService.postData(url, data, true, false, true).pipe(\r\n map(res => {\r\n if (res.status === 200) {\r\n return res.data as CreateReservationResponse;\r\n } else {\r\n throw throwError(res);\r\n }\r\n })\r\n );\r\n }\r\n\r\n editReservation(reservationId: number, editReservationInput: EditReservationDetails, flags: string): Observable {\r\n const url = `Reservations/${reservationId}?reservationFeatureFlags=${flags}`;\r\n return this.dataContextService.putData(url, editReservationInput, true).pipe(map((res: any) => {\r\n if (res.status === 200) {\r\n const reservationDetails = res.data as ReservationDetails;\r\n this.reservationDetails.next(reservationDetails);\r\n return res;\r\n } else {\r\n this.toasterService.openError(\r\n res.data ? res.data.message : res.statusText || this.dataContextService.translateText('Translation.Error')\r\n );\r\n throw throwError(res);\r\n }\r\n }));\r\n }\r\n\r\n addSpaceBooking(reservationId: number, spaceBookingInput: SpaceBookingInput) {\r\n const url = `Reservations/${reservationId}/SpaceBookings`;\r\n return this.dataContextService.postData(url, spaceBookingInput, true, true).pipe(map(res => {\r\n this.spinnerService.stop();\r\n if (res.status == 200) {\r\n return res.data as BookingDetails;\r\n } else {\r\n this.dataContextService.showErrorToaster(res);\r\n return null;\r\n }\r\n }));\r\n }\r\n\r\n checkForDisableEndLTR(reservationDetails: ReservationDetails): boolean {\r\n if (reservationDetails.owner.isActive == false)\r\n return true;\r\n else if (this.dataContextService.checkCancelledStatus(reservationDetails.status))\r\n return true;\r\n else if (reservationDetails.stopSeriesDate && new Date(reservationDetails.stopSeriesDate) < new Date())\r\n return true;\r\n else\r\n return false;\r\n }\r\n}\r\n","import { SortOrder } from './common.enums';\r\n\r\nexport interface SpecialistSearchCriteria {\r\n specialistIds: number[];\r\n notAssigned: boolean;\r\n}\r\n\r\nexport interface PointOfContactSearchCriteria {\r\n pointOfContactIds: number[];\r\n notAssigned: boolean;\r\n}\r\n\r\nexport interface DashboardSorting {\r\n property: string;\r\n order: SortOrder;\r\n}\r\n\r\nexport interface User {\r\n id: number;\r\n firstName: string;\r\n lastName: string;\r\n userName?: string;\r\n email: string;\r\n title: string;\r\n phoneNumbers?: PhoneNumber[];\r\n isActive?: boolean;\r\n employeeLevel?: string;\r\n}\r\n\r\nexport interface PhoneNumber {\r\n type: string;\r\n number: string;\r\n}\r\n\r\nexport enum DashboardFeature {\r\n Undefined ='Undefined',\r\n IncludeTotalCount ='IncludeTotalCount',\r\n IncludeFacets = 'IncludeFacets',\r\n None='None',\r\n IncludeItemCount ='IncludeItemCount',\r\n ShowUpcomingEvents = 'ShowUpcomingEvents'\r\n}\r\n\r\nexport enum StatusColor {\r\n Yellow = 'yellow',\r\n Green = 'green',\r\n Grey = 'grey',\r\n Red = 'red'\r\n}\r\n\r\nexport class FloorsCriteria {\r\n constructor() {\r\n this.floorUniqueKeys = [];\r\n }\r\n any: boolean;\r\n floorUniqueKeys: number[];\r\n}\r\n\r\nexport class BuildingsCriteria {\r\n constructor() {\r\n this.floorsCriteria = new FloorsCriteria();\r\n }\r\n buildingId: number;\r\n floorsCriteria: FloorsCriteria\r\n}\r\n\r\nexport class LocationFilterData {\r\n constructor() {\r\n this.buildingsCriteria = [];\r\n this.buildingIds = [];\r\n this.floorIds = [];\r\n }\r\n buildingIds: number[];\r\n floorIds: number[];\r\n buildingsCriteria: BuildingsCriteria[];\r\n public static selectedBuildingsAndFloors: any[];\r\n}\r\n","export enum Controls {\r\n Name = 'name',\r\n Country = 'country',\r\n Building = 'building',\r\n Floors = 'floors',\r\n FindASpaceTab = 'findASpaceTab',\r\n MeetingsTab = 'meetingsTab',\r\n BookingsTab = 'bookingsTab',\r\n ServiceOrdersTab = 'serviceOrdersTab',\r\n CalendarTab = 'calendarTab',\r\n IsActive = 'isActive',\r\n IsFavourite = 'isFavourite',\r\n}\r\nexport enum FindASpaceTabControls {\r\n SpaceFeatures = 'spaceFeatures',\r\n Category = 'category',\r\n Type = 'type',\r\n Capacity = 'capacity',\r\n}\r\nexport enum MeetingsTabControls {\r\n DashboardRequestType = 'dashboardRequestType',\r\n DashboardStatus = 'dashboardStatus',\r\n DashboardMeetingType = 'dashboardMeetingType',\r\n MeetingRequestType = 'meetingRequestType',\r\n MeetingStatus = 'meetingStatus',\r\n VirtualMeetingStatus = 'virtualMeetingStatus',\r\n UnfulfilledSpaceType = 'unfulfilledSpaceType',\r\n}\r\nexport enum BookingsTabControls {\r\n ServiceOrders = 'serviceOrders',\r\n SpaceType = 'spaceType',\r\n MeetingType = 'meetingType',\r\n DashboardStatus = 'dashboardStatus',\r\n WaitListStatus = 'waitListStatus',\r\n}\r\nexport enum ServiceOrdersTabControls {\r\n Type = 'type',\r\n ServiceOrder = 'serviceOrder',\r\n Status = 'status',\r\n VirtualServiceOrders = 'virtualServiceOrders',\r\n VirtualStatus = 'virtualStatus',\r\n InOfficeIncludeDelete = 'inOfficeIncludeDelete',\r\n VirtualIncludeDelete = 'virtualIncludeDelete',\r\n}\r\nexport enum CalendarTabControls {\r\n RoomType = 'roomType',\r\n Capacity = 'capacity',\r\n SpaceFeatures = 'spaceFeatures',\r\n}\r\n\r\nexport enum ServiceOrderStatus {\r\n None = 'None',\r\n Requested = 'Requested',\r\n Ordered = 'Ordered',\r\n Received = 'Received',\r\n Delivered = 'Delivered',\r\n Completed = 'Completed',\r\n Pending = 'Pending',\r\n Review = 'Review',\r\n}\r\n\r\nexport enum ServiceOrderCategory {\r\n Catering = 'catering',\r\n TaskType = 'TaskType',\r\n}\r\n\r\nexport interface ReservationStatus {\r\n DisplayOrder: number;\r\n EMSStatusID: number;\r\n Value: string;\r\n IsActiveStatus: boolean;\r\n}\r\n\r\nexport interface PreferencesControlsConfig {\r\n findASpaceTab?: Partial<{ [key in FindASpaceTabControls] }>;\r\n calendarTab?: Partial<{ [key in CalendarTabControls] }>;\r\n meetingsTab?: Partial<{ [key in MeetingsTabControls] }>;\r\n bookingsTab?: Partial<{ [key in BookingsTabControls] }>;\r\n serviceOrdersTab?: Partial<{ [key in ServiceOrdersTabControls] }>;\r\n}\r\n\r\nexport interface PreferenceBody {\r\n id?: string;\r\n isFavourite: boolean;\r\n isActive: boolean;\r\n name: string;\r\n // countries: string;\r\n buildings: string;\r\n floors: string;\r\n recordsPerPage: string;\r\n assignedToMe: boolean;\r\n revision?: number;\r\n tabFields: { tabFieldId: number; value: string }[];\r\n}\r\n\r\nexport interface PreferenceDetails {\r\n id: string;\r\n isFavourite: boolean;\r\n isActive: boolean;\r\n name: string;\r\n // countries: string;\r\n buildings: string;\r\n floors: string;\r\n recordsPerPage: number;\r\n assignedToMe: boolean;\r\n viewDetails: ViewDetail[];\r\n revision: number;\r\n allViews: AllViewItem[];\r\n}\r\n\r\nexport interface ViewDetail {\r\n tabFieldId: number;\r\n value: string;\r\n}\r\n\r\nexport interface AllViewItem {\r\n id: string;\r\n name: string;\r\n isActive: boolean;\r\n isFavourite: boolean;\r\n isNew?: boolean;\r\n}\r\n\r\nexport enum MeetingDashboardStatus {\r\n Tentative = 'Tentative',\r\n Pipeline = 'Pipeline',\r\n Definite = 'Definite',\r\n Cancelled = 'Cancelled',\r\n DidNotMaterialize = 'Did Not Materialize',\r\n NewRequest = 'New Request',\r\n}\r\n\r\nexport class PreferencesViewData {\r\n constructor(\r\n public viewId: string = '',\r\n public viewName: string = '',\r\n public isFavourite: boolean = false,\r\n public isActive: boolean = true,\r\n // public country: SelectOption[] = [],\r\n public building: SelectOption[] = [],\r\n public floors: SelectOption[] = [],\r\n public assignedToMe: boolean = true,\r\n public recordsPerPage: number = RECORDS_PER_PAGE,\r\n public revision: number = 0,\r\n public findASpaceTab: PreferencesFindASpaceData = new PreferencesFindASpaceData(),\r\n public calendarTab: PreferencesCalendarData = new PreferencesCalendarData(),\r\n public meetingsTab: PreferencesMeetingsData = new PreferencesMeetingsData(),\r\n public bookingsTab: PreferencesBookingsData = new PreferencesBookingsData(),\r\n public serviceOrdersTab: PreferencesServiceOrdersData = new PreferencesServiceOrdersData(),\r\n public allViews: AllViewItem[] = []\r\n ) {}\r\n}\r\n\r\nexport class PreferencesFindASpaceData {\r\n constructor(public spaceFeatures: SelectOption[] = [], public capacity: number = CAPACITY_VALUE, public type = '') {}\r\n}\r\n\r\nexport class PreferencesCalendarData {\r\n constructor(public roomType: SelectOption[] = ALL_SELECTED,public spaceFeatures: SelectOption[] = [], public capacity: number = CAPACITY_VALUE) {}\r\n}\r\n\r\nexport class PreferencesMeetingsData {\r\n constructor(\r\n public dashboardRequestType: SelectOption[] = ALL_SELECTED,\r\n public dashboardMeetingType: SelectOption[] = ALL_SELECTED,\r\n public dashboardStatus: SelectOption[] = MEETING_DASHBOARD_STATUS,\r\n public inOfficeRequestType: SelectOption[] = ALL_SELECTED,\r\n public inOfficeStatus: SelectOption[] = MEETING_REQUESTED_TYPE,\r\n public virtualMeetingRequestStatus: SelectOption[] = MEETING_REQUESTED_TYPE,\r\n // public waitlistStatus: SelectOption[] = ALL_SELECTED,\r\n public unfulfilledTeamRequestsSpaceType: SelectOption[] = ALL_SELECTED\r\n ) {}\r\n}\r\nexport class PreferencesBookingsData {\r\n constructor(\r\n public serviceOrders: SelectOption[] = ALL_SELECTED,\r\n public spaceType: SelectOption[] = ALL_SELECTED,\r\n public meetingType: SelectOption[] = ALL_SELECTED,\r\n public status: SelectOption[] = BOOKING_RESERVATION_STATUS,\r\n public waitListStatus: SelectOption[] = WAITLIST_STATUS\r\n ) {}\r\n}\r\n\r\nexport class PreferencesServiceOrdersData {\r\n constructor(\r\n public inOfficeType: SelectOption[] = ALL_SELECTED,\r\n public inOfficeServiceOrders: SelectOption[] = ALL_SELECTED,\r\n public inOfficeStatus: SelectOption[] = SERVICE_ORDER_STATUS,\r\n public virtualServiceOrders: SelectOption[] = ALL_SELECTED,\r\n public virtualStatus: SelectOption[] = SERVICE_ORDER_VIRTUAL_STATUS,\r\n public inOfficeIncludeDelete: boolean = false,\r\n public virtualIncludeDelete: boolean = false\r\n ) {}\r\n}\r\n\r\nexport interface PreferencesViews {\r\n viewId: string;\r\n viewName: string;\r\n isActive: boolean;\r\n isFavourite: boolean;\r\n buildingDetails: PreferencesViewBuilding;\r\n}\r\n\r\nexport interface PreferencesViewBuilding {\r\n buildingId: number;\r\n buildingName: string;\r\n}\r\n\r\nexport interface PreferencesFindASpaceTab {\r\n spaceFeatures: number[];\r\n capacity: number;\r\n category: number;\r\n type: number;\r\n amenities: number[];\r\n otherSpaces: number[];\r\n}\r\n\r\nexport interface PreferencesCalendarTab {\r\n roomType: number;\r\n capacity: number;\r\n}\r\n\r\nexport interface PreferencesRequestsTab {\r\n inOfficeRequestType: number;\r\n inOfficeStatus: number[];\r\n virtualMeetingRequestStatus: number[];\r\n waitlistStatus: number[];\r\n unfulfilledTeamRequestsSpaceType: number;\r\n}\r\n\r\nexport interface PreferencesAllBookingsTab {\r\n team: number;\r\n serviceOrders: number[];\r\n type: number[];\r\n meetingType: number[];\r\n status: number[];\r\n}\r\n\r\nexport interface PreferencesServiceOrderTab {\r\n inOfficeType: number[];\r\n inOfficeServiceOrders: number[];\r\n inOfficeStatus: number[];\r\n virtualTypeOfTechnology: number[];\r\n virtualServiceOrders: number[];\r\n virtualStatus: number[];\r\n}\r\n\r\nexport interface SelectOption {\r\n name: string;\r\n value: any;\r\n all?: boolean;\r\n disabled?: boolean;\r\n groupText?: string;\r\n items?: Omit[];\r\n icon?: string;\r\n}\r\n\r\nexport interface Country {\r\n id: number;\r\n name: string;\r\n code: number;\r\n}\r\n\r\nexport const MASTER_VIEW_ID = '1';\r\nexport const ALL_SELECTED = [{ value: 'All', name: 'All', all: true }];\r\nexport const MEETING_DASHBOARD_STATUS = [\r\n\r\n { value: MeetingDashboardStatus.NewRequest, name: '' },\r\n { value: MeetingDashboardStatus.Definite, name: '' },\r\n];\r\nexport const BOOKING_RESERVATION_STATUS = [\r\n {\r\n value: 'AwaitingCheckIn',\r\n name: '',\r\n },\r\n {\r\n value: 'CheckedIn',\r\n name: '',\r\n },\r\n {\r\n value: 'Reserved',\r\n name: '',\r\n },\r\n {\r\n value: 'PendingApproval',\r\n name: '',\r\n },\r\n];\r\nexport const WAITLIST_STATUS = [{ value: 'Active', name: '' }];\r\nexport const CAPACITY_VALUE = 1;\r\nexport const FIND_A_SPACE_CATEGORY = 'Individual';\r\n\r\nexport const SERVICE_ORDER_STATUS = [{ value: ServiceOrderStatus.Requested, name: '' }];\r\nexport const SERVICE_ORDER_VIRTUAL_STATUS = [{ value: ServiceOrderStatus.Requested, name: '' }];\r\nexport const RECORDS_PER_PAGE = 40;\r\nexport const MEETING_REQUESTED_TYPE = [{ name: '', value: ServiceOrderStatus.Requested }];\r\n","export enum BookingRoutes {\r\n bookings = 'bookings',\r\n dashboard = 'dashboard',\r\n waitlist = 'waitlist',\r\n tasks = 'tasks',\r\n tab = 'tab',\r\n details = 'details',\r\n list ='list',\r\n info = 'info',\r\n edit= 'edit'\r\n}\r\nexport enum BookingTabsRoute {\r\n Details = 'details',\r\n Overview = 'overview',\r\n Catering = 'request',\r\n Documents = 'documents',\r\n Comments = 'comments',\r\n Expenses = 'expenses',\r\n AuditTrail = 'audit-trail',\r\n AddExpense = 'add-expense',\r\n EditExpense = 'edit-expense',\r\n AddDocuments = 'add-documents',\r\n Attendees = 'attendees',\r\n Tasks = 'tasks',\r\n AddCatering='add',\r\n EditCatering = 'edit',\r\n EditBooking = 'edit-booking',\r\n EditTask = 'editTask',\r\n AddTask = 'addTask',\r\n Virtual = 'virtual',\r\n MeetingRequest = 'meetingRequest',\r\n Booking='booking',\r\n CopyBooking = 'copybooking',\r\n MeetingDetails='meetingDetails',\r\n EditOverview = 'edit-overview',\r\n MeetingRequestCatering='catering',\r\n OverviewEmail = 'overview-email',\r\n ChangeSpace = 'change-space',\r\n releaseBookings = 'release-bookings'\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ClickOutsideDirective } from './click-outside.directive';\r\n\r\n@NgModule({\r\n declarations: [ClickOutsideDirective],\r\n imports: [CommonModule],\r\n exports: [ClickOutsideDirective],\r\n})\r\nexport class ClickOutsideModule {}\r\n","import * as Models from '../../models';\r\n\r\nexport const COUNTRIES: Models.MD.Country[] = [\r\n { id: 229, name: 'United States', code: 229 },\r\n { id: 95, name: 'India', code: 95 },\r\n { id: 135, name: 'Mexico', code: 135 },\r\n { id: 43, name: 'Chile', code: 43 },\r\n { id: 38, name: 'Canada', code: 38 },\r\n \r\n];\r\n","import { Component, OnInit,Input,Output,EventEmitter } from '@angular/core';\r\nimport { User} from 'src/app/models/dashboard-common.model';\r\n\r\n@Component({\r\n selector: 'app-specialist-details',\r\n templateUrl: './specialist-details.component.html',\r\n styleUrls: ['./specialist-details.component.less']\r\n})\r\nexport class SpecialistDetailsComponent implements OnInit {\r\n @Input() user:User;\r\n @Output() update: EventEmitter = new EventEmitter();\r\n pocImageBroken: boolean = false;\r\n shortTitle:string;\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n ngOnChanges() {\r\n }\r\n getInitials(user: User): string {\r\n \r\n return `${user.firstName ? user.firstName.charAt(0) : ''}${user.lastName ? user.lastName.charAt(0) : ''}`;\r\n }\r\n imageBroken(value: boolean) {\r\n this.pocImageBroken = value;\r\n }\r\n \r\n \r\n delete(){\r\n this.update.emit(true);\r\n }\r\n}\r\n","
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n

{{user?.firstName}} {{user?.lastName}}

\r\n

{{user?.email}}

\r\n

{{user?.title}}

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
","import { Injectable } from '@angular/core';\r\n\r\n/** Provides default configuration values for timepicker */\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TimepickerConfig {\r\n /** hours change step */\r\n hourStep = 1;\r\n /** minutes change step */\r\n minuteStep = 5;\r\n /** seconds changes step */\r\n secondsStep = 10;\r\n /** if true works in 12H mode and displays AM/PM. If false works in 24H mode and hides AM/PM */\r\n showMeridian = true;\r\n /** meridian labels based on locale */\r\n meridians = ['AM', 'PM'];\r\n /** if true hours and minutes fields will be readonly */\r\n readonlyInput = false;\r\n /** if true hours and minutes fields will be disabled */\r\n isDisabled = false;\r\n /** if true emptyTime is not marked as invalid */\r\n allowEmptyTime = false;\r\n /** if true scroll inside hours and minutes inputs will change time */\r\n mousewheel = true;\r\n /** if true the values of hours and minutes can be changed using the up/down arrow keys on the keyboard */\r\n arrowkeys = true;\r\n /** if true spinner arrows above and below the inputs will be shown */\r\n showSpinners = true;\r\n /** show seconds in timepicker */\r\n showSeconds = false;\r\n /** show minutes in timepicker */\r\n showMinutes = true;\r\n /** minimum time user can select */\r\n minDate?: Date;\r\n /** maximum time user can select */\r\n maxDate?: Date;\r\n /** placeholder for hours field in timepicker */\r\n hoursPlaceholder = 'HH';\r\n /** placeholder for minutes field in timepicker */\r\n minutesPlaceholder = 'MM';\r\n /** placeholder for seconds field in timepicker */\r\n secondsPlaceholder = 'SS';\r\n /** hours aria label */\r\n ariaLabelHours = 'hours';\r\n /** minutes aria label */\r\n ariaLabelMinutes = 'minutes';\r\n /** seconds aria label */\r\n ariaLabelSeconds = 'seconds';\r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { BaseComponent } from '../../base-component/base-component';\r\nimport { MENU_ITEMS, ISideMenuItem } from './side-menu';\r\nimport { filter, takeUntil } from 'rxjs/operators';\r\nimport { UserDetail } from '../../../models/users.model';\r\nimport { DataContextService } from '../../../services/datacontext.service';\r\nimport { PreferencesCurrentViewService } from '../../../services/preferences/preferences-current-view';\r\n\r\n@Component({\r\n selector: 'app-side-menu',\r\n templateUrl: './side-menu.component.html',\r\n styleUrls: ['./side-menu.component.less'],\r\n})\r\nexport class SideMenuComponent extends BaseComponent implements OnInit {\r\n isExpanded = false;\r\n menuItems = MENU_ITEMS;\r\n userDetails: UserDetail;\r\n isActiveView: boolean = true;\r\n constructor(private router: Router, private preferenceCurrentViewService: PreferencesCurrentViewService) {\r\n super();\r\n this.userDetails = DataContextService.UserData;\r\n this.preferenceCurrentViewService.currentView$.subscribe((res) => {\r\n this.isActiveView = res.building.length ? true : false;\r\n })\r\n }\r\n\r\n ngOnInit(): void {\r\n this.router.events\r\n .pipe(\r\n filter((e): e is NavigationEnd => e instanceof NavigationEnd),\r\n takeUntil(this.destroy$)\r\n )\r\n .subscribe((e: NavigationEnd) => {\r\n this.routerChangeHandler(e.urlAfterRedirects);\r\n this.collapse();\r\n }); \r\n }\r\n\r\n expand(): void {\r\n this.isExpanded = true;\r\n this.expandActiveMenuItem();\r\n }\r\n\r\n collapse(): void {\r\n this.isExpanded = false;\r\n this.closeAllMenuItem();\r\n }\r\n\r\n menuItemExpandedHandler(item: ISideMenuItem): void {\r\n this.expand();\r\n item.expanded = true;\r\n }\r\n\r\n private routerChangeHandler(url: string): void {\r\n this.menuItems = this.menuItems.map((item) => {\r\n item.active = this.isActiveRoute(item.route);\r\n\r\n if (item.children) {\r\n item.children = item.children.map((child) => {\r\n child.active = item.active ? this.isActiveRoute(child.route) : false;\r\n return child;\r\n });\r\n }\r\n\r\n return item;\r\n });\r\n }\r\n\r\n private closeAllMenuItem(): void {\r\n this.menuItems = this.menuItems.map((item) => {\r\n item.expanded = false;\r\n return item;\r\n });\r\n }\r\n\r\n private expandActiveMenuItem(): void {\r\n this.menuItems = this.menuItems.map((item) => {\r\n item.expanded = item.active;\r\n return item;\r\n });\r\n }\r\n\r\n private isActiveRoute(route: string): boolean {\r\n return this.router.isActive(route, false);\r\n }\r\n}\r\n","
\r\n \r\n
\r\n \"Logo\"\r\n

MERGE

\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { DataContextService } from 'src/app/services/datacontext.service';\r\nimport { ToasterService, ToasterType } from './toaster.service';\r\n\r\n@Component({\r\n selector: 'app-toaster',\r\n templateUrl: './toaster.component.html',\r\n styleUrls: ['./toaster.component.less']\r\n})\r\nexport class ToasterComponent implements OnInit {\r\n\r\n constructor(private toasterService: ToasterService, private dataContextService: DataContextService) { }\r\n showToaster: boolean = false;\r\n message: string;\r\n backgroundColor: string;\r\n toasterStayTime: number;\r\n\r\n ngOnInit(): void {\r\n this.dataContextService.masterDadaLoaded$.subscribe(res => {\r\n if(res) {\r\n this.toasterStayTime = DataContextService.Configurations.find(item => item.name == 'ToasterStayTimeMilliSec') ? Number(DataContextService.Configurations.find((item) => item.name == 'ToasterStayTimeMilliSec').value) : null;\r\n }\r\n });\r\n \r\n this.toasterService.status$.subscribe(res => {\r\n if(res) {\r\n this.showToaster = true;\r\n this.message = res.message;\r\n if(res.type == ToasterType.success) {\r\n this.backgroundColor = '#29890d';\r\n }\r\n else {\r\n this.backgroundColor = '#DA291C'\r\n }\r\n setTimeout(() => {\r\n this.close();\r\n }, this.toasterStayTime);\r\n }\r\n })\r\n }\r\n\r\n close() {\r\n this.showToaster = false;\r\n this.toasterService.closeToaster();\r\n }\r\n}\r\n","
\r\n
\r\n

{{ message | translate }}

\r\n \r\n
\r\n
\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { OwnerSearchComponent } from './owner-search.component';\r\nimport { TagsModule } from '../tags/tags.module';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { TooltipModule } from '../tooltip/tooltip.module';\r\nimport { SearchModule } from '../search/search.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [OwnerSearchComponent],\r\n imports: [\r\n CommonModule, \r\n TagsModule,\r\n FormsModule,\r\n TooltipModule,\r\n TranslateModule,\r\n SearchModule\r\n ],\r\n exports: [OwnerSearchComponent]\r\n})\r\nexport class OwnerSearchModule { }\r\n","import { RoutesConfig } from 'src/app/configs/routes.config';\r\nimport { MeetingsRoutes } from 'src/app/pages/meetings/models/routes';\r\nimport { BookingRoutes } from '../../../models/bookings.model';\r\n\r\nexport interface ISideMenuItem {\r\n name: string;\r\n active: boolean;\r\n route: string;\r\n iconClass?: string;\r\n expanded?: boolean;\r\n children?: Omit[];\r\n}\r\n\r\nexport const MENU_ITEMS: ISideMenuItem[] = [\r\n {\r\n name: 'Translation.Fas',\r\n route: `/${RoutesConfig.pages.findSpace}`,\r\n active: false,\r\n iconClass: 'icon-fas-24',\r\n },\r\n {\r\n name: 'Translation.Calendar',\r\n route: `/${RoutesConfig.pages.calendar}`,\r\n active: false,\r\n iconClass: 'icon-calendar-default-24',\r\n },\r\n {\r\n name: 'Translation.Meetings',\r\n route: RoutesConfig.pages.meetings,\r\n active: false,\r\n iconClass: 'icon-meeting-24',\r\n children: [\r\n {\r\n name: 'Translation.Meetingsdashboard',\r\n route: `/${RoutesConfig.pages.meetings}/${MeetingsRoutes.dashboard}`,\r\n active: false,\r\n },\r\n // Phase - 1 Hiding option for unfulfilled dashboard\r\n {\r\n name: 'Translation.Meeting_request',\r\n route: `/${RoutesConfig.pages.meetings}/${MeetingsRoutes.requests}/${MeetingsRoutes.dashboard}`,\r\n active: false,\r\n },\r\n // {\r\n // name: 'Translation.Unfulfilledteam',\r\n // route: `/${RoutesConfig.pages.meetings}/${MeetingsRoutes.unfulfilledRequests}`,\r\n // active: false,\r\n // },\r\n ],\r\n },\r\n {\r\n name: 'Translation.Bookings',\r\n route: `/${RoutesConfig.pages.bookings}`,\r\n active: false,\r\n iconClass: 'icon-booking-24',\r\n children: [\r\n {\r\n name: 'Translation.Allbookings',\r\n route: `/${RoutesConfig.pages.bookings}/allBookings/${BookingRoutes.dashboard}`,\r\n active: false,\r\n },\r\n {\r\n name: 'Translation.Waitlist',\r\n route: `/${RoutesConfig.pages.bookings}/${BookingRoutes.waitlist}`,\r\n active: false,\r\n },\r\n ]\r\n },\r\n {\r\n name: 'Translation.Serviceorders',\r\n route: `/${RoutesConfig.pages.serviceOrders}`,\r\n active: false,\r\n iconClass: 'icon-request-24',\r\n }\r\n];\r\n","/* tslint:disable */\r\nimport { Component, EventEmitter, Input, OnInit, Output } from \"@angular/core\";\r\nimport { DataContextService } from \"src/app/services/datacontext.service\";\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\n\r\n@Component({\r\n selector: \"app-avatar\",\r\n templateUrl: \"./avatar-image.component.html\",\r\n styleUrls: [\"./avatar-image.component.less\"]\r\n})\r\nexport class AvatarComponent implements OnInit {\r\n @Input() email: string;\r\n @Input() userInitials: string;\r\n\r\n @Output() imageBroken: EventEmitter = new EventEmitter();\r\n @Output() isExternal: EventEmitter = new EventEmitter();\r\n avatarImage: any;\r\n isimageBroken = false;\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges() {\r\n if (this.email && this.email.length > 0) {\r\n //this.callDPNUserprofile(this.email);\r\n } else {\r\n this.isExternal.emit({ isimageBroken: false, isExternal: true });\r\n }\r\n }\r\n\r\n constructor(private _http: HttpClient, private dataContextService: DataContextService) {\r\n }\r\n\r\n callDPNUserprofile(email: string) {\r\n this.avatarImage = null;\r\n const graphApiExpiry = localStorage.getItem(\"msal.graphApiTokenExpiry\");\r\n\r\n let avatarurl: string = \"\";\r\n if (email.toLowerCase().endsWith(\"_test\")) {\r\n email = email.toLowerCase().split(\"_test\")[0];\r\n }\r\n avatarurl = \"https://graph.microsoft.com/v1.0/users/\" + email + \"/photo/$value\";\r\n\r\n let myHeader = new HttpHeaders();\r\n myHeader = myHeader.append(\"Content-Type\", \"text/plain\");\r\n myHeader = myHeader.append(\"Content-Transfer-Encoding\", \"base64\");\r\n\r\n const currenttime = Math.floor(new Date().getTime() / 1000);\r\n\r\n if (currenttime >= Number(graphApiExpiry)) {\r\n //this.getGraphToken().then(() => {\r\n // myHeader = myHeader.append(\"Authorization\", \"Bearer \" + localStorage.getItem(\"msal.graphApiAccessToken\"));\r\n // this._http\r\n // .get(avatarurl, {\r\n // headers: myHeader,\r\n // responseType: \"arraybuffer\"\r\n // })\r\n // .subscribe(\r\n // (res) => {\r\n // this.avatarImage = this.extracturl(res);\r\n // },\r\n // (err) => {\r\n // this.erroDPNUserprofile(err);\r\n // }\r\n // );\r\n //});\r\n } else {\r\n myHeader = myHeader.append(\"Authorization\", \"Bearer \" + localStorage.getItem(\"msal.graphApiAccessToken\"));\r\n this._http\r\n .get(avatarurl, {\r\n headers: myHeader,\r\n responseType: \"arraybuffer\"\r\n })\r\n .subscribe(\r\n (res) => {\r\n this.avatarImage = this.extracturl(res);\r\n },\r\n (err) => {\r\n this.erroDPNUserprofile(err);\r\n }\r\n );\r\n }\r\n }\r\n\r\n erroDPNUserprofile(err: any) {\r\n this.imageBroken.emit(true);\r\n this.isExternal.emit({ isimageBroken: true, isExternal: false });\r\n if ((err.StatusCode = 401)) {\r\n // this._authTokenService.getGraphToken();\r\n }\r\n }\r\n\r\n extracturl(data: any) {\r\n return \"data:image/png;base64,\" + this.dataContextService.arrayBufferToBase64(data);\r\n }\r\n\r\n // getGraphToken(): Promise {\r\n // const graphApiReq = {\r\n // scopes: [\"user.read\"]\r\n // };\r\n // return this.msalService.acquireTokenSilent(graphApiReq).toPromise().then((graphToken) => {\r\n // localStorage.setItem(\"msal.graphApiAccessToken\", graphToken.accessToken);\r\n // })\r\n // .catch(_ => {\r\n // });\r\n // }\r\n}\r\n","\"User\r\n\r\n
\r\n {{ userInitials }}\r\n
\r\n
\r\n","import { Injectable } from '@angular/core';\r\nimport * as moment from 'moment';\r\nimport { forkJoin, Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { BookingsDashboardInput, Detail, WaitListDashboardRequest, WaitlistItem } from '../../../../models/bookings.model';\r\nimport { SortOrder } from '../../../../models/common.enums';\r\nimport { DashboardFeature } from '../../../../models/dashboard-common.model';\r\nimport { InOfficeDashboardRequest, MeetingWaitlist, VirtualBookings, VirtualDashboardRequest } from '../../../../models/meetings.model';\r\nimport { BookingDashboardSorting } from '../../../../pages/bookings/all-bookings/components/bookings-dashboard/bookings.model';\r\nimport { BookingsService } from '../../../../services/APIs/Bookings/bookings.service';\r\nimport { MeetingsService } from '../../../../services/APIs/Meetings/meetings.service';\r\nimport { UserSettingsService } from '../../../../services/user-settings.service';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GlobalSearchService {\r\n\r\n constructor(private bookingService: BookingsService, private meetingService: MeetingsService, private userSettingService: UserSettingsService,) { }\r\n\r\n getGlobalSearchData(term: string): Observable {\r\n const input ={\r\n startDate : moment(new Date().setHours(0, 0, 0)).subtract(30, 'days').format('YYYY-MM-DDTHH:mm:ss'),\r\n endDate :moment(new Date('2099-12-31T23:59:00')).format('YYYY-MM-DDTHH:mm:ss'),\r\n term :term,\r\n limit: this.userSettingService.appSettings.GlobalSearchLimit,\r\n };\r\n return forkJoin({\r\n bookings: this.bookingService.getBookingsDashboardData(this.createBookingDashboardInput(input), false).pipe(\r\n map(res=>res.items as Detail[])\r\n ),\r\n //Phase 1 - commenting virtual dashboard call in global search\r\n meetingRequests: this.meetingService.getInOfficeDashboardData(this.createInOfficeInput(input), false).pipe(\r\n map(res => res.items as MeetingWaitlist[])\r\n ),\r\n // virtualRequests: this.meetingService.getVirtualDashboardData(this.createVirtualRequestInput(input), false).pipe(\r\n // map(res => res.items as VirtualBookings[])\r\n // ),\r\n waitlists: this.bookingService.getWaitListDashboardData(this.createWaitlistInput(input), false).pipe(\r\n map(res => res.items as WaitlistItem[])\r\n )\r\n })\r\n }\r\n\r\n private createBookingDashboardInput(obj): BookingsDashboardInput {\r\n const input: BookingsDashboardInput = { \r\n ...obj,\r\n bookingDashboardSortings: [{\r\n property: BookingDashboardSorting.StartDate.toString(),\r\n order: SortOrder.Desc\r\n }],\r\n features: DashboardFeature.IncludeTotalCount\r\n }\r\n return input;\r\n }\r\n\r\n private createInOfficeInput(obj): InOfficeDashboardRequest {\r\n const input: InOfficeDashboardRequest = {\r\n ...obj,\r\n meetingWaitListSorting: [{\r\n meetingWaitListSortingType:1 ,\r\n orderType: SortOrder.Desc\r\n }] \r\n }\r\n return input;\r\n }\r\n\r\n private createVirtualRequestInput(obj): VirtualDashboardRequest {\r\n const input: VirtualDashboardRequest = {\r\n ...obj,\r\n virtualBookingDashboardSortings: [{\r\n property: 'StartDate',\r\n order: SortOrder.Desc\r\n }]\r\n }\r\n return input;\r\n }\r\n private createWaitlistInput(obj): WaitListDashboardRequest {\r\n const input: WaitListDashboardRequest = {\r\n StartDate: obj.startDate,\r\n EndDate: obj.endDate,\r\n Term: obj.term,\r\n Limit: obj.limit,\r\n }\r\n return input;\r\n\r\n }\r\n}\r\n\r\nexport interface GlobalSearchResponse {\r\n bookings?: Detail[];\r\n meetingRequests?: MeetingWaitlist[];\r\n virtualRequests?: VirtualBookings[];\r\n waitlists?: WaitlistItem[];\r\n}\r\n","export enum MeetingsRoutes {\r\n meeting = 'meeting',\r\n dashboard = 'dashboard',\r\n list = 'list',\r\n bookings = 'bookings',\r\n catering = 'catering',\r\n tasks = 'tasks',\r\n auditTrail = 'auditTrail',\r\n tab = 'tab',\r\n details = 'details',\r\n info = 'info',\r\n requests = 'requests',\r\n unfulfilledRequests = 'unfulfilledRequests',\r\n documents = 'documents',\r\n comments = 'comments',\r\n recommendations = 'recommendations',\r\n changeSpace = 'change-space',\r\n addTask='addTask',\r\n editTask='editTask',\r\n addCatering='addCatering',\r\n editCatering='editCatering',\r\n edit='edit',\r\n addDocuments = 'add-documents',\r\n copyBooking='copy'\r\n}\r\n","export interface TextareaOptions {\r\n label?: string;\r\n placeholder?: string;\r\n minHeight?: number;\r\n isRequired?: boolean;\r\n isError?: boolean;\r\n errorMessage?: string;\r\n isDisabled?: boolean;\r\n};\r\n\r\n\r\nexport enum ErrorState {\r\n default = \"default\",\r\n focusOut = \"focusOut\"\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","/* tslint:disable */\r\nimport { Component } from '@angular/core';\r\nimport { DataContextService } from '../../services/datacontext.service';\r\nimport { SpinnerService } from './spinner.service';\r\n\r\n@Component({\r\n selector: 'spinner',\r\n templateUrl: './spinner.component.html',\r\n styleUrls:['./spinner.component.less']\r\n})\r\nexport class SpinnerComponent {\r\n active: boolean;\r\n\r\n constructor(\r\n spinner: SpinnerService,\r\n private dataContextService: DataContextService\r\n ) {\r\n spinner.status.subscribe((status: boolean) => {\r\n this.active = status;\r\n });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { ClickOutsideModule } from '../../directives/click-outside/click-outside.module';\r\nimport { EllipsisTooltipModule } from '../../directives/ellipsis-tooltip/ellipsis-tooltip.module';\r\nimport { SelectComponent } from './select.component';\r\nimport { SelectItemComponent } from './select-item/select-item.component';\r\nimport { StatusModule } from '../status/status.module';\r\nimport { CheckboxModule } from '../checkbox/checkbox.module';\r\nimport { HighlightModule } from '../../common/highlight/highlight.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [SelectComponent, SelectItemComponent],\r\n imports: [\r\n CommonModule,FormsModule, ClickOutsideModule, EllipsisTooltipModule,StatusModule,CheckboxModule,HighlightModule\r\n ],\r\n exports:[SelectComponent,SelectItemComponent]\r\n})\r\nexport class SelectModule { }\r\n","import {\r\n Component,\r\n ChangeDetectionStrategy,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n OnInit,\r\n OnChanges,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport { NumberedPagination } from './interfaces';\r\nimport { RulerFactoryOption } from './enums';\r\nimport {\r\n MIN_NUMBER_IN_SECTION,\r\n START_PAGE,\r\n MIN_PAGE_LENGTH,\r\n} from './constants';\r\n\r\n@Component({\r\n selector: 'numbered-pagination',\r\n templateUrl: './numbered-pagination.component.html',\r\n styleUrls: ['./numbered-pagination.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class NumberedPaginationComponent implements OnInit, OnChanges {\r\n @Input() pageLength: number = MIN_PAGE_LENGTH;\r\n @Input() value: number = START_PAGE;\r\n @Input() pageNumberInSection: number = MIN_NUMBER_IN_SECTION;\r\n @Input() isGoToFirstPageEnabled: boolean = false;\r\n @Input() isGoToLastPageEnabled: boolean = false;\r\n\r\n @Output() pageChanged: EventEmitter = new EventEmitter();\r\n\r\n public partStatus: boolean;\r\n public lastSection: boolean;\r\n public currentValue = START_PAGE;\r\n public partArray: number[] = [];\r\n public firstSection = true;\r\n\r\n constructor() { }\r\n\r\n public ngOnInit(): void {\r\n this.changePaginationState();\r\n }\r\n\r\n public ngOnChanges(changes: SimpleChanges): void {\r\n this.changePaginationState();\r\n if (changes.value) {\r\n this.navigateToPage(Number(this.value))\r\n }\r\n if (changes.pageNumberInSection) {\r\n this.pageNumberInSection = Number(this.pageNumberInSection);\r\n }\r\n }\r\n\r\n get pagination(): NumberedPagination {\r\n const { value, pageLength, pageNumberInSection } = this;\r\n const pages = ruler(value, pageLength, pageNumberInSection);\r\n return { value, pageLength, pages } as NumberedPagination;\r\n }\r\n\r\n navigateToPage(pageNumber: number): void {\r\n if (allowNavigation(pageNumber, this.value, this.pageLength)) {\r\n this.findCurrentSection(pageNumber);\r\n pageNumber = this.validatePageNumber(pageNumber);\r\n this.value = pageNumber;\r\n this.pageChanged.emit(this.value);\r\n }\r\n }\r\n\r\n trackByFn(value: number): number {\r\n return value;\r\n }\r\n\r\n private findCurrentSection(selectedPage: number, change?: boolean): void {\r\n selectedPage = this.validatePageNumber(selectedPage);\r\n const currentArr = [];\r\n const sectionMaxValue = Math.ceil(selectedPage / this.pageNumberInSection) * this.pageNumberInSection;\r\n [this.firstSection, this.lastSection] = [false, false];\r\n for (let i = sectionMaxValue - this.pageNumberInSection + 1; i < sectionMaxValue + 1; i++) {\r\n if (i <= this.pageLength) {\r\n currentArr.push(i);\r\n }\r\n if (sectionMaxValue >= this.pageLength) {\r\n this.lastSection = true;\r\n } else if (i <= 1) {\r\n this.firstSection = true;\r\n }\r\n }\r\n this.partArray = currentArr;\r\n if (!change) {\r\n this.value = Number(selectedPage);\r\n }\r\n }\r\n\r\n private validatePageNumber(value: number): number {\r\n if (value < MIN_PAGE_LENGTH) {\r\n value = MIN_PAGE_LENGTH;\r\n }\r\n if (value > this.pageLength) {\r\n value = this.pageLength;\r\n }\r\n return value;\r\n }\r\n\r\n private validateNumbeInSection(numberInSection: number, pageLength: number): number {\r\n const calcMaxnumberInSection = this.pageLength - MIN_NUMBER_IN_SECTION;\r\n const checkMinnumberInSection = this.pageLength > MIN_NUMBER_IN_SECTION * MIN_NUMBER_IN_SECTION;\r\n let validnumberInSection = numberInSection;\r\n this.partStatus = checkMinnumberInSection;\r\n if (numberInSection < MIN_NUMBER_IN_SECTION) {\r\n validnumberInSection = MIN_NUMBER_IN_SECTION;\r\n }\r\n if (numberInSection > Number(pageLength)) {\r\n validnumberInSection = pageLength;\r\n }\r\n if (numberInSection > calcMaxnumberInSection) {\r\n validnumberInSection = calcMaxnumberInSection;\r\n }\r\n if (!checkMinnumberInSection) {\r\n validnumberInSection = this.pageLength;\r\n }\r\n return validnumberInSection;\r\n }\r\n\r\n private changePaginationState(): void {\r\n if (!this.pageLength) {\r\n this.pageLength = MIN_PAGE_LENGTH;\r\n } else {\r\n this.pageLength = Number(this.pageLength);\r\n }\r\n this.pageNumberInSection = this.validateNumbeInSection(this.pageNumberInSection, this.pageLength);\r\n // generate page section\r\n this.partArray = Array.from({ length: this.pageNumberInSection }, (v, k) => k + 1);\r\n this.findCurrentSection(+this.value);\r\n }\r\n}\r\n\r\nconst ruler = (\r\n currentvalue: number,\r\n maxPages: number,\r\n pageNumberInSection: number\r\n): number[] => {\r\n const array = new Array(pageNumberInSection).fill(null);\r\n const min = Math.floor(pageNumberInSection / 2);\r\n return array.map((_, value) =>\r\n rulerFactory(currentvalue, value, min, maxPages, pageNumberInSection)\r\n );\r\n};\r\n\r\nconst rulerOption = (\r\n currentvalue: number,\r\n min: number,\r\n maxPages: number\r\n): RulerFactoryOption => {\r\n return currentvalue <= min\r\n ? RulerFactoryOption.Start\r\n : currentvalue >= maxPages - min\r\n ? RulerFactoryOption.End\r\n : RulerFactoryOption.Default;\r\n};\r\n\r\nconst rulerFactory = (\r\n currentvalue: number,\r\n value: number,\r\n min: number,\r\n maxPages: number,\r\n pageNumberInSection: number\r\n): number => {\r\n const factory = {\r\n [RulerFactoryOption.Start]: () => value + 1,\r\n [RulerFactoryOption.End]: () => maxPages - pageNumberInSection + value + 1,\r\n [RulerFactoryOption.Default]: () => currentvalue + value - min,\r\n };\r\n return factory[rulerOption(currentvalue, min, maxPages)]();\r\n};\r\n\r\nconst allowNavigation = (\r\n pageNumber: number,\r\n value: number,\r\n maxPages: number\r\n): boolean => {\r\n return pageNumber !== value && pageNumber > 0 && pageNumber <= maxPages;\r\n};\r\n","
    \r\n
  1. {{'Translation.First' | translate}}
  2. \r\n
  3. {{'Translation.Previous' | translate}}
  4. \r\n \r\n
  5. 1
  6. \r\n
  7. ...
  8. \r\n
    \r\n \r\n {{ page }}\r\n \r\n \r\n
  9. ...
  10. \r\n
  11. {{pageLength}}
  12. \r\n
    \r\n
  13. {{'Translation.Next' | translate}}
  14. \r\n
  15. {{'Translation.Last' | translate}}
  16. \r\n
\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SearchComponent } from './search.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { TooltipModule } from '../tooltip/tooltip.module';\r\nimport { HighlightModule } from '../../common/highlight/highlight.module';\r\nimport { ClickOutsideModule } from '../../directives/click-outside/click-outside.module';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\n@NgModule({\r\n declarations: [SearchComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n TooltipModule,\r\n HighlightModule,\r\n ReactiveFormsModule,\r\n ClickOutsideModule,\r\n TranslateModule\r\n ],\r\n exports: [\r\n SearchComponent\r\n ]\r\n})\r\nexport class SearchModule { }\r\n","import { Time, TimepickerComponentState } from \"../models/timepicker.models\";\r\n\r\nconst dex = 10;\r\nconst hoursPerDay = 24;\r\nconst hoursPerDayHalf = 12;\r\nconst minutesPerHour = 60;\r\nconst secondsPerMinute = 60;\r\n\r\nexport function isValidDate(value?: string | Date): boolean {\r\n if (!value) {\r\n return false;\r\n }\r\n\r\n if (value instanceof Date && isNaN(value.getHours())) {\r\n return false;\r\n }\r\n\r\n if (typeof value === 'string') {\r\n return isValidDate(new Date(value));\r\n }\r\n\r\n return true;\r\n}\r\n\r\nexport function isValidLimit(controls: TimepickerComponentState, newDate: Date): boolean {\r\n if (controls.minDate && newDate < controls.minDate) {\r\n return false;\r\n }\r\n\r\n if (controls.maxDate && newDate > controls.maxDate) {\r\n return false;\r\n }\r\n\r\n return true;\r\n}\r\n\r\nexport function toNumber(value?: string | number): number {\r\n if (typeof value === 'undefined') {\r\n return NaN;\r\n }\r\n\r\n if (typeof value === 'number') {\r\n return value;\r\n }\r\n\r\n return parseInt(value, dex);\r\n}\r\n\r\nexport function isNumber(value: string | number): value is number {\r\n return !isNaN(toNumber(value));\r\n}\r\n\r\nexport function parseHours(\r\n value?: string | number,\r\n isPM = false\r\n): number {\r\n const hour = toNumber(value);\r\n if (\r\n isNaN(hour) ||\r\n hour < 0 ||\r\n hour > (isPM ? hoursPerDayHalf : hoursPerDay)\r\n ) {\r\n return NaN;\r\n }\r\n\r\n return hour;\r\n}\r\n\r\nexport function parseMinutes(value?: string | number): number {\r\n const minute = toNumber(value);\r\n if (isNaN(minute) || minute < 0 || minute > minutesPerHour) {\r\n return NaN;\r\n }\r\n\r\n return minute;\r\n}\r\n\r\nexport function parseSeconds(value?: string | number): number {\r\n const seconds = toNumber(value);\r\n if (isNaN(seconds) || seconds < 0 || seconds > secondsPerMinute) {\r\n return NaN;\r\n }\r\n\r\n return seconds;\r\n}\r\n\r\nexport function parseTime(value?: string | Date): Date | undefined {\r\n if (typeof value === 'string') {\r\n return new Date(value);\r\n }\r\n\r\n return value;\r\n}\r\n\r\nexport function changeTime(value?: Date, diff?: Time): Date {\r\n if (!value) {\r\n return changeTime(createDate(new Date(), 0, 0, 0), diff);\r\n }\r\n\r\n if (!diff) {\r\n return value;\r\n }\r\n\r\n let hour = value.getHours();\r\n let minutes = value.getMinutes();\r\n let seconds = value.getSeconds();\r\n\r\n if (diff.hour) {\r\n hour = hour + toNumber(diff.hour);\r\n }\r\n\r\n if (diff.minute) {\r\n minutes = minutes + toNumber(diff.minute);\r\n }\r\n\r\n if (diff.seconds) {\r\n seconds = seconds + toNumber(diff.seconds);\r\n }\r\n\r\n return createDate(value, hour, minutes, seconds);\r\n}\r\n\r\nexport function setTime(value: Date | undefined, opts: Time): Date | undefined {\r\n let hour = parseHours(opts.hour);\r\n const minute = parseMinutes(opts.minute);\r\n const seconds = parseSeconds(opts.seconds) || 0;\r\n\r\n if (opts.isPM && hour !== 12) {\r\n hour += hoursPerDayHalf;\r\n }\r\n\r\n if (!value) {\r\n if (!isNaN(hour) && !isNaN(minute)) {\r\n return createDate(new Date(), hour, minute, seconds);\r\n }\r\n\r\n return value;\r\n }\r\n\r\n if (isNaN(hour) || isNaN(minute)) {\r\n return value;\r\n }\r\n\r\n return createDate(value, hour, minute, seconds);\r\n}\r\n\r\nexport function createDate(\r\n value: Date,\r\n hours: number,\r\n minutes: number,\r\n seconds: number\r\n): Date {\r\n const newValue = new Date(\r\n value.getFullYear(),\r\n value.getMonth(),\r\n value.getDate(),\r\n hours,\r\n minutes,\r\n seconds,\r\n value.getMilliseconds()\r\n );\r\n // #3139 ensure date part remains unchanged\r\n newValue.setFullYear(value.getFullYear());\r\n newValue.setMonth(value.getMonth());\r\n newValue.setDate(value.getDate());\r\n\r\n return newValue;\r\n}\r\n\r\nexport function padNumber(value: number): string {\r\n const _value = value.toString();\r\n if (_value.length > 1) {\r\n return _value;\r\n }\r\n\r\n return `0${_value}`;\r\n}\r\n\r\nexport function isHourInputValid(hours: string, isPM: boolean): boolean {\r\n return !isNaN(parseHours(hours, isPM));\r\n}\r\n\r\nexport function isMinuteInputValid(minutes: string): boolean {\r\n return !isNaN(parseMinutes(minutes));\r\n}\r\n\r\nexport function isSecondInputValid(seconds: string): boolean {\r\n return !isNaN(parseSeconds(seconds));\r\n}\r\n\r\nexport function isInputLimitValid(diff: Time, maxDate?: Date, minDate?: Date): boolean {\r\n const newDate = setTime(new Date(), diff);\r\n\r\n if (!newDate) {\r\n return false;\r\n }\r\n\r\n if (maxDate && newDate > maxDate) {\r\n return false;\r\n }\r\n\r\n if (minDate && newDate < minDate) {\r\n return false;\r\n }\r\n\r\n return true;\r\n}\r\n\r\nexport function isOneOfDatesEmpty(hours: string, minutes: string, seconds: string): boolean {\r\n return hours.length === 0 || minutes.length === 0 || seconds.length === 0;\r\n}\r\n\r\nexport function isInputValid(\r\n hours: string,\r\n minutes = '0',\r\n seconds = '0',\r\n isPM: boolean\r\n): boolean {\r\n return isHourInputValid(hours, isPM)\r\n && isMinuteInputValid(minutes)\r\n && isSecondInputValid(seconds);\r\n}\r\n","import {\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n Component,\r\n ContentChildren,\r\n forwardRef, Input,\r\n QueryList,\r\n Output,\r\n EventEmitter\r\n} from '@angular/core';\r\nimport { TabComponent } from './tab/tab.component';\r\nimport { CounterStyle, Style } from 'src/app/models/common.enums';\r\n\r\n@Component({\r\n selector: 'app-tabs',\r\n templateUrl: './tabs.component.html',\r\n styleUrls: ['./tabs.component.less']\r\n})\r\nexport class TabsComponent implements AfterViewInit {\r\n @ContentChildren(forwardRef(() => TabComponent)) tabs: QueryList;\r\n\r\n @Input() activeTabId: string | number;\r\n @Input() tabStyle: string = Style.default;\r\n @Input() counterStyle: string = CounterStyle.default;\r\n @Input() hasContent: boolean = true;\r\n \r\n @Output() tabChanged = new EventEmitter();\r\n\r\n readonly counterStyleEnum = CounterStyle;\r\n readonly tabStyleEnum = Style;\r\n\r\n constructor(private cdRef: ChangeDetectorRef) { }\r\n\r\n ngAfterViewInit() {\r\n if (!this.tabs.some(i => i.active)) {\r\n this.selectTab(this.tabs.first.id);\r\n this.cdRef.detectChanges();\r\n }\r\n }\r\n\r\n selectTab(id: string | number) {\r\n this.activeTabId = id;\r\n this.tabs.forEach(i => {\r\n i.active = i.id === id;\r\n });\r\n this.tabChanged.emit(id)\r\n }\r\n\r\n}\r\n","
\r\n \r\n \r\n \r\n {{ tab.heading }}\r\n\r\n \r\n \r\n 0 || tab?.showCountAlways\" class=\"tabs__item_counter\">{{ tab.counter }}\r\n \r\n\r\n \r\n \r\n
\r\n 0 || tab?.showCountAlways\">{{ tab?.counter }}\r\n
0 && tab?.errorCounter > 0\">
\r\n 0\">{{ tab?.errorCounter }}\r\n
\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 ,Output,EventEmitter,Input} from '@angular/core';\r\nimport { Themes, WidthState } from '@usitsdasdesign/dds-ng/shared';\r\nimport { CountryIds } from 'src/app/models/common.enums';\r\nimport { DataContextService } from 'src/app/services/datacontext.service';\r\nimport { PreferencesCurrentViewService } from 'src/app/services/preferences/preferences-current-view';\r\nimport {ButtonKind, ButtonOptions } from '../button/button.component';\r\n\r\n@Component({\r\n selector: 'app-inoffice-virtual-toggle',\r\n templateUrl: './inoffice-virtual-toggle.component.html',\r\n styleUrls: ['./inoffice-virtual-toggle.component.less']\r\n})\r\nexport class InofficeVirtualToggleComponent implements OnInit {\r\n @Output() toggleInOffice:EventEmitter=new EventEmitter();\r\n @Input() isInOfficeSelected:boolean = true;\r\n IsCAMemberFirm:boolean=false;\r\n buttonOption: ButtonOptions = {\r\n kind: ButtonKind.primaryLoud,\r\n icon: 'icon-in-office-24'\r\n }\r\n buttonOptionVirtual: ButtonOptions = {\r\n kind: ButtonKind.primary,\r\n icon: 'icon-virtual-16'\r\n }\r\n\r\n constructor(private prefService:PreferencesCurrentViewService, private dataContextService:DataContextService) { \r\n //Phase1 - MF related changes for virtual options\r\n // this.dataContextService.masterDadaLoaded$.subscribe((value)=>{\r\n // if(value){\r\n // this.prefService.currentView$.subscribe((res)=>{\r\n // this.checkCAMemberFirm(res.country)\r\n // })\r\n // }\r\n // })\r\n }\r\n //Phase1 - MF related changes for virtual options\r\n// checkCAMemberFirm(countries) {\r\n// this.IsCAMemberFirm = false\r\n// countries.forEach(country => {\r\n// if (country.value == CountryIds.Canada || country.value == CountryIds.Chile) {\r\n// this.isInOfficeSelected = true;\r\n// this.IsCAMemberFirm = true;\r\n// this.buttonOptionVirtual.kind= ButtonKind.primary;\r\n// this.buttonOption.kind= ButtonKind.primaryLoud;\r\n// }\r\n// })\r\n// }\r\n\r\n ngOnInit(): void {\r\n this.switchInOffice(this.isInOfficeSelected);\r\n }\r\n\r\n switchInOffice(flag: boolean) {\r\n if (this.isInOfficeSelected != flag) {\r\n this.isInOfficeSelected = flag;\r\n this.toggleInOffice.emit(flag);\r\n }\r\n if(!this.isInOfficeSelected){\r\n this.buttonOptionVirtual.kind= ButtonKind.primaryLoud\r\n this.buttonOption.kind= ButtonKind.primary\r\n }\r\n else{\r\n this.buttonOptionVirtual.kind= ButtonKind.primary\r\n this.buttonOption.kind= ButtonKind.primaryLoud\r\n }\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 { Injectable } from '@angular/core';\r\nimport { Action, Time, TimeChangeEvent, TimepickerComponentState } from '../models/timepicker.models';\r\n\r\n@Injectable({ providedIn: 'platform' })\r\nexport class TimepickerActions {\r\n static readonly WRITE_VALUE = '[timepicker] write value from ng model';\r\n static readonly CHANGE_HOURS = '[timepicker] change hours';\r\n static readonly CHANGE_MINUTES = '[timepicker] change minutes';\r\n static readonly CHANGE_SECONDS = '[timepicker] change seconds';\r\n static readonly SET_TIME_UNIT = '[timepicker] set time unit';\r\n static readonly UPDATE_CONTROLS = '[timepicker] update controls';\r\n\r\n writeValue(value?: Date | string) {\r\n return {\r\n type: TimepickerActions.WRITE_VALUE,\r\n payload: value\r\n };\r\n }\r\n\r\n changeHours(event: TimeChangeEvent) {\r\n return {\r\n type: TimepickerActions.CHANGE_HOURS,\r\n payload: event\r\n };\r\n }\r\n\r\n changeMinutes(event: TimeChangeEvent) {\r\n return {\r\n type: TimepickerActions.CHANGE_MINUTES,\r\n payload: event\r\n };\r\n }\r\n\r\n changeSeconds(event: TimeChangeEvent): Action {\r\n return {\r\n type: TimepickerActions.CHANGE_SECONDS,\r\n payload: event\r\n };\r\n }\r\n\r\n setTime(value: Time): Action {\r\n return {\r\n type: TimepickerActions.SET_TIME_UNIT,\r\n payload: value\r\n };\r\n }\r\n\r\n updateControls(value: TimepickerComponentState): Action {\r\n return {\r\n type: TimepickerActions.UPDATE_CONTROLS,\r\n payload: value\r\n };\r\n }\r\n}\r\n","export interface TimeZone {\r\n id: string;\r\n timeZoneStandardName: string;\r\n abbreviation: string;\r\n displayName: string;\r\n highlighted: boolean;\r\n gmtDescription: string;\r\n offset: string;\r\n}\r\nexport interface VirtualBookingAdditionalDetail {\r\n category:Item;\r\n virtualBookingAdditionalDetails: VirtualOption[]\r\n }\r\nexport interface VirtualOption extends ItemWithDescription{\r\n technologies: string[];\r\n}\r\nexport interface Item {\r\n id: number;\r\n name: string;\r\n}\r\nexport enum AdditionalDetailscategory {\r\n SetUpRequirements = 1,\r\n collaborativeFeatures = 2,\r\n dayOfSupport = 3,\r\n breakoutRooms = 4\r\n}\r\nexport interface TaskType extends ItemWithDescription {\r\n shortDescription: string;\r\n}\r\nexport interface ItemWithDescription {\r\n id: number;\r\n description: string;\r\n}\r\nexport interface ServiceOrderType extends ItemWithDescription {\r\n shortDescription: string;\r\n serviceOrderTypeId: number;\r\n serviceOrderCategory: string;\r\n}\r\n\r\nexport enum ServiceOrderCategories {\r\n catering = 'catering',\r\n task = 'TaskType',\r\n}\r\n\r\nexport interface Neighborhood extends Item {\r\n buildingIds: number[];\r\n}\r\nexport interface Status extends ItemWithDisplayName{\r\n isActiveStatus: boolean;\r\n}\r\nexport interface SpaceType extends Item{\r\n type: string;\r\n}\r\nexport interface SpaceFeature extends Item {\r\n iconKey?: string;\r\n isHighlighted?: boolean;\r\n iconClass: string;\r\n selected?: boolean;\r\n width?: number;\r\n amount?: number\r\n}\r\nexport interface EventType extends ItemWithDescription {\r\n readonly: boolean;\r\n displayOrder: number;\r\n}\r\nexport interface SpaceSetupType extends ItemWithDescription {\r\n displayOrder: number;\r\n iconClass?: string;\r\n}\r\nexport interface Configuration {\r\n name: string;\r\n value: string;\r\n}\r\nexport interface ViewTab extends Item{\r\n tabFields: Item[];\r\n subTabs: SubTab[];\r\n}\r\nexport interface SubTab {\r\n name: string;\r\n tabFields: Array;\r\n includeDelete: boolean;\r\n}\r\nexport interface ItemWithDisplayName extends Item{\r\n displayName: string;\r\n}\r\nexport interface AttachmentFileExtension extends ItemWithDescription {\r\n fileType: string;\r\n extension: string;\r\n isDeleted: boolean;\r\n}\r\nexport interface AttachmentFileType {\r\n attachmentTypeId: number;\r\n attachmentType: string;\r\n lastChangeUtc: string;\r\n}\r\nexport interface StatusReasons extends Reason {\r\n statusReasons: Reason[];\r\n}\r\nexport interface Reason {\r\n id: number;\r\n name: string;\r\n isActive: boolean;\r\n lastChangeUtc: string;\r\n description: string;\r\n}\r\nexport interface Amenity extends Item{\r\n iconLinks: IconLinks;\r\n}\r\nexport interface IconLinks {\r\n bigFilled: string;\r\n bigLine: string;\r\n smallLine: string;\r\n}\r\nexport interface JobTitle extends Item{\r\n isActive: boolean;\r\n sortOrder: number;\r\n isDefault: boolean;\r\n}\r\nexport interface Building extends Item{\r\n displayName: string;\r\n addressShort: string;\r\n city: string;\r\n stateShort: string;\r\n country: string;\r\n zip: string;\r\n region: string;\r\n contactEmail: string;\r\n contactPhone: string;\r\n contactName: string;\r\n managementPhone: string;\r\n securityPhone: string;\r\n latitude: number;\r\n longitude: number;\r\n walkUpItems: {\r\n additionalProp1: AdditionalProp;\r\n additionalProp2: AdditionalProp;\r\n additionalProp3: AdditionalProp;\r\n };\r\n evacuationAssemblyPoint: string[];\r\n parkingInfo: string[];\r\n floors: Floor[];\r\n workingDates: [{date: string; isWorking: boolean;}];\r\n buildingAccess: string[];\r\n timeZoneOffSet: number;\r\n timeZoneShortName: string;\r\n timeZoneStandardName: string;\r\n timeZoneIanaName: string;\r\n cateringRequestAvailable: boolean;\r\n wayfindingAvailable: boolean;\r\n parkingAvailable: boolean;\r\n waitListRequestAvailable: boolean;\r\n meetingWaitListRequestAvailable: boolean;\r\n cafeteriaAvailable: boolean;\r\n foodOptions: string[];\r\n transitInfo: string[];\r\n specialAnnouncements: string[];\r\n visitorSpecialAnnouncements: string[];\r\n visitorParkingInfo: string[];\r\n visitorBuildingAccess: string[];\r\n enabledInDGuest: boolean;\r\n memberFirm: MemberFirm;\r\n}\r\nexport interface AdditionalProp {\r\n title: string;\r\n hours: string;\r\n email: string;\r\n phoneNumber: string;\r\n services: string[];\r\n}\r\nexport interface Floor {\r\n uniqueKey: number;\r\n name: string;\r\n mapUrl: string;\r\n description: string;\r\n favorite?: boolean;\r\n amenities: FloorAmenity[];\r\n}\r\nexport interface FloorAmenity {\r\n id: number;\r\n name: string;\r\n description: string;\r\n iconSize: number;\r\n center: {\r\n x: number;\r\n y: number;\r\n };\r\n iconLinks?: IconLinks;\r\n}\r\nexport interface MemberFirm {\r\n id: number;\r\n name: string;\r\n code: string\r\n}\r\n\r\nexport interface Space {\r\n id: number,\r\n name: string,\r\n buildingId:\tnumber,\r\n buildingDisplayName: string,\r\n floorUniqueKey:\tnumber,\r\n floorName: string,\r\n spaceType: SpaceType,\r\n centerCoordinates: {\r\n x: number,\r\n y: number,\r\n pointSize: number\r\n },\r\n sizeCoordinates: {\r\n top: number,\r\n left: number,\r\n width: number,\r\n height: number\r\n },\r\n capacity:\tnumber,\r\n}\r\n\r\nexport interface TechnologyType {\r\n DisplayName: string,\r\n ActualName: string,\r\n}\r\n\r\nexport interface IdWithRevision {\r\n id: number;\r\n revision: number;\r\n}\r\nexport interface StatusReason extends Item{\r\n comment: string;\r\n}\r\nexport interface ItemForSubType {\r\n Id: number;\r\n Name: string;\r\n}\r\n\r\nexport interface ItemWithDisplayNameForSubType extends ItemForSubType {\r\n DisplayName: string;\r\n}\r\nexport interface Technology {\r\n DisplayName: string;\r\n ActualName: string;\r\n}\r\nexport interface CateringOrder{\r\n Id: number;\r\n Name: string;\r\n DisplayName: string;\r\n}\r\n\r\n\r\n\r\n//Enums\r\nexport enum BuildingFeatureFlagsEnum {\r\n Undefined,\r\n IncludeFloorAmenities,\r\n IncludeFloorInformation,\r\n IncludeWorkingDates,\r\n}\r\nexport enum SpaceTypeCategory {\r\n Individual = 0,\r\n Meeting = 1\r\n}\r\n\r\nexport enum SpaceCategory {\r\n Individual = 'Individual',\r\n Meeting = 'Meeting'\r\n}\r\n \r\nexport const SPACE_CATEGORY_BY_TYPE = {\r\n MeetingRoom: SpaceTypeCategory.Meeting,\r\n Workstation: SpaceTypeCategory.Individual,\r\n PrivateSpace: SpaceTypeCategory.Individual,\r\n OpenSeating: SpaceTypeCategory.Meeting\r\n};\r\n\r\nexport const SPACE_CATEGORY_BY_NAME = {\r\n 'Meeting Room': SpaceTypeCategory.Meeting,\r\n Workstation: SpaceTypeCategory.Individual,\r\n 'Private Space': SpaceTypeCategory.Individual,\r\n 'Open Seating': SpaceTypeCategory.Meeting\r\n};\r\nexport class Facility {\r\n Facilityid: number;\r\n OfficeName: string;\r\n TZOffSet: number;\r\n TZIanaName: string;\r\n TZStandardName: string;\r\n TZShortName: string;\r\n EnableWaitListRequest: boolean;\r\n EnableCateringRequest: boolean;\r\n EnableDGuest: boolean;\r\n ContactEmail: string;\r\n Floors: Array;\r\n EnableMeetingRequest: boolean;\r\n Country: string;\r\n MemberFirm: MemberFirm;\r\n};\r\nexport interface Country {\r\n id: number;\r\n name: string;\r\n code: number;\r\n}\r\nexport enum CountryName {\r\n US = 'United States',\r\n India = 'India',\r\n Mexico = 'Mexico',\r\n Chile = 'Chile',\r\n Canada='Canada' \r\n}\r\n","// Serves reservation wizard and team request\r\n\r\nimport { Injectable, Inject } from '@angular/core';\r\nimport { AvailabilityInput, AvailabilityType, CreateReservationResponse, EndAfterType, EventTime, Features, FloorBookingInput, FloorFilter, LocationItem, MatchType, OrderType, RecurrencePatternTypes, ReservationDetailsFormValue, ReservationInput, ReservationType, SpaceAvailability, SpaceAvailabilityItem, SpaceTypeCategory, SpaceView, TeamRequestBookingInput, TimeSlotType, UnfulfilledRequest, WEEK_DAYS } from 'src/app/models/find-a-space.model';\r\nimport { map, shareReplay, switchMap, tap } from 'rxjs/operators';\r\nimport { DataContextService, XUseSpaceEnum } from '../../datacontext.service';\r\nimport * as moment from 'moment-timezone';\r\nimport { BookingDetails, ConflictingSpaceBooking, ReservationVerifyType, ResolveConflictsChoise, WaitListCreationRequest } from 'src/app/models/bookings.model';\r\nimport { SPACE_FEATURES_ICON } from '../../user-settings.service';\r\nimport { BehaviorSubject, forkJoin, Observable, of } from 'rxjs';\r\nimport { AmenitiesCacheData, FloorPlan } from '../../../models/find-a-space.model';\r\nimport { TeamRequest, TeamRequestAvailability, TeamRequestAvailabilityInput, TeamRequestBase, TeamRequestDraft, TeamRequestInput } from '../../../models/find-a-space.model';\r\nimport { UserService } from '../Users/userservice';\r\nimport { UserByEmail } from '../../../models/users.model';\r\nimport { Amenity, Floor, FloorAmenity, Space, TimeZone } from '../../../models/masterdata.model';\r\nimport { BookingsService } from '../Bookings/bookings.service';\r\nimport { DateHelper } from 'src/app/shared/Helper/dateHelper';\r\nimport { SpinnerService } from 'src/app/common/spinner/spinner.service';\r\nimport { ToasterService, ToasterType } from 'src/app/common/toaster/toaster.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FindASpaceService {\r\n\r\n constructor(private dataContextService: DataContextService,\r\n private userService: UserService,\r\n private bookingsService: BookingsService,\r\n @Inject(SPACE_FEATURES_ICON) private spaceFeaturesIconMap: string,\r\n private spinnerService: SpinnerService) { }\r\n\r\n\r\n\r\n private get isCacheExpired(): boolean {\r\n if (this.amenityCacheData && !this.dataContextService.isCacheExpired(this.amenityCacheData.LastUpdated, 'AmenityExpirationTime')) {\r\n return false;\r\n }\r\n this.amenityCacheData = {\r\n Amenities: [],\r\n LastUpdated: null\r\n };\r\n return true;\r\n }\r\n amenityCacheData: AmenitiesCacheData;\r\n refreshTeamRequestDrafts: BehaviorSubject = new BehaviorSubject(false);\r\n unfulfilledTeamRequest$: BehaviorSubject = new BehaviorSubject(null);\r\n private _floorAmenities = new BehaviorSubject(null);\r\n floorAmenities$ = this._floorAmenities.asObservable();\r\n\r\n private _appliedFloorFilters = new BehaviorSubject(null);\r\n appliedFloorFilters$ = this._appliedFloorFilters.asObservable().pipe(shareReplay(1));\r\n\r\n availabilitySearchParameter: Partial;\r\n\r\n setFloorAmenities(amenities: FloorAmenity[]): void {\r\n this._floorAmenities.next(amenities);\r\n }\r\n\r\n applyFloorFilters(filters: FloorFilter): void {\r\n this._appliedFloorFilters.next(filters);\r\n }\r\n\r\n getFilters(): FloorFilter {\r\n return this._appliedFloorFilters.getValue();\r\n }\r\n\r\n\r\n getTeamRequestDrafts(): Observable {\r\n const url = `TeamRequestDrafts`;\r\n return this.dataContextService.getData(url).pipe(\r\n map(res => res.data as TeamRequestDraft[])\r\n );\r\n }\r\n createTeamRequestDraft(payload: TeamRequestBase) {\r\n const url = `TeamRequestDrafts`;\r\n return this.dataContextService.postData(url, payload).pipe(\r\n map(res => res.data)\r\n );\r\n }\r\n deleteTeamRequestDraft(teamName: string) {\r\n const url = `TeamRequestDrafts/${teamName}`;\r\n return this.dataContextService.deleteData(url).pipe(\r\n map(res => res.data)\r\n );\r\n }\r\n confirmTeamRequest(teamRequestId: string) {\r\n const url = `TeamRequestItems/${teamRequestId}/Confirm`;\r\n return this.dataContextService.patchData(url, {}).pipe(\r\n map(res => res.data)\r\n );\r\n }\r\n getTeamRequest(input: TeamRequestInput): Observable {\r\n let url = `TeamRequests?`;\r\n if (input.term) {\r\n url += `Term=${input.term}&`;\r\n }\r\n if (input.teamName) {\r\n url += `TeamName=${input.teamName}&`;\r\n }\r\n if (input.buildingIds && input.buildingIds.length) {\r\n input.buildingIds.forEach((id) => {\r\n url += `BuildingIds=${id}&`;\r\n });\r\n }\r\n if (input.reservationId) {\r\n url += `ReservationId=${input.reservationId}&`;\r\n }\r\n return this.dataContextService.getData(url, false).pipe(\r\n map(res => res.data as TeamRequest[])\r\n );\r\n }\r\n createTeamRequest(payload: TeamRequestBase) {\r\n const url = `TeamRequests/Publish`;\r\n return this.dataContextService.postData(url, payload).pipe(\r\n map(res => res.data)\r\n );\r\n }\r\n getTeamRequestAvailability(payload: TeamRequestAvailabilityInput): Observable {\r\n const url = `TeamSpaces/Availability`;\r\n return this.dataContextService.postData(url, payload).pipe(\r\n map(res => res.data && res.data.floors as TeamRequestAvailability[])\r\n );\r\n }\r\n\r\n // create paylod for RW availability call\r\n availableSpacesRW(userId: number, reservationCard: ReservationDetailsFormValue, bookingsCard: LocationItem, mapView: boolean = false, availabiltyTypes: string[]): Observable {\r\n const isDelegate = DataContextService.UserData && DataContextService.UserData.id !== userId && reservationCard.reservationDetails.allocation == XUseSpaceEnum[XUseSpaceEnum.Delegate];\r\n const tzOffset = moment.tz(new Date(), bookingsCard.building.timeZoneIanaName).format('Z');\r\n\r\n const locationStartDate = `${moment(bookingsCard.startDate).format('YYYY-MM-DD')}T${moment(bookingsCard.startTime).format('HH:mm:00')}${tzOffset}`;\r\n const locationEndDate = `${moment(bookingsCard.endDate).format('YYYY-MM-DD')}T${moment(bookingsCard.endTime).format('HH:mm:00')}${tzOffset}`;\r\n\r\n let eventTime: EventTime;\r\n if (reservationCard.reservationDetails.searchType == ReservationType.Standard) {\r\n eventTime = {\r\n timeSlotType: TimeSlotType.SingleDay,\r\n singleDayEventData: {\r\n startDate: locationStartDate,\r\n endDate: locationEndDate,\r\n }\r\n };\r\n }\r\n\r\n else if (reservationCard.reservationDetails.searchType == ReservationType.MultiDayRecurring) {\r\n eventTime = {\r\n timeSlotType: TimeSlotType.Recurrent,\r\n recurrentEventData: {\r\n recurrenceRule: {\r\n recurrencePatternType: RecurrencePatternTypes[reservationCard.reservationDetails.recurring.repeatEvery.pattern],\r\n interval: reservationCard.reservationDetails.recurring.repeatEvery.pattern === RecurrencePatternTypes.Daily ? reservationCard.reservationDetails.recurring.repeatEvery.days : reservationCard.reservationDetails.recurring.repeatEvery.weeks,\r\n startDate: locationStartDate,\r\n endDate: locationEndDate,\r\n weeklyRecurrencePattern: reservationCard.reservationDetails.recurring.repeatEvery.pattern === RecurrencePatternTypes.Weekly ? { daysOfWeek: WEEK_DAYS.filter((_, i) => reservationCard.reservationDetails.recurring.repeatEvery.weekDays[i]).map((d) => d.fullName) } : null\r\n }\r\n }\r\n };\r\n }\r\n\r\n else {\r\n eventTime = {\r\n singleDayEventData: {\r\n isLtr: true,\r\n startDate: locationStartDate,\r\n endDate: `${moment(bookingsCard.startDate).format('YYYY-MM-DD')}T${moment(bookingsCard.endTime).format('HH:mm:00')}${tzOffset}`\r\n }\r\n };\r\n }\r\n\r\n let includeUnavailable = false;\r\n if (availabiltyTypes != null && availabiltyTypes.length > 0) {\r\n if (availabiltyTypes.find((item) => item == MatchType.Partial)) {\r\n includeUnavailable = true;\r\n }\r\n }\r\n\r\n if (bookingsCard.spaceType === 'MeetingRoom') {\r\n eventTime.spaceSetupTime = DateHelper.minutesToTimeString(bookingsCard.setup);\r\n eventTime.spaceTearDownTime = DateHelper.minutesToTimeString(bookingsCard.teardown);\r\n }\r\n\r\n let params: Partial = {\r\n buildingId: bookingsCard.building.id,\r\n attendeesCount: bookingsCard.attendees,\r\n categoryType: this.dataContextService.checkMeetingRoom(bookingsCard.spaceType) ? SpaceTypeCategory.Meeting : SpaceTypeCategory.Individual,\r\n searchText: bookingsCard.spaceName && bookingsCard.spaceName.length >= 3 ? bookingsCard.spaceName : '',\r\n orderType: OrderType.Search,\r\n features: `${Features.TimeSlots},${Features.ScopedSpaces}`,\r\n includeUnavailable,\r\n includeInaccessibleToUser: mapView,\r\n eventTime\r\n };\r\n\r\n const teamBookings: Observable = reservationCard.teamRequestId ? this.bookingsService.teamRequestBookings(params, reservationCard.teamRequestId) : of([]);\r\n let bookingsBySpaceId: { [key: string]: (BookingDetails & { isAttendee?: boolean, isOwner?: boolean, })[] } = {};\r\n\r\n return teamBookings.pipe(switchMap(res => {\r\n const teamBuildingBookings = res.filter((booking) => booking.space.buildingId == bookingsCard.building.id);\r\n if (teamBuildingBookings.length) {\r\n params = { ...params, floorUniqueKey: teamBuildingBookings[0].space.floorUniqueKey, preferredFloorUniqueKey: teamBuildingBookings[0].space.floorUniqueKey };\r\n }\r\n\r\n bookingsBySpaceId = (teamBuildingBookings || []).reduce((results, booking) => {\r\n (results[booking.space.id] = results[booking.space.id] || []).push(booking);\r\n return results;\r\n }, {});\r\n\r\n teamBuildingBookings.forEach((booking) => {\r\n if (bookingsBySpaceId[booking.space.id]) {\r\n bookingsBySpaceId[booking.space.id].push(booking);\r\n }\r\n else {\r\n bookingsBySpaceId[booking.space.id] = [booking];\r\n }\r\n });\r\n this.availabilitySearchParameter = params;\r\n return this.getSpaces(params, userId, isDelegate).pipe(map(res => {\r\n\r\n res.items.map(item => {\r\n const { space, suggestedAvailableTimeSlot } = item;\r\n\r\n item.space.category = this.dataContextService.checkMeetingRoom(space.spaceType.type) || this.dataContextService.checkOpenSeating(space.spaceType.type) ? SpaceTypeCategory.Meeting : SpaceTypeCategory.Individual;\r\n item.isBookingAvailable = item.availabilityType === AvailabilityType.Available || item.availabilityType === AvailabilityType.PartiallyAvailable;\r\n\r\n if (suggestedAvailableTimeSlot) {\r\n item.suggestedAvailableTimeSlot = {\r\n startDate: moment(moment.tz(suggestedAvailableTimeSlot.startDate, bookingsCard.timeZone.TZIanaName).format('YYYY-MM-DDTHH:mm:00')).format(),\r\n endDate: moment(moment.tz(suggestedAvailableTimeSlot.endDate, bookingsCard.timeZone.TZIanaName).format('YYYY-MM-DDTHH:mm:00')).format()\r\n };\r\n }\r\n\r\n if (space.features && space.features.length > 0) {\r\n space.features = space.features.filter(feature => feature.id !== 70).map(feature => {\r\n feature.iconClass = this.spaceFeaturesIconMap[feature.iconKey];\r\n return feature;\r\n });\r\n }\r\n\r\n if (bookingsBySpaceId && bookingsBySpaceId[space.id]) {\r\n item.teamRequest = true;\r\n item.userBookings = bookingsBySpaceId[space.id];\r\n }\r\n\r\n });\r\n return teamBuildingBookings.length > 0 ? { ...res, teamRequestFloor: teamBuildingBookings[0].space.floorUniqueKey } : res;\r\n }),\r\n // check on switch map usage\r\n switchMap((res: SpaceAvailability): Observable => {\r\n return mapView && res ? this.addFloorBookingsToResponse(res, userId, params, bookingsCard) : of(res);\r\n })\r\n );\r\n }));\r\n }\r\n getSpaces(payload: Partial, userId: number, isDelegate: boolean): Observable {\r\n const input = this.dataContextService.removeNullValuesFromObject(payload);\r\n return this.dataContextService.postData(`Users/${userId}/Spaces/InBuildingAvailability`, input, true, false, isDelegate).pipe(map((res) => {\r\n if (res.status === 200) {\r\n return res.data as SpaceAvailability;\r\n }\r\n }));\r\n }\r\n addFloorBookingsToResponse(spaceAvailability: SpaceAvailability, userId: number, params: Partial, bookingsCard: LocationItem): Observable {\r\n const input = { userId } as FloorBookingInput;\r\n\r\n if (bookingsCard.floor != -1) { // -1 is for any floor\r\n input.floorUniqueKey = bookingsCard.floor;\r\n }\r\n else {\r\n // in case of any floor selected\r\n if (spaceAvailability.items && spaceAvailability.items.length > 0) {\r\n const spaceItem = spaceAvailability.items.find(i => i.availabilityType === AvailabilityType.Available && !i.inaccessibleToUser);\r\n input.floorUniqueKey = spaceItem ? spaceItem.space.floorUniqueKey : null;\r\n }\r\n }\r\n\r\n if (input.floorUniqueKey) {\r\n if (params.eventTime.timeSlotType === TimeSlotType.Recurrent) {\r\n input.startDate = this.getDateStringForRequest(params.eventTime.recurrentEventData.recurrenceRule.startDate);\r\n input.endDate = this.getDateStringForRequest(params.eventTime.recurrentEventData.recurrenceRule.endDate, true);\r\n\r\n } else {\r\n input.startDate = this.getDateStringForRequest(params.eventTime.singleDayEventData.startDate);\r\n input.endDate = this.getDateStringForRequest(params.eventTime.singleDayEventData.endDate, true);\r\n }\r\n }\r\n return input.floorUniqueKey ? this.bookingsService.getFloorBookings(input).pipe(map(res => {\r\n const bookings = res;\r\n // need to check owner id and attendees logic\r\n if (!!bookings.length) {\r\n const bookingsBySpaceId: { [key: string]: (BookingDetails & { isAttendee: boolean, isOwner: boolean })[] } = bookings\r\n .map(booking => ({\r\n ...booking,\r\n isAttendee: booking.owner.id !== userId,\r\n isOwner: booking.owner.id === userId,\r\n }))\r\n .reduce((results, booking) => {\r\n (results[booking.space.id] = results[booking.space.id] || []).push(booking);\r\n return results;\r\n }, {});\r\n\r\n spaceAvailability.items.forEach(item => {\r\n const userBookings = bookingsBySpaceId[item.space.id] || [];\r\n item.userBookings = item.userBookings ? item.userBookings.concat(userBookings) : userBookings;\r\n delete bookingsBySpaceId[item.space.id];\r\n });\r\n\r\n const otherSpaces = Object.keys(bookingsBySpaceId)\r\n .filter(id => !!bookingsBySpaceId[id] && !!bookingsBySpaceId[id].length)\r\n .map(Id => {\r\n const {\r\n buildingDisplayName,\r\n buildingId,\r\n name,\r\n spaceType,\r\n floorName,\r\n floorUniqueKey,\r\n id,\r\n // tslint:disable-next-line:no-shadowed-variable\r\n centerCoordinates,\r\n // tslint:disable-next-line:no-shadowed-variable\r\n sizeCoordinates,\r\n capacity } = bookingsBySpaceId[Id][0].space;\r\n return {\r\n space: {\r\n buildingDisplayName,\r\n buildingId,\r\n capacity,\r\n centerCoordinates: {\r\n x: centerCoordinates.x,\r\n y: centerCoordinates.y,\r\n pointSize: centerCoordinates.pointSize,\r\n },\r\n features: [],\r\n floorName,\r\n floorUniqueKey,\r\n id,\r\n name,\r\n scopedSpaceIds: [],\r\n setupTime: '',\r\n sizeCoordinates: {\r\n height: sizeCoordinates.height,\r\n left: sizeCoordinates.left,\r\n top: sizeCoordinates.top,\r\n width: sizeCoordinates.width,\r\n },\r\n spaceType: {\r\n id: spaceType.id,\r\n type: spaceType.type,\r\n name: spaceType.name,\r\n },\r\n category: this.dataContextService.checkPrivateSpace(spaceType.type) || this.dataContextService.checkWorkstation(spaceType.type) ? SpaceTypeCategory.Individual : SpaceTypeCategory.Meeting\r\n } as Space,\r\n userBookings: bookingsBySpaceId[id],\r\n isOtherCategory: true,\r\n } as SpaceAvailabilityItem;\r\n });\r\n spaceAvailability.items = spaceAvailability.items.concat(otherSpaces);\r\n }\r\n return spaceAvailability;\r\n }\r\n )) : of(spaceAvailability);\r\n }\r\n\r\n private getDateStringForRequest(date: string, endOfDay: boolean = false): string {\r\n const newDate = new Date(DateHelper.RemoveOffsetFromDate(date));\r\n if (endOfDay) {\r\n newDate.setHours(23, 59, 0);\r\n } else {\r\n newDate.setHours(0, 0, 0);\r\n }\r\n return moment(newDate.getTime()).format('YYYY-MM-DDTHH:mm:00');\r\n }\r\n\r\n\r\n\r\n\r\n create(task: ReservationTask): Observable {\r\n return this.dataContextService.postData('Tasks/Reservations', task, true).pipe(map((res) => {\r\n this.spinnerService.stop();\r\n return res.status === 200 ? res : ''; // this.dataContextService.showErrorToaster(res);\r\n }));\r\n }\r\n\r\n createReservation(userId: number, reservationInput: ReservationInput, isConciergeAllocation: boolean = true) {\r\n const url = `Users/${userId}/Reservations`;\r\n const isDelegate = DataContextService.UserData && userId != DataContextService.UserData.id && isConciergeAllocation;\r\n if (reservationInput.conflictingSpaceBookings && reservationInput.conflictingSpaceBookings.length) {\r\n const conflictingBookings = new Map>();\r\n reservationInput.conflictingSpaceBookings.forEach((item) => {\r\n conflictingBookings.set(item.id, reservationInput.conflictingSpaceBookings.filter(booking => booking.id == item.id));\r\n });\r\n reservationInput.conflictingSpaceBookings = [];\r\n conflictingBookings.forEach((value) => {\r\n value.sort((a, b) => {\r\n if (a.releaseType == ResolveConflictsChoise.ReleaseEntire) {\r\n return -1;\r\n }\r\n else if (a.releaseType == ResolveConflictsChoise.ReleaseConflicting) {\r\n if (b.releaseType == ResolveConflictsChoise.Keep) {\r\n return -1;\r\n }\r\n else if (b.releaseType == ResolveConflictsChoise.ReleaseEntire) {\r\n return 1;\r\n }\r\n else {\r\n return 0;\r\n }\r\n }\r\n else {\r\n return 1;\r\n }\r\n });\r\n reservationInput.conflictingSpaceBookings.push(value[0]);\r\n });\r\n }\r\n\r\n return this.dataContextService.postData(url, reservationInput, true, false, isDelegate).pipe(map(res => {\r\n this.spinnerService.stop();\r\n if (res.status == 200) {\r\n const response: CreateReservationResponse = {\r\n id: res.data.id,\r\n revision: res.data.revision,\r\n upcomingBooking: res.data.upcomingBooking\r\n };\r\n return response;\r\n }\r\n else {\r\n if (res.status == 428) {\r\n const spaceNames = [];\r\n if (res.data.spaces) {\r\n if (res.data.message) {\r\n res.data.message = res.data.message.replace('.', '');\r\n }\r\n res.data.spaces.forEach(element => {\r\n spaceNames.push(element.spaceName);\r\n });\r\n res.data.message = res.data.message + ': ' + spaceNames.toString();\r\n }\r\n }\r\n return this.dataContextService.showErrorToaster(res);\r\n }\r\n }));\r\n }\r\n\r\n verify(reservationCard: ReservationDetailsFormValue, params: SpaceAvailabilityItem, bookingsCard: LocationItem) {\r\n\r\n const payload = {\r\n spaceBooking: {\r\n spaceId: params.space.id,\r\n name: params.space.name,\r\n attendeesCount: bookingsCard.attendees,\r\n eventTime: {\r\n setupTime: params.space.setupTime,\r\n tearDownTime: params.space.tearDownTime,\r\n timeSlotType: this.availabilitySearchParameter ? this.availabilitySearchParameter.eventTime.timeSlotType : TimeSlotType.SingleDay,\r\n singleDayEventData: null,\r\n recurrentEventData: null\r\n }\r\n }\r\n };\r\n\r\n if (reservationCard.reservationDetails.searchType == ReservationType.Standard) {\r\n payload.spaceBooking.eventTime.singleDayEventData = {\r\n startDate: params.suggestedAvailableTimeSlot.startDate,\r\n endDate: params.suggestedAvailableTimeSlot.endDate\r\n };\r\n }\r\n\r\n else if (reservationCard.reservationDetails.searchType == ReservationType.MultiDayRecurring) {\r\n const tzOffset = moment.tz(new Date(), bookingsCard.building.timeZoneIanaName).format('Z');\r\n payload.spaceBooking.eventTime.recurrentEventData = {\r\n recurrenceRule: {},\r\n };\r\n\r\n payload.spaceBooking.eventTime.recurrentEventData.recurrenceRule = {\r\n recurrencePatternType: RecurrencePatternTypes[reservationCard.reservationDetails.recurring.repeatEvery.pattern],\r\n interval: RecurrencePatternTypes.Daily\r\n ? reservationCard.reservationDetails.recurring.repeatEvery.days\r\n : reservationCard.reservationDetails.recurring.repeatEvery.weeks,\r\n startDate: `${moment(bookingsCard.startDate).format('YYYY-MM-DD')}T${moment(bookingsCard.startTime).format('HH:mm:00')}${tzOffset}`,\r\n };\r\n\r\n if (reservationCard.reservationDetails.recurring.endAfter.type === EndAfterType.Occurrences) {\r\n payload.spaceBooking.eventTime.recurrentEventData.recurrenceRule.endDate = `${moment(bookingsCard.endDate).format('YYYY-MM-DD')}T${moment(bookingsCard.endTime).format('HH:mm:00')}${tzOffset}`;\r\n payload.spaceBooking.eventTime.recurrentEventData.recurrenceRule.occurrences =\r\n reservationCard.reservationDetails.recurring.endAfter.occurrences;\r\n } else {\r\n payload.spaceBooking.eventTime.recurrentEventData.recurrenceRule.endDate = `${moment(\r\n reservationCard.reservationDetails.recurring.endAfter.date\r\n ).format('YYYY-MM-DD')}T${moment(bookingsCard.endTime).format('HH:mm:00')}${tzOffset}`;\r\n }\r\n\r\n if (reservationCard.reservationDetails.recurring.repeatEvery.pattern !== RecurrencePatternTypes.Daily) {\r\n payload.spaceBooking.eventTime.recurrentEventData.recurrenceRule.weeklyRecurrencePattern = {\r\n daysOfWeek: this.getRecurrenceWeeklyDaysOfWeek(reservationCard.reservationDetails.recurring.repeatEvery.weekDays),\r\n };\r\n }\r\n\r\n }\r\n\r\n return this.dataContextService.postData(`Users/${reservationCard.reservationDetails.owner[0].id}/ReservationRules/Verify`, this.dataContextService.removeNullValuesFromObject(payload)).pipe(map((res) => {\r\n return res.status === 200 ? res.data.reservationRuleResults : [];\r\n }));\r\n }\r\n\r\n getRecurrenceWeeklyDaysOfWeek(selectedDays: { [key: string]: boolean }): string[] {\r\n return WEEK_DAYS.filter((_, i) => selectedDays[i]).map((d) => d.fullName);\r\n }\r\n\r\n checkForConflicts(\r\n reservationDetails: ReservationDetailsFormValue,\r\n location: LocationItem,\r\n spaceAvailabilityItem: SpaceAvailabilityItem\r\n ) {\r\n return this.verify(reservationDetails, spaceAvailabilityItem, location).pipe(\r\n map((conflicts) => {\r\n return conflicts.filter((c) => c.type === ReservationVerifyType.MaxConcurrentIndividualBookings);\r\n })\r\n );\r\n }\r\n\r\n getFloorPlanData(buildingId: number, floorId: number) {\r\n const buildingData = DataContextService.Buildings.filter((building) => building.id === buildingId);\r\n const floor = buildingData[0].floors.find((floor) => floor.uniqueKey === floorId);\r\n const mapUrl = floor && floor.mapUrl; // getting mapUrl from Buildings masterdata\r\n const amenities = floor && floor.amenities;\r\n const uniqueAmenities = amenities.length > 0 ? Array.from(new Map(amenities.map((item) => [item.id, item])).values()) : []; // getting the unique amenities as floor can have multiple same amenities\r\n if (mapUrl) {\r\n return forkJoin({\r\n mapImage: this.dataContextService.getImage(mapUrl).pipe(\r\n map((res) => this.dataContextService.setDataToImageBody(this.dataContextService.arrayBufferToBase64(res)))\r\n ),\r\n amenities: this.getAmentiesIcons(uniqueAmenities).pipe(\r\n map(res => {\r\n const cachedData = res;\r\n return amenities.map(a => {\r\n const amenityFromRes = cachedData.find((amenity) => amenity.id == a.id);\r\n return amenityFromRes ? { ...a, iconLinks: amenityFromRes.iconLinks } : { ...a };\r\n }) as FloorAmenity[];\r\n })\r\n )\r\n }).pipe(\r\n map(res => res as FloorPlan)\r\n );\r\n }\r\n else {\r\n const floorPlan: FloorPlan = {};\r\n return of(floorPlan);\r\n }\r\n }\r\n\r\n private getAmentiesIcons(amenities: FloorAmenity[]): Observable {\r\n if (amenities.length > 0) {\r\n this.amenityCacheData = this.dataContextService.fetchFromLocalStorage('Amenities') ? JSON.parse(this.dataContextService.fetchFromLocalStorage('Amenities')) as AmenitiesCacheData : null; // fetching amenities from localStorage\r\n // looping thorugh the amenities\r\n const floorAmenities = amenities.map((a) => {\r\n const amenity = DataContextService.Amenities.find((item) => item.id === a.id); // finding the amenitiy from Master data for Icon Links\r\n if (!this.isCacheExpired) { // to check whether the last updated time is expired or not (when lastUpdated + expirationTime(stored in config.json) < currentDate)\r\n const amenityFromCache = this.amenityCacheData.Amenities.find((item) => item.id === a.id);\r\n if (amenityFromCache) {// if amenity is present in cache\r\n return of(amenityFromCache);\r\n }\r\n else { // new amenity not present in cache , we are calling API to fetch Icons\r\n return this.getAmenity(amenity, a);\r\n }\r\n }\r\n else { // if time is expired we are fetching icons for all\r\n return this.getAmenity(amenity, a);\r\n }\r\n });\r\n return forkJoin(floorAmenities);\r\n }\r\n return of([]);\r\n }\r\n\r\n private getAmenity(amenity: Amenity, floorAmenity: FloorAmenity) {\r\n return forkJoin({\r\n bigFilled: this.dataContextService.getImage(amenity.iconLinks.bigFilled, true),\r\n smallLine: this.dataContextService.getImage(amenity.iconLinks.smallLine, true )\r\n }).pipe(\r\n map((res) => {\r\n amenity = {\r\n ...amenity,\r\n iconLinks: {\r\n ...amenity.iconLinks,\r\n bigFilled: this.dataContextService.arrayBufferToBase64(res.bigFilled),\r\n smallLine: this.dataContextService.arrayBufferToBase64(res.smallLine)\r\n }\r\n };\r\n if ((this.amenityCacheData.Amenities.filter((cacheAmenity) => cacheAmenity.id === amenity.id)).length == 0) {\r\n this.amenityCacheData.Amenities.push(amenity);\r\n }\r\n this.amenityCacheData.LastUpdated = moment(new Date()).format('YYYY-MM-DDTHH:mm:00');\r\n this.dataContextService.storeInLocalStorage('Amenities', this.amenityCacheData);\r\n return amenity;\r\n }));\r\n }\r\n\r\n\r\ncreateWaitlist(waitListRequestObject: WaitListCreationRequest, OnBehalfOf) {\r\n const url = `Users/${OnBehalfOf}/WorkspaceWaitLists`;\r\n return this.dataContextService.postData(url, waitListRequestObject, true).pipe(map((res) => {\r\n if (res.status == 200) {\r\n return res;\r\n } else {\r\n this.dataContextService.showErrorToaster(res);\r\n }\r\n }));\r\n }\r\n\r\n getReservationOwners(emails: string[]): Observable {\r\n return this.userService.getUsersByEmail(emails);\r\n }\r\n mapDateToApiFormat(date: Date, tz?: TimeZone, timeZoneAbbreviation?: string) {\r\n const mDate = moment(date);\r\n if (!tz) {\r\n tz = DataContextService.TimeZones.find(tz => tz.abbreviation === timeZoneAbbreviation);\r\n }\r\n if (tz.offset.includes('-', 0)) {\r\n return `${mDate.format('YYYY-MM-DD')}T${mDate.format('HH:mm:00')}${tz.offset.slice(0, -3)}`;\r\n }\r\n else {\r\n return `${mDate.format('YYYY-MM-DD')}T${mDate.format('HH:mm:00')}${'+' + tz.offset.slice(0, -3)}`;\r\n }\r\n }\r\n}\r\n\r\n// check on usage\r\nexport class ReservationTask {\r\n constructor(\r\n public referenceId: string,\r\n public referenceType: string,\r\n public notes: string,\r\n public instructions: string,\r\n public dueDate: string,\r\n public taskTypeId: number = 8,\r\n public assignedTo: number = 0,\r\n public status: number = 1\r\n ) { }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CheckboxGroupComponent } from './checkbox-group.component';\r\nimport { CheckboxComponent } from './components/checkbox.component';\r\n\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [CheckboxGroupComponent, CheckboxComponent],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n CheckboxComponent,\r\n CheckboxGroupComponent\r\n ]\r\n})\r\nexport class CheckboxModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AvatarComponent } from './avatar-image.component';\r\n\r\n@NgModule({\r\n declarations: [AvatarComponent],\r\n imports: [CommonModule],\r\n exports: [AvatarComponent],\r\n})\r\nexport class AvatarImageModule {}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, forkJoin, Observable, of, throwError } from 'rxjs';\r\nimport { map, switchMap, tap } from 'rxjs/operators';\r\nimport { DashboardFeature } from 'src/app/models/dashboard-common.model';\r\nimport { AvailabilityInput, FloorBookingInput, TeamRequestBookingInput, TimeSlotType } from 'src/app/models/find-a-space.model';\r\nimport {\r\n AuditTrailInput,\r\n AuditTrailResponse,\r\n BOOKING_AUDIT_TRAIL_PROPS,\r\n BookingBySpaceRequest,\r\n BookingDetails,\r\n BookingsDashboardInput,\r\n BookingsDashboardResponse,\r\n DetailsResponse,\r\n ReleaseSpaceBookingInput,\r\n ReservationServiceOrderCount,\r\n ServiceOrdersCount,\r\n WaitlistDashboardData,\r\n WaitListDashboardRequest,\r\n EditBooking,\r\n BOOKING_AUDIT_TRAIL_PROPS_NAMES\r\n} from '../../../models/bookings.model';\r\nimport { DataContextService } from '../../datacontext.service';\r\nimport * as moment from 'moment';\r\nimport { IdWithRevision, SpaceFeature } from '../../../models/masterdata.model';\r\nimport { ReservationDetails } from '../../../models/meetings.model';\r\nimport { ReferenceType } from '../../../models/common.enums';\r\nimport { ReservationFeatureFlag } from '../../../models/reservations/reservations.models';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BookingsService {\r\n\r\n constructor(private dataContextService: DataContextService) {\r\n }\r\n\r\n private bookingDetails = new BehaviorSubject(null);\r\n bookingDetails$ = this.bookingDetails.asObservable();\r\n private detailsCache: Map = new Map();\r\n releaseBooking(input: ReleaseSpaceBookingInput[]) {\r\n const url = `SpaceBookings`;\r\n return this.dataContextService.deleteData(url, input).pipe(\r\n map(res => {\r\n if (res.status == 200) {\r\n return res.data\r\n } else {\r\n this.dataContextService.showErrorToaster(res);\r\n }\r\n })\r\n );\r\n }\r\n\r\n noShowBooking(idWithRevision: IdWithRevision[]) {\r\n const noShowBookings: ReleaseSpaceBookingInput[] = [];\r\n idWithRevision.forEach(val => {\r\n const input: ReleaseSpaceBookingInput = {\r\n statusComment: null,\r\n statusReasonId: 3,\r\n id: val.id,\r\n revision: val.revision,\r\n };\r\n noShowBookings.push(input)\r\n });\r\n\r\n return this.releaseBooking(noShowBookings).pipe(map((res) => {\r\n return res;\r\n }));\r\n }\r\n\r\n getBookingsBySpace(bookingBySpace: BookingBySpaceRequest) {\r\n let url = `SpaceBookings/BySpaces?`;\r\n if (bookingBySpace.startDate) {\r\n url += `StartDate=${encodeURIComponent(bookingBySpace.startDate)}&`;\r\n }\r\n if (bookingBySpace.endDate) {\r\n url += `EndDate=${encodeURIComponent(bookingBySpace.endDate)}&`;\r\n }\r\n if (bookingBySpace.spaceIds.length > 0) {\r\n bookingBySpace.spaceIds.forEach((id) => {\r\n url += `SpaceIds=${id}&`;\r\n });\r\n }\r\n url = url.slice(0, -1);\r\n return this.dataContextService.getData(url, true, false, true).pipe(map((res) => {\r\n if (res.status == 200) {\r\n if (res.data && res.data.length) {\r\n const data = res.data as BookingDetails[];\r\n data.forEach(response => {\r\n if (response.owner) {\r\n response.owner.firstName = this.dataContextService.getUserFirstName(response.owner);\r\n response.owner.lastName = response.owner.lastName ? response.owner.lastName : '';\r\n }\r\n if (response.primaryContact) {\r\n response.primaryContact.firstName = this.dataContextService.getUserFirstName(response.primaryContact);\r\n response.primaryContact.lastName = response.primaryContact.lastName ? response.primaryContact.lastName : '';\r\n }\r\n if (response.specialist) {\r\n response.specialist.firstName = this.dataContextService.getUserFirstName(response.specialist);\r\n response.specialist.lastName = response.specialist.lastName ? response.specialist.lastName : '';\r\n }\r\n if (response.createBy) {\r\n response.createBy.firstName = this.dataContextService.getUserFirstName(response.createBy);\r\n response.createBy.lastName = response.createBy.lastName ? response.createBy.lastName : '';\r\n }\r\n })\r\n return data;\r\n }\r\n } else {\r\n this.dataContextService.showErrorToaster(res);\r\n }\r\n }));\r\n }\r\n\r\n getFloorBookings(input: FloorBookingInput): Observable {\r\n let url = `Floors/${input.floorUniqueKey}/SpaceBookings?StartDate=${encodeURIComponent(input.startDate)}&EndDate=${encodeURIComponent(\r\n input.endDate\r\n )}`;\r\n if (!!input.userId) {\r\n url += `&UserId=${input.userId}`;\r\n }\r\n return this.dataContextService.getData(url).pipe(map(res => {\r\n if (res.status == 200) {\r\n const data = res.data as BookingDetails[];\r\n data.forEach(response => {\r\n if (response.owner) {\r\n response.owner.firstName = this.dataContextService.getUserFirstName(response.owner);\r\n response.owner.lastName = response.owner.lastName ? response.owner.lastName : '';\r\n }\r\n if (response.primaryContact) {\r\n response.primaryContact.firstName = this.dataContextService.getUserFirstName(response.primaryContact);\r\n response.primaryContact.lastName = response.primaryContact.lastName ? response.primaryContact.lastName : '';\r\n }\r\n if (response.specialist) {\r\n response.specialist.firstName = this.dataContextService.getUserFirstName(response.specialist);\r\n response.specialist.lastName = response.specialist.lastName ? response.specialist.lastName : '';\r\n }\r\n if (response.createBy) {\r\n response.createBy.firstName = this.dataContextService.getUserFirstName(response.createBy);\r\n response.createBy.lastName = response.createBy.lastName ? response.createBy.lastName : '';\r\n }\r\n })\r\n return data;\r\n } else {\r\n this.dataContextService.showErrorToaster(res);\r\n }\r\n }));\r\n }\r\n\r\n getWaitListDashboardData(obj: WaitListDashboardRequest, showGlobalSpinner: boolean = true) {\r\n let dashboardRequest = {\r\n limit: obj.Limit,\r\n page: obj.Page,\r\n term: obj.Term,\r\n workspaceWaitListBuildingSearchCriterias: obj.WorkspaceWaitListBuildingSearchCriterias,\r\n spaceTypeSearchCriteria: {\r\n any: obj.SpaceTypeSearchCriteriaAny != null ? obj.SpaceTypeSearchCriteriaAny : true,\r\n workstation: obj.SpaceTypeSearchCriteriaWorkstation != null ? obj.SpaceTypeSearchCriteriaWorkstation : true,\r\n privateSpace: obj.SpaceTypeSearchCriteriaPrivateSpace != null ? obj.SpaceTypeSearchCriteriaPrivateSpace : true\r\n },\r\n workSpaceWaitListSortings: obj.WorkSpaceWaitListSortings,\r\n employeeLevels: obj.EmployeeLevels,\r\n waitListStatusTypes: obj.Status,\r\n features: DashboardFeature.IncludeTotalCount,\r\n startDate: obj.StartDate,\r\n endDate: obj.EndDate\r\n };\r\n dashboardRequest = this.dataContextService.removeNullValuesFromObject(dashboardRequest);\r\n return this.dataContextService.postData(`WorkspaceWaitLists/Dashboard`, dashboardRequest, showGlobalSpinner).pipe(map((res) => {\r\n if (res.status == 200) {\r\n const response = res.data as WaitlistDashboardData;\r\n response.items.forEach(i => {\r\n if (i.owner) {\r\n i.owner.firstName = this.dataContextService.getUserFirstName(i.owner);\r\n i.owner.lastName = i.owner.lastName ? i.owner.lastName : '';\r\n }\r\n })\r\n return response;\r\n }\r\n else {\r\n return this.dataContextService.showErrorToaster(res);\r\n }\r\n }));\r\n }\r\n\r\n teamRequestBookings(params: Partial, teamRequestId: string): Observable {\r\n let payload: TeamRequestBookingInput;\r\n\r\n if (params.eventTime.timeSlotType == TimeSlotType.SingleDay) {\r\n payload = {\r\n teamRequestId: teamRequestId,\r\n dateInterval: {\r\n startDate: params.eventTime.singleDayEventData.startDate,\r\n endDate: params.eventTime.singleDayEventData.endDate\r\n }\r\n };\r\n } else {\r\n payload = {\r\n teamRequestId: teamRequestId,\r\n recurrenceRule: {\r\n recurrencePatternType: params.eventTime.recurrentEventData.recurrenceRule.recurrencePatternType,\r\n startDate: params.eventTime.recurrentEventData.recurrenceRule.startDate,\r\n endDate: params.eventTime.recurrentEventData.recurrenceRule.endDate,\r\n interval: params.eventTime.recurrentEventData.recurrenceRule.interval,\r\n occurrences: params.eventTime.recurrentEventData.recurrenceRule.occurrences,\r\n weeklyRecurrencePattern: null\r\n }\r\n };\r\n if (params.eventTime.recurrentEventData.recurrenceRule.weeklyRecurrencePattern) {\r\n payload.recurrenceRule.weeklyRecurrencePattern = {\r\n daysOfWeek: params.eventTime.recurrentEventData.recurrenceRule.weeklyRecurrencePattern.daysOfWeek\r\n };\r\n }\r\n\r\n }\r\n ;\r\n this.dataContextService.removeNullValuesFromObject(payload);\r\n\r\n return this.getTeamRequestBookings(payload);\r\n }\r\n\r\n getTeamRequestBookings(input: TeamRequestBookingInput): Observable {\r\n let url = `SpaceBookings/ByTeamRequest?TeamRequestId=${input.teamRequestId}&`;\r\n if (input.dateInterval) {\r\n url += `DateInterval.EndDate=${encodeURIComponent(input.dateInterval.endDate)}&`;\r\n url += `DateInterval.StartDate=${encodeURIComponent(input.dateInterval.startDate)}&`;\r\n } else {\r\n url += `RecurrenceRule.RecurrencePatternType=${input.recurrenceRule.recurrencePatternType}&`;\r\n url += `RecurrenceRule.EndDate=${encodeURIComponent(input.recurrenceRule.endDate)}&`;\r\n url += `RecurrenceRule.StartDate=${encodeURIComponent(input.recurrenceRule.startDate)}&`;\r\n if (input.recurrenceRule.interval) {\r\n url += `RecurrenceRule.Interval=${input.recurrenceRule.interval}&`;\r\n }\r\n if (input.recurrenceRule.occurrences) {\r\n url += `RecurrenceRule.Occurrences=${input.recurrenceRule.occurrences}&`;\r\n }\r\n if (input.recurrenceRule.weeklyRecurrencePattern && input.recurrenceRule.weeklyRecurrencePattern.daysOfWeek && input.recurrenceRule.weeklyRecurrencePattern.daysOfWeek.length > 0) {\r\n input.recurrenceRule.weeklyRecurrencePattern.daysOfWeek.forEach((day) => {\r\n url += `RecurrenceRule.WeeklyRecurrencePattern.DaysOfWeek=${day}&`;\r\n });\r\n }\r\n }\r\n\r\n return this.dataContextService.getData(url).pipe(map(res => {\r\n if (res.status == 200) {\r\n return res.data as BookingDetails[];\r\n } else {\r\n this.dataContextService.showErrorToaster(res);\r\n }\r\n ;\r\n }));\r\n };\r\n\r\n getBookingsDashboardData(payload: BookingsDashboardInput, showGloablSpinner: boolean = true): Observable {\r\n const url = `SpaceBookings/Dashboard`;\r\n return this.dataContextService.postData(url, payload, showGloablSpinner).pipe(\r\n map(res => {\r\n if (res.status === 200) {\r\n const response = res.data as BookingsDashboardResponse;\r\n response.items.forEach(i => {\r\n if (i.spaceBookingSpecialist) {\r\n i.spaceBookingSpecialist.firstName = this.dataContextService.getUserFirstName(i.spaceBookingSpecialist);\r\n i.spaceBookingSpecialist.lastName = i.spaceBookingSpecialist.lastName ? i.spaceBookingSpecialist.lastName : '';\r\n }\r\n if (i.pointOfContact) {\r\n i.pointOfContact.firstName = this.dataContextService.getUserFirstName(i.pointOfContact);\r\n i.pointOfContact.lastName = i.pointOfContact.lastName ? i.pointOfContact.lastName : '';\r\n }\r\n if (i.owner) {\r\n i.owner.firstName = this.dataContextService.getUserFirstName(i.owner);\r\n i.owner.lastName = i.owner.lastName ? i.owner.lastName : '';\r\n }\r\n })\r\n return response;\r\n }\r\n else {\r\n return this.dataContextService.showErrorToaster(res);\r\n }\r\n })\r\n );\r\n }\r\n\r\n updateBookingSpecialist(bookingId: number, specialistId: number) {\r\n const url = `SpaceBookings/${bookingId}/Specialist`;\r\n return this.dataContextService.patchData(url, { specialistId: specialistId }).pipe(\r\n map(res => {\r\n if (res.status == 200) {\r\n return res.data\r\n } else {\r\n this.dataContextService.showErrorToaster(res);\r\n }\r\n })\r\n );\r\n }\r\n\r\n checkInBooking(bookingId: number) {\r\n const url = `SpaceBookings/${bookingId}/Checkin`;\r\n return this.dataContextService.patchData(url, {}).pipe(\r\n map(res => {\r\n if (res.status) {\r\n return res.data\r\n } else {\r\n this.dataContextService.showErrorToaster(res);\r\n }\r\n })\r\n );\r\n }\r\n\r\n snoozeBooking(bookingId: number, startTime: string) {\r\n const url = `SpaceBookings/${bookingId}/Snooze`;\r\n return this.dataContextService.patchData(url, { startTime: startTime }).pipe(\r\n map(res => {\r\n if (res.status == 200) {\r\n return res.data;\r\n } else {\r\n this.dataContextService.showErrorToaster(res);\r\n }\r\n })\r\n );\r\n }\r\n\r\n getAutoreleaseTime(bumpTime: Date, facilityCurrentTime: Date) {\r\n const totalMinutes = Math.floor(Math.floor((bumpTime.getTime() - facilityCurrentTime.getTime()) / 1000) / 60);\r\n const diffTime = Math.abs(bumpTime.getTime() - facilityCurrentTime.getTime());\r\n let seconds = Math.floor(diffTime / 1000);\r\n let minutes = Math.floor(seconds / 60);\r\n let hours = Math.floor(minutes / 60);\r\n seconds = seconds % 60;\r\n minutes = seconds >= 30 ? minutes + 1 : minutes;\r\n minutes = minutes % 60;\r\n hours = hours % 24;\r\n return {\r\n formattedTime: `${bumpTime > facilityCurrentTime ? '' : '-'}${this.padTo2Digits(hours)} hr ${this.padTo2Digits(minutes)} min`,\r\n time: `${this.padTo2Digits(hours)}:${this.padTo2Digits(minutes)}:${this.padTo2Digits(seconds)}`,\r\n totalMinutes\r\n };\r\n }\r\n\r\n private padTo2Digits(num) {\r\n return num.toString().padStart(2, '0');\r\n }\r\n\r\n getBookingById(id: number, showSpinner?: boolean): Observable {\r\n const url = `SpaceBookings/${id}`;\r\n return this.dataContextService.getData(url, showSpinner).pipe(\r\n tap(res => this.bookingDetails.next(res.data)),\r\n map(i => {\r\n if (i.status === 200) {\r\n const response = i.data as BookingDetails;\r\n if (response.owner) {\r\n response.owner.firstName = this.dataContextService.getUserFirstName(response.owner);\r\n response.owner.lastName = response.owner.lastName ? response.owner.lastName : '';\r\n }\r\n if (response.primaryContact) {\r\n response.primaryContact.firstName = this.dataContextService.getUserFirstName(response.primaryContact);\r\n response.primaryContact.lastName = response.primaryContact.lastName ? response.primaryContact.lastName : '';\r\n }\r\n if (response.specialist) {\r\n response.specialist.firstName = this.dataContextService.getUserFirstName(response.specialist);\r\n response.specialist.lastName = response.specialist.lastName ? response.specialist.lastName : '';\r\n }\r\n if (response.createBy) {\r\n response.createBy.firstName = this.dataContextService.getUserFirstName(response.createBy);\r\n response.createBy.lastName = response.createBy.lastName ? response.createBy.lastName : '';\r\n }\r\n return response;\r\n }\r\n else {\r\n return this.dataContextService.showErrorToaster(i);\r\n }\r\n })\r\n );\r\n }\r\n\r\n calculateBookingReservationTime(setupTime: string, tearDownTime: string, startDate: string, endDate: string) {\r\n //temporary change to handle null in setup and teardown time\r\n const splitedSetupTime = setupTime ? setupTime.split(':') : ['00', '00'];\r\n const splitedTearDownTime = tearDownTime ? tearDownTime.split(':') : ['00', '00'];\r\n const calStartDate = moment(moment.parseZone(startDate).format('l LT'));\r\n const calEndDate = moment(moment.parseZone(endDate).format('l LT'));\r\n startDate = calStartDate.format('YYYY-MM-DDTHH:mm:ss');\r\n endDate = calEndDate.format('YYYY-MM-DDTHH:mm:ss');\r\n if (splitedSetupTime[0] != '00') {\r\n startDate = calStartDate\r\n .subtract(Number(splitedSetupTime[0]), 'hours')\r\n .format('YYYY-MM-DDTHH:mm:ss');\r\n }\r\n if (splitedSetupTime[1] != '00') {\r\n startDate = calStartDate\r\n .subtract(Number(splitedSetupTime[1]), 'minutes')\r\n .format('YYYY-MM-DDTHH:mm:ss');\r\n }\r\n if (splitedTearDownTime[0] != '00') {\r\n endDate = calEndDate\r\n .add(Number(splitedTearDownTime[0]), 'hours').format('YYYY-MM-DDTHH:mm:ss');\r\n }\r\n if (splitedTearDownTime[1] != '00') {\r\n endDate = calEndDate\r\n .add(Number(splitedTearDownTime[1]), 'minutes')\r\n .format('YYYY-MM-DDTHH:mm:ss');\r\n }\r\n return {\r\n startDate: startDate,\r\n endDate: endDate,\r\n isMidnightSpanning: !moment(startDate).isSame(moment(endDate), 'D')\r\n };\r\n }\r\n\r\n getFeaturesBySpaceId(spaceId: number): Observable {\r\n const url = `Spaces/${spaceId}/Features`;\r\n return this.dataContextService.getData(url).pipe(\r\n map(res => {\r\n if (res.status == 200) {\r\n const features = res.data.map(i => {\r\n const feature: SpaceFeature = {\r\n id: i.id,\r\n name: i.name,\r\n iconKey: i.iconKey,\r\n iconClass: i.iconKey && DataContextService.SpaceFeatures.find(f => f.iconKey === i.iconKey).iconClass\r\n };\r\n return feature;\r\n });\r\n return features;\r\n } else {\r\n this.dataContextService.showErrorToaster(res);\r\n }\r\n })\r\n );\r\n }\r\n\r\n getBookingDetails(id: number): Observable {\r\n if (this.detailsCache.get(id.toString())) {\r\n return of(this.detailsCache.get(id.toString()));\r\n }\r\n else {\r\n return this.getBookingById(id).pipe(\r\n switchMap(res => {\r\n return forkJoin([\r\n this.getReservationDetails(res.reservationId, `${ReservationFeatureFlag.IncludeSpaceBookings},${ReservationFeatureFlag.IncludeVirtualBookings},${ReservationFeatureFlag.IncludeMeetingWaitLists},${ReservationFeatureFlag.IncludeAllowedStatusActions}`),\r\n this.getFeaturesBySpaceId(res.space.id),\r\n this.getServiceOrdersCount(res.id)\r\n ]).pipe(\r\n map(otherDetails => {\r\n const response: DetailsResponse = {\r\n bookingDetails: res,\r\n reservationDetails: otherDetails[0],\r\n features: otherDetails[1],\r\n serviceOrdersCount: otherDetails[2],\r\n }\r\n this.detailsCache.set(id.toString(), response);\r\n return response;\r\n })\r\n )\r\n })\r\n );\r\n }\r\n }\r\n private getReservationDetails(reservationId: number, features?: string): Observable {\r\n const url = `Reservations/${reservationId}${features ? `?reservationFeatureFlags=${features}` : ''}`;\r\n return this.dataContextService.getData(url).pipe(\r\n map(res => {\r\n if (res.status === 200) {\r\n const response = res.data as ReservationDetails;\r\n if (response.owner) {\r\n response.owner.firstName = this.dataContextService.getUserFirstName(response.owner);\r\n response.owner.lastName = response.owner.lastName ? response.owner.lastName : '';\r\n }\r\n if (response.pointOfContact) {\r\n response.pointOfContact.firstName = this.dataContextService.getUserFirstName(response.pointOfContact);\r\n response.pointOfContact.lastName = response.pointOfContact.lastName ? response.pointOfContact.lastName : '';\r\n }\r\n if (response.specialist) {\r\n response.specialist.firstName = this.dataContextService.getUserFirstName(response.specialist);\r\n response.specialist.lastName = response.specialist.lastName ? response.specialist.lastName : '';\r\n }\r\n return response;\r\n } else {\r\n this.dataContextService.showErrorToaster(res);\r\n }\r\n })\r\n );\r\n }\r\n\r\n getServiceOrdersCount(id: number, referenceType: ReferenceType = ReferenceType.Booking): Observable {\r\n const url = `ServiceOrders/Count/Booking/${referenceType}/${id.toString()}`;\r\n return this.dataContextService.getData(url).pipe(\r\n map(res => {\r\n if (res.status == 200) {\r\n return res.data as ServiceOrdersCount\r\n } else {\r\n this.dataContextService.showErrorToaster(res);\r\n }\r\n })\r\n );\r\n }\r\n\r\n getAuditTrail(input: AuditTrailInput): Observable {\r\n let url = `AuditTrail?ReferenceType=Booking&`;\r\n if (input.id) {\r\n url += `Id=${input.id}&`;\r\n }\r\n if (input.limit) {\r\n url += `Limit=${input.limit}&`;\r\n }\r\n if (input.page) {\r\n url += `Page=${input.page}&`;\r\n }\r\n return this.dataContextService.getData(url).pipe(\r\n map(res => res.data as AuditTrailResponse),\r\n map(res => {\r\n return {\r\n ...res,\r\n items: res.items.map(i => {\r\n if (i.propertyName === BOOKING_AUDIT_TRAIL_PROPS.Status) {\r\n if (i.oldValue) {\r\n i.oldValue = DataContextService.BookingStatus.find(d => d.name === i.oldValue).displayName;\r\n }\r\n if (i.newValue) {\r\n i.newValue = DataContextService.BookingStatus.find(d => d.name === i.newValue).displayName;\r\n }\r\n }\r\n if (i.propertyName === BOOKING_AUDIT_TRAIL_PROPS.Setuptype) {\r\n if (i.oldValue) {\r\n i.oldValue = DataContextService.SpaceSetupTypes.find(d => d.id.toString() === i.oldValue).description;\r\n }\r\n if (i.newValue) {\r\n i.newValue = DataContextService.SpaceSetupTypes.find(d => d.id.toString() === i.newValue).description;\r\n }\r\n }\r\n if (i.propertyName === BOOKING_AUDIT_TRAIL_PROPS.Floor) {\r\n if (i.oldValue) {\r\n i.oldValue = i.oldValue.replace(/\\bFloor\\b/, this.dataContextService.translateText('Translation.Floor'));\r\n }\r\n if (i.newValue) {\r\n i.newValue = i.newValue.replace(/\\bFloor\\b/, this.dataContextService.translateText('Translation.Floor'));\r\n }\r\n }\r\n if (i.propertyName === BOOKING_AUDIT_TRAIL_PROPS.Statusreason) {\r\n const statusReasons = DataContextService.StatusReasons.find(i => i.id === 5).statusReasons;\r\n if (i.oldValue) {\r\n i.oldValue = statusReasons.find(r => r.id === Number(i.oldValue)).name;\r\n }\r\n if (i.newValue) {\r\n i.newValue = statusReasons.find(r => r.id === Number(i.newValue)).name;\r\n }\r\n }\r\n i.timeZoneAbbreviation = DataContextService.TimeZones.find(d => d.id === i.timeZoneId).abbreviation;\r\n i.changeDate = moment.parseZone(i.changeDate).format('l LT');\r\n i.propertyName = BOOKING_AUDIT_TRAIL_PROPS_NAMES.get(BOOKING_AUDIT_TRAIL_PROPS[i.propertyName.replace(/\\s/g, '')]);\r\n return i;\r\n })\r\n };\r\n })\r\n );\r\n }\r\n\r\n getBookingTasksCount(reservationId: number): Observable {\r\n const url = `ServiceOrders/Tasks/Reservation/${reservationId}`;\r\n return this.dataContextService.getData(url).pipe(\r\n map(res => {\r\n if (res.status == 200) {\r\n return res.data as ReservationServiceOrderCount[]\r\n } else {\r\n this.dataContextService.showErrorToaster(res);\r\n }\r\n })\r\n )\r\n }\r\n editBooking(id: number, input: EditBooking) {\r\n let url = `SpaceBookings/${id}`;\r\n return this.dataContextService.putData(url, input).pipe(map(res => {\r\n if (res.status == 200) {\r\n return res.data\r\n } else {\r\n this.dataContextService.showErrorToaster(res);\r\n }\r\n }));\r\n }\r\n removeDetailsFromCache(id: number) {\r\n if (this.detailsCache.has(id.toString()))\r\n this.detailsCache.delete(id.toString());\r\n }\r\n updateCacheDetails(id: number, obj: DetailsResponse) {\r\n this.detailsCache.set(id.toString(), obj);\r\n }\r\n getDetailsFromCache(id: number): DetailsResponse {\r\n return this.detailsCache.get(id.toString());\r\n }\r\n}\r\n","// Contain models of reservation wizard and team request\r\nimport { User } from './dashboard-common.model';\r\nimport { XUseSpaceEnum } from '../services/datacontext.service';\r\nimport { BookingDetails, ConflictingSpaceBooking } from './bookings.model';\r\nimport {\r\n Amenity,\r\n Building,\r\n EventType,\r\n Floor,\r\n FloorAmenity,\r\n Item,\r\n MemberFirm,\r\n SpaceFeature,\r\n SpaceSetupType,\r\n SpaceType,\r\n TimeZone\r\n} from './masterdata.model';\r\nimport { SafeUrl } from '@angular/platform-browser';\r\nimport { ErrorState, LabelPosition, Themes } from '@usitsdasdesign/dds-ng/shared';\r\nimport { SelectedOwnerItem } from '../shared/components/owner-search/owner-search.component';\r\nimport { TimeSlot } from './meetings.model';\r\nimport { ButtonKind, ButtonOptions } from '../shared/components/button/button.component';\r\nimport { PositionState } from '../shared/components/tooltip/tooltip.config';\r\n\r\n// Models for payload\r\nexport interface AvailabilityInput {\r\n userId: number;\r\n buildingId: number;\r\n floorUniqueKey: number;\r\n preferredFloorUniqueKey: number;\r\n eventTime: EventTime;\r\n preferredSpaceTypeId: number;\r\n attendeesCount: number;\r\n reservable: boolean;\r\n categoryType: string;\r\n searchText: string;\r\n orderType: string;\r\n spaceFeatureIds: Array;\r\n availabilityExcludeBookingIds: Array;\r\n features: string;\r\n limit: number;\r\n page: number;\r\n isMapViewSelected: boolean;\r\n useDelegateSpace: string;\r\n teamRequestId: string;\r\n includeInaccessibleToUser: boolean;\r\n includeUnavailable: boolean;\r\n spaceId: number;\r\n name: string;\r\n setupTypeId: number;\r\n isPrivate: boolean;\r\n spaceBookingSpecialistId: number;\r\n primaryContactId: number;\r\n}\r\n\r\nexport interface EventTime {\r\n timeSlotType?: string;\r\n spaceSetupTime?: string;\r\n spaceTearDownTime?: string;\r\n setupTime?: string;\r\n tearDownTime?: string;\r\n recurrentEventData?: RecurrentEventData;\r\n singleDayEventData?: SingleDayEventData;\r\n}\r\n\r\nexport interface RecurrentEventData {\r\n recurrenceRule: RecurrenceRule;\r\n}\r\n\r\nexport interface RecurrenceRule {\r\n recurrencePatternType?: string;\r\n interval?: number;\r\n startDate: string;\r\n endDate: string;\r\n occurrences?: number;\r\n weeklyRecurrencePattern: WeeklyRecurrencePattern;\r\n monthlyRecurrencePattern?: MonthlyRecurrencePattern;\r\n}\r\n\r\nexport interface WeeklyRecurrencePattern {\r\n daysOfWeek: Array;\r\n}\r\n\r\nexport interface SingleDayEventData {\r\n startDate: string;\r\n endDate: string;\r\n isLtr?: boolean;\r\n}\r\n\r\nexport interface MonthlyRecurrencePattern {\r\n day: number;\r\n weekOfMonth: string;\r\n dayOfWeek: string;\r\n}\r\n\r\nexport interface MeetingRequestRecommendationInput {\r\n availabilityInput: AvailabilityInput;\r\n availabiltyTypes: Array;\r\n}\r\n\r\nexport interface SpaceAvailabilityFilter extends AvailabilityFilter {\r\n buildingId: number;\r\n floorUniqueKey: number;\r\n preferredFloorUniqueKey: number;\r\n attendeesCount: number;\r\n categoryType: string;\r\n includeUnavailable: boolean;\r\n searchText: string;\r\n spaceFeatureIds: Array;\r\n includeInaccessibleToUser: boolean;\r\n preferredSpaceTypeId: number;\r\n}\r\n\r\nexport interface SpaceIdsAvailabilityFilter extends AvailabilityFilter {\r\n spaceIds: number[];\r\n}\r\n\r\nexport enum DensityType {\r\n NotDetermined = 'NotDetermined',\r\n Empty = 'Empty',\r\n NearlyEmpty = 'NearlyEmpty',\r\n HalfFull = 'HalfFull',\r\n NearlyFull = 'NearlyFull',\r\n Full = 'Full',\r\n}\r\n\r\nexport const CLASS_BY_DENSITY_TYPE = {\r\n [DensityType.NotDetermined]: 'openSeatingNotDetermined',\r\n [DensityType.Empty]: 'openSeatingEmpty',\r\n [DensityType.NearlyEmpty]: 'openSeatingNearlyEmpty',\r\n [DensityType.HalfFull]: 'openSeatingHalfFull',\r\n [DensityType.NearlyFull]: 'openSeatingNearlyFull',\r\n [DensityType.Full]: 'openSeatingFull'\r\n};\r\n\r\nexport interface AvailabilityFilter {\r\n eventTime: {\r\n timeSlotType: TimeSlotType;\r\n spaceSetupTime?: string;\r\n spaceTearDownTime?: string;\r\n recurrentEventData?: RecurrentEventData;\r\n singleDayEventData?: SingleDayEventData;\r\n spaceBookingTimeSlots?: {\r\n bookedTimeSlots: BookedTimeSlot[];\r\n };\r\n };\r\n\r\n availabilityExcludeBookingIds?: number[];\r\n features: string;\r\n}\r\n\r\nexport interface BookedTimeSlot {\r\n Id: string;\r\n StartDate: string;\r\n EndDate: string;\r\n}\r\n\r\n// user input models\r\nexport interface ReservationDetailsFormValue extends DetailsFormValue {\r\n virtual: VirtualControlValue[];\r\n inOffice: {\r\n items: StandardControlValue[];\r\n };\r\n recurringEndDate?: Date;\r\n teamRequestId?: string;\r\n}\r\n\r\nexport interface DetailsFormValue {\r\n reservationDetails: {\r\n owner: SelectedOwnerItem[];\r\n allocation?: string;\r\n searchType: ReservationType;\r\n typeOfMeeting?: ReservationClassification;\r\n recurring?: {\r\n repeatEvery: {\r\n pattern: RecurrencePatternTypes;\r\n days: number;\r\n weeks: number;\r\n weekDays: {\r\n [key: string]: boolean;\r\n };\r\n };\r\n endAfter: {\r\n type: EndAfterType;\r\n date: Date;\r\n occurrences: number;\r\n };\r\n };\r\n timeType: TimeType\r\n };\r\n}\r\n\r\nexport interface VirtualControlValue {\r\n typeOfTechnology: string;\r\n attendees: number;\r\n startDate: Date;\r\n endDate: Date;\r\n startTime: Date;\r\n endTime: Date;\r\n timeZone: string;\r\n}\r\n\r\nexport interface StandardControlValue {\r\n attendees: number;\r\n startDate: Date;\r\n endDate: Date;\r\n startTime: Date;\r\n endTime: Date;\r\n timeZone: TimeZoneWithTZ;\r\n building: Building;\r\n floor: number;\r\n type: string;\r\n spaceName: any;\r\n team: TeamRequestDetails;\r\n setup: number;\r\n teardown: number;\r\n setupTeardownPosition: PositionState;\r\n}\r\n\r\n// Assignee response is common for RW and TR\r\nexport interface AssigneeResponse extends User {\r\n homeBuildingId: number;\r\n homeBuildingName: string;\r\n shortTitle: string;\r\n area: string;\r\n fss: string;\r\n hasConciergeRights: boolean;\r\n isNonPeopleProfile: boolean;\r\n isMemberFirmAccount: boolean;\r\n memberFirm: MemberFirm;\r\n}\r\n\r\nexport interface UserSearchResult {\r\n isOverflow: boolean;\r\n users: AssigneeResponse[];\r\n}\r\n\r\nexport interface Technology {\r\n DisplayName: string;\r\n ActualName: string;\r\n}\r\n\r\ninterface TimeZoneWithTZ extends TimeZone {\r\n tzIanaName?: string;\r\n}\r\n\r\nexport interface TeamRequestDetails {\r\n id: string;\r\n teamName: string;\r\n value?: string; // this description will be assigned floor or team name\r\n}\r\n\r\nexport interface LocationItem extends Subset {\r\n title?: string;\r\n spaceType?: string;\r\n attendees: number;\r\n type?: LocationItemType;\r\n timeZone: {\r\n TZOffSet: number;\r\n TZStandardName: string;\r\n TZIanaName: string;\r\n TZShortName: string;\r\n };\r\n reservationType?: ReservationType;\r\n team?: TeamRequestDetails;\r\n building?: Building;\r\n typeOfTechnology?: string;\r\n floor?: number;\r\n spaceName?: string;\r\n subsets?: Subset[];\r\n enableWaitlistRequest?: boolean;\r\n enableMeetingRequest?: boolean;\r\n datesToFill?: Date[];\r\n}\r\n\r\nexport interface Subset {\r\n spaceItem?: SpaceAvailabilityItem;\r\n startDate?: Date;\r\n endDate?: Date;\r\n startTime?: Date;\r\n reservationStartTime?: Date;\r\n reservationEndTime?: Date;\r\n endTime?: Date;\r\n setup?: number;\r\n teardown?: number;\r\n spaceStartTime?: Date;\r\n spaceEndTime?: Date;\r\n waitlist?: boolean;\r\n meetingRequest?: boolean;\r\n statusColor?: any; // StatusColor;\r\n complete?: boolean;\r\n isDateRange?: boolean;\r\n selected?: boolean;\r\n partial?: boolean;\r\n selectedFeatures?: number[];\r\n daysOfWeek?: string[];\r\n subsetsToReserve?: Map;\r\n}\r\n\r\ninterface SubsetDate {\r\n startDate: Date;\r\n endDate: Date;\r\n}\r\n\r\nexport interface TeamRequestBookingInput {\r\n teamRequestId: string;\r\n dateInterval?: {\r\n startDate: string;\r\n endDate: string;\r\n };\r\n recurrenceRule?: RecurrenceRule;\r\n}\r\n\r\n// enum\r\nexport enum ReservationType {\r\n Standard = 'Standard',\r\n MultiDayRecurring = 'MultiDayRecurring',\r\n LTR = 'LTR',\r\n}\r\n\r\nexport enum BookingReservationType {\r\n Regular = 'Regular',\r\n Meeting = 'Meeting',\r\n Ltr = 'Ltr',\r\n Lab = 'Lab',\r\n}\r\n\r\nexport enum ReservationClassification {\r\n SingleOffice = 'SingleOffice',\r\n Virtual = 'Virtual',\r\n Hybrid = 'Hybrid',\r\n}\r\n\r\nexport const ReservationClassificationType = new Map([\r\n [ReservationClassification[ReservationClassification.SingleOffice], 'Translation.In-office'],\r\n [ReservationClassification[ReservationClassification.Virtual], 'Translation.Virtual'],\r\n [ReservationClassification[ReservationClassification.Hybrid], 'Translatin.Hybrid']\r\n]);\r\n\r\nexport const ClassificationTypeMultiLingual = new Map([\r\n [ReservationClassification[ReservationClassification.SingleOffice], 'Translation.SingleOffice'],\r\n [ReservationClassification[ReservationClassification.Virtual], 'Translation.Virtual'],\r\n [ReservationClassification[ReservationClassification.Hybrid], 'Translation.Hybrid']\r\n]);\r\n\r\nexport enum RecurrencePatternTypes {\r\n Daily = 'Daily',\r\n EveryWeekDay = 'EveryWeekDay',\r\n Weekly = 'Weekly',\r\n Monthly = 'Monthly',\r\n}\r\n\r\nexport enum EndAfterType {\r\n Date = 'Date',\r\n Occurrences = 'Occurrences',\r\n}\r\n\r\nexport enum SpaceTypeCategory {\r\n Individual = 'Individual',\r\n Meeting = 'Meeting',\r\n}\r\n\r\nexport enum OrderType {\r\n Recommendation = 'Recommendation',\r\n Search = 'Search',\r\n}\r\n\r\nexport enum Features {\r\n Undefined = 'Undefined',\r\n Scoring = 'Scoring',\r\n TimeSlots = 'TimeSlots',\r\n Bookings = 'Bookings',\r\n SpaceFeatures = 'SpaceFeatures',\r\n ScopedSpaces = 'ScopedSpaces',\r\n}\r\n\r\nexport enum LocationItemType {\r\n Standard,\r\n Virtual,\r\n}\r\n\r\nexport enum DaysOfWeek {\r\n Sunday,\r\n Monday,\r\n Tuesday,\r\n Wednesday,\r\n Thursday,\r\n Friday,\r\n Saturday,\r\n}\r\n\r\nexport const WEEK_DAYS = [\r\n {\r\n day: DaysOfWeek.Sunday,\r\n dayAbbreviation: 'S',\r\n isChecked: false,\r\n shortName: 'Sun',\r\n fullName: 'Sunday'\r\n },\r\n {\r\n day: DaysOfWeek.Monday,\r\n dayAbbreviation: 'M',\r\n isChecked: true,\r\n shortName: 'Mon',\r\n fullName: 'Monday'\r\n },\r\n {\r\n day: DaysOfWeek.Tuesday,\r\n dayAbbreviation: 'T',\r\n isChecked: true,\r\n shortName: 'Tue',\r\n fullName: 'Tuesday'\r\n },\r\n {\r\n day: DaysOfWeek.Wednesday,\r\n dayAbbreviation: 'W',\r\n isChecked: true,\r\n shortName: 'Wed',\r\n fullName: 'Wednesday'\r\n },\r\n {\r\n day: DaysOfWeek.Thursday,\r\n dayAbbreviation: 'T',\r\n isChecked: true,\r\n shortName: 'Thu',\r\n fullName: 'Thursday'\r\n },\r\n {\r\n day: DaysOfWeek.Friday,\r\n dayAbbreviation: 'F',\r\n isChecked: true,\r\n shortName: 'Fri',\r\n fullName: 'Friday'\r\n },\r\n {\r\n day: DaysOfWeek.Saturday,\r\n dayAbbreviation: 'S',\r\n isChecked: false,\r\n shortName: 'Sat',\r\n fullName: 'Saturday'\r\n }\r\n];\r\n\r\nexport enum WaitListBannerType {\r\n // Indicates whether wait list request available based on results of current recommendation request.\r\n // None - No banner should be shown for workspace/meeting\r\n // NoPreferredWorkspace - there are no workspaces that exactly match specified criteria;\r\n // NoPreferredMeetingSpace - there are no meeting spaces that exactly match specified criteria;\r\n // NoDesiredMeetingSpace - there are available meeting spaces; but user don't like them\r\n None = 'None',\r\n NoPreferredWorkspace = 'NoPreferredWorkspace',\r\n NoPreferredMeetingSpace = 'NoPreferredMeetingSpace',\r\n NoDesiredMeetingSpace = 'NoDesiredMeetingSpace',\r\n}\r\n\r\nexport enum AvailabilityType {\r\n Undefined = 'Undefined',\r\n Available = 'Available',\r\n Reserved = 'Reserved',\r\n PartiallyAvailable = 'PartiallyAvailable',\r\n}\r\n\r\nexport enum TimeSlotType {\r\n SingleDay = 'SingleDay',\r\n Recurrent = 'Recurrent',\r\n BookedTimeSlotCollection = 'BookedTimeSlotCollection',\r\n}\r\n\r\nexport const MEETING_TYPES = [\r\n {\r\n name: 'Translation.SingleOffice',\r\n value: ReservationClassification.SingleOffice\r\n },\r\n {\r\n name: 'Translation.Hybrid',\r\n value: ReservationClassification.Hybrid\r\n },\r\n {\r\n name: 'Translation.Virtual',\r\n value: ReservationClassification.Virtual\r\n }\r\n];\r\n\r\nexport const ALLOCATIONS = [\r\n {\r\n name: 'Translation.Mine',\r\n value: XUseSpaceEnum.Delegate\r\n },\r\n {\r\n name: 'Translation.Owner',\r\n value: XUseSpaceEnum.User\r\n }\r\n];\r\n\r\nexport const SEARCH_TYPES = [\r\n {\r\n name: 'Translation.Standard',\r\n value: ReservationType.Standard\r\n },\r\n {\r\n name: 'Translation.Recurring',\r\n value: ReservationType.MultiDayRecurring\r\n },\r\n {\r\n name: 'Translation.LTR',\r\n value: ReservationType.LTR\r\n }\r\n];\r\n\r\nexport enum ReferenceType {\r\n Booking = 0,\r\n MeetingWaitList = 1,\r\n VirtualBooking = 2,\r\n Reservation = 3,\r\n Waitlist = 4,\r\n}\r\n\r\nexport enum ButtonAction {\r\n previous,\r\n next,\r\n confirm,\r\n}\r\n\r\nexport enum TimeType {\r\n default = 'default',\r\n timeMatch = 'timeMatch',\r\n timeZoneMatch = 'timeZoneMatch'\r\n}\r\n\r\n// Response models - RW\r\nexport interface RoomSetupType extends SpaceSetupType {\r\n iconClass?: string;\r\n}\r\n\r\nexport interface FloorItem extends Floor {\r\n availableCount: number;\r\n}\r\n\r\nexport interface SpaceAvailability {\r\n items: SpaceAvailabilityItem[];\r\n totalCount: number;\r\n waitListBannerType: WaitListBannerType;\r\n teamRequestFloor?: number;\r\n spaceFeatureSummary: {\r\n spaceFeatureId: number;\r\n spaceCount: number;\r\n }[];\r\n floorSpaceSummary: { floorUniqueKey: number; name: string; spaceAvailableCount: number }[];\r\n}\r\n\r\nexport interface SpaceAvailabilityItem {\r\n space: SpaceView;\r\n isFavorite?: boolean;\r\n inaccessibleToUser?: boolean;\r\n rank?: number;\r\n colleagues?: { id: number; firstName: string; lastName: string; email: string };\r\n availabilityType?: AvailabilityType;\r\n startDate?: string;\r\n endDate?: string;\r\n free?: boolean;\r\n bookings?: { id: number; startDate: string; endDate: string; tearDownTime: string; setupTime: string; user: Partial };\r\n timeSlots?: TimeSlot[];\r\n suggestedAvailableTimeSlot: { startDate: string; endDate: string };\r\n availableDays?: Array;\r\n bookedTimeSlotMatches?: { id: number; free: boolean }[];\r\n teamRequest?: boolean;\r\n userBookings?: (BookingDetails & { isAttendee?: boolean; isOwner?: boolean })[];\r\n isOtherCategory?: boolean;\r\n isBookingAvailable?: boolean;\r\n conflictingSpaceBookings?: ConflictingSpaceBooking[];\r\n withoutUserBookings?: boolean;\r\n spaceAlreadySelected?: boolean;\r\n}\r\n\r\nexport interface SpaceView {\r\n id: number;\r\n name: string;\r\n setupTime: string;\r\n tearDownTime: string;\r\n spaceType: SpaceType;\r\n centerCoordinates: CenterCoordinates;\r\n sizeCoordinates: SizeCoordinates;\r\n buildingId: number;\r\n buildingDisplayName: string;\r\n floorUniqueKey: number;\r\n floorName: string;\r\n capacity: number;\r\n scopedSpaceIds: Array;\r\n isRestricted?: boolean;\r\n isManaged?: boolean;\r\n features?: { id: number; name: string; iconKey: string; iconClass?: string }[];\r\n category?: SpaceTypeCategory;\r\n}\r\n\r\nexport interface SizeCoordinates {\r\n top: number;\r\n left: number;\r\n width: number;\r\n height: number;\r\n}\r\n\r\nexport interface CenterCoordinates {\r\n x: number;\r\n y: number;\r\n pointSize: number;\r\n}\r\n\r\nexport interface FloorBookingInput extends SingleDayEventData {\r\n userId: number;\r\n floorUniqueKey: number;\r\n}\r\n\r\n// Reservation call payload modal\r\nexport interface ReservationInput {\r\n name: string;\r\n teamRequestId?: string;\r\n spaceBookings: SpaceBookingInput[];\r\n virtualBookings: VirtualBookingInput[];\r\n meetingWaitLists: MeetingWaitlistInput[];\r\n eventTypeId?: number;\r\n type?: string;\r\n status?: string;\r\n vip?: boolean;\r\n pointOfContactId?: number;\r\n seriesId?: number;\r\n reservationSpecialistId?: number;\r\n classification?: string;\r\n conflictingSpaceBookings?: ConflictingSpaceBooking[];\r\n}\r\n\r\nexport interface SpaceBookingInput {\r\n spaceId: number;\r\n name: string;\r\n setupTypeId: number;\r\n isPrivate?: boolean;\r\n attendeesCount?: number;\r\n eventTime: EventTime;\r\n spaceBookingSpecialistId?: number;\r\n primaryContactId?: number;\r\n}\r\n\r\nexport interface VirtualBookingInput {\r\n name: string;\r\n eventTime: EventTime;\r\n timeZoneIanaName: string;\r\n estimatedAttendeesCount: number;\r\n flexibleDateAndTime?: boolean;\r\n details?: string;\r\n status?: string;\r\n technologyDetails: TechnologyDetails;\r\n actualAttendeesCount?: number;\r\n additionalDetailIds?: Array;\r\n producerId?: number;\r\n facilitatorId?: number;\r\n}\r\n\r\nexport interface TechnologyDetails {\r\n connectMeetingId?: string;\r\n technology: string;\r\n link?: string;\r\n passCode?: string;\r\n accountId?: string;\r\n accountName?: string;\r\n}\r\n\r\nexport interface MeetingWaitlistInput {\r\n buildingId: number;\r\n name: string;\r\n attendeesCount: number;\r\n floorUniqueKey: number;\r\n spaceSetupTypeId: number;\r\n isPrivate: boolean;\r\n flexibleDateAndTime?: boolean;\r\n details?: string;\r\n meetingWaitListRequestType: string;\r\n spaceFeatureIds: Array;\r\n eventTime: EventTime;\r\n}\r\n\r\n// reservation verification model\r\nexport interface CreateReservationResponse {\r\n id: number;\r\n upcomingBooking: UpcomingBooking;\r\n revision: number;\r\n}\r\n\r\nexport interface UpcomingBooking {\r\n id: number;\r\n startDate: string;\r\n occurrenceDescription: string;\r\n}\r\n\r\n// Contain models of reservation wizard and team request\r\nexport interface AmenitiesCacheData {\r\n Amenities: Amenity[];\r\n LastUpdated: string | Date;\r\n}\r\n\r\nexport interface FloorPlan {\r\n mapImage?: SafeUrl;\r\n amenities?: FloorAmenity[];\r\n}\r\n\r\nexport interface StepOption {\r\n heading?: string;\r\n subHeading?: string;\r\n selected?: boolean;\r\n completed?: boolean;\r\n}\r\n\r\nexport interface TeamRequestBase {\r\n teamName?: string;\r\n buildingId: number;\r\n recurrenceRule: RecurrenceRule;\r\n users: TeamRequestUser[];\r\n businessId?: number;\r\n businessAreaId?: number;\r\n meetingTypeId?: number;\r\n neighborhoodId?: string;\r\n}\r\n\r\nexport interface TeamRequestUser {\r\n email?: string;\r\n spaceType?: string;\r\n userId?: number;\r\n spaceId?: number;\r\n}\r\n\r\nexport interface TeamRequestDraft extends TeamRequestBase {\r\n createDate: string;\r\n userCount: number;\r\n}\r\n\r\nexport interface TeamRequest {\r\n id: number;\r\n teamName: string;\r\n}\r\n\r\nexport interface TeamRequestInput {\r\n term?: string;\r\n teamName?: string;\r\n buildingIds?: number[];\r\n reservationId?: number;\r\n}\r\n\r\nexport interface TeamRequestAvailabilityInput extends TeamRequestBase {\r\n preferredFloorUniqueKey: number;\r\n}\r\n\r\nexport interface TeamRequestAvailability {\r\n floor: {\r\n uniqueKey: number;\r\n name: string;\r\n description: string;\r\n neighborhoods: Item[];\r\n };\r\n availableSpaceSummary: {\r\n requestedSpaceCount: number;\r\n foundSpaceCount: number;\r\n fullyMetRequestCriteria: boolean;\r\n };\r\n availableSpaceTypeCounts: [\r\n {\r\n requestedSpaceCount: number;\r\n foundSpaceCount: number;\r\n matchType: string;\r\n spaceType: string;\r\n }\r\n ];\r\n spaceFeatures: SpaceFeature[];\r\n spaceRecommendations: [\r\n {\r\n space: TeamRequestSpace;\r\n user: User;\r\n }\r\n ];\r\n spaceAvailabilities: TeamRequestSpace[];\r\n availableWorkstations: number;\r\n hasSpaceWithoutCoordinates: boolean;\r\n}\r\n\r\nexport interface FloorPlacement extends TeamRequestAvailability {\r\n selected: boolean;\r\n expanded: boolean;\r\n}\r\n\r\nexport interface TeamRequestSpace extends Item {\r\n spaceType: SpaceType;\r\n centerCoordinates: CenterCoordinates;\r\n sizeCoordinates: SizeCoordinates;\r\n capacity: number;\r\n availabilityType: string;\r\n inaccessibleToUser: boolean;\r\n}\r\n\r\nexport enum TeamRequestDashboardSorting {\r\n Created = 'Created',\r\n TeamName = 'TeamName',\r\n User = 'User',\r\n RequestedBy = 'RequestedBy',\r\n SpaceType = 'SpaceType',\r\n Date = 'Date',\r\n StartTime = 'StartTime',\r\n EndTime = 'EndTime',\r\n}\r\n\r\nexport enum SpaceTypes {\r\n Workstation = 'Workstation',\r\n PrivateSpace = 'PrivateSpace',\r\n MeetingRoom = 'MeetingRoom',\r\n OpenSeating = 'OpenSeating',\r\n}\r\n\r\nexport const SECONDARY_BUTTON_OPTIONS: ButtonOptions = {\r\n kind: ButtonKind.secondary\r\n};\r\nexport const PRIMARY_BUTTON_OPTIONS: ButtonOptions = {\r\n kind: ButtonKind.primaryLoud\r\n};\r\nexport const DARK_BUTTON: ButtonOptions = {\r\n kind: ButtonKind.primaryLoud\r\n};\r\nexport const LIGHT_DARK_BUTTON: ButtonOptions = {\r\n kind: ButtonKind.primary\r\n};\r\nexport const BLUE_THEME = Themes.blue;\r\nexport const LABEL_POSITION_EXTERNAL = LabelPosition.external;\r\nexport const ERROR_STATE_FOCUS_OUT = ErrorState.focusOut;\r\n\r\nexport interface FilterItem {\r\n isChecked: boolean;\r\n id?: number;\r\n label?: string;\r\n}\r\n\r\nexport enum OtherSpaceId {\r\n OpenSeating = 0,\r\n Restricted = 1,\r\n}\r\n\r\nexport enum EventOwnerBooking {\r\n Meetings,\r\n InvitedMeetings,\r\n IndividualSpaces,\r\n}\r\n\r\nexport interface FloorFilter {\r\n otherSpaces: OtherSpaceId[];\r\n ownerBookings: EventOwnerBooking[];\r\n amenities: Amenity['id'][];\r\n}\r\n\r\nexport const EVENT_OWNER_BOOKINGS: (FilterItem & { hide: (items: SpaceAvailabilityItem[]) => boolean })[] = [\r\n {\r\n label: 'Translation.Meetings',\r\n isChecked: true,\r\n id: EventOwnerBooking.Meetings,\r\n hide: (items) => {\r\n return !items.some((i) => i.space.category === SpaceTypeCategory.Meeting && i.userBookings && i.userBookings.some((b) => b.isOwner));\r\n }\r\n },\r\n {\r\n label: 'Translation.Invitedmeetings',\r\n isChecked: true,\r\n id: EventOwnerBooking.InvitedMeetings,\r\n hide: (items) => {\r\n return !items.some(\r\n (i) => i.space.category === SpaceTypeCategory.Meeting && i.userBookings && i.userBookings.some((b) => b.isAttendee)\r\n );\r\n }\r\n },\r\n {\r\n label: 'Translation.Individualspaces',\r\n isChecked: true,\r\n id: EventOwnerBooking.IndividualSpaces,\r\n hide: (items) => {\r\n return !items.some(\r\n (i) => i.space.category === SpaceTypeCategory.Individual && i.userBookings && i.userBookings.some((b) => b.isOwner)\r\n );\r\n }\r\n }\r\n];\r\n\r\nexport const OTHER_SPACES: (FilterItem & { hide: (items: SpaceAvailabilityItem[]) => boolean })[] = [\r\n {\r\n label: 'Translation.Os',\r\n isChecked: true,\r\n id: OtherSpaceId.OpenSeating,\r\n hide: (items) => {\r\n return !items.some((i) => i.space.spaceType.id === 4); // open seating id\r\n }\r\n },\r\n {\r\n label: 'Translation.Restrictedspaces',\r\n isChecked: true,\r\n id: OtherSpaceId.Restricted,\r\n hide: (items) => {\r\n return !items.some((i) => i.inaccessibleToUser);\r\n }\r\n }\r\n];\r\n\r\nexport class UnfulfilledRequest {\r\n id: string;\r\n request: TeamRequestDetails;\r\n user: User;\r\n requestedBy: User;\r\n createDate: string;\r\n spaceType: string;\r\n recurrenceRule: RecurrenceRule;\r\n building: Building;\r\n neighborhoodId: string;\r\n}\r\n\r\nexport interface CreateMeetingData {\r\n meetingName: string;\r\n meetingType: EventType;\r\n series?: Item;\r\n pointOfContact?: AssigneeResponse;\r\n vip?: boolean;\r\n makePrivate?: boolean;\r\n roomSetup?: number;\r\n otherDetails?: string;\r\n}\r\n\r\nexport enum MatchType {\r\n All = 'All',\r\n Partial = 'PartialMatch',\r\n Match = 'Match',\r\n}\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { Status } from '../../../models/masterdata.model';\r\nimport { DataContextService } from '../../../services/datacontext.service';\r\n\r\n@Component({\r\n selector: 'app-status',\r\n templateUrl: './status.component.html',\r\n styleUrls: ['./status.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class StatusComponent {\r\n @Input() withLabel = true;\r\n @Input() withBorder = false;\r\n @Input() set status(val: string) {\r\n if (!!val){\r\n this.class = val.toLowerCase();\r\n this.label = this.statuses.find(i => i.name === val)?.displayName;\r\n }\r\n }\r\n private statuses: Status[] = [];\r\n constructor(private dataContextService: DataContextService) {\r\n dataContextService.masterDadaLoaded$.subscribe((val: boolean) => {\r\n if (val) {\r\n this.statuses = [\r\n ...DataContextService.BookingStatus,\r\n ...DataContextService.MeetingWaitlistStatus,\r\n ...DataContextService.VirtualBookingStatus,\r\n ...DataContextService.ReservationStatus,\r\n ...DataContextService.TaskStatus,\r\n ...DataContextService.CateringStatus,\r\n ...DataContextService.WaitlistStatus\r\n ];\r\n }\r\n })\r\n }\r\n\r\n class: string;\r\n label: string;\r\n}\r\n","
\r\n \r\n {{label | translate}}\r\n {{label | translate}}\r\n
\r\n","import { Component, OnInit, Input, Output, EventEmitter, Self, Optional, TemplateRef, forwardRef, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\r\nimport { Subject } from 'rxjs';\r\nimport { debounceTime, tap } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-search',\r\n templateUrl: './search.component.html',\r\n styleUrls: ['./search.component.less'],\r\n})\r\nexport class SearchComponent implements OnInit, ControlValueAccessor, OnChanges {\r\n @Input() placeholder: string;\r\n @Input() debounceTime: number = 300;\r\n @Input() size: string;\r\n @Input() customClass: string;\r\n @Input() isDisabled = false;\r\n @Input() maxLength = 0;\r\n @Input()\r\n set value(val: any) {\r\n this.searchValue = val;\r\n if (val) {\r\n if (typeof val === 'string') this.searchValue = val;\r\n else this.searchValue = val[this.labelKey];\r\n }\r\n }\r\n @Input() minChar: number = 3;\r\n @Input() loader: boolean = true;\r\n @Input() label: string;\r\n @Input() isRequired: boolean;\r\n @Input() isError: boolean = true;\r\n @Input() errorMessage: string;\r\n @Input() template: TemplateRef;\r\n @Input()\r\n set stopLoader(val: boolean) {\r\n if (typeof val === 'boolean') this.showLoader = !val;\r\n }\r\n @Input() labelKey: string = 'label';\r\n @Input() valueKey: string = 'value';\r\n @Input() description: string = '';\r\n @Input() highlight: boolean = false;\r\n @Input() list: any[] = [];\r\n @Input() listMaxHeight: number = 150;\r\n @Input() overflowLimit: number = 10;\r\n @Input() onlySearch: boolean = false;\r\n\r\n _list: ListItem[] = [];\r\n searchValue: string = '';\r\n searchValue$: Subject = new Subject();\r\n showLoader: boolean = false;\r\n opened: boolean = false;\r\n noResultsFound: boolean = false;\r\n focus: boolean = false;\r\n\r\n @Output() changeValue: EventEmitter = new EventEmitter();\r\n @Output() fieldCleared: EventEmitter = new EventEmitter();\r\n @Output() selected: EventEmitter = new EventEmitter();\r\n\r\n touch: any = () => {};\r\n change: any = () => {};\r\n\r\n constructor(@Self() @Optional() private ngControl: NgControl) {\r\n ngControl && (ngControl.valueAccessor = this);\r\n }\r\n writeValue(val: any): void {\r\n this.searchValue = val;\r\n if (val) {\r\n if (typeof val === 'string') this.searchValue = val;\r\n else this.searchValue = val[this.labelKey];\r\n }\r\n }\r\n registerOnChange(fn: any): void {\r\n this.change = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.touch = fn;\r\n }\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.isDisabled = isDisabled;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.handleValueChange();\r\n }\r\n ngOnChanges(changes: SimpleChanges) {\r\n const { list } = changes;\r\n if (list && list.currentValue) {\r\n this._list = this.list\r\n .filter((i, index) => index < this.overflowLimit)\r\n .map((val) => {\r\n const item: ListItem = {\r\n heading: val[this.labelKey],\r\n value: val[this.valueKey],\r\n };\r\n return item;\r\n });\r\n this.noResultsFound = this._list.length ? false : true;\r\n }\r\n }\r\n private handleValueChange() {\r\n this.searchValue$\r\n .pipe(\r\n tap((_) => {\r\n if (this.ngControl) this.ngControl.control.markAsDirty();\r\n\r\n this._list = [];\r\n this.noResultsFound = false;\r\n }),\r\n debounceTime(this.debounceTime)\r\n )\r\n .subscribe((val: string) => {\r\n if (val.length >= this.minChar) {\r\n if (this.loader) this.showLoader = true;\r\n this.opened = true;\r\n if (this.onlySearch) {\r\n this.change(val);\r\n }\r\n this.changeValue.emit(val);\r\n }\r\n if (!val.length) {\r\n if (this.onlySearch) this.change(val);\r\n this.clear();\r\n }\r\n });\r\n }\r\n clear() {\r\n this.change('');\r\n this.touch();\r\n if (this.ngControl) this.ngControl.control.markAsDirty();\r\n this.opened = false;\r\n this.fieldCleared.emit();\r\n this.searchValue = '';\r\n this.focus = false;\r\n }\r\n focusin() {\r\n this.touch();\r\n this.focus = true;\r\n }\r\n click(event: MouseEvent) {\r\n event.stopPropagation();\r\n }\r\n get showError() {\r\n if (!this.focus) {\r\n if (this.ngControl) {\r\n return this.ngControl.invalid && this.ngControl.touched;\r\n }\r\n return this.isError;\r\n }\r\n }\r\n select(item: ListItem) {\r\n this.searchValue = item.heading;\r\n const selected = this.list.find((i) => i[this.valueKey] === item.value);\r\n this.change(selected);\r\n this.selected.emit(selected);\r\n this.opened = false;\r\n }\r\n}\r\ninterface ListItem {\r\n heading: string;\r\n value: string;\r\n}\r\n","
\r\n \r\n
\r\n \r\n 0 ? maxLength : 'none'\"\r\n />\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n {{ item.heading }}\r\n
\r\n
\r\n
overflowLimit\" class=\"warning\">\r\n {{ \"Translation.Foundtoomanymatches\" | translate }}\r\n
\r\n
\r\n
\r\n {{ \"Translation.No_results_found\" | translate }}\r\n
\r\n
\r\n
\r\n
\r\n
{{ errorMessage }}
\r\n
\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AppToggleGroupComponent } from './app-toggle-group.component';\r\nimport { AppToggleComponent } from './app-toggle/app-toggle.component';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [AppToggleGroupComponent, AppToggleComponent],\r\n imports: [\r\n CommonModule,\r\n TranslateModule\r\n ],\r\n exports: [\r\n AppToggleComponent,\r\n AppToggleGroupComponent\r\n ]\r\n})\r\nexport class ToggleModule { }\r\n","import {Component, OnInit, ViewChild} from '@angular/core';\r\nimport {FormGroup} from '@angular/forms';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { UserDetail, UserNotificationResponse } from '../../../models/users.model';\r\nimport { UserService } from '../../../services/APIs/Users/userservice';\r\nimport { DataContextService } from '../../../services/datacontext.service';\r\nimport { PreferencesCurrentViewService } from '../../../services/preferences/preferences-current-view';\r\nimport { TooltipDirective } from '../../../shared/components/tooltip/tooltip.directive';\r\n\r\n@Component({\r\n selector: 'app-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.less']\r\n})\r\nexport class HeaderComponent implements OnInit {\r\n form: FormGroup;\r\n showSearch: boolean = false;\r\n notifications$: BehaviorSubject = new BehaviorSubject([]);\r\n userDetails: UserDetail;\r\n isActiveView: boolean = true;\r\n\r\n @ViewChild('notificationTooltip') notificationTooltip: TooltipDirective;\r\n constructor(private userService: UserService, private preferenceCurrentViewService: PreferencesCurrentViewService) {\r\n // Phase 1 - Commenting user notification calls as user cannot create team requests hence will not get any notification\r\n // setInterval(_ => this.getUserNotifications(), 3 * 60 * 1000);\r\n this.userDetails = DataContextService.UserData;\r\n // DataContextService.getUserNotificationDataEvent().subscribe((res) =>{\r\n // if(res) {\r\n // this.getUserNotifications();\r\n // }\r\n // })\r\n this.preferenceCurrentViewService.currentView$.subscribe((res) => {\r\n this.isActiveView = res.building.length ? true : false;\r\n })\r\n }\r\n ngOnInit(): void {\r\n // Phase 1 - Commenting user notification calls as user cannot create team requests hence will not get any notification\r\n // this.getUserNotifications();\r\n }\r\n private getUserNotifications() {\r\n this.userService.getUserNotifications().subscribe((res: UserNotificationResponse[]) => {\r\n this.notifications$.next(res);\r\n });\r\n }\r\n removeNotification(id: number) {\r\n this.notificationTooltip.hide();\r\n // Phase 1 - Commenting user notification calls as user cannot create team requests hence will not get any notification\r\n // this.userService.removeUserNotification(id).subscribe(_ => this.getUserNotifications());\r\n setTimeout(() => this.notificationTooltip.show(), 500);\r\n }\r\n}\r\n","
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n {{'Translation.Notification' | translate}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DataTableComponent } from './data-table.component';\r\nimport { DataTableRowComponent } from './data-table-row/data-table-row.component';\r\nimport { DataTableCellComponent } from './data-table-cell/data-table-cell.component';\r\nimport { DataTableHeaderComponent } from './data-table-header/data-table-header.component';\r\nimport { DataTableBodyComponent } from './data-table-body/data-table-body.component';\r\nimport { DataTableHeaderCellComponent } from './data-table-header-cell/data-table-header-cell.component';\r\nimport { DataTableSearchComponent } from './data-table-search/data-table-search.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { PaginatorComponent } from './paginator/paginator.component';\r\nimport { PaginationModule } from '@usitsdasdesign/dds-ng/pagination';\r\nimport { DataTableFilterComponent } from './data-table-filter/data-table-filter.component';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { ResizeHandlerModule } from '@usitsdasdesign/dds-ng/shared/resize-handler';\r\nimport { EllipsisTooltipModule } from '../../directives/ellipsis-tooltip/ellipsis-tooltip.module';\r\nimport { TooltipModule } from '../tooltip/tooltip.module';\r\nimport { SelectModule } from '../select/select.module';\r\nimport { ButtonModule } from '../button/button.module';\r\nimport { NumberedPaginationModule } from '../numbered-pagination/numbered-pagination.module';\r\nimport { SearchModule } from '../search/search.module';\r\n\r\n@NgModule({\r\n declarations: [\r\n DataTableComponent,\r\n DataTableRowComponent,\r\n DataTableCellComponent,\r\n DataTableHeaderComponent,\r\n DataTableBodyComponent,\r\n DataTableHeaderCellComponent,\r\n DataTableSearchComponent,\r\n PaginatorComponent,\r\n DataTableFilterComponent,\r\n ],\r\n exports: [\r\n DataTableComponent,\r\n DataTableRowComponent,\r\n DataTableCellComponent,\r\n DataTableHeaderComponent,\r\n DataTableBodyComponent,\r\n DataTableHeaderCellComponent,\r\n DataTableSearchComponent,\r\n PaginatorComponent,\r\n DataTableFilterComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n PaginationModule,\r\n SelectModule,\r\n ButtonModule,\r\n TranslateModule,\r\n ResizeHandlerModule,\r\n TooltipModule,\r\n EllipsisTooltipModule,\r\n NumberedPaginationModule,\r\n SearchModule\r\n ]\r\n})\r\nexport class DataTableModule {\r\n}\r\n","import { DataContextService } from 'src/app/services/datacontext.service';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { RoutesConfig } from '../../../configs/routes.config';\r\nimport { MsalService } from '@azure/msal-angular';\r\nimport { OAuthService } from 'angular-oauth2-oidc';\r\n\r\n\r\n@Component({\r\n selector: 'app-user-profile-side-menu',\r\n templateUrl: './user-profile-side-menu.component.html',\r\n styleUrls: ['./user-profile-side-menu.component.less'],\r\n})\r\nexport class UserProfileSideMenuComponent implements OnInit {\r\n @Input() isSideMenuToggle = false;\r\n isUserMenuOpen = false;\r\n termOfUseLink: string;\r\n privacyStatementLink: string;\r\n readonly ROUTES_CONFIG = RoutesConfig.pages;\r\n // TODO: remove mock user data\r\n user: any = {\r\n image: 'assets/icons/userpic.svg',\r\n name: 'Robert Parker',\r\n position: 'Project Manager',\r\n };\r\n\r\n get userData() {\r\n return DataContextService.UserData;\r\n }\r\n\r\n get userInitials(): string {\r\n return this.userData\r\n ? this.userData.firstName && this.userData.lastName\r\n ? this.userData.firstName?.charAt(0) + this.userData.lastName?.charAt(0)\r\n : this.userData.userName?.substring(0, 2)\r\n : '';\r\n }\r\nconstructor(private authService:OAuthService, private dataContextService: DataContextService) {\r\n dataContextService.masterDadaLoaded$.subscribe((val: boolean) => {\r\n if (val) {\r\n this.termOfUseLink = this.getLinkValue('TermsOfUseURL');\r\n this.privacyStatementLink = this.getLinkValue('PrivacyURL');\r\n }\r\n })\r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n openUserMenu(): void {\r\n this.isUserMenuOpen = !this.isUserMenuOpen;\r\n }\r\n\r\n logout(): void {\r\n window['hotelingDataToken'] = undefined;\r\n this.authService.logOut();\r\n }\r\n navigate() {\r\n window.open(`/${this.ROUTES_CONFIG.preferences}`, '_blank');\r\n }\r\n private getLinkValue(key: string): string | null{\r\n const property = DataContextService.MemberFirmConfigurations.find(i => i.name === key);\r\n if (property)\r\n return property.value;\r\n else\r\n return null;\r\n }\r\n}\r\n","
\r\n \r\n \r\n \r\n
    \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    {{ userData?.firstName }} {{ userData?.lastName }}
    \r\n
    {{ userData?.shortTitle }}
    \r\n
    \r\n
    \r\n \r\n \r\n
  • \r\n\r\n \r\n \r\n
    \r\n \"User\r\n
    \r\n
    \r\n
    {{ user.name }}
    \r\n
    {{ user.position }}
    \r\n
    \r\n
    \r\n
\r\n
\r\n","import {ChangeDetectionStrategy, Component, HostBinding, Input} from '@angular/core';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'td[appTd]',\r\n templateUrl: './data-table-cell.component.html',\r\n styleUrls: ['./data-table-cell.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class DataTableCellComponent {\r\n @HostBinding('class.data-table__cell') class = true;\r\n @Input() disabled: boolean = false;\r\n\r\n constructor() {\r\n }\r\n\r\n}\r\n","
\r\n\r\n","import { SelectedOwnerItem } from '../shared/components/owner-search/owner-search.component';\r\nimport { BookingDetails } from './bookings.model';\r\nimport { SortOrder } from './common.enums';\r\nimport { AvailabilityType, EventTime, RecurrenceRule, SingleDayEventData, SpaceView } from './find-a-space.model';\r\nimport { DashboardFeature, DashboardSorting, PointOfContactSearchCriteria, SpecialistSearchCriteria, User } from './dashboard-common.model';\r\nimport { EventType, IdWithRevision, Item, ItemWithDescription, SpaceSetupType, SpaceType, StatusReason } from './masterdata.model';\r\nimport { IDynamicTab } from '../common/dynamic-tabs/models/dynamic-tabs.model';\r\nimport { MultiSelectItem } from '@usitsdasdesign/dds-ng/multi-select';\r\n\r\nexport interface MeetingsDashboardInput {\r\n limit?: number;\r\n page: number;\r\n term?: string;\r\n buildingIds?: number[];\r\n statusTypes?: string[];\r\n classifications?: string[];\r\n pointOfContactSearchCriteria?: PointOfContactSearchCriteria;\r\n reservationSpecialistSearchCriteria?: SpecialistSearchCriteria;\r\n startDate: string;\r\n endDate: string;\r\n meetingDashboardSortings?: DashboardSorting[];\r\n features?: string;\r\n assignedToMe?: boolean;\r\n seriesIds?: number[];\r\n searchableFields?: string;\r\n isConsultationRequested?: boolean;\r\n}\r\n\r\nexport interface MeetingDashboardResponse {\r\n items: MeetingDashboardItem[];\r\n totalCount: number;\r\n}\r\n\r\nexport interface MeetingDashboardItem {\r\n buildingNames: string[];\r\n reservationId: number;\r\n reservationName: string;\r\n startDate: string;\r\n endDate: string;\r\n classification: string;\r\n createDate: string;\r\n locationCount: number;\r\n estimatedAttendeesCount: number;\r\n reservationSpecialist: User;\r\n pointOfContact: User;\r\n status: string;\r\n canCancel: boolean;\r\n canEdit: boolean;\r\n revision: number;\r\n isMultiBuilding: boolean;\r\n technologyType: string;\r\n bookingCount: number;\r\n vip: boolean;\r\n hasCatering: boolean;\r\n hasCateringContactMeLater: boolean;\r\n hasAttachments: boolean;\r\n hasTask: boolean;\r\n hasComments: boolean;\r\n hasCommentsAlert: boolean;\r\n consultationRequested: boolean;\r\n}\r\n\r\nexport interface ReservationItemsInput {\r\n limit?: number;\r\n page?: number;\r\n itemTypes?: ReservationItemType[];\r\n buildingIds?: number[];\r\n spaceTypes?: string[];\r\n spaceBookingStatus?: string[];\r\n meetingWaitListStatus?: string[];\r\n bookingSpecialistSearchCriteria?: SpecialistSearchCriteria;\r\n features?: DashboardFeature | string;\r\n reservationItemSortings?: DashboardSorting[];\r\n}\r\n\r\nexport interface ReservationItemsResponse {\r\n items: Array;\r\n totalCount: number;\r\n reservationItemFacets: ReservationItemFacets;\r\n itemCount: {\r\n meetingWaitList: ReservationItemCount;\r\n virtualBooking: ReservationItemCount;\r\n spaceBooking: ReservationItemCount;\r\n };\r\n}\r\n\r\nexport interface ReservationItemFacets {\r\n spaceBookingSpecialists: User[];\r\n buildings: MultiSelectItem[];\r\n spaces: ReservationItemSpace[];\r\n}\r\n\r\nexport interface ReservationItemSpace {\r\n id: number;\r\n name: string;\r\n buildingId: number;\r\n buildingDisplayName: string;\r\n floorUniqueKey: number;\r\n floorName: string;\r\n spaceType: SpaceType;\r\n capacity: number;\r\n centerCoordinates: { x: number; y: number; pointSize: number };\r\n sizeCoordinates: { top: number; left: number; height: number; width: number };\r\n}\r\n\r\nexport interface ReservationItem {\r\n startDate: string;\r\n endDate: string;\r\n itemType: string;\r\n timeZoneAbbreviation: string;\r\n virtualBooking: ReservationItemVirtualBooking;\r\n spaceBooking: ReservationItemSpaceBooking;\r\n meetingWaitList: ReservationItemMeetingWaitList;\r\n}\r\n\r\nexport interface ReservationItemVirtualBooking {\r\n virtualBookingTechnologyTypes: string;\r\n id: string;\r\n status: string;\r\n producer: User;\r\n facilitator: User;\r\n canEdit: boolean;\r\n canCancel: boolean;\r\n name: string;\r\n}\r\n\r\nexport interface ReservationItemSpaceBooking extends Item {\r\n space: ReservationItemSpace;\r\n specialist: User;\r\n status: string;\r\n canCancel: boolean;\r\n canEdit: boolean;\r\n canCheckin: boolean;\r\n canSnooze: boolean;\r\n revision: number;\r\n}\r\n\r\nexport interface ReservationItemMeetingWaitList {\r\n id: number;\r\n buildingDisplayName: string;\r\n floorName: string;\r\n status: string;\r\n spaceBookingId: number;\r\n canCancel: boolean;\r\n canEdit: boolean;\r\n name: string;\r\n}\r\n\r\nexport interface ReservationItemCount {\r\n active: number;\r\n total: number;\r\n}\r\n\r\nexport interface ReservationDetails extends Item {\r\n startDate: string;\r\n endDate: string;\r\n spaceBookings: BookingDetails[];\r\n virtualBookings: VirtualBookingDetails[];\r\n meetingWaitLists: MeetingWaitListDetails[];\r\n eventType: Item;\r\n teamRequest: {\r\n id: string;\r\n teamName: string;\r\n };\r\n vip: boolean;\r\n pointOfContact: User;\r\n series: Item;\r\n classification: string;\r\n actualAttendeesCount: number;\r\n estimatedAttendeesCount: number;\r\n business: Item;\r\n businessArea: Item;\r\n specialist: User;\r\n owner: User;\r\n status: string;\r\n statusReason: StatusReason;\r\n application: Item;\r\n allowedStatusActions: string[];\r\n canEdit: boolean;\r\n canCancel: boolean;\r\n type: string;\r\n revision: number;\r\n stopSeriesDate: string;\r\n sourceApplication: string;\r\n itemCount: {\r\n meetingWaitList: ReservationItemCount;\r\n virtualBooking: ReservationItemCount;\r\n spaceBooking: ReservationItemCount;\r\n };\r\n}\r\n\r\nexport interface VirtualBookingDetails extends Item {\r\n referenceNumber: number;\r\n status: string;\r\n statusReason: StatusReason;\r\n comment: string;\r\n startDate: string;\r\n endDate: string;\r\n technologyDetails: TechnologyDetails;\r\n additionalDetailIds: number[];\r\n estimatedAttendeesCount: number;\r\n timeZoneIanaName: string;\r\n producer: User;\r\n facilitator: User;\r\n createDate: string;\r\n createBy: User;\r\n reservationId: number;\r\n flexibleDateAndTime: boolean;\r\n details: string;\r\n isRecurrent: boolean;\r\n canEdit: boolean;\r\n canCancel: boolean;\r\n hasAttendee: boolean;\r\n hasTask: boolean;\r\n hasAttachments: boolean;\r\n hasCommentsAlert: boolean;\r\n partOfHybridEvent: boolean;\r\n timeZoneAbbreviation: string;\r\n actualAttendeesCount: number;\r\n timeZoneName: string;\r\n revision: number;\r\n virtualBookingReferenceNumber: string;\r\n consultationRequested: boolean;\r\n consultationProvided: boolean;\r\n}\r\n\r\nexport interface TechnologyDetails {\r\n connectMeetingId: string;\r\n technology: VirtualBookingTechnology;\r\n link: string;\r\n passCode: string;\r\n accountId: string;\r\n accountName: string;\r\n}\r\n\r\nexport interface MeetingWaitListDetails extends Item {\r\n buildingId: number;\r\n buildingDisplayName: string;\r\n attendeesCount: number;\r\n hasAttendees: boolean;\r\n createDate: string;\r\n startDate: string;\r\n endDate: string;\r\n floorUniqueKey: number;\r\n floorName: string;\r\n spaceSetup: ItemWithDescription;\r\n isPrivate: boolean;\r\n isRecurrent: boolean;\r\n details: string;\r\n flexibleDateAndTime: boolean;\r\n hasCatering: boolean;\r\n cateringOrderId: number;\r\n canCancel: boolean;\r\n canEdit: boolean;\r\n revision: number;\r\n owner: User;\r\n meetingWaitListRequestType: string;\r\n reservationId: number;\r\n meetingWaitListStatusType: MeetingWaitlistStatus;\r\n statusReason: StatusReason;\r\n comment: string;\r\n fulfillmentDetails: {\r\n spaceBookingId: number;\r\n spaceName: string;\r\n };\r\n spaceFeatureIds: number[];\r\n eventRegisterStatus: string;\r\n partOfHybridEvent: boolean;\r\n timeZoneAbbreviation: string;\r\n}\r\n\r\nexport enum VirtualBookingTechnology {\r\n VideoEnabled = 'VideoEnabled',\r\n Webinar = 'Webinar',\r\n LiveStreaming = 'LiveStreaming',\r\n MultiComplex = 'MultiComplex',\r\n WebExTeams = 'WebExTeams',\r\n}\r\n\r\nexport enum MeetingWaitlistStatus {\r\n Requested = 'Requested',\r\n Pending = 'Pending',\r\n Confirmed = 'Confirmed',\r\n Unfulfilled = 'Unfulfilled',\r\n Cancelled = 'Cancelled',\r\n}\r\n\r\nexport enum VirtualBookingStatus {\r\n Requested = 'Requested',\r\n Pending = 'Pending',\r\n Confirmed = 'Confirmed',\r\n Unfulfilled = 'Unfulfilled',\r\n Cancelled = 'Cancelled',\r\n}\r\n\r\nexport interface EditReservationDetails {\r\n name: string;\r\n teamRequestId?: string;\r\n eventTypeId: number;\r\n ownerId: number;\r\n revision: number;\r\n vip: boolean;\r\n pointOfContactId?: number;\r\n seriesId?: number;\r\n actualAttendeesCount?: number;\r\n estimatedAttendeesCount?: number;\r\n businessId?: number;\r\n businessAreaId?: number;\r\n specialistId?: number;\r\n status: string;\r\n statusReasonId?: number;\r\n statusComment?: string;\r\n stopSeriesDate?: string;\r\n spaceBookingActualAttendeesCounts?: {\r\n spaceBookingId: number;\r\n actualAttendeesCount: number;\r\n }[];\r\n virtualBookingActualAttendeesCounts?: {\r\n virtualBookingId: string;\r\n actualAttendeesCount: number;\r\n }[];\r\n}\r\n\r\nexport interface BulkEditInput {\r\n name: BulkEditField;\r\n specialistId: BulkEditField;\r\n setupTypeId: BulkEditField;\r\n attendeesCount: BulkEditField;\r\n startDate: BulkEditField;\r\n startTime: BulkEditField;\r\n endTime: BulkEditField;\r\n spaceBookings: IdWithRevision[];\r\n}\r\n\r\nexport interface BulkEditField {\r\n value: string | number;\r\n specified: boolean;\r\n}\r\n\r\nexport interface BulkChangeSpaceInput {\r\n spaceBookings: BulkChangeSpaceBooking[];\r\n}\r\n\r\nexport interface BulkChangeSpaceBooking extends IdWithRevision {\r\n spaceId: number;\r\n}\r\n\r\nexport interface BulkInput {\r\n reservationTargetType: ReservationTargetType;\r\n newReservationData?: BulkNewReservationInput;\r\n startDate?: string;\r\n existingReservationData?: {\r\n id: 0;\r\n };\r\n spaceBookings: Array<{ id: number }>;\r\n meetingWaitLists: Array<{ id: number }>;\r\n}\r\n\r\nexport interface BulkCopyInput extends BulkInput {\r\n virtualBookings?: [{ id: string }];\r\n startDate: string;\r\n}\r\n\r\nexport interface BulkNewReservationInput {\r\n name: string;\r\n eventTypeId: number;\r\n pointOfContactId: number;\r\n vip: boolean;\r\n}\r\n\r\nexport enum ReservationItemType {\r\n MeetingRequest = 'MeetingRequest',\r\n VirtualBooking = 'VirtualBooking',\r\n SpaceBooking = 'SpaceBooking',\r\n}\r\n\r\nexport enum ReservationTargetType {\r\n New = 'New',\r\n Existing = 'Existing',\r\n}\r\n\r\nexport enum ReservationFeature {\r\n Undefined = 'Undefined',\r\n IncludeVirtualBookings = 'IncludeVirtualBookings',\r\n IncludeMeetingWaitLists = 'IncludeMeetingWaitLists',\r\n IncludeSpaceBookings = 'IncludeSpaceBookings',\r\n IncludeAllowedStatusActions = 'IncludeAllowedStatusActions',\r\n IncludeItemCount = 'IncludeItemCount',\r\n}\r\n\r\nexport interface SpaceAvailabilityInput {\r\n spaceIds: number[];\r\n eventTime: EventTime;\r\n availabilityExcludeBookingIds: number[];\r\n features: string;\r\n}\r\n\r\nexport interface SpaceAvailabilityResponseItem {\r\n space: SpaceView;\r\n isFavorite: boolean;\r\n inaccessibleToUser: boolean;\r\n rank: boolean;\r\n colleagues: SpaceAvailabilityUser[];\r\n availabilityType: string;\r\n timeSlots: TimeSlot[];\r\n suggestedAvailableTimeSlot: {\r\n startDate: string;\r\n endDate: string;\r\n };\r\n availableDays: string[];\r\n bookedTimeSlotMatches: TimeSlot[];\r\n}\r\n\r\nexport interface SpaceAvailabilityUser {\r\n id: number;\r\n firstName: string;\r\n lastName: string;\r\n email: string;\r\n}\r\n\r\nexport interface TimeSlot {\r\n id?: number;\r\n startDate?: string;\r\n endDate?: string;\r\n free: boolean;\r\n bookings: SpaceAvailabilityBooking[];\r\n}\r\n\r\nexport interface SpaceAvailabilityBooking {\r\n startDate: string;\r\n endDate: string;\r\n id: number;\r\n setupTime: string;\r\n tearDownTime: string;\r\n user: SpaceAvailabilityUser;\r\n}\r\n\r\nexport interface TeamRequestDashboardInput {\r\n term?: string;\r\n features?: DashboardFeature;\r\n teamRequestId?: string;\r\n startDate: string;\r\n endDate: string;\r\n orderType?: SortOrder;\r\n teamRequestItemDashboardSortingType?: TeamRequestDashboardSorting;\r\n spaceTypes?: string[];\r\n userIds?: number[];\r\n requestedByIds?: number[];\r\n buildingIds?: number[];\r\n limit?: number;\r\n page?: number;\r\n}\r\n\r\nexport interface TeamRequestDashboardResponse {\r\n items: TeamRequestDashboardItem[];\r\n totalCount: number;\r\n facets: {\r\n requesters: User[];\r\n };\r\n}\r\n\r\nexport interface TeamRequestDashboardItem {\r\n id: string;\r\n request: TeamRequest;\r\n user: User;\r\n requestedBy: User;\r\n createDate: string;\r\n spaceType: SpaceType;\r\n recurrenceRule: RecurrenceRule;\r\n businessId: number;\r\n buildingName: string;\r\n neighborhoodId: string;\r\n}\r\n\r\nexport enum TeamRequestDashboardSorting {\r\n Created = 'Created',\r\n TeamName = 'TeamName',\r\n User = 'User',\r\n RequestedBy = 'RequestedBy',\r\n SpaceType = 'SpaceType',\r\n Date = 'Date',\r\n StartTime = 'StartTime',\r\n EndTime = 'EndTime',\r\n}\r\n\r\nexport enum SpaceTypes {\r\n Workstation = 'Workstation',\r\n PrivateSpace = 'PrivateSpace',\r\n MeetingRoom = 'MeetingRoom',\r\n OpenSeating = 'OpenSeating',\r\n}\r\n\r\nexport interface TeamRequest {\r\n id: number;\r\n teamName: string;\r\n}\r\n\r\nexport interface TeamRequestDashboardValue {\r\n buildings: { id: number }[];\r\n owners: SelectedOwnerItem[];\r\n requestors: SelectedOwnerItem[];\r\n spaceTypes: string[];\r\n dates: Date[];\r\n term: string;\r\n property: TeamRequestDashboardSorting;\r\n order: SortOrder;\r\n}\r\n\r\nexport interface TeamRequestPreferenceData {\r\n buildings?: { id: number }[];\r\n spaceTypes?: string[];\r\n form?: TeamRequestDashboardValue;\r\n}\r\n\r\n// MR dashboard In-Office\r\n// Payload model\r\nexport interface InOfficeDashboardRequest {\r\n term: string;\r\n startDate: string;\r\n endDate: string;\r\n hasCatering?: boolean;\r\n meetingWaitListBuildingSearchCriterias?: {\r\n buildingId: number;\r\n meetingWaitListFloorSearchCriteria: { any: boolean; floorUniqueKeys: number[] };\r\n }[];\r\n meetingWaitListStatusTypes?: string[];\r\n meetingWaitListRequestTypes?: string[];\r\n eventTypeIds?: number[];\r\n reservationSpecialistSearchCriteria?: { specialistIds: number[]; notAssigned?: boolean };\r\n pointOfContactId?: number | null;\r\n meetingWaitListSorting?: { meetingWaitListSortingType: string; orderType: string }[];\r\n features?: DashboardFeature;\r\n limit?: number;\r\n page?: number;\r\n}\r\n\r\n// Response model\r\n\r\nexport interface MeetingWaitlistDashboard {\r\n items: MeetingWaitlist[];\r\n totalCount?: number;\r\n meetingWaitListDashboardFacets: { reservationSpecialists: User[] };\r\n}\r\n\r\nexport interface MeetingWaitlist {\r\n id: number;\r\n name: string;\r\n owner: User;\r\n attendeesCount: number;\r\n hasAttendees: boolean;\r\n createDate: string;\r\n startDate: string;\r\n endDate: string;\r\n floorUniqueKey: number;\r\n floorName: string;\r\n eventType: EventType;\r\n spaceSetupType: SpaceSetupType;\r\n flexibleDateAndTime: boolean;\r\n cateringOrderId: number;\r\n contactMeLater: boolean;\r\n meetingWaitListRequestType: Item;\r\n meetingWaitListStatusType: Item;\r\n reservationId: number;\r\n partOfHybridEvent: boolean;\r\n vip: boolean;\r\n reservationSpecialist: User;\r\n pointOfContact: User;\r\n meetingWaitListRevision: number;\r\n reservationRevision: number;\r\n timeZoneAbbreviation: string;\r\n buildingName: string;\r\n\r\n // assigned in UI\r\n isCurrentDate?: boolean;\r\n reservationName?: string;\r\n specialistSearchOpen?: boolean;\r\n requestTypeChangeOpen?: boolean;\r\n reservationStatusType?:string;\r\n}\r\n\r\n// virtual dashboard\r\n\r\n// payload model\r\nexport interface VirtualDashboardRequest {\r\n term?: string;\r\n startDate: string;\r\n endDate: string;\r\n status?: string[];\r\n features?: DashboardFeature;\r\n virtualBookingDashboardSortings?: { property: string; order: string }[]; // DashboardSorting[];\r\n eventTypeIds?: number[];\r\n hasCommentsAlerts?: boolean;\r\n hasAttachments?: boolean;\r\n hasTasks?: boolean;\r\n assignedToMe?: boolean;\r\n limit?: number;\r\n page?: number;\r\n reservationSpecialistSearchCriteria?: { specialistIds: number[]; notAssigned?: boolean };\r\n facilitatorSearchCriteria?: { facilitatorIds: number[]; notAssigned?: boolean };\r\n producerSearchCriteria?: { producerIds: number[]; notAssigned?: boolean };\r\n isConsultationRequested?: boolean;\r\n}\r\n\r\n// response model\r\nexport interface VirtualBookingsDashboard {\r\n items: VirtualBookings[];\r\n totalCount: number | null;\r\n virtualBookingFacets: VirtualBookingDashBoardFacet;\r\n\r\n reservationId(reservationId: any, id: number): unknown;\r\n}\r\n\r\nexport interface VirtualBookings {\r\n reservationId: number;\r\n virtualBookingReferenceNumber: string;\r\n virtualBookingId: string;\r\n bookingName: string;\r\n startDate: string;\r\n endDate: string;\r\n statusType: string;\r\n partOfHybridEvent: boolean;\r\n reservationSpecialist?: User;\r\n pointOfContact: User;\r\n facilitator?: User;\r\n producer?: User;\r\n owner: User;\r\n eventTypeName: string;\r\n createDate: string;\r\n vip: boolean;\r\n timeZoneIanaName: string;\r\n flexibleDateAndTime: boolean;\r\n hasAttendees: boolean;\r\n hasTask: boolean;\r\n hasAttachments: boolean;\r\n hasCommentsAlert: boolean;\r\n reservationRevision: number;\r\n virtualBookingRevision: number;\r\n timeZoneAbbreviation: string;\r\n\r\n // assigned in UI\r\n isCurrentDate?: boolean;\r\n reservationName?: string;\r\n specialistSearchOpen?: boolean;\r\n producerSearchOpen?: boolean;\r\n facilitatorSearchOpen?: boolean;\r\n consultationRequested: boolean;\r\n consultationProvided: boolean;\r\n reservationStatusType?:string;\r\n}\r\n\r\nexport interface VirtualBookingDashBoardFacet {\r\n reservationSpecialists: User[];\r\n producers: User[];\r\n facilitators: User[];\r\n}\r\n\r\n//details response\r\nexport interface CateringCount {\r\n taskCount: number;\r\n taskDueCount: number;\r\n commentCount: number;\r\n cateringCount: number;\r\n cateringDueCount: number;\r\n attachmentCount: number;\r\n}\r\n\r\nexport interface InOfficeDetails {\r\n meetingWaitlist: MeetingWaitListDetails;\r\n reservation: ReservationDetails;\r\n cateringCount?: CateringCount;\r\n}\r\n\r\nexport enum SpaceAvailabilityStatus {\r\n Match = 'Match',\r\n AvailableRestricted = 'AvailableRestricted',\r\n PartialMatch = 'PartialMatch',\r\n PartialMatchRestricted = 'PartialMatchRestricted',\r\n}\r\n\r\nexport const SpaceAvailabilityStatusName = new Map([\r\n [SpaceAvailabilityStatus[SpaceAvailabilityStatus.Match], 'Translation.Match'],\r\n [SpaceAvailabilityStatus[SpaceAvailabilityStatus.AvailableRestricted], 'Translation.Available_restricted'],\r\n [SpaceAvailabilityStatus[SpaceAvailabilityStatus.PartialMatch], 'Translation.Partial_match'],\r\n [SpaceAvailabilityStatus[SpaceAvailabilityStatus.PartialMatchRestricted], 'Translation.Partial_match_restricted'],\r\n]);\r\n\r\nexport interface MRRecommendation {\r\n totalCount: number;\r\n items: MRRecommendationItem[];\r\n}\r\n\r\nexport interface MRRecommendationItem {\r\n isRestricted: boolean;\r\n isManaged: boolean;\r\n startDate: string;\r\n endDate: string;\r\n floorName: string;\r\n floorUniqueKey: number;\r\n spaceId: number;\r\n spaceName: string;\r\n capacity: number;\r\n matchType: SpaceAvailabilityStatus;\r\n roomFeatures: number[];\r\n tearDownTime: string;\r\n spaceSetupTime: string;\r\n availabilityType: AvailabilityType;\r\n spaceType: SpaceType;\r\n timeRange: string;\r\n}\r\n\r\nexport interface ConfirmMRModel {\r\n spaceId: number;\r\n singleDayEventData: SingleDayEventData;\r\n spaceBookingSpecialistId?: number;\r\n reservationSpecialistId?: {\r\n value: number;\r\n specified: boolean;\r\n };\r\n}\r\n\r\nexport interface ConfirmMRResponse {\r\n reservationId: number;\r\n spaceBookingId: number;\r\n}\r\n\r\nexport interface VirtualDetails {\r\n meetingWaitlist: VirtualBookingDetails;\r\n reservation: ReservationDetails;\r\n Count?: Count;\r\n}\r\n\r\nexport interface VirtualRequestTaskRecords {\r\n items: VirtualAuditTaskDetails[];\r\n totalCount: number;\r\n}\r\n\r\nexport interface VirtualAuditTaskDetails {\r\n taskId: string;\r\n createDateUTC: string;\r\n changeBy: string;\r\n changeDate: string;\r\n propertyName: string;\r\n oldValue: string;\r\n newValue: string;\r\n timeZoneId: string;\r\n}\r\n\r\nexport interface Count {\r\n taskCount: number;\r\n taskDueCount: number;\r\n commentCount: number;\r\n cateringCount: number;\r\n cateringDueCount: number;\r\n attachmentCount: number;\r\n}\r\n\r\nexport interface TimeZoneDropdownType {\r\n Id: string;\r\n Name: string;\r\n}\r\n\r\nexport interface VirtualBookingTechnologyAccounts {\r\n id: string;\r\n name: string;\r\n}\r\n\r\nexport interface VirtualBookingAdditionalDetails {\r\n id: number;\r\n description: string;\r\n technologies: string[];\r\n}\r\n\r\nexport interface VirtualBookingModify {\r\n status: string;\r\n statusReasonId: number;\r\n statusComment: string;\r\n name: string;\r\n startDate: string;\r\n endDate: string;\r\n timeZoneIanaName: string;\r\n technologyDetails: TechnologyDetails;\r\n additionalDetailIds: number[];\r\n estimatedAttendeesCount: number;\r\n flexibleDateAndTime: boolean;\r\n producerId: number;\r\n facilitatorId: number;\r\n details: string;\r\n reservationId: number;\r\n revision: number;\r\n consultationProvided: boolean;\r\n consultationRequested: boolean;\r\n}\r\n\r\nexport interface CancelFlags {\r\n needsReview?: boolean;\r\n hasCatering?: boolean;\r\n isLastItem: boolean;\r\n hasOtherServiceOrders?: boolean;\r\n}\r\n\r\nexport interface MeetingWaitlistAuditItem {\r\n valueChange: string;\r\n oldValue: string;\r\n newValue: string;\r\n changedBy: string;\r\n changedDate: string;\r\n}\r\n\r\nexport interface MeetingWaitListReleaseData {\r\n id: number;\r\n statusReasonId?: number;\r\n statusComment?: string;\r\n revision: number;\r\n}\r\n\r\nexport interface MeetingWaitlistEditData {\r\n buildingId: number;\r\n name: string;\r\n attendeesCount: number;\r\n singleDayEventData: SingleDayEventData;\r\n floorUniqueKey: number;\r\n spaceSetupTypeId: number;\r\n isPrivate: boolean;\r\n details: string;\r\n flexibleDateAndTime: boolean;\r\n meetingWaitListRequestType: string;\r\n spaceFeatureIds: number[];\r\n revision: number;\r\n reservationId: number;\r\n}\r\nexport class RecurrentEventData {\r\n RecurrenceRule: RecurrenceRule;\r\n}\r\n\r\nexport interface VirtualBookingInput {\r\n name: string;\r\n eventTime: {\r\n timeSlotType: string;\r\n recurrentEventData?: RecurrentEventData;\r\n singleDayEventData?: {\r\n startDate: string;\r\n endDate: string;\r\n };\r\n };\r\n timeZoneIanaName: string;\r\n estimatedAttendeesCount: number;\r\n flexibleDateAndTime: boolean;\r\n status: string;\r\n technologyDetails: TechnologyDetails;\r\n aditionalDetailIds: number[];\r\n producerId: number;\r\n facilitatorId: number;\r\n}\r\n\r\nexport interface MeetingWaitlistInput {\r\n buildingId: number;\r\n name: string;\r\n attendeesCount: number;\r\n floorUniqueKey: number;\r\n spaceSetupTypeId: number;\r\n isPrivate: boolean;\r\n flexibleDateAndTime: boolean;\r\n details: string;\r\n meetingWaitListRequestType: string;\r\n spaceFeatureIds: number[];\r\n eventTime: EventTime;\r\n}\r\n\r\nexport interface MeetingRequestDashboardTabs extends IDynamicTab {\r\n status: string;\r\n time: number;\r\n}\r\nexport enum MeetingsRequestTabs {\r\n VirtualDetails = 'Translation.Virtual_details',\r\n MeetingOverview = 'Translation.Meeting_overview',\r\n ReservationOverview = 'Translation.Reservationoverview',\r\n LTROverview = 'Translation.LTRoverview',\r\n Catering = 'Translation.Catering',\r\n Comments = 'Translation.Comments',\r\n Expenses = 'Translation.Expenses',\r\n Attendees = 'Translation.Attendees',\r\n AuditTrail = 'Translation.Audit_trail',\r\n Documents = 'Translation.Documents',\r\n Tasks = 'Translation.Tasks',\r\n RequestDetails = 'Translation.Request_details',\r\n Recommendation = 'Translation.Recommendation',\r\n EditTask = 'editTask',\r\n AddTask = 'addTask',\r\n}\r\n\r\nexport interface VirtualOptions{\r\n isCheckBox?:boolean ;\r\n category:string;\r\n categoryId:number;\r\n additionalDetails:MultiSelectItem[];\r\n}\r\nexport interface ConfirmMeetingWaitlistAdditionalData {\r\n bookingSpecialist: SelectedOwnerItem;\r\n meetingSpecialist: SelectedOwnerItem;\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MergeTimepickerComponent } from './merge-timepicker.component';\r\nimport { TimepickerPopupComponent } from './timepicker-popup/timepicker-popup.component';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { ClickOutsideModule } from '../../directives/click-outside/click-outside.module';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n TranslateModule,\r\n ClickOutsideModule\r\n ],\r\n declarations: [MergeTimepickerComponent, TimepickerPopupComponent],\r\n exports: [MergeTimepickerComponent]\r\n})\r\nexport class MergeTimepickerModule {\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { map } from 'rxjs/operators';\r\nimport { UserByEmail, UserDetail, UserNotificationResponse } from '../../../models/users.model';\r\nimport { DataContextService } from '../../datacontext.service';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { AssigneeResponse, UserSearchResult } from 'src/app/models/find-a-space.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class UserService {\r\n limit: number;\r\n constructor(private dataContextService: DataContextService) {\r\n dataContextService.masterDadaLoaded$.subscribe((res) => {\r\n if (res) {\r\n this.limit = DataContextService.ROWS_PER_PAGE;\r\n }\r\n });\r\n }\r\n\r\n getUsersByEmail(emails: string[] = []) {\r\n let url = `Users/GetByEmails?`\r\n if (emails.length) {\r\n emails.forEach((email) =>\r\n url += `Emails=${email}&`\r\n );\r\n }\r\n return this.dataContextService.getData(url).pipe(\r\n map(res => {\r\n if (res.status === 200) {\r\n let users = res.data as UserByEmail[];\r\n users.forEach(i => {\r\n if (i.user) {\r\n i.user.firstName = this.dataContextService.getUserFirstName(i.user);\r\n i.user.lastName = i.user.lastName ? i.user.lastName :''\r\n }\r\n })\r\n return users;\r\n }\r\n else {\r\n return this.dataContextService.showErrorToaster(res);\r\n }\r\n })\r\n )\r\n }\r\n getAssignees(term: string, limit: number): Observable {\r\n const url = 'Users/Assignees?Term=' + encodeURIComponent(term) + '&Limit=' + (limit || this.limit);\r\n return this.dataContextService.getData(url, false).pipe(\r\n map(res => {\r\n if (res.status === 200) {\r\n const users = res.data as UserDetail[];\r\n return users.map(i => {\r\n return {\r\n ...i,\r\n firstName: this.dataContextService.getUserFirstName(i),\r\n lastName: i.lastName ? i.lastName : ''\r\n };\r\n })\r\n } else {\r\n return this.dataContextService.showErrorToaster(res);\r\n }\r\n })\r\n );\r\n }\r\n getUserSearch(term: string, limit: number): Observable {\r\n const url = 'Users?Term=' + encodeURIComponent(term) + '&Limit=' + (limit || this.limit);\r\n return this.dataContextService.getData(url, false).pipe(\r\n map(res => {\r\n if (res.status === 200) {\r\n const users = res.data as UserDetail[];\r\n return users.map(i => {\r\n return {\r\n ...i,\r\n firstName: this.dataContextService.getUserFirstName(i),\r\n lastName: i.lastName ? i.lastName : ''\r\n };\r\n })\r\n } else {\r\n return this.dataContextService.showErrorToaster(res);\r\n }\r\n })\r\n );\r\n }\r\n\r\n getUserById(userId: number): Observable {\r\n const url = 'Users/' + userId;\r\n return this.dataContextService.getData(url, false).pipe(\r\n map(res => {\r\n if (res.status === 200) {\r\n const users = res.data as UserDetail;\r\n users.firstName=this.dataContextService.getUserFirstName(res.data)\r\n users.lastName = users.lastName ? users.lastName : ''\r\n return users\r\n } else {\r\n return this.dataContextService.showErrorToaster(res);\r\n }\r\n })\r\n );\r\n }\r\n\r\n getUsers(term: string, limit?: number): Observable {\r\n const url = 'Users?Term=' + encodeURIComponent(term) + '&Limit=' + (limit || this.limit);\r\n return this.dataContextService.getData(url, false).pipe(map(res => {\r\n if (res.status === 200) {\r\n const users = res.data as UserDetail[];\r\n return users.map(i => {\r\n return {\r\n ...i,\r\n firstName: this.dataContextService.getUserFirstName(i),\r\n lastName: i.lastName ? i.lastName : ''\r\n };\r\n });\r\n } else {\r\n return this.dataContextService.showErrorToaster(res);\r\n }\r\n }));\r\n }\r\n\r\n checkOverflow(usersArray: Array): boolean {\r\n if (usersArray.length >= DataContextService.RECOMMENDATION_LIST_PAGE_SIZE)\r\n return true;\r\n else\r\n return false;\r\n }\r\n removeUserNotification(id: number) {\r\n const url = `UserNotifications/${id}/MarkAsRead`;\r\n return this.dataContextService.patchData(url, {}, false).pipe(\r\n map((res) => res.data)\r\n )\r\n }\r\n getUserNotifications(): Observable {\r\n const url = `UserNotifications/Unread`;\r\n return this.dataContextService.getData(url, false).pipe(\r\n map(res => res.data as UserNotificationResponse[])\r\n )\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { NumberedPaginationComponent } from './numbered-pagination.component';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\n@NgModule({\r\n imports: [CommonModule, TranslateModule],\r\n declarations: [NumberedPaginationComponent],\r\n exports: [NumberedPaginationComponent],\r\n})\r\nexport class NumberedPaginationModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { ToggleModule } from './components/toggle/toggle.module';\r\nimport { ModalsModule } from './components/modals/modals.module';\r\nimport { AvatarImageModule } from './components/avatar/avatar-image.module';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { WeekDayTranslatePipe } from './pipes/week-day-translate.pipe';\r\nimport { SpaceFeaturesModule } from './components/space-features/space-features.module';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ModalModule as DDSModalModule } from '@usitsdasdesign/dds-ng/modal';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { InofficeVirtualToggleComponent } from './components/inoffice-virtual-toggle/inoffice-virtual-toggle.component';\r\nimport { TimepickerModule } from '@usitsdasdesign/dds-ng/timepicker';\r\nimport { OwnerSearchModule } from './components/owner-search/owner-search.module';\r\nimport { MomentPipeModule } from './pipes/moment/moment-pipe.module';\r\nimport { DataTableModule } from './components/data-table/data-table.module';\r\nimport { StatusModule } from './components/status/status.module';\r\nimport { RouterModule } from '@angular/router';\r\nimport { MultiSelectModule } from './components/multi-select/multi-select.module';\r\nimport { SpecialistDetailsModule } from './components/specialist-details/specialist-details.module';\r\nimport { EllipsisTooltipModule } from './directives/ellipsis-tooltip/ellipsis-tooltip.module';\r\nimport { HighlightModule } from './common/highlight/highlight.module';\r\nimport { ReadOnlyModule } from './components/read-only/read-only.module';\r\nimport { MergeTimepickerModule } from './components/merge-timepicker/merge-timepicker.module';\r\nimport { VirtualOptionModule } from './virtul-options/virtual-option.module';\r\nimport { TagsModule } from './components/tags/tags.module';\r\nimport { CheckboxModule } from './components/checkbox/checkbox.module';\r\nimport { TooltipModule } from './components/tooltip/tooltip.module';\r\nimport { SelectModule } from './components/select/select.module';\r\n\r\nimport { InputModule } from './components/input/input.module';\r\nimport { TextareaModule } from './components/textarea/textarea.module';\r\nimport { ButtonModule } from './components/button/button.module';\r\nimport { NumberedPaginationModule } from './components/numbered-pagination/numbered-pagination.module';\r\n\r\n@NgModule({\r\n imports: [\r\n ButtonModule,\r\n ToggleModule,\r\n ModalsModule,\r\n SelectModule,\r\n DDSModalModule,\r\n AvatarImageModule,\r\n TranslateModule,\r\n SpaceFeaturesModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n TimepickerModule,\r\n CommonModule,\r\n OwnerSearchModule,\r\n InputModule,\r\n TextareaModule,\r\n MomentPipeModule,\r\n DataTableModule,\r\n StatusModule,\r\n RouterModule,\r\n HighlightModule,\r\n SpecialistDetailsModule,\r\n EllipsisTooltipModule,\r\n MomentPipeModule,\r\n ReadOnlyModule,\r\n MergeTimepickerModule,\r\n TagsModule,\r\n TooltipModule,\r\n NumberedPaginationModule\r\n ],\r\n exports: [\r\n ButtonModule,\r\n ToggleModule,\r\n ModalsModule,\r\n AvatarImageModule,\r\n WeekDayTranslatePipe,\r\n SpaceFeaturesModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n InofficeVirtualToggleComponent,\r\n InputModule,\r\n TextareaModule,\r\n CheckboxModule,\r\n MultiSelectModule,\r\n SpecialistDetailsModule,\r\n ReadOnlyModule,\r\n TranslateModule,\r\n VirtualOptionModule,\r\n MergeTimepickerModule,\r\n TagsModule,\r\n SelectModule,\r\n NumberedPaginationModule\r\n ],\r\n declarations: [\r\n WeekDayTranslatePipe,\r\n InofficeVirtualToggleComponent,\r\n ],\r\n // declarations: [ReadOnlyComponent, WeekDayTranslatePipe,CancelModalComponent, ExpandableCardComponent,InofficeVirtualToggleComponent, RoomfeatureComponent],\r\n providers: [WeekDayTranslatePipe],\r\n})\r\nexport class SharedModule { }\r\n","import { Directive, ElementRef, Renderer2, Input, TemplateRef, OnInit, HostListener, AfterViewInit, ComponentFactoryResolver, Injector, ApplicationRef, ChangeDetectorRef } from '@angular/core';\r\nimport { TooltipDirective } from '../../components/tooltip/tooltip.directive';\r\nimport { TooltipService } from './tooltip.service';\r\n\r\n@Directive({\r\n selector: '[appEllipsisTooltip]',\r\n providers: [TooltipService],\r\n})\r\nexport class EllipsisTooltipDirective extends TooltipDirective implements OnInit, AfterViewInit {\r\n @Input() appEllipsisTooltip: string | TemplateRef;\r\n @Input() customTemplate: boolean;\r\n @Input() showHoverText: boolean;\r\n\r\n constructor(\r\n protected elementRef: ElementRef,\r\n componentFactoryResolver: ComponentFactoryResolver,\r\n injector: Injector,\r\n appRef: ApplicationRef,\r\n cdRef: ChangeDetectorRef,\r\n private renderer: Renderer2\r\n ) {\r\n super(elementRef, componentFactoryResolver, injector, appRef, cdRef);\r\n this.tooltipIndent = 4;\r\n this.tooltipMaxWidth = 200;\r\n this.tooltipTheme = 'white';\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n ngAfterViewInit() {\r\n if (!this.showHoverText) {\r\n this.renderer.addClass(this.elementRef.nativeElement, 'ellipsis');\r\n }\r\n }\r\n\r\n private isEllipsisActive(element: HTMLElement): boolean {\r\n return element.offsetWidth < element.scrollWidth;\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n onClick() {\r\n super.hide();\r\n }\r\n\r\n @HostListener('mouseenter', ['$event'])\r\n onHover() {\r\n if (!this.tooltipIsDisabled) {\r\n if (this.showHoverText) {\r\n this.appTooltip = this.appEllipsisTooltip;\r\n this.tooltipMaxWidth = 300;\r\n super.show();\r\n return;\r\n }\r\n else {\r\n if (this.customTemplate) {\r\n this.appTooltip = this.appEllipsisTooltip;\r\n super.show();\r\n return;\r\n }\r\n this.appTooltip = this.isEllipsisActive(this.elementRef.nativeElement) ? this.elementRef.nativeElement.innerText : '';\r\n if (this.appTooltip) {\r\n super.show();\r\n }\r\n }\r\n }\r\n }\r\n @HostListener('mouseleave', ['$event'])\r\n onMouseOut() {\r\n super.hide();\r\n }\r\n}\r\n","import { ChangeDetectorRef, Component, OnInit } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { MeetingWaitlist, ReservationItemType, VirtualBookings } from '../../../../models/meetings.model';\r\nimport { DataContextService } from '../../../../services/datacontext.service';\r\nimport { GlobalSearchService } from './global-search.service';\r\nimport * as moment from 'moment';\r\nimport { Detail, WaitlistItem } from '../../../../models/bookings.model';\r\nimport { debounce } from 'rxjs/operators';\r\nimport { interval } from 'rxjs';\r\nimport { RoutesConfig } from '../../../../configs/routes.config';\r\nimport { MeetingsRoutes } from '../../../../pages/meetings/models/routes';\r\nimport { ReferenceType } from '../../../../models/common.enums';\r\nimport { BookingRoutes, BookingTabsRoute } from '../../../../pages/bookings/models/routes';\r\nimport { ActiveSubTab } from '../../../../pages/bookings/all-bookings/components/booking-details/services/booking-details.service';\r\nimport { ReservationsService } from '../../../../services/APIs/reservations/reservations.service';\r\n\r\n@Component({\r\n selector: 'app-global-search',\r\n templateUrl: './global-search.component.html',\r\n styleUrls: ['./global-search.component.less']\r\n})\r\nexport class GlobalSearchComponent implements OnInit {\r\n showNoResults: boolean = true;\r\n showSpinner: boolean = false;\r\n search: FormControl = new FormControl(null);\r\n bookings: GlobalSearchItem[] = [];\r\n meetingWaitList: GlobalSearchItem[] = [];\r\n virtualBookings: GlobalSearchItem[] = [];\r\n waitlists: GlobalSearchItem[] = [];\r\n RESERVATION_ITEM_TYPES = ReservationItemType;\r\n constructor(private dataContextService: DataContextService,\r\n private globalSearchService: GlobalSearchService, private cdRef: ChangeDetectorRef,\r\n private reservationService: ReservationsService ) { }\r\n tabs: { value: string, label: string, selected?: boolean, counter: number }[] = [\r\n {\r\n label: 'Translation.All',\r\n value: 'all',\r\n selected: true,\r\n counter: 0\r\n },\r\n {\r\n label: 'Translation.Meetings_bookings',\r\n value: 'booking',\r\n counter: 0\r\n },\r\n {\r\n label: 'Translation.Meeting_request',\r\n value: 'meetingWaitlist',\r\n counter: 0\r\n },\r\n {\r\n label: 'Translation.Waitlist',\r\n value: 'waitlist',\r\n counter: 0\r\n }\r\n ]\r\n get selectedTab(): string {\r\n return this.tabs.find(i => i.selected).value;\r\n }\r\n get meetingRequestSlice(): number {\r\n if (this.selectedTab === 'all') {\r\n if (!this.virtualBookings.length)\r\n return 10;\r\n else if (this.virtualBookings.length >= 5)\r\n return 5;\r\n else\r\n return 10 - this.virtualBookings.length;\r\n }\r\n else {\r\n if (!this.virtualBookings.length)\r\n return 30;\r\n else if (this.virtualBookings.length >= 15)\r\n return 15;\r\n else\r\n return 30 - this.virtualBookings.length;\r\n }\r\n }\r\n get virtualBookingSlice(): number {\r\n if (this.selectedTab === 'all') {\r\n if (!this.meetingWaitList.length)\r\n return 10;\r\n else if (this.meetingWaitList.length >= 5)\r\n return 5;\r\n else\r\n return 10 - this.meetingWaitList.length;\r\n }\r\n else {\r\n if (!this.meetingWaitList.length)\r\n return 30;\r\n else if (this.meetingWaitList.length >= 15)\r\n return 15;\r\n else\r\n return 30 - this.meetingWaitList.length;\r\n }\r\n }\r\n get limitReached(): boolean {\r\n switch (this.selectedTab) {\r\n case this.tabs[0].value:\r\n return this.tabs[0].counter > this.MAX_RECORDS_COUNT;\r\n case this.tabs[1].value:\r\n return this.tabs[1].counter > this.MAX_RECORDS_COUNT;\r\n case this.tabs[2].value:\r\n return this.tabs[2].counter > this.MAX_RECORDS_COUNT;\r\n case this.tabs[3].value:\r\n return this.tabs[3].counter > this.MAX_RECORDS_COUNT;\r\n }\r\n }\r\n showLoader: boolean = false;\r\n noResultsFound: boolean = false;\r\n MAX_RECORDS_COUNT: number = 30;\r\n ngOnInit(): void {\r\n this.handleSearch();\r\n }\r\n tabChange(value: string) {\r\n this.tabs = this.tabs.map(i => {\r\n return {\r\n ...i,\r\n selected: i.value === value ? true : false\r\n }\r\n })\r\n }\r\n private handleSearch() {\r\n this.search.valueChanges.pipe(\r\n debounce(_=> interval(300)))\r\n .subscribe(value => {\r\n this.close();\r\n if (value.length >= 5) {\r\n this.showLoader = true;\r\n this.globalSearchService.getGlobalSearchData(value).subscribe(res => {\r\n this.showLoader = false;\r\n this.bookings = this.mapBookings(res.bookings);\r\n //Phase 1 - virtual is not required as dashboard get call will not be made\r\n this.waitlists = this.mapWaitlists(res.waitlists);\r\n this.meetingWaitList = this.mapMeetingWaitlists(res.meetingRequests);\r\n //this.virtualBookings = this.mapVirtualBookings(res.virtualRequests);\r\n this.tabs = this.tabs.map((i,index) => {\r\n return {\r\n ...i,\r\n counter: index === 0 ? this.bookings.length + this.meetingWaitList.length /* + this.virtualBookings.length */ + this.waitlists.length:\r\n index === 1 ? this.bookings.length : index === 2 ? this.meetingWaitList.length :this.waitlists.length\r\n /* index === 2 ? */ /* + this.virtualBookings.length : \r\n index === 2 ? this.waitlists.length :\r\n 0 */\r\n \r\n }\r\n })\r\n this.cdRef.detectChanges(); \r\n\r\n this.noResultsFound = !this.waitlists.length && !this.bookings.length && !this.meetingWaitList.length /* && !this.virtualBookings.length */\r\n })\r\n }\r\n })\r\n }\r\n clear() {\r\n this.search.patchValue('');\r\n }\r\n private mapBookings(items:Detail[]): GlobalSearchItem[] {\r\n const bookings = items.map(i => {\r\n const item: GlobalSearchItem = {\r\n id: i.spaceBookingId,\r\n meetingId: i.reservationId,\r\n name: i.spaceBookingName,\r\n meetingName: i.reservationName,\r\n space: i.spaceName,\r\n buildingName: i.buildingName,\r\n poc: {\r\n name: `${i.pointOfContact.firstName} ${i.pointOfContact.lastName}`,\r\n alias: i.pointOfContact.userName,\r\n email: i.pointOfContact.email\r\n },\r\n owner: {\r\n name: `${i.owner.firstName} ${i.owner.lastName}`,\r\n alias: i.owner.userName,\r\n email: i.owner.email\r\n },\r\n itemType: ReservationItemType.SpaceBooking,\r\n startDate: moment.parseZone(i.startDate).format('l LT'),\r\n endDate: moment.parseZone(i.endDate).format('l LT'),\r\n isMidnightSpanning: !moment.parseZone(i.startDate).isSame(moment.parseZone(i.endDate), 'D'),\r\n statusId: DataContextService.BookingStatus.find(s => s.name === i.statusType) ?\r\n DataContextService.BookingStatus.find(s => s.name === i.statusType).id : DataContextService.BookingStatus.length,\r\n spaceType: i.spaceType,\r\n status : i.statusType,\r\n reservationStatus: i.reservationStatusType,\r\n }\r\n return item;\r\n });\r\n let arr: GlobalSearchItem[] = [];\r\n this.sortOnDate(bookings).forEach(i => {\r\n i.sort((a, b) => a.statusId < b.statusId ? -1 : a.statusId === b.statusId ? 0 : 1);\r\n arr = [...arr, ...i];\r\n });\r\n return arr;}\r\n private mapMeetingWaitlists(items: MeetingWaitlist[]): GlobalSearchItem[] {\r\n let meetingWaitlists = items.map(i => {\r\n const item: GlobalSearchItem = {\r\n id: i.id,\r\n meetingId: i.reservationId,\r\n name: i.name,\r\n meetingName: i.reservationName,\r\n buildingName: i.buildingName,\r\n owner: {\r\n name: `${i.owner.firstName} ${i.owner.lastName}`,\r\n alias: i.owner.userName,\r\n email: i.owner.email\r\n },\r\n poc: {\r\n name: `${i.pointOfContact.firstName} ${i.pointOfContact.lastName}`,\r\n alias: i.pointOfContact.userName,\r\n email: i.pointOfContact.email\r\n },\r\n itemType: ReservationItemType.MeetingRequest,\r\n status: i.meetingWaitListStatusType.name,\r\n startDate: moment.parseZone(i.startDate).format('l LT'),\r\n endDate: moment.parseZone(i.endDate).format('l LT'),\r\n isMidnightSpanning: !moment.parseZone(i.startDate).isSame(moment.parseZone(i.endDate), 'D'),\r\n statusId: DataContextService.MeetingWaitlistStatus.find(s => s.name === i.meetingWaitListStatusType.name).id,\r\n reservationStatus: i.reservationStatusType,\r\n }\r\n return item;\r\n });\r\n let arr: GlobalSearchItem[] = [];\r\n this.sortOnDate(meetingWaitlists).forEach(i => {\r\n i.sort((a, b) => a.statusId < b.statusId ? -1 : a.statusId === b.statusId ? 0 : 1);\r\n arr = [...arr, ...i];\r\n });\r\n return arr;}\r\n private mapVirtualBookings(items: VirtualBookings[]): GlobalSearchItem[] {\r\n const virtualBookings = items.map(i => {\r\n const item: GlobalSearchItem = {\r\n id: i.virtualBookingId,\r\n virtualBookingNumber: Number(i.virtualBookingReferenceNumber),\r\n meetingId: i.reservationId,\r\n name: i.bookingName,\r\n meetingName: i.reservationName,\r\n owner: {\r\n name: `${i.owner.firstName} ${i.owner.lastName}`,\r\n alias: i.owner.userName,\r\n email: i.owner.email\r\n },\r\n poc: {\r\n name: `${i.pointOfContact.firstName} ${i.pointOfContact.lastName}`,\r\n alias: i.pointOfContact.userName,\r\n email: i.pointOfContact.email\r\n },\r\n itemType: ReservationItemType.VirtualBooking,\r\n status: i.statusType,\r\n startDate: moment.parseZone(i.startDate).format('l LT'),\r\n endDate: moment.parseZone(i.endDate).format('l LT'),\r\n isMidnightSpanning: !moment.parseZone(i.startDate).isSame(moment.parseZone(i.endDate), 'D'),\r\n statusId: DataContextService.VirtualBookingStatus.find(s => s.name === i.statusType).id,\r\n reservationStatus: i.reservationStatusType,\r\n }\r\n return item;\r\n });\r\n let arr: GlobalSearchItem[] = [];\r\n this.sortOnDate(virtualBookings).forEach(i => {\r\n i.sort((a, b) => a.statusId < b.statusId ? -1 : a.statusId === b.statusId ? 0 : 1);\r\n arr = [...arr, ...i];\r\n });\r\n return arr;\r\n }\r\n private mapWaitlists(items: WaitlistItem[]): GlobalSearchItem[] {\r\n const waitlists = items.map(i => {\r\n const item: GlobalSearchItem = {\r\n owner: {\r\n name: `${i.owner.firstName} ${i.owner.lastName}`,\r\n alias: i.owner.userName,\r\n email: i.owner.email\r\n },\r\n status: i.waitListStatusTypes,\r\n buildingName: i.buildingName,\r\n startDate: moment.parseZone(i.startDate).format('l LT'),\r\n endDate: moment.parseZone(i.endDate).format('l LT'),\r\n isMidnightSpanning: !moment.parseZone(i.startDate).isSame(moment.parseZone(i.endDate), 'D'),\r\n id: i.id,\r\n statusId: DataContextService.WaitlistStatus.find(s => s.name === i.waitListStatusTypes).id\r\n }\r\n return item;\r\n });\r\n let arr: GlobalSearchItem[] = [];\r\n this.sortOnDate(waitlists).forEach(i => {\r\n i.sort((a, b) => a.statusId < b.statusId ? -1 : a.statusId === b.statusId ? 0 : 1);\r\n arr = [...arr, ...i];\r\n });\r\n return arr;\r\n }\r\n private filterGlobalSearchItem(item: GlobalSearchItem): boolean {\r\n let regex = new RegExp(this.search.value.toLowerCase());\r\n if (regex.test(item.owner.name?.toLowerCase()) ||\r\n regex.test(item.owner.alias?.toLowerCase()) ||\r\n regex.test(item.owner.email?.toLowerCase()) ||\r\n regex.test(item.space?.toLowerCase()) ||\r\n (regex.test(item.id.toString().toLowerCase()) && item.itemType !== this.RESERVATION_ITEM_TYPES.VirtualBooking) ||\r\n regex.test(item.name?.toLowerCase()) ||\r\n regex.test(item.meetingId?.toString().toLowerCase()) ||\r\n regex.test(item.meetingName?.toLowerCase()) ||\r\n regex.test(item.poc.name?.toLowerCase()) ||\r\n regex.test(item.poc.alias?.toLowerCase()) ||\r\n regex.test(item.poc.email?.toLowerCase()))\r\n return true;\r\n else\r\n return false;\r\n }\r\n private sortOnDate(res: Array): Array {\r\n const currentDate = moment();\r\n const pastArr: GlobalSearchItem[] = res.filter(i => moment(i.startDate).isBefore(currentDate));\r\n const futureArr: GlobalSearchItem[] = res.filter(i => !pastArr.find(d => d.id === i.id)).sort((a, b) => moment(a.startDate).isBefore(moment(b.startDate)) ? -1 : 1);\r\n return [futureArr, pastArr];\r\n }\r\n close() {\r\n this.bookings = [];\r\n this.meetingWaitList = [];\r\n this.virtualBookings = [];\r\n this.waitlists = [];\r\n this.noResultsFound = false;\r\n }\r\n navigatToMeeting(item: GlobalSearchItem) {\r\n let url: string = '';\r\n const id = `${item.meetingId}_${new Date().getTime()}`;\r\n this.reservationService.getReservation(item.meetingId).subscribe((res) => {\r\n const isMeetingReservation = res.type === 'Meeting';\r\n if (isMeetingReservation)\r\n url = `/${RoutesConfig.pages.meetings}/${MeetingsRoutes.dashboard}/${MeetingsRoutes.tab}/${id}/${MeetingsRoutes.details}`;\r\n else\r\n url = `/${RoutesConfig.pages.bookings}/allBookings/details/${item.id}`;\r\n const newWin = window.open(url, '_blank');\r\n const tab: ActiveSubTab = {\r\n bookingId: item.id.toString(),\r\n tab: BookingTabsRoute.Overview,\r\n data: null\r\n };\r\n newWin.name = JSON.stringify(tab);\r\n })\r\n }\r\n navigateToDetails(item: GlobalSearchItem) {\r\n let url: string = '';\r\n if (item.itemType === this.RESERVATION_ITEM_TYPES.SpaceBooking) {\r\n url = `/${RoutesConfig.pages.bookings}/allBookings/details/${item.id}`;\r\n }\r\n else if (item.itemType === this.RESERVATION_ITEM_TYPES.VirtualBooking) {\r\n url = `/${RoutesConfig.pages.meetings}/${MeetingsRoutes.requests}/${MeetingsRoutes.tab}/${ReferenceType[ReferenceType.VirtualBooking]}/${item.id}`;\r\n }\r\n else {\r\n url = `/${RoutesConfig.pages.meetings}/${MeetingsRoutes.requests}/${MeetingsRoutes.tab}/${ReferenceType[ReferenceType.MeetingWaitList]}/${item.id}`;\r\n }\r\n window.open(url, '_blank');\r\n }\r\n navigateWaitlist(item: GlobalSearchItem) {\r\n window.open(`/${BookingRoutes.bookings}/${BookingRoutes.waitlist}/details/${item.id}`, '_blank');\r\n }\r\n}\r\ninterface GlobalSearchItem {\r\n id?: number | string;\r\n meetingId?: number;\r\n name?: string;\r\n meetingName?: string;\r\n space?: string;\r\n buildingName?: string;\r\n poc?: GlobalSearchUserItem;\r\n owner?: GlobalSearchUserItem;\r\n itemType?: ReservationItemType;\r\n status?: string;\r\n startDate?: string;\r\n endDate?: string;\r\n isMidnightSpanning?: boolean;\r\n virtualBookingNumber?: number;\r\n statusId?: number;\r\n spaceType?: string;\r\n reservationStatus?:string;\r\n}\r\ninterface GlobalSearchUserItem {\r\n name?: string;\r\n alias?: string;\r\n email?: 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
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{'Translation.Noresultsfound' | translate}}
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n

{{ 'Translation.Noresultsfound' | translate }}

\r\n

{{'Translation.Refine_your_search' | translate}}

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

\r\n

\r\n

\r\n

\r\n

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

\r\n

\r\n

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

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

\r\n

\r\n

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

\r\n

\r\n

{{ item.startDate | mPipe : \"MM/DD/YY\" }}{{ item.isMidnightSpanning ? \" - \" + (item.endDate | mPipe : \"MM/DD/YY\") : \"\" }}

\r\n

\r\n \r\n

{{ item.buildingName }}

\r\n

\r\n

{{ item.space }}

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

{{ item.buildingName }}

\r\n

\r\n
\r\n

\r\n {{'Translation.In-office' | translate}}\r\n {{'Translation.Virtual' | translate}}\r\n

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

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

{{ item.startDate | mPipe : \"MM/DD/YY\" }}{{ item.isMidnightSpanning ? \" - \" + (item.endDate | mPipe : \"MM/DD/YY\") : \"\" }}

\r\n

\r\n

{{ item.buildingName }}

\r\n
\r\n
\r\n
\r\n\r\n
\r\n {{'Translation.Tomanymatches' | translate}}\r\n
\r\n
\r\n","import { NgModule } from '@angular/core';\r\nimport { OAuthModule } from 'angular-oauth2-oidc'; \r\nimport { AuthService } from './auth.service';\r\n\r\n\r\n@NgModule({\r\n providers: [\r\n AuthService\r\n //InternalTokenApiService,\r\n //AppRequestAssistant,\r\n //INTERNAL_TOKEN_INITIALIZER_PROVIDER,\r\n //INTERNAL_TOKEN_HEADER_PROVIDER,\r\n //INTERNAL_API_PREFIX_PROVIDER,\r\n //PROFILE_INITIALIZER_PROVIDER\r\n ],\r\n imports: [OAuthModule.forRoot()]\r\n})\r\nexport class AuthModule { }\r\n","import { ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Optional, Output, Self } from '@angular/core';\r\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\r\nimport { ErrorState } from './inputOptions';\r\n\r\n@Component({\r\n selector: 'app-input',\r\n templateUrl: './input.component.html',\r\n styleUrls: ['./input.component.less']\r\n})\r\nexport class InputComponent implements ControlValueAccessor, OnInit {\r\n @Input() label: string;\r\n @Input() placeholder: string = '';\r\n @Input() maxLength: string;\r\n @Input() isDisabled = false;\r\n @Input() isRequired = false;\r\n @Input() isError: boolean = false;\r\n @Input() errorState: ErrorState = ErrorState.default;\r\n @Input() errorMessage: string;\r\n @Input() value: string = '';\r\n @Input() fullWidth = false;\r\n @Output() valueChanged: EventEmitter = new EventEmitter();\r\n\r\n onChange: any = (value: string) => {\r\n }\r\n onTouch: any = () => {\r\n }\r\n\r\n get _value(): string {\r\n return this.value;\r\n }\r\n\r\n set _value(v: string) {\r\n if (v !== this.value) {\r\n this.value = v;\r\n this.change(this.value);\r\n }\r\n }\r\n\r\n get invalid(): boolean {\r\n if (this.isError) {\r\n return this.isError;\r\n }\r\n if (this.ngControl)\r\n return this.ngControl ? this.ngControl.invalid : false;\r\n }\r\n\r\n get showError(): boolean {\r\n switch (this.errorState) {\r\n case ErrorState.default: {\r\n return this.invalid;\r\n }\r\n case ErrorState.focusOut: {\r\n if (!this.ngControl) {\r\n return false;\r\n }\r\n const { dirty, touched } = this.ngControl;\r\n return this.invalid ? dirty || touched : false;\r\n }\r\n }\r\n }\r\n\r\n constructor(\r\n @Self() @Optional() public ngControl: NgControl,\r\n private changeDetectorRef: ChangeDetectorRef) {\r\n this.ngControl && (this.ngControl.valueAccessor = this);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n\r\n writeValue(value: string): void {\r\n if (!value) {\r\n return;\r\n }\r\n this.value = value;\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n\r\n registerOnChange(fn: () => {}): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: () => {}): void {\r\n this.onTouch = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.isDisabled = isDisabled;\r\n }\r\n\r\n change(value: string): void {\r\n this.value = value;\r\n this.onChange(value);\r\n this.onTouch(value);\r\n }\r\n\r\n valueChangeHandler(value: string) {\r\n this.value = value;\r\n this.onChange(this.value);\r\n this.valueChanged.emit(this.value);\r\n }\r\n}\r\n","
\r\n {{ label }}\r\n
\r\n
\r\n \r\n
\r\n
{{ errorMessage }}
\r\n\r\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, OnInit } from '@angular/core';\r\nimport { SortOrder } from '../../../../models/common.enums';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'th[appTh]',\r\n templateUrl: './data-table-header-cell.component.html',\r\n styleUrls: ['./data-table-header-cell.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class DataTableHeaderCellComponent implements OnInit {\r\n readonly sortOrder = SortOrder;\r\n\r\n // @Input() hasSort = false;\r\n @Input() sorted = false;\r\n @Input() order: SortOrder | null;\r\n\r\n // @Output() sort = new EventEmitter();\r\n\r\n @HostBinding('class.data-table__header-cell') class = true;\r\n // @HostBinding('class.data-table__header-cell_sorting') withSorting = false;\r\n\r\n // @HostListener('click', ['$event'])\r\n // onClick(_: MouseEvent): void {\r\n // if (this.hasSort) {\r\n // this.toggleColumnSort();\r\n // }\r\n // }\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n // this.withSorting = this.hasSort;\r\n }\r\n\r\n // toggleColumnSort(): void {\r\n // this.order = !this.order ? SortOrder.Asc : this.order === SortOrder.Asc ? SortOrder.Desc : null;\r\n // this.sorted = !!this.order;\r\n //\r\n // this.sort.emit(this.order);\r\n // }\r\n\r\n}\r\n","
\r\n \r\n \r\n \r\n \r\n
\r\n","var map = {\n\t\"./af\": \"K/tc\",\n\t\"./af.js\": \"K/tc\",\n\t\"./ar\": \"jnO4\",\n\t\"./ar-dz\": \"o1bE\",\n\t\"./ar-dz.js\": \"o1bE\",\n\t\"./ar-kw\": \"Qj4J\",\n\t\"./ar-kw.js\": \"Qj4J\",\n\t\"./ar-ly\": \"HP3h\",\n\t\"./ar-ly.js\": \"HP3h\",\n\t\"./ar-ma\": \"CoRJ\",\n\t\"./ar-ma.js\": \"CoRJ\",\n\t\"./ar-sa\": \"gjCT\",\n\t\"./ar-sa.js\": \"gjCT\",\n\t\"./ar-tn\": \"bYM6\",\n\t\"./ar-tn.js\": \"bYM6\",\n\t\"./ar.js\": \"jnO4\",\n\t\"./az\": \"SFxW\",\n\t\"./az.js\": \"SFxW\",\n\t\"./be\": \"H8ED\",\n\t\"./be.js\": \"H8ED\",\n\t\"./bg\": \"hKrs\",\n\t\"./bg.js\": \"hKrs\",\n\t\"./bm\": \"p/rL\",\n\t\"./bm.js\": \"p/rL\",\n\t\"./bn\": \"kEOa\",\n\t\"./bn-bd\": \"loYQ\",\n\t\"./bn-bd.js\": \"loYQ\",\n\t\"./bn.js\": \"kEOa\",\n\t\"./bo\": \"0mo+\",\n\t\"./bo.js\": \"0mo+\",\n\t\"./br\": \"aIdf\",\n\t\"./br.js\": \"aIdf\",\n\t\"./bs\": \"JVSJ\",\n\t\"./bs.js\": \"JVSJ\",\n\t\"./ca\": \"1xZ4\",\n\t\"./ca.js\": \"1xZ4\",\n\t\"./cs\": \"PA2r\",\n\t\"./cs.js\": \"PA2r\",\n\t\"./cv\": \"A+xa\",\n\t\"./cv.js\": \"A+xa\",\n\t\"./cy\": \"l5ep\",\n\t\"./cy.js\": \"l5ep\",\n\t\"./da\": \"DxQv\",\n\t\"./da.js\": \"DxQv\",\n\t\"./de\": \"tGlX\",\n\t\"./de-at\": \"s+uk\",\n\t\"./de-at.js\": \"s+uk\",\n\t\"./de-ch\": \"u3GI\",\n\t\"./de-ch.js\": \"u3GI\",\n\t\"./de.js\": \"tGlX\",\n\t\"./dv\": \"WYrj\",\n\t\"./dv.js\": \"WYrj\",\n\t\"./el\": \"jUeY\",\n\t\"./el.js\": \"jUeY\",\n\t\"./en-au\": \"Dmvi\",\n\t\"./en-au.js\": \"Dmvi\",\n\t\"./en-ca\": \"OIYi\",\n\t\"./en-ca.js\": \"OIYi\",\n\t\"./en-gb\": \"Oaa7\",\n\t\"./en-gb.js\": \"Oaa7\",\n\t\"./en-ie\": \"4dOw\",\n\t\"./en-ie.js\": \"4dOw\",\n\t\"./en-il\": \"czMo\",\n\t\"./en-il.js\": \"czMo\",\n\t\"./en-in\": \"7C5Q\",\n\t\"./en-in.js\": \"7C5Q\",\n\t\"./en-nz\": \"b1Dy\",\n\t\"./en-nz.js\": \"b1Dy\",\n\t\"./en-sg\": \"t+mt\",\n\t\"./en-sg.js\": \"t+mt\",\n\t\"./eo\": \"Zduo\",\n\t\"./eo.js\": \"Zduo\",\n\t\"./es\": \"iYuL\",\n\t\"./es-do\": \"CjzT\",\n\t\"./es-do.js\": \"CjzT\",\n\t\"./es-mx\": \"tbfe\",\n\t\"./es-mx.js\": \"tbfe\",\n\t\"./es-us\": \"Vclq\",\n\t\"./es-us.js\": \"Vclq\",\n\t\"./es.js\": \"iYuL\",\n\t\"./et\": \"7BjC\",\n\t\"./et.js\": \"7BjC\",\n\t\"./eu\": \"D/JM\",\n\t\"./eu.js\": \"D/JM\",\n\t\"./fa\": \"jfSC\",\n\t\"./fa.js\": \"jfSC\",\n\t\"./fi\": \"gekB\",\n\t\"./fi.js\": \"gekB\",\n\t\"./fil\": \"1ppg\",\n\t\"./fil.js\": \"1ppg\",\n\t\"./fo\": \"ByF4\",\n\t\"./fo.js\": \"ByF4\",\n\t\"./fr\": \"nyYc\",\n\t\"./fr-ca\": \"2fjn\",\n\t\"./fr-ca.js\": \"2fjn\",\n\t\"./fr-ch\": \"Dkky\",\n\t\"./fr-ch.js\": \"Dkky\",\n\t\"./fr.js\": \"nyYc\",\n\t\"./fy\": \"cRix\",\n\t\"./fy.js\": \"cRix\",\n\t\"./ga\": \"USCx\",\n\t\"./ga.js\": \"USCx\",\n\t\"./gd\": \"9rRi\",\n\t\"./gd.js\": \"9rRi\",\n\t\"./gl\": \"iEDd\",\n\t\"./gl.js\": \"iEDd\",\n\t\"./gom-deva\": \"qvJo\",\n\t\"./gom-deva.js\": \"qvJo\",\n\t\"./gom-latn\": \"DKr+\",\n\t\"./gom-latn.js\": \"DKr+\",\n\t\"./gu\": \"4MV3\",\n\t\"./gu.js\": \"4MV3\",\n\t\"./he\": \"x6pH\",\n\t\"./he.js\": \"x6pH\",\n\t\"./hi\": \"3E1r\",\n\t\"./hi.js\": \"3E1r\",\n\t\"./hr\": \"S6ln\",\n\t\"./hr.js\": \"S6ln\",\n\t\"./hu\": \"WxRl\",\n\t\"./hu.js\": \"WxRl\",\n\t\"./hy-am\": \"1rYy\",\n\t\"./hy-am.js\": \"1rYy\",\n\t\"./id\": \"UDhR\",\n\t\"./id.js\": \"UDhR\",\n\t\"./is\": \"BVg3\",\n\t\"./is.js\": \"BVg3\",\n\t\"./it\": \"bpih\",\n\t\"./it-ch\": \"bxKX\",\n\t\"./it-ch.js\": \"bxKX\",\n\t\"./it.js\": \"bpih\",\n\t\"./ja\": \"B55N\",\n\t\"./ja.js\": \"B55N\",\n\t\"./jv\": \"tUCv\",\n\t\"./jv.js\": \"tUCv\",\n\t\"./ka\": \"IBtZ\",\n\t\"./ka.js\": \"IBtZ\",\n\t\"./kk\": \"bXm7\",\n\t\"./kk.js\": \"bXm7\",\n\t\"./km\": \"6B0Y\",\n\t\"./km.js\": \"6B0Y\",\n\t\"./kn\": \"PpIw\",\n\t\"./kn.js\": \"PpIw\",\n\t\"./ko\": \"Ivi+\",\n\t\"./ko.js\": \"Ivi+\",\n\t\"./ku\": \"JCF/\",\n\t\"./ku.js\": \"JCF/\",\n\t\"./ky\": \"lgnt\",\n\t\"./ky.js\": \"lgnt\",\n\t\"./lb\": \"RAwQ\",\n\t\"./lb.js\": \"RAwQ\",\n\t\"./lo\": \"sp3z\",\n\t\"./lo.js\": \"sp3z\",\n\t\"./lt\": \"JvlW\",\n\t\"./lt.js\": \"JvlW\",\n\t\"./lv\": \"uXwI\",\n\t\"./lv.js\": \"uXwI\",\n\t\"./me\": \"KTz0\",\n\t\"./me.js\": \"KTz0\",\n\t\"./mi\": \"aIsn\",\n\t\"./mi.js\": \"aIsn\",\n\t\"./mk\": \"aQkU\",\n\t\"./mk.js\": \"aQkU\",\n\t\"./ml\": \"AvvY\",\n\t\"./ml.js\": \"AvvY\",\n\t\"./mn\": \"lYtQ\",\n\t\"./mn.js\": \"lYtQ\",\n\t\"./mr\": \"Ob0Z\",\n\t\"./mr.js\": \"Ob0Z\",\n\t\"./ms\": \"6+QB\",\n\t\"./ms-my\": \"ZAMP\",\n\t\"./ms-my.js\": \"ZAMP\",\n\t\"./ms.js\": \"6+QB\",\n\t\"./mt\": \"G0Uy\",\n\t\"./mt.js\": \"G0Uy\",\n\t\"./my\": \"honF\",\n\t\"./my.js\": \"honF\",\n\t\"./nb\": \"bOMt\",\n\t\"./nb.js\": \"bOMt\",\n\t\"./ne\": \"OjkT\",\n\t\"./ne.js\": \"OjkT\",\n\t\"./nl\": \"+s0g\",\n\t\"./nl-be\": \"2ykv\",\n\t\"./nl-be.js\": \"2ykv\",\n\t\"./nl.js\": \"+s0g\",\n\t\"./nn\": \"uEye\",\n\t\"./nn.js\": \"uEye\",\n\t\"./oc-lnc\": \"Fnuy\",\n\t\"./oc-lnc.js\": \"Fnuy\",\n\t\"./pa-in\": \"8/+R\",\n\t\"./pa-in.js\": \"8/+R\",\n\t\"./pl\": \"jVdC\",\n\t\"./pl.js\": \"jVdC\",\n\t\"./pt\": \"8mBD\",\n\t\"./pt-br\": \"0tRk\",\n\t\"./pt-br.js\": \"0tRk\",\n\t\"./pt.js\": \"8mBD\",\n\t\"./ro\": \"lyxo\",\n\t\"./ro.js\": \"lyxo\",\n\t\"./ru\": \"lXzo\",\n\t\"./ru.js\": \"lXzo\",\n\t\"./sd\": \"Z4QM\",\n\t\"./sd.js\": \"Z4QM\",\n\t\"./se\": \"//9w\",\n\t\"./se.js\": \"//9w\",\n\t\"./si\": \"7aV9\",\n\t\"./si.js\": \"7aV9\",\n\t\"./sk\": \"e+ae\",\n\t\"./sk.js\": \"e+ae\",\n\t\"./sl\": \"gVVK\",\n\t\"./sl.js\": \"gVVK\",\n\t\"./sq\": \"yPMs\",\n\t\"./sq.js\": \"yPMs\",\n\t\"./sr\": \"zx6S\",\n\t\"./sr-cyrl\": \"E+lV\",\n\t\"./sr-cyrl.js\": \"E+lV\",\n\t\"./sr.js\": \"zx6S\",\n\t\"./ss\": \"Ur1D\",\n\t\"./ss.js\": \"Ur1D\",\n\t\"./sv\": \"X709\",\n\t\"./sv.js\": \"X709\",\n\t\"./sw\": \"dNwA\",\n\t\"./sw.js\": \"dNwA\",\n\t\"./ta\": \"PeUW\",\n\t\"./ta.js\": \"PeUW\",\n\t\"./te\": \"XLvN\",\n\t\"./te.js\": \"XLvN\",\n\t\"./tet\": \"V2x9\",\n\t\"./tet.js\": \"V2x9\",\n\t\"./tg\": \"Oxv6\",\n\t\"./tg.js\": \"Oxv6\",\n\t\"./th\": \"EOgW\",\n\t\"./th.js\": \"EOgW\",\n\t\"./tk\": \"Wv91\",\n\t\"./tk.js\": \"Wv91\",\n\t\"./tl-ph\": \"Dzi0\",\n\t\"./tl-ph.js\": \"Dzi0\",\n\t\"./tlh\": \"z3Vd\",\n\t\"./tlh.js\": \"z3Vd\",\n\t\"./tr\": \"DoHr\",\n\t\"./tr.js\": \"DoHr\",\n\t\"./tzl\": \"z1FC\",\n\t\"./tzl.js\": \"z1FC\",\n\t\"./tzm\": \"wQk9\",\n\t\"./tzm-latn\": \"tT3J\",\n\t\"./tzm-latn.js\": \"tT3J\",\n\t\"./tzm.js\": \"wQk9\",\n\t\"./ug-cn\": \"YRex\",\n\t\"./ug-cn.js\": \"YRex\",\n\t\"./uk\": \"raLr\",\n\t\"./uk.js\": \"raLr\",\n\t\"./ur\": \"UpQW\",\n\t\"./ur.js\": \"UpQW\",\n\t\"./uz\": \"Loxo\",\n\t\"./uz-latn\": \"AQ68\",\n\t\"./uz-latn.js\": \"AQ68\",\n\t\"./uz.js\": \"Loxo\",\n\t\"./vi\": \"KSF8\",\n\t\"./vi.js\": \"KSF8\",\n\t\"./x-pseudo\": \"/X5v\",\n\t\"./x-pseudo.js\": \"/X5v\",\n\t\"./yo\": \"fzPg\",\n\t\"./yo.js\": \"fzPg\",\n\t\"./zh-cn\": \"XDpg\",\n\t\"./zh-cn.js\": \"XDpg\",\n\t\"./zh-hk\": \"SatO\",\n\t\"./zh-hk.js\": \"SatO\",\n\t\"./zh-mo\": \"OmwH\",\n\t\"./zh-mo.js\": \"OmwH\",\n\t\"./zh-tw\": \"kOpN\",\n\t\"./zh-tw.js\": \"kOpN\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"RnhZ\";","
\r\n
\r\n {{title}}\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n {{ value }}\r\n
\r\n
\r\n
\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-read-only',\r\n templateUrl: './read-only.component.html',\r\n styleUrls: ['./read-only.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ReadOnlyComponent {\r\n @Input() title: string;\r\n @Input() value: string;\r\n @Input() checkValue = false;\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ConfirmModalComponent } from './confirm-modal/confirm-modal.component';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { ResizeHandlerModule } from '@usitsdasdesign/dds-ng/shared/resize-handler';\r\nimport { CommonModalContainerComponent } from './common-modal-container/common-modal-container.component';\r\nimport { ButtonModule } from '../button/button.module';\r\n\r\n@NgModule({\r\n declarations: [ConfirmModalComponent, CommonModalContainerComponent],\r\n imports: [\r\n CommonModule,\r\n TranslateModule,\r\n ButtonModule,\r\n ResizeHandlerModule\r\n ],\r\n exports: [ConfirmModalComponent, CommonModalContainerComponent]\r\n})\r\nexport class ModalsModule { }\r\n","import {Injectable, OnDestroy} from '@angular/core';\r\nimport {Subject} from 'rxjs';\r\n\r\n@Injectable()\r\nexport class BaseComponent implements OnDestroy {\r\n destroy$ = new Subject();\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.less'],\r\n})\r\nexport class AppComponent implements OnInit {\r\n constructor() {}\r\n\r\n ngOnInit() {}\r\n}\r\n","\r\n \r\n\r\n\r\n\r\n","import { Component, Input } from '@angular/core';\r\nimport { ModalComponent } from '../modal.component';\r\nimport { ModalService } from '../../../../services/modal.service';\r\n\r\nexport interface ConfirmModalInput {\r\n heading?: string;\r\n content?: string;\r\n cancelButtonLabel?: string;\r\n saveButtonLabel?: string;\r\n}\r\n\r\n@Component({\r\n selector: 'app-confirm-modal',\r\n templateUrl: './confirm-modal.component.html',\r\n styleUrls: ['./confirm-modal.component.less'],\r\n})\r\nexport class ConfirmModalComponent extends ModalComponent {\r\n @Input() heading = '';\r\n @Input() content = '';\r\n @Input() cancelButtonLabel = 'Translation.No';\r\n @Input() saveButtonLabel = 'Translation.Changemodalconfirmbtn';\r\n @Input() showOnlyOne: boolean = false;\r\n @Input() showWarning: boolean = true;\r\n\r\n constructor(public modalService: ModalService) {\r\n super(modalService);\r\n }\r\n\r\n cancelHandler(): void {\r\n this.cancel();\r\n }\r\n\r\n confirmHandler(): void {\r\n this.close(true);\r\n }\r\n}\r\n","\r\n \r\n
\r\n \r\n
\r\n {{ content | translate}}\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n
\r\n","export interface InputOptions {\r\n label?: string;\r\n placeholder?: string;\r\n minHeight?: number;\r\n isRequired?: boolean;\r\n isError?: boolean;\r\n errorMessage?: string;\r\n isDisabled?: boolean;\r\n maxLength?: number;\r\n errorState?: ErrorState\r\n};\r\n\r\n\r\nexport enum ErrorState {\r\n default = \"default\",\r\n focusOut = \"focusOut\"\r\n}\r\n","export enum InvokeType {\r\n hover = 'hover',\r\n click ='click'\r\n}\r\nexport enum PositionState {\r\n top = 'top',\r\n topLeft = 'topLeft',\r\n topRight = 'topRight',\r\n bottom = 'bottom',\r\n bottomLeft = 'bottomLeft',\r\n bottomRight = 'bottomRight',\r\n left = 'left',\r\n leftTop = 'leftTop',\r\n leftBottom = 'leftBottom',\r\n right = 'right',\r\n rightTop = 'rightTop',\r\n rightBottom = 'rightBottom'\r\n}\r\nexport enum TooltipTheme {\r\n black = 'black',\r\n white = 'white'\r\n}\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-data-table-filter',\r\n templateUrl: './data-table-filter.component.html',\r\n styleUrls: ['./data-table-filter.component.less']\r\n})\r\nexport class DataTableFilterComponent {\r\n @Input() title: string;\r\n @Input() applyEnabled = false;\r\n @Input() resetEnabled = false;\r\n\r\n @Output() apply = new EventEmitter();\r\n @Output() reset = new EventEmitter();\r\n @Output() cancel = new EventEmitter();\r\n\r\n constructor() {\r\n }\r\n\r\n onReset(): void {\r\n this.reset.emit();\r\n }\r\n\r\n onCancel(): void {\r\n this.cancel.emit();\r\n }\r\n\r\n onApply(): void {\r\n this.apply.emit();\r\n }\r\n\r\n}\r\n","
\r\n\r\n
\r\n
\r\n {{ title | 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","import { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { MsalService } from '@azure/msal-angular';\r\nimport { DataContextService } from '../services/datacontext.service';\r\nimport { UserSettingsService } from '../services/user-settings.service';\r\nimport { StartupService } from '../services/startup.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AuthGuard implements CanActivate {\r\n constructor(\r\n private router: Router,\r\n private msalService: MsalService,\r\n private dataContextService: DataContextService,\r\n private userSettingsService: UserSettingsService,\r\n private startupService: StartupService\r\n ) {}\r\n\r\n canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | boolean | any {\r\n if (!window['hotelingDataToken'] && this.msalService.instance.getAllAccounts()[0]) {\r\n return this.startupService.authorizeUser().catch((err) => {\r\n this.msalService.loginRedirect();\r\n return false;\r\n });\r\n } else if (window['hotelingDataToken'] && this.msalService.instance.getAllAccounts()[0]) {\r\n if (!DataContextService.UserData.hasConciergeRights) {\r\n this.router.navigate(['/AccessDenied']);\r\n }\r\n return true;\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ModalService as DDSModalService } from '@usitsdasdesign/dds-ng/modal';\r\n\r\ntype ModalData = any | { [key: string]: any; isCanceled?: boolean; error?: any };\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ModalService {\r\n constructor(private ddsModalService: DDSModalService) { }\r\n\r\n open(component: any, inputs?: { [key: string]: any }, enableEscForClosing?: boolean): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.ddsModalService\r\n .open(component, inputs, enableEscForClosing)\r\n .onClosed()\r\n .subscribe((data: ModalData) => {\r\n if (!data || data.isCanceled) {\r\n reject(data && data.error);\r\n } else {\r\n resolve(data);\r\n }\r\n });\r\n });\r\n }\r\n\r\n close(data?: any): void {\r\n this.ddsModalService.close(data);\r\n }\r\n\r\n cancel(error?: any): void {\r\n this.ddsModalService.close({ error, isCanceled: true });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RadioGroupComponent } from './radio-group.component';\r\nimport { RadioComponent } from './components/radio.component';\r\nimport { TooltipModule } from '../tooltip/tooltip.module';\r\n\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [RadioGroupComponent, RadioComponent],\r\n imports: [\r\n CommonModule,\r\n TooltipModule\r\n ],\r\n exports: [\r\n RadioComponent,\r\n RadioGroupComponent\r\n ]\r\n})\r\nexport class RadioModule { }\r\n","export const START_PAGE = 1;\r\nexport const MIN_PAGE_LENGTH = 1;\r\nexport const MIN_NUMBER_IN_SECTION = 2;\r\nexport const ARIA_CURRENT_PAGE = 'page';\r\nexport const ARIA_LABEL_DEFAULT = 'pagination';\r\nexport const ARIA_LABEL_PAGE = 'Page';\r\nexport const DEFAULT_PREV_BTN_ICON = 'dds-icon_arrow-left';\r\nexport const DEFAULT_NEXT_BTN_ICON = 'dds-icon_arrow-right';\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DataContextService } from '../../../services/datacontext.service';\r\nimport * as moment from 'moment';\r\nimport 'moment-timezone';\r\n\r\n@Pipe({\r\n name: 'mPipe',\r\n})\r\nexport class DatexPipe implements PipeTransform {\r\n constructor(private dataContextService: DataContextService) {\r\n }\r\n transform(value: any, format: string = '', tz: string = '', locale = ''): string {\r\n let momentDate;\r\n\r\n if (tz) {\r\n momentDate = moment.tz(value, tz);\r\n } else {\r\n momentDate = moment(value);\r\n }\r\n\r\n // If moment didn't understand the value, return it unformatted.\r\n if (!momentDate.isValid()) {\r\n return value;\r\n }\r\n\r\n // Otherwise, return the date formatted as requested.\r\n if (!locale) {\r\n locale = this.dataContextService.defaultLanguage;\r\n }\r\n return momentDate.locale(locale).format(format);\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\nexport enum ButtonKind {\r\n primaryLoud = 'primaryLoud',\r\n primary = 'primary',\r\n secondaryLoud = 'secondaryLoud',\r\n secondary = 'secondary',\r\n silent = 'silent'\r\n}\r\n\r\nexport interface ButtonOptions {\r\n kind?: ButtonKind | string;\r\n type?: string;\r\n icon?: string;\r\n ariaLabel?: string;\r\n isDisabled?: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'app-button',\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.less']\r\n})\r\nexport class ButtonComponent {\r\n @Input() isfocused= false;\r\n @Input() label: string;\r\n @Input() type = 'button';\r\n @Input() isDisabled = false;\r\n @Input() icon: string;\r\n @Input() kind: ButtonKind | string;\r\n @Input() ariaLabel: string;\r\n @Output() clicked: EventEmitter = new EventEmitter();\r\n\r\n click(event: MouseEvent): void {\r\n event.stopPropagation();\r\n if (!this.isDisabled) {\r\n this.clicked.emit();\r\n }\r\n }\r\n}\r\n\r\n","\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'tbody[appTbody]',\r\n templateUrl: './data-table-body.component.html',\r\n styleUrls: ['./data-table-body.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class DataTableBodyComponent {\r\n @HostBinding('class.data-table__body') class = true;\r\n @Input() section = '';\r\n @Input() numOfColumns: number;\r\n @Input() set isExpanded(val: boolean) {\r\n this.expanded = val;\r\n }\r\n\r\n @Output() sectionExpanded = new EventEmitter();\r\n\r\n expanded = true;\r\n\r\n toggle(): void {\r\n this.expanded = !this.expanded;\r\n this.sectionExpanded.emit(this.expanded);\r\n }\r\n}\r\n","\r\n \r\n
\r\n \r\n {{section}}\r\n
\r\n \r\n\r\n\r\n \r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { DataContextService } from '../services/datacontext.service';\r\nimport { SpinnerService } from './spinner/spinner.service';\r\nimport { filter, tap } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class MasterDataResolver implements CanActivate {\r\n constructor(private dataContextService: DataContextService, private spinnerService: SpinnerService) {\r\n }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\r\n this.spinnerService.start();\r\n return this.dataContextService.masterDadaLoaded$.asObservable().pipe(\r\n filter(v => v),\r\n tap(val => {\r\n if (val) {\r\n this.spinnerService.stop();\r\n }\r\n })\r\n );\r\n }\r\n}\r\n","import { map, tap,filter } from \"rxjs/operators\";\r\nimport { Injectable,EventEmitter } from \"@angular/core\";\r\nimport { Observable, of } from \"rxjs\";\r\nimport {\r\n BookingsTabControls,\r\n CalendarTabControls,\r\n Controls,\r\n FindASpaceTabControls,\r\n MeetingsTabControls,\r\n PreferenceDetails,\r\n PreferencesControlsConfig,\r\n ServiceOrdersTabControls,\r\n LocalStorageKey,\r\n PreferenceBody,\r\n AllViewItem,\r\n ViewDetail,\r\n TAB_NAME_ADAPTER,\r\n FIELD_PROPERTY_ADAPTER,\r\n PreferencesSubTabFieldDTO,\r\n PreferencesTabConfigDTO,\r\n PreferencesViewData,\r\n PreferencesTabFieldDTO,\r\n PreferencesBookingsData,\r\n PreferencesCalendarData,\r\n PreferencesFindASpaceData,\r\n PreferencesMeetingsData,\r\n PreferencesServiceOrdersData,\r\n SelectOption,\r\n ALL_SELECTED,MASTER_VIEW_ID,\r\n} from \"../../../models/preferences.model\";\r\nimport { DataContextService } from \"../../datacontext.service\";\r\nimport { BehaviorSubject } from \"rxjs\";\r\nimport { SelectedGroupMultiselectItem } from \"src/app/shared/components/group-multiselect-dropdown/group-multiselect-dropdown.component\";\r\nimport { Building, ServiceOrderType } from \"src/app/models/masterdata.model\";\r\nimport { MultiSelectItem } from \"src/app/shared/components/multi-select/multi-select.component\";\r\n\r\n\r\n\r\n@Injectable()\r\nexport class PreferencesService {\r\n config: PreferencesControlsConfig;\r\n private favoriteView$ = new BehaviorSubject(null);\r\n private selectedView$ = new BehaviorSubject(null);\r\n public languageChanged$: BehaviorSubject = new BehaviorSubject(false);\r\n isAttemptToSave: boolean;\r\n \r\n private static hideDropDownsEve: EventEmitter = new EventEmitter();\r\n static getHideDropDownTriggerEvent() {\r\n return this.hideDropDownsEve;\r\n }\r\n static hideDropDownTriggerEvent(isHide: boolean) {\r\n this.hideDropDownsEve.emit(isHide);\r\n }\r\n constructor(private hotelingService: DataContextService) {\r\n this.getConfig().subscribe();\r\n }\r\n\r\n getConfig(): Observable {\r\n if (this.config) return of(this.config);\r\n return this.hotelingService.getData<{ data: PreferencesTabConfigDTO[] }>('Views/tabs').pipe(\r\n map((response) => {\r\n if (response.status == 200) {\r\n return response.data;\r\n } else {\r\n return this.hotelingService.showErrorToaster(response);\r\n }\r\n }),\r\n map((config: PreferencesTabConfigDTO[]) => {\r\n return this.setupConfig(config);\r\n }),\r\n tap((config: PreferencesControlsConfig) =>{\r\n this.config = config\r\n })\r\n );\r\n }\r\n\r\n private setupConfig(config: PreferencesTabConfigDTO[]): PreferencesControlsConfig {\r\n const result = {};\r\n\r\n config.forEach((tab: PreferencesTabConfigDTO) => {\r\n result[TAB_NAME_ADAPTER[tab.name]] = {};\r\n\r\n result[TAB_NAME_ADAPTER[tab.name]] = tab.tabFields.reduce(\r\n (prev, curr: PreferencesTabFieldDTO) => ({ ...prev, ...{ [FIELD_PROPERTY_ADAPTER[tab.name][curr.name]]: curr.id } }),\r\n {}\r\n );\r\n\r\n tab.subTabs.forEach((subTab: PreferencesSubTabFieldDTO) => {\r\n result[TAB_NAME_ADAPTER[tab.name]] = {\r\n ...result[TAB_NAME_ADAPTER[tab.name]],\r\n ...subTab.tabFields.reduce(\r\n (prev, curr: PreferencesTabFieldDTO) => ({\r\n ...prev,\r\n ...{ [FIELD_PROPERTY_ADAPTER[tab.name][subTab.name][curr.name]]: curr.id },\r\n }),\r\n {}\r\n ),\r\n };\r\n });\r\n });\r\n\r\n return result;\r\n }\r\n\r\n getPathById(id: number): { tab: string; control: string } {\r\n for (const tab in this.config) {\r\n for (const control in this.config[tab]) {\r\n if (this.config[tab][control] === id) {\r\n return { tab, control };\r\n }\r\n }\r\n }\r\n }\r\n\r\n parseViewDetails(data: PreferenceDetails): PreferencesViewData {\r\n const tabs: PreferencesControlsConfig = {\r\n findASpaceTab: {},\r\n calendarTab: {},\r\n meetingsTab: {},\r\n bookingsTab: {},\r\n serviceOrdersTab: {},\r\n };\r\n data.viewDetails.map((field) => {\r\n\r\n const path = this.getPathById(field.tabFieldId);\r\n if (path) {\r\n if (\r\n path.control === FindASpaceTabControls.Capacity ||\r\n path.control === CalendarTabControls.Capacity ||\r\n (path.tab === Controls.FindASpaceTab && path.control === FindASpaceTabControls.Type) ||\r\n (path.tab === Controls.FindASpaceTab && path.control === FindASpaceTabControls.Category)\r\n ) {\r\n tabs[path.tab][path.control] = field.value;\r\n } else if (\r\n path.control === ServiceOrdersTabControls.InOfficeIncludeDelete ||\r\n path.control === ServiceOrdersTabControls.VirtualIncludeDelete\r\n ) {\r\n tabs[path.tab][path.control] = Boolean(Number(field.value));\r\n } else {\r\n if (field.tabFieldId == 1 || field.tabFieldId == 4) {\r\n tabs[path.tab][path.control] = this.convertValue(field.value);\r\n }\r\n else if (field.tabFieldId == 19 || field.tabFieldId == 21) {\r\n var SOData: ServiceOrderType[] = [];\r\n SOData = field.value.split(',').map(i => {\r\n const SO = DataContextService.ServiceOrderTypes.find(s => s.id === Number(i))\r\n if (SO) {\r\n return SO\r\n }\r\n }).filter(Boolean);\r\n if(SOData.length<0)\r\n tabs[path.tab][path.control] = this.setUpServiceOrderData(SOData);\r\n }\r\n else{\r\n tabs[path.tab][path.control] = this.convertValue(field.value);\r\n\r\n }\r\n }\r\n }\r\n });\r\n\r\n const findASpaceTab = new PreferencesFindASpaceData(\r\n\r\n\r\n tabs.findASpaceTab.spaceFeatures ,\r\n tabs.findASpaceTab.capacity,\r\n tabs.findASpaceTab.type\r\n );\r\n\r\n const calendarTab = new PreferencesCalendarData(tabs.calendarTab.roomType, tabs.calendarTab.spaceFeatures, tabs.calendarTab.capacity);\r\n\r\n const meetingTab = new PreferencesMeetingsData(\r\n tabs.meetingsTab.dashboardRequestType,\r\n tabs.meetingsTab.dashboardMeetingType,\r\n tabs.meetingsTab.dashboardStatus,\r\n tabs.meetingsTab.meetingRequestType,\r\n tabs.meetingsTab.meetingStatus,\r\n tabs.meetingsTab.virtualMeetingStatus,\r\n tabs.meetingsTab.unfulfilledSpaceType\r\n );\r\n\r\n const allBookingsTab = new PreferencesBookingsData(\r\n tabs.bookingsTab.serviceOrders,\r\n tabs.bookingsTab.spaceType,\r\n tabs.bookingsTab.meetingType,\r\n tabs.bookingsTab.dashboardStatus,\r\n tabs.bookingsTab.waitListStatus\r\n );\r\n\r\n const serviceOrderTab = new PreferencesServiceOrdersData(\r\n tabs.serviceOrdersTab.type,\r\n tabs.serviceOrdersTab.serviceOrder,\r\n tabs.serviceOrdersTab.status,\r\n tabs.serviceOrdersTab.virtualServiceOrders,\r\n tabs.serviceOrdersTab.virtualStatus,\r\n tabs.serviceOrdersTab.inOfficeIncludeDelete,\r\n tabs.serviceOrdersTab.virtualIncludeDelete\r\n );\r\n\r\n return new PreferencesViewData(\r\n data.id,\r\n data.name,\r\n data.isFavourite,\r\n data.isActive,\r\n // data.countries.split(',').map((id) => Number(id)),\r\n this.convertValueToOptions(data.buildings),\r\n this.floorInitialValue(data.buildings,data.floors),\r\n data.assignedToMe,\r\n data.recordsPerPage,\r\n data.revision,\r\n findASpaceTab,\r\n calendarTab,\r\n meetingTab,\r\n allBookingsTab,\r\n serviceOrderTab,\r\n data.allViews\r\n );\r\n }\r\n\r\n setUpServiceOrderData(dataArray:ServiceOrderType[]):SelectedGroupMultiselectItem[] {\r\n\r\n const data = {\r\n ['TaskType']: {\r\n id:0,\r\n groupItems: [],\r\n },\r\n ['catering']: {\r\n id:1,\r\n groupItems: [],\r\n },\r\n };\r\n dataArray.forEach((order: ServiceOrderType) => {\r\n switch (order.serviceOrderCategory) {\r\n case 'TaskType': {\r\n data['TaskType'].groupItems.push(\r\n order.id\r\n );\r\n data['TaskType'].groupItems.sort((a, b) => (a.name == b.name ? 0 : a.name > b.name ? 1 : -1));\r\n break;\r\n }\r\n case 'catering': {\r\n data['catering'].groupItems.push(\r\n order.id\r\n );\r\n break;\r\n }\r\n }\r\n });\r\n return [data['TaskType'], data['catering']];\r\n\r\n }\r\n\r\n convertValue(value:string):(Number|string)[]{\r\n return value.split(',').map((id) => isNaN(Number(id)) ? id : Number(id));\r\n }\r\n\r\n private convertValueToOptions(value: string): SelectOption[] {\r\n if (!value) {\r\n return [];\r\n }\r\n\r\n if (value === 'All') {\r\n return ALL_SELECTED;\r\n }\r\n\r\n return value.split(',').map((id) => ({\r\n value: isNaN(Number(id)) ? id : Number(id),\r\n name: '',\r\n }));\r\n }\r\n private floorInitialValue(building,floor): SelectedGroupMultiselectItem[]{\r\n var location: SelectedGroupMultiselectItem[] = []\r\n if (building) {\r\n const buildings: number[] = building.split(',').map((id) => (\r\n Number(id)\r\n ));\r\n const floors: number[] = floor === 'All' ?\r\n DataContextService.Buildings.find(i => i.id === buildings[0]).floors.map(i => i.uniqueKey) :\r\n floor.split(',').map((id) => (\r\n Number(id)\r\n ));\r\n buildings.forEach(element => {\r\n let floorUniqueKeys = [];\r\n const building = DataContextService.Buildings.find(d => d.id === element);\r\n if (building) {\r\n floors.forEach(d => {\r\n if (building.floors.find(u => u.uniqueKey === d))\r\n floorUniqueKeys.push(d);\r\n })\r\n }\r\n location.push({\r\n id: element,\r\n groupItems: floorUniqueKeys\r\n })\r\n });\r\n }\r\n return location\r\n\r\n }\r\n\r\n getPreferenceViewData(id: string): Observable {\r\n return this.hotelingService.getData<{ data: PreferenceDetails }>(`Views/${id}`).pipe(\r\n map((response: any) => {\r\n if (response.status == 200) {\r\n return this.parseViewDetails(this.hotelingService.removeInactiveBuildingFloors(response.data));\r\n } else {\r\n return this.hotelingService.showErrorToaster(response);\r\n }\r\n })\r\n );\r\n }\r\n\r\n createView(body: PreferenceBody): Observable {\r\n return this.hotelingService.postData('Views', body).pipe(\r\n map((res) => {\r\n if (res.status == 200) {\r\n return res.data;\r\n } else {\r\n return this.hotelingService.showErrorToaster(res);\r\n }\r\n })\r\n );\r\n }\r\n\r\n getFavoriteView(): Observable {\r\n return this.hotelingService.getData('Views/favourite').pipe(\r\n map((response: { data: PreferenceDetails }) => {\r\n const data = response.data;\r\n const convertedAllViews: AllViewItem[] =\r\n data.allViews && data.allViews.length > 0\r\n ? data.allViews.map((allViewItemDTO) => {\r\n return {\r\n id: allViewItemDTO.id,\r\n name: allViewItemDTO.name,\r\n isActive: allViewItemDTO.isActive,\r\n isFavourite: allViewItemDTO.isFavourite,\r\n };\r\n })\r\n : [{\r\n id: data.id,\r\n name: data.name,\r\n isActive: data.isActive,\r\n isFavourite: data.isFavourite\r\n }];\r\n\r\n const viewDetailDTO = new Array();\r\n data.viewDetails.map((field) => {\r\n viewDetailDTO.push(field);\r\n });\r\n\r\n const favoriteView: PreferenceDetails = {\r\n allViews: convertedAllViews,\r\n assignedToMe: data.assignedToMe,\r\n buildings: data.buildings != null ? data.buildings : \"\",\r\n // countries: data.countries,\r\n floors: data.floors,\r\n id: data.id,\r\n isActive: data.isActive,\r\n isFavourite: data.isFavourite,\r\n name: data.name,\r\n recordsPerPage: data.recordsPerPage,\r\n revision: data.revision,\r\n viewDetails: viewDetailDTO,\r\n };\r\n\r\n return favoriteView;\r\n })\r\n );\r\n }\r\n\r\n updateView(body: PreferenceBody): Observable {\r\n return this.hotelingService.patchData('Views', body, true).pipe(\r\n map((res) => {\r\n if (res.status == 200) {\r\n return res;\r\n } else {\r\n return this.hotelingService.showErrorToaster(res);\r\n }\r\n })\r\n );\r\n }\r\n\r\n deleteView(id: string): Observable<{}> {\r\n return this.hotelingService.deleteData(`Views/${id}`).pipe(\r\n map((res) => {\r\n if (res.status == 200) {\r\n return res;\r\n } else {\r\n return this.hotelingService.showErrorToaster(res);\r\n }\r\n })\r\n );\r\n }\r\n getView(id: string): Observable | Observable {\r\n return this.hotelingService.getData(`Views/${id}`).pipe(map((res: any) => {\r\n if (res.status == 200) {\r\n return res.data as PreferenceDetails;\r\n }\r\n if (res.status == 404) {\r\n return res.data = [];\r\n }\r\n }));\r\n }\r\n\r\n get allViews$(): Observable {\r\n return this.favoriteView$.pipe(\r\n filter(data => !!data),\r\n map((data) => {\r\n if (data.allViews.length) {\r\n return data.allViews\r\n .sort((a, b) => Number(b.isActive) - Number(a.isActive))\r\n .sort((a, b) => Number(b.isFavourite) - Number(a.isFavourite));\r\n } else {\r\n return [\r\n {\r\n isFavourite: data.isFavourite,\r\n id: data.id,\r\n isActive: data.isActive,\r\n name: data.name,\r\n },\r\n ];\r\n }\r\n })\r\n );\r\n }\r\n\r\n //FavoriteView Service Region Start\r\n\r\n get allFavoriteViewData$(): Observable {\r\n return this.favoriteView$;\r\n }\r\n setViewToLocalStorage(view: PreferenceDetails) {\r\n localStorage.setItem(LocalStorageKey.SelectedView, JSON.stringify(view));\r\n this.selectedView$.next(view);\r\n }\r\n setFavoriteViewInLocalStorage(view: PreferenceDetails) {\r\n this.setFavoriteViewToStorage(view);\r\n }\r\n private setFavoriteViewToStorage(favoriteView: PreferenceDetails): void {\r\n localStorage.setItem(LocalStorageKey.FavoriteView, JSON.stringify(favoriteView));\r\n this.favoriteView$.next(favoriteView);\r\n }\r\n\r\n getLatestViewData$(): Observable {\r\n return this.getFavoriteView().pipe(\r\n tap((data) => {\r\n const favoriteView = data;\r\n if (favoriteView.id === MASTER_VIEW_ID && !favoriteView.allViews.length) {\r\n favoriteView.allViews.push({\r\n id: favoriteView.id,\r\n isActive: favoriteView.isActive,\r\n isFavourite: favoriteView.isFavourite,\r\n name: favoriteView.name,\r\n });\r\n }\r\n\r\n this.setFavoriteViewToStorage(favoriteView);\r\n })\r\n );\r\n }\r\n getMasterViewData$(): Observable {\r\n return this.favoriteView$.pipe(map((data) => this.parseViewDetails(data)));\r\n }\r\n set selectedView(view: PreferenceDetails) {\r\n this.selectedView$.next(view);\r\n }\r\n\r\n\r\n\r\n getLanguages() {\r\n const url = `Language/Supported`;\r\n return this.hotelingService.getData(url);\r\n }\r\n\r\n savePreferredLanguage(data: any) {\r\n const url = `Language/Preference`;\r\n\r\n return this.hotelingService.postData(url, data, true);\r\n }\r\n \r\n //Language Service End\r\n\r\n // getViews(){\r\n // let viewData = this.getViewFromLocalStorage();\r\n // if (this.checkForInactiveBuildingFloors(viewData)) {\r\n // this.route.navigate([`${RoutesConfig.pages.preferences}`], {\r\n // queryParams: {\r\n // viewId: viewData.id\r\n // }\r\n // });\r\n // } else {\r\n // // this._router.navigate([this.dataContextService.BreadcrumbNavigation || BreadcrumbNavigation.get(Breadcrumb.ReservationWizardDetails)]);\r\n // }\r\n // }\r\n\r\n // checkForInactiveBuildingFloors(viewData: PreferenceDetails): boolean {\r\n // let view = this.hotelingService.removeInactiveBuildingFloors(viewData);\r\n // this.storeViewIntoLocalStorage(view);\r\n // this.favoriteViewData = view;\r\n // if (view.buildings == null || view.floors== null)\r\n // return true;\r\n // else \r\n // return false;\r\n // }\r\n\r\n // getViewFromLocalStorage(): PreferenceDetails{\r\n // let viewId = this.hotelingService.fetchFromLocalStorage('selectedViewId');\r\n // if (viewId) {\r\n // return JSON.parse(this.hotelingService.fetchFromLocalStorage(LocalStorageKey.SelectedView)) as PreferenceDetails;\r\n // }\r\n // else {\r\n // return JSON.parse(this.hotelingService.fetchFromLocalStorage(LocalStorageKey.FavoriteView)) as PreferenceDetails;\r\n // }\r\n // }\r\n // storeViewIntoLocalStorage(view: PreferenceDetails) {\r\n // let viewId = this.hotelingService.fetchFromLocalStorage('selectedViewId');\r\n // if (viewId) {\r\n // this.hotelingService.storeInLocalStorage(LocalStorageKey.SelectedView, JSON.stringify(view)); \r\n // }\r\n // else {\r\n // this.hotelingService.storeInLocalStorage(LocalStorageKey.FavoriteView, JSON.stringify(view));\r\n // }\r\n // }\r\n}\r\n\r\n","export enum ReservationType {\r\n Regular = 'Regular',\r\n Meeting = 'Meeting',\r\n Ltr = 'Ltr',\r\n Lab = 'Lab'\r\n}\r\n\r\nexport enum ReservationClassification {\r\n SingleOffice = 'SingleOffice',\r\n Virtual = 'Virtual',\r\n Hybrid = 'Hybrid'\r\n}\r\n\r\nexport enum ReservationStatus {\r\n Definite = 'Definite',\r\n NewRequest = 'NewRequest',\r\n Tentative = 'Tentative',\r\n Pipeline = 'Pipeline',\r\n Cancelled = 'Cancelled',\r\n DidNotMaterialize = 'DidNotMaterialize'\r\n}\r\n\r\nexport enum ReservationFeatureFlag {\r\n Undefined = 'Undefined',\r\n IncludeVirtualBookings = 'IncludeVirtualBookings',\r\n IncludeMeetingWaitLists = 'IncludeMeetingWaitLists',\r\n IncludeSpaceBookings = 'IncludeSpaceBookings',\r\n IncludeAllowedStatusActions = 'IncludeAllowedStatusActions',\r\n IncludeItemCount = 'IncludeItemCount'\r\n}\r\n\r\ninterface ReservationBookingBulkItem {\r\n value: T,\r\n specified: boolean\r\n}\r\n\r\nexport interface ReservationBookingBulkModifyInput {\r\n name: ReservationBookingBulkItem;\r\n specialistId: ReservationBookingBulkItem;\r\n setupTypeId: ReservationBookingBulkItem;\r\n attendeesCount: ReservationBookingBulkItem;\r\n startDate: ReservationBookingBulkItem;\r\n startTime: ReservationBookingBulkItem;\r\n endTime: ReservationBookingBulkItem;\r\n spaceBookings: {\r\n id: number,\r\n revision: number\r\n }[];\r\n}\r\n","import {RouterModule} from '@angular/router';\r\nimport {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {LayoutComponent} from './layout.component';\r\nimport {SideMenuComponent} from './side-menu/side-menu.component';\r\nimport {HeaderComponent} from './header/header.component';\r\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\r\nimport {SideMenuItemComponent} from './side-menu/components/side-menu-item/side-menu-item.component';\r\nimport {UserProfileSideMenuComponent} from './user-profile-side-menu/user-profile-side-menu.component';\r\nimport {ViewSelectorComponent} from './header/view-selector/view-selector.component';\r\nimport {ClickOutsideModule} from '../../shared/directives/click-outside/click-outside.module';\r\nimport { UserNotificationComponent } from './header/user-notification/user-notification.component';\r\nimport { MomentPipeModule } from '../../shared/pipes/moment/moment-pipe.module';\r\nimport { GlobalSearchComponent } from './header/global-search/global-search.component';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { StatusModule } from '../../shared/components/status/status.module';\r\nimport { EllipsisTooltipModule } from '../../shared/directives/ellipsis-tooltip/ellipsis-tooltip.module';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { AvatarImageModule } from '../../shared/components/avatar/avatar-image.module';\r\nimport { HighlightModule } from '../../shared/common/highlight/highlight.module';\r\nimport { StaticlinkNavigationComponent } from './header/staticlink-navigation/staticlink-navigation.component';\r\nimport { TooltipModule } from '../../shared/components/tooltip/tooltip.module';\r\nimport { OwnerSearchModule } from '../../shared/components/owner-search/owner-search.module';\r\nimport { MergeTabsModule } from 'src/app/shared/components/tabs/tabs.module';\r\n\r\n@NgModule({\r\n declarations: [\r\n LayoutComponent,\r\n SideMenuComponent,\r\n HeaderComponent,\r\n SideMenuItemComponent,\r\n UserProfileSideMenuComponent,\r\n ViewSelectorComponent,\r\n UserNotificationComponent,\r\n GlobalSearchComponent,\r\n StaticlinkNavigationComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n RouterModule,\r\n ClickOutsideModule,\r\n TranslateModule,\r\n ReactiveFormsModule,\r\n TooltipModule,\r\n StatusModule,\r\n MomentPipeModule,\r\n TranslateModule,\r\n EllipsisTooltipModule,\r\n SharedModule,\r\n AvatarImageModule,\r\n HighlightModule,\r\n OwnerSearchModule,\r\n MergeTabsModule\r\n ],\r\n exports: [\r\n LayoutComponent,\r\n ],\r\n})\r\nexport class LayoutModule {\r\n}\r\n","import { APP_INITIALIZER, NgModule } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { DataContextService } from './services/datacontext.service';\r\nimport { StartupService } from './services/startup.service';\r\nimport { MsalGuard, MsalModule, MsalService } from '@azure/msal-angular';\r\nimport { SpinnerComponent } from './common/spinner/spinner.component';\r\nimport { SpinnerService } from './common/spinner/spinner.service';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { LayoutModule } from './common/layout/layout.module';\r\nimport { HTTP_INTERCEPTORS, HttpClient, HttpClientModule } from '@angular/common/http';\r\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nimport { SharedModule } from './shared/shared.module';\r\nimport { DdsConfigModule } from '@usitsdasdesign/dds-ng/shared/dds-config';\r\nimport { ToastModule } from '@usitsdasdesign/dds-ng/toast';\r\nimport { CommonConfig } from './configs/common.config';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { PreferencesConfigService } from './services/preferences/preferences-config.service';\r\nimport { PreferencesCurrentViewService } from './services/preferences/preferences-current-view';\r\nimport { TokenInterceptor } from './services/token.interceptor';\r\nimport { AuthGuard } from './guards/auth.guard';\r\nimport { MasterDataResolver } from './common/master-data.resolver';\r\nimport { ToasterComponent } from './common/toaster/toaster.component';\r\nimport { AccessDeniedComponent } from './common/access-denied/access-denied.component';\r\nimport { OAuthModule } from 'angular-oauth2-oidc'\r\nimport { AuthModule } from './auth.module'\r\n\r\nexport function HttpLoaderFactory(http: HttpClient): TranslateHttpLoader {\r\n return new TranslateHttpLoader(http, '../assets/locales/', '.json');\r\n}\r\n\r\nexport function startupServiceFactory(startupService: StartupService): () => void {\r\n return () => {\r\n return startupService\r\n .authorizeUser()\r\n .then(() => {\r\n // return startupService.graphApi();\r\n })\r\n .catch((err) => {\r\n // startupService.loginRedirect();\r\n // return Promise.reject(err);\r\n });\r\n };\r\n}\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n SpinnerComponent,\r\n ToasterComponent,\r\n AccessDeniedComponent\r\n ],\r\n imports: [\r\n BrowserModule,\r\n AppRoutingModule,\r\n LayoutModule,\r\n HttpClientModule,\r\n BrowserAnimationsModule,\r\n OAuthModule.forRoot(),\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory,\r\n deps: [HttpClient],\r\n },\r\n }),\r\n SharedModule,\r\n DdsConfigModule.forRoot(CommonConfig.ddsConfigOptions),\r\n MsalModule,\r\n ToastModule,\r\n AuthModule\r\n ],\r\n providers: [\r\n DataContextService,\r\n PreferencesConfigService,\r\n PreferencesCurrentViewService,\r\n //MsalService,\r\n //MsalGuard,\r\n MasterDataResolver,\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: startupServiceFactory,\r\n deps: [StartupService],\r\n multi: true\r\n },\r\n AuthGuard,\r\n SpinnerService,\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: TokenInterceptor,\r\n multi: true\r\n }\r\n ],\r\n bootstrap: [AppComponent],\r\n})\r\nexport class AppModule {}\r\n","import { BehaviorSubject, Observable, queueScheduler, Observer, Operator } from 'rxjs';\r\nimport { observeOn, scan, distinctUntilChanged, map } from 'rxjs/operators';\r\n\r\nexport interface Time {\r\n hour?: string | number;\r\n minute?: string | number;\r\n seconds?: string | number;\r\n isPM?: boolean;\r\n}\r\n\r\nexport interface TimepickerControls {\r\n canIncrementHours: boolean;\r\n canIncrementMinutes: boolean;\r\n canIncrementSeconds: boolean;\r\n\r\n canDecrementHours: boolean;\r\n canDecrementMinutes: boolean;\r\n canDecrementSeconds: boolean;\r\n\r\n canToggleMeridian: boolean;\r\n}\r\n\r\nexport interface TimepickerComponentState {\r\n minDate?: Date;\r\n maxDate?: Date;\r\n\r\n hourStep: number;\r\n minuteStep: number;\r\n secondsStep: number;\r\n\r\n readonlyInput: boolean;\r\n isDisabled: boolean;\r\n\r\n mousewheel: boolean;\r\n arrowkeys: boolean;\r\n\r\n showSpinners: boolean;\r\n showMeridian: boolean;\r\n showSeconds: boolean;\r\n\r\n meridians: string[];\r\n}\r\n\r\nexport type TimeChangeSource = 'wheel' | 'key' | '';\r\n\r\nexport interface TimeChangeEvent {\r\n step: number;\r\n source: TimeChangeSource;\r\n}\r\n\r\nexport interface Action {\r\n type: string;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n payload?: any;\r\n}\r\n\r\nexport type ActionReducer = (state: T, action: Action) => T;\r\n\r\nexport class MiniState extends BehaviorSubject {\r\n constructor(\r\n _initialState: T,\r\n actionsDispatcher$: Observable,\r\n reducer: ActionReducer\r\n ) {\r\n super(_initialState);\r\n\r\n const actionInQueue$ = actionsDispatcher$.pipe(\r\n observeOn(queueScheduler)\r\n );\r\n const state$ = actionInQueue$.pipe(\r\n scan((state: T, action: Action) => {\r\n if (!action) {\r\n return state;\r\n }\r\n\r\n return reducer(state, action);\r\n },\r\n _initialState\r\n ));\r\n\r\n state$.subscribe((value: T) => this.next(value));\r\n }\r\n}\r\n\r\nexport class MiniStore extends Observable implements Observer {\r\n constructor(\r\n private _dispatcher: Observer,\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n private _reducer: ActionReducer,\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n state$: Observable\r\n ) {\r\n super();\r\n\r\n this.source = state$;\r\n }\r\n\r\n select(pathOrMapFn: (state: T) => R): Observable {\r\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\r\n // @ts-ignore\r\n const mapped$: Observable = this.source?.pipe(map(pathOrMapFn)) || new Observable().pipe(map(pathOrMapFn));\r\n return mapped$.pipe(distinctUntilChanged());\r\n }\r\n\r\n lift(operator: Operator): MiniStore {\r\n const store = new MiniStore(this._dispatcher, this._reducer, this);\r\n store.operator = operator;\r\n\r\n return store;\r\n }\r\n\r\n dispatch(action: Action) {\r\n this._dispatcher.next(action);\r\n }\r\n\r\n next(action: Action) {\r\n this._dispatcher.next(action);\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n error(err: any) {\r\n this._dispatcher.error(err);\r\n }\r\n\r\n complete() {\r\n /*noop*/\r\n }\r\n}\r\n","import { Component, EventEmitter, forwardRef, Inject, Input, OnInit, Output } from '@angular/core';\r\nimport { RadioGroupComponent } from '../radio-group.component';\r\n\r\n@Component({\r\n selector: 'app-radio',\r\n templateUrl: './radio.component.html',\r\n styleUrls: ['./radio.component.less']\r\n})\r\nexport class RadioComponent implements OnInit {\r\n @Input() isDisabled: boolean;\r\n @Input() label: string;\r\n @Input() theme: string;\r\n @Input() customClass: string;\r\n @Input() value: string;\r\n checked: boolean = false;\r\n\r\n\r\n constructor(@Inject(forwardRef(() => RadioGroupComponent)) public radioGroup: RadioGroupComponent) { }\r\n\r\n ngOnInit(): void {\r\n this.checked = this.radioGroup.value === this.value;\r\n }\r\n change() {\r\n if (this.isDisabled || this.checked)\r\n return;\r\n\r\n this.radioGroup.updateValue(this.value);\r\n }\r\n}\r\n","\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n/*\r\n *
\r\n */\r\n@Pipe({\r\n name: 'appHighlight',\r\n})\r\nexport class HighlightPipe implements PipeTransform {\r\n transform(value: string, arg: string): string {\r\n if (value == null || value.length === 0 || arg == null || arg.length === 0) {\r\n return value;\r\n }\r\n value = value.toString();\r\n const startIndex = value.toLowerCase().indexOf(arg.toLowerCase());\r\n if (startIndex === -1) {\r\n return value;\r\n }\r\n\r\n const endLength = arg.length;\r\n const matchingString = value.substr(startIndex, endLength);\r\n\r\n return value.replace(matchingString, '' + matchingString + '');\r\n }\r\n}\r\n","/* tslint:disable */\r\nimport { EventEmitter, Inject, Injectable, Injector } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\r\nimport { UserSettingsService } from './user-settings.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { InactiveOwner } from '../models/users.model';\r\nimport { catchError, finalize, map, retryWhen, scan } from 'rxjs/operators';\r\nimport { SpinnerService } from '../common/spinner/spinner.service';\r\nimport { Facility, StatusReasons } from '../models/masterdata.model';\r\nimport {\r\n Amenity,\r\n AttachmentFileExtension,\r\n AttachmentFileType,\r\n Building,\r\n Configuration,\r\n EventType,\r\n Item,\r\n ItemWithDescription,\r\n ItemWithDisplayName,\r\n JobTitle,\r\n Neighborhood,\r\n ServiceOrderType,\r\n SpaceFeature,\r\n SpaceSetupType,\r\n Status,\r\n TaskType,\r\n TimeZone,\r\n ViewTab,\r\n VirtualBookingAdditionalDetail,\r\n SpaceType,\r\n ItemForSubType,\r\n Technology,\r\n CateringOrder,\r\n} from '../models/masterdata.model';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport * as moment from 'moment';\r\nimport 'moment-timezone';\r\nimport { PreferenceDetails } from '../models/preferences.model';\r\nimport { ToasterService, ToasterType } from '../common/toaster/toaster.service';\r\nimport { TimeZoneMatchInput, TimeZoneMatchResponse } from '../models/common.model';\r\nimport { APP_CONFIG, AppConfiguration } from '../configs/app-configuration';\r\n\r\n@Injectable()\r\nexport class DataContextService {\r\n public static BASE_URL: string;\r\n\r\n public static ROWS_PER_PAGE: number;\r\n public static RECOMMENDATION_LIST_PAGE_SIZE: number;\r\n public static LoggedInUserId: number;\r\n public masterDadaLoaded$ = new BehaviorSubject(false);\r\n public Breadcrumb: string;\r\n public BreadcrumbNavigation: string;\r\n public static FacilityArray: Array;\r\n public static TimeZones: TimeZone[];\r\n public static VirtualBookingTechnologyAccounts: Item[] = [];\r\n public static VirtualBookingAdditionalDetails: VirtualBookingAdditionalDetail[] = [];\r\n public static TaskTypes: TaskType[];\r\n public static ServiceOrderTypes: ServiceOrderType[];\r\n public static Neighborhoods: Neighborhood[] = [];\r\n public static Series: Item[];\r\n public static TaskStatus: Status[];\r\n public static CateringStatus: Status[];\r\n public static WaitlistStatus: Status[] = [];\r\n public static BookingStatus: Status[];\r\n public static ReservationStatus: Status[];\r\n public static VirtualBookingStatus: Status[] = [];\r\n public static SpaceFeatures: SpaceFeature[];\r\n public static EventTypes: EventType[];\r\n public static SpaceSetupTypes: SpaceSetupType[];\r\n public static Configurations: Configuration[];\r\n public static MemberFirmConfigurations: Configuration[] = [];\r\n public static ViewTabs: ViewTab[];\r\n public static MeetingWaitlistRequestTypes: ItemWithDisplayName[];\r\n public static MeetingWaitlistStatus: Status[];\r\n public static AttachmentFileExtensions: AttachmentFileExtension[] = [];\r\n public static AttachmentFileTypes: AttachmentFileType[] = [];\r\n public static StatusReasons: StatusReasons[];\r\n public static SpaceSubTypes: ItemWithDescription[];\r\n public static Amenities: Amenity[];\r\n public static JobTitles: JobTitle[];\r\n public static MealOptions: Item[];\r\n public static Buildings: Building[] = [];\r\n public static FilterSelectedCountryBuildings: Building[] = [];\r\n public static SpaceTypes: SpaceType[];\r\n\r\n public static UserData: any;\r\n public static ServiceOrderFilter_arr: Array;\r\n\r\n private static RequestCounter: number = 0;\r\n public static VirtualBookingTechnologyTypes: Array = [];\r\n public static CateringOrder_Type: Array;\r\n public preferenceRefresh$: BehaviorSubject = new BehaviorSubject(false);\r\n public static readonly MAX_AVATAR_NUMBER = 20;\r\n private static userNotificationDataChange: EventEmitter = new EventEmitter();\r\n\r\n constructor(\r\n private _http: HttpClient,\r\n private spinner: SpinnerService,\r\n private userSettingsService: UserSettingsService,\r\n private injector: Injector,\r\n private translate: TranslateService,\r\n private sanitizer: DomSanitizer,\r\n private toasterService: ToasterService,\r\n @Inject(APP_CONFIG) private appConfiguration: AppConfiguration,\r\n ) {\r\n DataContextService.BASE_URL =\r\n this.userSettingsService.appSettings.HotelingCloudApiUrl + this.userSettingsService.appSettings.HotelingCloudApiVersion + '/';\r\n translate.setDefaultLang(this._defaultLanguage);\r\n translate.use(this._defaultLanguage);\r\n }\r\n\r\n translateText(input: string): string {\r\n return this.translate.instant(input);\r\n }\r\n\r\n private _defaultLanguage: string = 'en-US';\r\n private _defaultLanguageCode: string;\r\n\r\n getData(\r\n _dataUrl: string,\r\n showGlobalSpinner: boolean = true,\r\n isDelegate: boolean = false,\r\n continueOnError: boolean = false\r\n ): Observable {\r\n if (DataContextService.RequestCounter == 0 && showGlobalSpinner) {\r\n this.spinner.start();\r\n }\r\n const headerDict = {\r\n 'Cache-Control': 'no-cache',\r\n Pragma: 'no-cache',\r\n };\r\n _dataUrl = `${DataContextService.BASE_URL}${_dataUrl}`;\r\n let headers = new HttpHeaders(headerDict);\r\n headers = this.setoAuthHeaders(headers, isDelegate);\r\n //increment request counter by 1\r\n if (showGlobalSpinner) {\r\n DataContextService.RequestCounter = DataContextService.RequestCounter + 1;\r\n }\r\n\r\n return this._http\r\n .get(_dataUrl, {\r\n headers: headers,\r\n observe: 'response',\r\n })\r\n .pipe(\r\n retryWhen((error) =>\r\n error.pipe(\r\n scan((acc, error) => {\r\n if (acc > 1 && error.status == 401) {\r\n throw error;\r\n } else if (error.status != 401) {\r\n throw error;\r\n }\r\n return error.status == 401 ? acc + 1 : acc;\r\n }, 1)\r\n )\r\n ),\r\n map((response: any) => {\r\n const result = {\r\n status: response.status,\r\n statusText: response.statusText,\r\n data: response['body'],\r\n };\r\n return result;\r\n }),\r\n catchError((error: HttpErrorResponse) => this.handleError(error, continueOnError)),\r\n finalize(() => {\r\n if (showGlobalSpinner) {\r\n DataContextService.RequestCounter = DataContextService.RequestCounter - 1;\r\n if (DataContextService.RequestCounter == 0) {\r\n this.spinner.stop();\r\n }\r\n }\r\n })\r\n );\r\n }\r\n\r\n getImage(url: any, continueOnError: boolean = false) {\r\n let headers = new HttpHeaders();\r\n headers = headers.append('Content-Type', 'text/plain');\r\n headers = headers.append('Content-Transfer-Encoding', 'base64');\r\n headers = this.setoAuthHeaders(headers, false);\r\n if (DataContextService.RequestCounter == 0) {\r\n this.spinner.start();\r\n DataContextService.RequestCounter = DataContextService.RequestCounter + 1;\r\n }\r\n return this._http\r\n .get(url, {\r\n headers: headers,\r\n responseType: 'arraybuffer',\r\n })\r\n .pipe(\r\n catchError((error: HttpErrorResponse) => this.handleError(error, continueOnError)),\r\n finalize(() => {\r\n DataContextService.RequestCounter = DataContextService.RequestCounter - 1;\r\n if (DataContextService.RequestCounter == 0) {\r\n this.spinner.stop();\r\n }\r\n })\r\n );\r\n }\r\n\r\n arrayBufferToBase64(buffer) {\r\n let binary = '';\r\n let bytes = new Uint8Array(buffer);\r\n let len = bytes.byteLength;\r\n for (var i = 0; i < len; i++) {\r\n binary += String.fromCharCode(bytes[i]);\r\n }\r\n return window.btoa(binary);\r\n }\r\n\r\n setDataToImageBody(data, isIcon = false) {\r\n if (isIcon) {\r\n return this.sanitizer.bypassSecurityTrustUrl('data:image/svg+xml;base64,' + data);\r\n }\r\n return this.sanitizer.bypassSecurityTrustUrl('data:image/png;base64,' + data);\r\n }\r\n\r\n isCacheExpired(lastUpdated: string | Date, expirationTimeKey: string): boolean {\r\n let expirationTime = this.userSettingsService.appSettings[expirationTimeKey].split(':');\r\n let currentDate = moment().format('YYYY-MM-DDTHH:mm:ss');\r\n if (\r\n moment(lastUpdated)\r\n .add(Number(expirationTime[0]) * 60 + Number(expirationTime[1]), 'minutes')\r\n .isBefore(currentDate)\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n postData(\r\n _dataUrl: string,\r\n data: Object,\r\n showGlobalSpinner: boolean = true,\r\n stopSpinner?: boolean,\r\n isDelegate: boolean = false\r\n ): Observable {\r\n if (DataContextService.RequestCounter == 0 && showGlobalSpinner) {\r\n this.spinner.start();\r\n }\r\n let bodyString = JSON.stringify(data);\r\n\r\n if (showGlobalSpinner) {\r\n DataContextService.RequestCounter = DataContextService.RequestCounter + 1;\r\n }\r\n _dataUrl = `${DataContextService.BASE_URL}${_dataUrl}`;\r\n let headers = new HttpHeaders();\r\n headers = this.setHeaderTypeAsJson(headers, isDelegate);\r\n return this._http.post(_dataUrl, bodyString, { headers: headers, observe: 'response' }).pipe(\r\n retryWhen((error) =>\r\n error.pipe(\r\n scan((acc, error) => {\r\n if (acc > 1 && error.status == 401) {\r\n throw error;\r\n } else if (error.status != 401) {\r\n throw error;\r\n }\r\n return error.status == 401 ? acc + 1 : acc;\r\n }, 1)\r\n )\r\n ),\r\n map((response: any) => {\r\n const result = {\r\n status: response.status,\r\n statusText: response.statusText,\r\n data: response['body'],\r\n };\r\n return result;\r\n }),\r\n catchError((error: HttpErrorResponse) => this.handleError(error)),\r\n finalize(() => {\r\n if (showGlobalSpinner) {\r\n DataContextService.RequestCounter = DataContextService.RequestCounter - 1;\r\n if (DataContextService.RequestCounter == 0) {\r\n !stopSpinner && this.spinner.stop();\r\n }\r\n }\r\n })\r\n );\r\n }\r\n\r\n patchData(_dataUrl: string, data: Object, showGlobalSpinner: boolean = true, isDelegate: boolean = false): Observable {\r\n if (DataContextService.RequestCounter == 0 && showGlobalSpinner) {\r\n this.spinner.start();\r\n }\r\n let bodyString = JSON.stringify(data);\r\n\r\n if (showGlobalSpinner) {\r\n DataContextService.RequestCounter = DataContextService.RequestCounter + 1;\r\n }\r\n _dataUrl = `${DataContextService.BASE_URL}${_dataUrl}`;\r\n let headers = new HttpHeaders();\r\n headers = this.setHeaderTypeAsJson(headers, isDelegate);\r\n return this._http.patch(_dataUrl, bodyString, { headers: headers, observe: 'response' }).pipe(\r\n retryWhen((error) =>\r\n error.pipe(\r\n scan((acc, error) => {\r\n if (acc > 1 && error.status == 401) {\r\n throw error;\r\n } else if (error.status != 401) {\r\n throw error;\r\n }\r\n return error.status == 401 ? acc + 1 : acc;\r\n }, 1)\r\n )\r\n ),\r\n map((response: any) => {\r\n const result = {\r\n status: response.status,\r\n statusText: response.statusText,\r\n data: response['body'],\r\n };\r\n return result;\r\n }),\r\n catchError((error: HttpErrorResponse) => this.handleError(error)),\r\n finalize(() => {\r\n if (showGlobalSpinner) {\r\n DataContextService.RequestCounter = DataContextService.RequestCounter - 1;\r\n if (DataContextService.RequestCounter == 0) {\r\n this.spinner.stop();\r\n }\r\n }\r\n })\r\n );\r\n }\r\n\r\n deleteData(_dataUrl: string, data?: any, showGlobalSpinner: boolean = true, isDelegate: boolean = false): Observable {\r\n if (DataContextService.RequestCounter == 0 && showGlobalSpinner) {\r\n this.spinner.start();\r\n }\r\n if (showGlobalSpinner) {\r\n DataContextService.RequestCounter = DataContextService.RequestCounter + 1;\r\n }\r\n _dataUrl = `${DataContextService.BASE_URL}${_dataUrl}`;\r\n let headers = new HttpHeaders();\r\n headers = this.setHeaderTypeAsJson(headers, isDelegate);\r\n\r\n return this._http.request('delete', _dataUrl, { body: JSON.stringify(data), headers: headers, observe: 'response' }).pipe(\r\n retryWhen((error) =>\r\n error.pipe(\r\n scan((acc, error) => {\r\n if (acc > 1 && error.status == 401) {\r\n throw error;\r\n } else if (error.status != 401) {\r\n throw error;\r\n }\r\n return error.status == 401 ? acc + 1 : acc;\r\n }, 1)\r\n )\r\n ),\r\n map((response: any) => {\r\n const result = {\r\n status: response.status,\r\n statusText: response.statusText,\r\n data: response['body'],\r\n };\r\n return result;\r\n }),\r\n catchError((error: HttpErrorResponse) => this.handleError(error)),\r\n finalize(() => {\r\n if (showGlobalSpinner) {\r\n DataContextService.RequestCounter = DataContextService.RequestCounter - 1;\r\n if (DataContextService.RequestCounter == 0) {\r\n this.spinner.stop();\r\n }\r\n }\r\n })\r\n );\r\n }\r\n\r\n setHeaderTypeAsJson(headers: HttpHeaders, isDelegate: boolean): HttpHeaders {\r\n headers = headers.append('content-type', 'application/json');\r\n headers = this.setoAuthHeaders(headers, isDelegate);\r\n return headers;\r\n }\r\n\r\n putData(\r\n _dataUrl: string,\r\n data: Object,\r\n setHeader?: boolean,\r\n showGlobalSpinner: boolean = true,\r\n isDelegate: boolean = false\r\n ): Observable {\r\n if (DataContextService.RequestCounter == 0 && showGlobalSpinner) {\r\n this.spinner.start();\r\n }\r\n let bodyString = JSON.stringify(data);\r\n\r\n if (showGlobalSpinner) {\r\n DataContextService.RequestCounter = DataContextService.RequestCounter + 1;\r\n }\r\n _dataUrl = `${DataContextService.BASE_URL}${_dataUrl}`;\r\n let headers = new HttpHeaders();\r\n headers = this.setHeaderTypeAsJson(headers, isDelegate);\r\n return this._http.put(_dataUrl, bodyString, { headers: headers, observe: 'response' }).pipe(\r\n retryWhen((error) =>\r\n error.pipe(\r\n scan((acc, error) => {\r\n if (acc > 1 && error.status == 401) {\r\n throw error;\r\n } else if (error.status != 401) {\r\n throw error;\r\n }\r\n return error.status == 401 ? acc + 1 : acc;\r\n }, 1)\r\n )\r\n ),\r\n map((response: any) => {\r\n const result = {\r\n status: response.status,\r\n statusText: response.statusText,\r\n data: response['body'],\r\n };\r\n return result;\r\n }),\r\n catchError((error: HttpErrorResponse) => this.handleError(error)),\r\n finalize(() => {\r\n if (showGlobalSpinner) {\r\n DataContextService.RequestCounter = DataContextService.RequestCounter - 1;\r\n if (DataContextService.RequestCounter == 0) {\r\n this.spinner.stop();\r\n }\r\n }\r\n })\r\n );\r\n }\r\n\r\n setoAuthHeaders(headers: HttpHeaders, isDelegate: boolean): HttpHeaders {\r\n headers = headers.append('Authorization', this.appConfiguration.tokenPrefix + ' ' + window['hotelingDataToken']);\r\n headers = headers.append('X-Tenant-Id', this.appConfiguration.abbreviation);\r\n headers = headers.append('X-Timestamp', new Date().toUTCString());\r\n headers = headers.append('accept', 'application/json');\r\n headers = this.setAcceptLanguageHeaders(headers);\r\n headers = headers.append('X-UseSpace', isDelegate ? XUseSpaceEnum[XUseSpaceEnum.Delegate] : XUseSpaceEnum[XUseSpaceEnum.User]);\r\n return headers;\r\n }\r\n\r\n setAcceptLanguageHeaders(headers: HttpHeaders): HttpHeaders {\r\n headers = headers.append('accept-language', this.defaultLanguage);\r\n return headers;\r\n }\r\n\r\n private handleError(error: HttpErrorResponse, continueOnError: boolean = false): Observable {\r\n let result = { status: error.status, statusText: error.statusText, data: error['error'] ? error['error'] : [] };\r\n if (error.status == 400) {\r\n result.data.message = result.data.modelErrors ? result.data.modelErrors[0].error : result.data.message;\r\n }\r\n if (continueOnError == true) {\r\n result.data = [];\r\n return new Observable((ob) => {\r\n ob.next(result);\r\n ob.complete();\r\n });\r\n } else {\r\n return new Observable((ob) => {\r\n ob.next(result);\r\n ob.complete();\r\n });\r\n }\r\n }\r\n\r\n get defaultLanguage() {\r\n return this._defaultLanguage;\r\n }\r\n\r\n set defaultLanguage(language: string) {\r\n this._defaultLanguage = language;\r\n }\r\n get defaultLanguageCode() {\r\n return this._defaultLanguageCode;\r\n }\r\n set defaultLanguageCode(langCode: string) {\r\n this._defaultLanguageCode = langCode;\r\n }\r\n\r\n fetchFromLocalStorage(key: string) {\r\n return localStorage.getItem(key);\r\n }\r\n\r\n storeInLocalStorage(key: string, data: any) {\r\n localStorage.setItem(key, JSON.stringify(data));\r\n }\r\n removeFromLocalStorage(key: string) {\r\n localStorage.removeItem(key);\r\n }\r\n get languageId(): number {\r\n const langId = this.fetchFromSessionStorage('DefaultLanguageId');\r\n if (!langId) {\r\n return 1;\r\n }\r\n return Number(langId);\r\n }\r\n set languageId(id: number) {\r\n this.storeInSessionStorage('DefaultLanguageId', id);\r\n }\r\n get languageCode() {\r\n return this.fetchFromSessionStorage('DefaultLanguageCode')\r\n }\r\n set languageCode(code: string) {\r\n this.storeInSessionStorage('DefaultLanguageCode', code)\r\n }\r\n removeInactiveBuildingFloors(viewData: PreferenceDetails): PreferenceDetails {\r\n let activeBuildings: number[] = [];\r\n let activeFloors:number[] = [];\r\n const buildings = viewData.buildings.split(',');\r\n const floors = viewData.floors.split(',');\r\n if (buildings.length) {\r\n buildings.forEach(building => {\r\n const activeBuilding = DataContextService.Buildings.find(i => i.id === Number(building));\r\n if (activeBuilding) {\r\n let buildingFloors: number[] = [];\r\n if (floors[0] === 'All')\r\n buildingFloors = activeBuilding.floors.map(i => i.uniqueKey);\r\n else {\r\n floors.forEach(floor => {\r\n const activeFloor = activeBuilding.floors.find(i => i.uniqueKey === Number(floor))\r\n if (activeFloor)\r\n buildingFloors = [...buildingFloors, activeFloor.uniqueKey];\r\n });\r\n if (buildingFloors.length) {\r\n activeBuildings = [...activeBuildings, activeBuilding.id];\r\n activeFloors = [...activeFloors, ...buildingFloors];\r\n }\r\n }\r\n }\r\n });\r\n }\r\n viewData.buildings = activeBuildings.length ? activeBuildings.join(',') : null;\r\n viewData.floors = activeFloors.length ? activeFloors.join(',') : null;\r\n return viewData;\r\n }\r\n\r\n showErrorToaster(res: any, isServiceCall: boolean = true) {\r\n this.toasterService.show({ message: res.data.message, type: ToasterType.error });\r\n return null;\r\n }\r\n setDefaultLanguage(key: string) {\r\n this.translate.setDefaultLang(key);\r\n this._defaultLanguage = key;\r\n this.translate.use(this._defaultLanguage);\r\n this.storeInSessionStorage('DefaultLanguage', key);\r\n }\r\n\r\n fetchFromSessionStorage(key: string) {\r\n return sessionStorage.getItem(key);\r\n }\r\n\r\n storeInSessionStorage(key: string, data: any) {\r\n sessionStorage.setItem(key, data);\r\n }\r\n\r\n //status check functions\r\n checkDefiniteStatus(statusName: string): boolean {\r\n return statusName == 'Definite';\r\n }\r\n\r\n checkConfirmedStatus(statusName: string): boolean {\r\n return statusName == 'Confirmed';\r\n }\r\n\r\n checkCancelledStatus(statusName: string): boolean {\r\n return statusName == 'Cancelled';\r\n }\r\n\r\n checkExpiredStatus(statusName: string): boolean {\r\n return statusName == 'Expired';\r\n }\r\n\r\n checkRequestedStatus(statusName: string): boolean {\r\n return statusName == 'Requested';\r\n }\r\n\r\n checkReservedStatus(statusName: string): boolean {\r\n return statusName == 'Reserved';\r\n }\r\n\r\n checkCheckedInStatus(statusName: string): boolean {\r\n return statusName == 'CheckedIn';\r\n }\r\n\r\n checkReleasedStatus(statusName: string): boolean {\r\n return statusName == 'Released';\r\n }\r\n\r\n checkDidNotMaterializeStatus(statusName: string): boolean {\r\n return statusName == 'DidNotMaterialize';\r\n }\r\n\r\n checkUnfulfilledStatus(status: string): boolean {\r\n return status === 'Unfulfilled';\r\n }\r\n\r\n checkEmptyStatus(statusName: string): boolean {\r\n return statusName == 'Empty';\r\n }\r\n\r\n checkReviewedStatus(statusName: string): boolean {\r\n return statusName == 'Review';\r\n }\r\n\r\n checkPendingStatus(statusName: string): boolean {\r\n return statusName == 'Pending';\r\n }\r\n\r\n checkCompletedStatus(statusName: string): boolean {\r\n return statusName == 'Completed';\r\n }\r\n\r\n //spaceType check functions\r\n checkPrivateSpace(spaceType) {\r\n return spaceType == 'PrivateSpace';\r\n }\r\n\r\n checkWorkstation(spaceType) {\r\n return spaceType == 'Workstation';\r\n }\r\n\r\n checkMeetingRoom(spaceType) {\r\n return spaceType == 'MeetingRoom';\r\n }\r\n\r\n checkOpenSeating(spaceType) {\r\n return spaceType == 'OpenSeating';\r\n }\r\n checkforOwnerName(owner: InactiveOwner): boolean {\r\n if (owner.FirstName == null && owner.LastName == '') return false;\r\n else if (owner.FirstName == null && owner.LastName == null) return false;\r\n else if (owner.FirstName == '' && owner.LastName == '') return false;\r\n else if (owner.FirstName == '' && owner.LastName == null) return false;\r\n else return true;\r\n }\r\n checkforFirstNameorLastName(owner: InactiveOwner) {\r\n if (owner.FirstName != null && owner.LastName != null) {\r\n return owner.FirstName + ' ' + owner.LastName;\r\n } else if (owner.FirstName != null && owner.LastName == null) {\r\n return owner.FirstName;\r\n } else if (owner.FirstName == null && owner.LastName != null) {\r\n return owner.LastName;\r\n } else return '';\r\n }\r\n\r\n getUserFirstName(user): string {\r\n if (user.firstName) return user.firstName;\r\n else if (!user.firstName && !user.lastName) return user.userName;\r\n else return '';\r\n }\r\n static userNotificationDataEmitter(event) {\r\n this.userNotificationDataChange.emit(event);\r\n }\r\n\r\n static getUserNotificationDataEvent() {\r\n return this.userNotificationDataChange;\r\n }\r\n\r\n removeNullValuesFromObject(input) {\r\n Object.keys(input).forEach((key) => {\r\n if (typeof input[key] === 'object') {\r\n if (input[key]) {\r\n Object.keys(input[key]).forEach((subKey) => {\r\n if (input[key][subKey] == null || input[key][subKey].length == 0) delete input[key][subKey];\r\n });\r\n if (Object.keys(input[key]).length == 0) delete input[key];\r\n } else delete input[key];\r\n } else {\r\n if (input[key] == null) delete input[key];\r\n }\r\n })\r\n return input;\r\n }\r\n getTimeZoneMatchData(input: TimeZoneMatchInput): TimeZoneMatchResponse[] {\r\n const timeZoneMatchData = input.timeZones.filter((item, index) => input.timeZones.indexOf(item) === index).map(timezone => {\r\n const data: TimeZoneMatchResponse = {\r\n startDate: new Date(moment.parseZone(input.startDate).tz(timezone).format('l LT')),\r\n endDate: new Date(moment.parseZone(input.endDate).tz(timezone).format('l LT')),\r\n timeZone: timezone\r\n }\r\n return data;\r\n });\r\n return timeZoneMatchData;\r\n }\r\n\r\n getStatusReasons(statusName: string) {\r\n const statusToStatusReasonMap = {\r\n 'Cancelled': 5,\r\n 'DidNotMaterialize': 1000\r\n };\r\n\r\n return DataContextService.StatusReasons.find(statusReason => statusReason.id == statusToStatusReasonMap[statusName]).statusReasons;\r\n };\r\n}\r\n\r\nexport enum XUseSpaceEnum {\r\n Delegate,\r\n User,\r\n}\r\n\r\nexport interface APIResponse {\r\n status: number;\r\n statusText: string;\r\n data: any;\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport {EllipsisTooltipDirective} from './ellipsis-tooltip.directive';\r\n\r\n@NgModule({\r\n declarations: [EllipsisTooltipDirective],\r\n exports: [\r\n EllipsisTooltipDirective\r\n ],\r\n imports: [\r\n CommonModule,]\r\n})\r\nexport class EllipsisTooltipModule { }\r\n","
\r\n \r\n
\r\n","import { Component, Input, TemplateRef } from '@angular/core';\r\n\r\nexport enum TabStatus {\r\n Error = 'error',\r\n Info = 'info',\r\n Warning = 'warning'\r\n}\r\n\r\n@Component({\r\n selector: 'app-tab',\r\n templateUrl: './tab.component.html',\r\n styleUrls: ['./tab.component.less']\r\n})\r\nexport class TabComponent {\r\n @Input() icon: string = '';\r\n @Input() heading: string;\r\n @Input() id: string | number;\r\n @Input() disabled = false;\r\n @Input() active = false;\r\n @Input() status: TabStatus;\r\n @Input() counter: number = 0;\r\n @Input() errorCounter: number = 0;\r\n @Input() link: string = '';\r\n @Input() templateRef: TemplateRef;\r\n @Input() showCountAlways:boolean=false;\r\n\r\n constructor() {\r\n }\r\n}\r\n","import { Injectable, OnDestroy } from '@angular/core';\r\nimport { Subject, Subscription } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class BaseComponent implements OnDestroy {\r\n private subscriptions: Subscription[] = [];\r\n\r\n get subs(): Subscription | Subscription[] {\r\n return this.subscriptions;\r\n }\r\n\r\n set subs(sub: Subscription | Subscription[]) {\r\n if (sub) {\r\n if (sub instanceof Subscription) {\r\n this.subscriptions.push(sub);\r\n } else {\r\n this.subscriptions = this.subscriptions.concat(sub);\r\n }\r\n }\r\n }\r\n\r\n destroy$ = new Subject();\r\n\r\n protected unsubscribeAll(): void {\r\n for (const sub of this.subscriptions) {\r\n if (sub) {\r\n sub.unsubscribe();\r\n }\r\n }\r\n this.subscriptions = [];\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.unsubscribeAll();\r\n\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n}\r\n","/// \r\nimport { Inject, Injectable,InjectionToken } from '@angular/core'\r\nimport { BehaviorSubject, Observable } from 'rxjs'\r\nimport { AuthConfig, OAuthService } from 'angular-oauth2-oidc'\r\nimport { tap } from 'rxjs/operators'\r\nimport { APP_CONFIG, AppConfiguration } from './configs/app-configuration'\r\n//import { InternalTokenApiService } from '@app/infrastructure/auth/internal-token/internal-token-api.service'\r\n//import { AppRequestAssistant } from '@app/infrastructure/auth/app-request-assistant'\r\n// export const config = new InjectionToken('APP_SETTINGS');\r\n\r\n@Injectable()\r\nexport class AuthService {\r\n private _token$: BehaviorSubject = new BehaviorSubject('')\r\n\r\n constructor(\r\n @Inject(APP_CONFIG) private appConfiguration: AppConfiguration,\r\n\r\n //private config: AppConfiguration,\r\n private oAuthService: OAuthService,\r\n // @Inject(config) private appConfiguration: any\r\n //private internalTokenApiService: InternalTokenApiService,\r\n //private appRequestAssistant: AppRequestAssistant,\r\n ) {\r\n }\r\n\r\n private updateToken(internalToken: string): void {\r\n this._token$.next(internalToken)\r\n }\r\n\r\n public getToken(): string {\r\n return this._token$.getValue()\r\n }\r\n\r\n public get token$(): Observable {\r\n return this._token$.asObservable()\r\n }\r\n\r\n public init(): Promise {\r\n // const authConfig: AuthConfig = {\r\n // issuer: \"https://cognito-idp.us-east-1.amazonaws.com/us-east-1_QumBeYmRn\",\r\n // tokenEndpoint: \"https://m4m-test.auth.us-east-1.amazoncognito.com/oauth2/token\",\r\n // clientId: \"3mdou8ghod7o9ehtkugmiomhmj\",\r\n // responseType: \"code\",\r\n // scope: \"openid email profile\",\r\n // userinfoEndpoint: \"https://m4m-test.auth.us-east-1/oauth2/userInfo\",\r\n // redirectUri: window.location.origin,\r\n // showDebugInformation: true,\r\n // strictDiscoveryDocumentValidation: false,\r\n // loginUrl:\"https://m4m-test.auth.us-east-1.amazoncognito.com/logout?client_id={clientId}&redirect_uri={redirectUri}&response_type={responseType}\"\r\n // }\r\n\r\n this.oAuthService.configure(this.appConfiguration)\r\n this.oAuthService.setupAutomaticSilentRefresh()\r\n\r\n return (\r\n this.oAuthService\r\n .loadDiscoveryDocumentAndTryLogin()\r\n .then(() => {\r\n if (this.oAuthService.hasValidAccessToken()) {\r\n //if (this.config.defaultUser) {\r\n // // return this.fetchInternalToken().toPromise()\r\n //}\r\n\r\n this.updateToken(this.oAuthService.getAccessToken())\r\n localStorage.setItem('cognito.AccessToken', this.oAuthService.getAccessToken());\r\n window['hotelingDataToken'] = localStorage.getItem(\"cognito.AccessToken\");\r\n return this.oAuthService.getAccessToken()\r\n }\r\n this.oAuthService.initImplicitFlow()\r\n })\r\n )\r\n }\r\n\r\n //private fetchInternalToken(): Observable {\r\n // return this.internalTokenApiService.get(this.oAuthService.getAccessToken()).pipe(\r\n // tap((internalToken: any) => {\r\n // this.appRequestAssistant.updatePrefix('InternalJwt')\r\n // this.updateToken(internalToken.userToken)\r\n // // @Todo: verify usage\r\n // sessionStorage.setItem('internal-token', internalToken.userToken)\r\n // }),\r\n // )\r\n //}\r\n}\r\n","import { TimepickerConfig } from '../utils/timepicker.config';\r\nimport { Action, TimepickerComponentState, TimepickerControls } from '../models/timepicker.models';\r\nimport { TimepickerActions } from './timepicker.actions';\r\nimport { changeTime, isValidLimit, setTime } from '../utils/timepicker.utils';\r\nimport { canChangeValue, canChangeHours, canChangeMinutes, canChangeSeconds, timepickerControls } from '../utils/timepicker-controls.util';\r\n\r\nexport interface TimepickerState {\r\n value?: Date;\r\n config: TimepickerComponentState;\r\n controls: TimepickerControls;\r\n}\r\n\r\nexport const initialState: TimepickerState = {\r\n value: void 0,\r\n config: new TimepickerConfig(),\r\n controls: {\r\n canIncrementHours: true,\r\n canIncrementMinutes: true,\r\n canIncrementSeconds: true,\r\n\r\n canDecrementHours: true,\r\n canDecrementMinutes: true,\r\n canDecrementSeconds: true,\r\n\r\n canToggleMeridian: true\r\n }\r\n};\r\n\r\nexport function timepickerReducer(state = initialState, action: Action) {\r\n switch (action.type) {\r\n case TimepickerActions.WRITE_VALUE: {\r\n return Object.assign({}, state, { value: action.payload });\r\n }\r\n\r\n case TimepickerActions.CHANGE_HOURS: {\r\n if (\r\n !canChangeValue(state.config, action.payload) ||\r\n !canChangeHours(action.payload, state.controls)\r\n ) {\r\n return state;\r\n }\r\n\r\n const _newTime = changeTime(state.value, { hour: action.payload.step });\r\n\r\n if ((state.config.maxDate || state.config.minDate) && !isValidLimit(state.config, _newTime)) {\r\n return state;\r\n }\r\n\r\n return Object.assign({}, state, { value: _newTime });\r\n }\r\n\r\n case TimepickerActions.CHANGE_MINUTES: {\r\n if (\r\n !canChangeValue(state.config, action.payload) ||\r\n !canChangeMinutes(action.payload, state.controls)\r\n ) {\r\n return state;\r\n }\r\n\r\n const _newTime = changeTime(state.value, { minute: action.payload.step });\r\n\r\n if ((state.config.maxDate || state.config.minDate) && !isValidLimit(state.config, _newTime)) {\r\n return state;\r\n }\r\n\r\n return Object.assign({}, state, { value: _newTime });\r\n }\r\n\r\n case TimepickerActions.CHANGE_SECONDS: {\r\n if (\r\n !canChangeValue(state.config, action.payload) ||\r\n !canChangeSeconds(action.payload, state.controls)\r\n ) {\r\n return state;\r\n }\r\n\r\n const _newTime = changeTime(state.value, {\r\n seconds: action.payload.step\r\n });\r\n\r\n if ((state.config.maxDate || state.config.minDate) && !isValidLimit(state.config, _newTime)) {\r\n return state;\r\n }\r\n\r\n return Object.assign({}, state, { value: _newTime });\r\n }\r\n\r\n case TimepickerActions.SET_TIME_UNIT: {\r\n if (!canChangeValue(state.config)) {\r\n return state;\r\n }\r\n\r\n const _newTime = setTime(state.value, action.payload);\r\n\r\n return Object.assign({}, state, { value: _newTime });\r\n }\r\n\r\n case TimepickerActions.UPDATE_CONTROLS: {\r\n const _newControlsState = timepickerControls(state.value, action.payload);\r\n const _newState: TimepickerState = {\r\n value: state.value,\r\n config: action.payload,\r\n controls: _newControlsState\r\n };\r\n\r\n if (state.config.showMeridian !== _newState.config.showMeridian) {\r\n if (state.value) {\r\n _newState.value = new Date(state.value);\r\n }\r\n }\r\n\r\n return Object.assign({}, state, _newState);\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { Directive, ElementRef, EventEmitter, HostListener, Output } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appClickOutside]',\r\n})\r\nexport class ClickOutsideDirective {\r\n @Output() appClickOutside = new EventEmitter();\r\n\r\n constructor(private elementRef: ElementRef) {}\r\n\r\n @HostListener('document:mousedown', ['$event.target'])\r\n clickListener(targetElement: ElementRef): void {\r\n const outside = !this.elementRef.nativeElement.contains(targetElement);\r\n if (outside) {\r\n this.appClickOutside.emit();\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n timepickerReducer,\r\n TimepickerState,\r\n initialState\r\n} from './timepicker.reducer';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { Action, MiniState, MiniStore } from '../models/timepicker.models';\r\n\r\n@Injectable({ providedIn: 'platform' })\r\nexport class TimepickerStore extends MiniStore {\r\n constructor() {\r\n const _dispatcher = new BehaviorSubject({\r\n type: '[mini-ngrx] dispatcher init'\r\n });\r\n const state = new MiniState(\r\n initialState,\r\n _dispatcher,\r\n timepickerReducer\r\n );\r\n super(_dispatcher, timepickerReducer, state);\r\n }\r\n}\r\n","import { Router, UrlTree } from '@angular/router';\r\nimport { ISideMenuItem } from './../../side-menu';\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-side-menu-item',\r\n templateUrl: './side-menu-item.component.html',\r\n styleUrls: ['./side-menu-item.component.less'],\r\n})\r\nexport class SideMenuItemComponent implements OnInit {\r\n @Input('value') menu!: ISideMenuItem;\r\n @Input() isSideMenuExpanded = false;\r\n\r\n @Output() expanded: EventEmitter = new EventEmitter();\r\n @Output() collapsed: EventEmitter = new EventEmitter();\r\n\r\n constructor(private router: Router) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n navigate(route: string): void {\r\n const url: UrlTree = this.router.createUrlTree([route]);\r\n\r\n window.open(url.toString(), '_blank');\r\n }\r\n\r\n toggle(): void {\r\n this.menu.expanded = !this.menu.expanded;\r\n this.menu.expanded ? this.expanded.emit() : this.collapsed.emit();\r\n }\r\n}\r\n","\r\n \r\n {{ menu?.name | translate}}\r\n\r\n\r\n\r\n\r\n \r\n
\r\n
\r\n \r\n {{ menu?.name | translate}}\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n {{ child?.name | translate}}\r\n
\r\n
\r\n
\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { Size } from '@usitsdasdesign/dds-ng/shared';\r\nimport { CommonConfig } from '../../../../configs/common.config';\r\n\r\n@Component({\r\n selector: 'app-common-modal-container',\r\n templateUrl: './common-modal-container.component.html',\r\n styleUrls: ['./common-modal-container.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class CommonModalContainerComponent {\r\n @Input() size: Size | string = CommonConfig.ddsConfigOptions.size;\r\n @Input() title: string;\r\n @Input() customClass = '';\r\n\r\n @Output() modalClose = new EventEmitter();\r\n\r\n onClose(): void {\r\n this.modalClose.emit();\r\n }\r\n}\r\n","
\r\n\r\n
\r\n
\r\n {{ title | 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","import { AfterViewInit, Component, ElementRef, OnInit, Optional, Renderer2, TemplateRef, ViewChild } from '@angular/core';\r\nimport { PositionState, TooltipTheme } from './tooltip.config';\r\nimport { TooltipDirective } from './tooltip.directive';\r\n\r\n@Component({\r\n selector: 'app-tooltip',\r\n templateUrl: './tooltip.component.html',\r\n styleUrls: ['./tooltip.component.less']\r\n})\r\nexport class TooltipComponent implements OnInit, AfterViewInit {\r\n top: number;\r\n left: number;\r\n set content(value: string | TemplateRef) {\r\n this.isTemplateRef = typeof value === 'string' ? false : true;\r\n this._content = value;\r\n }\r\n _content :string | TemplateRef;\r\n position: PositionState | string = PositionState.top;\r\n class: string;\r\n maxWidth: number;\r\n isTemplateRef: boolean = false;\r\n theme: TooltipTheme | string = TooltipTheme.black;\r\n hasBeak: boolean = true;\r\n\r\n readonly POSITION_STATE = PositionState;\r\n constructor(private renderer: Renderer2, @Optional() private tooltipDirective: TooltipDirective) { }\r\n\r\n @ViewChild('tooltip') tooltip: ElementRef;\r\n @ViewChild('beak') beak: ElementRef;\r\n\r\n ngOnInit(): void {\r\n }\r\n ngAfterViewInit() {\r\n if (this.maxWidth) {\r\n this.renderer.setStyle(this.tooltip.nativeElement, 'max-width', `${this.maxWidth}px`);\r\n }\r\n if (this.class) {\r\n this.renderer.addClass(this.tooltip.nativeElement, `${this.class}`);\r\n }\r\n if (this.theme === TooltipTheme.white) {\r\n this.renderer.addClass(this.tooltip.nativeElement, 'tooltip--white');\r\n if (this.hasBeak) {\r\n this.renderer.addClass(this.beak.nativeElement, 'beak--white');\r\n }\r\n }\r\n const tooltipEl = (this.tooltip.nativeElement as HTMLElement).getBoundingClientRect();\r\n this.setLeft(tooltipEl.width);\r\n this.setTop(tooltipEl.height);\r\n this.renderer.setStyle(this.tooltip.nativeElement, 'top', `${this.top}px`);\r\n this.renderer.setStyle(this.tooltip.nativeElement, 'left', `${this.left}px`);\r\n if (this.hasBeak) {\r\n this.renderer.addClass(this.beak.nativeElement, `beak-${this.position}`)\r\n }\r\n }\r\n private setLeft(width: number) {\r\n if (this.position === PositionState.topRight || this.position === PositionState.bottomRight\r\n || this.position === PositionState.left || this.position === PositionState.leftBottom ||\r\n this.position === PositionState.leftTop) {\r\n this.left -= (width / 2);\r\n }\r\n if (this.position === PositionState.topLeft || this.position === PositionState.bottomLeft\r\n || this.position === PositionState.right || this.position === PositionState.rightBottom ||\r\n this.position === PositionState.rightTop) {\r\n this.left += (width / 2);\r\n }\r\n }\r\n private setTop(height: number) {\r\n if (this.position === PositionState.top || this.position === PositionState.topLeft ||\r\n this.position === PositionState.topRight || this.position === PositionState.leftBottom ||\r\n this.position === PositionState.rightBottom) {\r\n this.top -= (height / 2);\r\n }\r\n if (this.position === PositionState.bottom || this.position === PositionState.bottomLeft ||\r\n this.position === PositionState.bottomRight || this.position === PositionState.leftTop ||\r\n this.position === PositionState.rightTop) {\r\n this.top += (height / 2);\r\n }\r\n }\r\n closeTooltip() {\r\n this.tooltipDirective?.hide();\r\n this.tooltipDirective && (this.tooltipDirective.closedFromComponent = true);\r\n }\r\n}\r\n","
\r\n \r\n \r\n
\r\n
\r\n","import { Component, Input, forwardRef, EventEmitter, Output } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-toggle',\r\n templateUrl: './app-toggle.component.html',\r\n styleUrls: ['./app-toggle.component.less'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => AppToggleComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class AppToggleComponent implements ControlValueAccessor {\r\n\r\n @Input() value: boolean = false\r\n @Input() label: string = '';\r\n @Input() isRequired: boolean = false;\r\n @Input() isDisabled: boolean = false;\r\n @Input() customClass: string = '';\r\n\r\n @Output() stateChanged = new EventEmitter(); \r\n\r\n private onChange: (val: boolean) => void = () => {};\r\n private onTouch: () => void = () => {};\r\n\r\n writeValue(val: any): void {\r\n this.value = !!val;\r\n };\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n };\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n };\r\n\r\n toggle() {\r\n this.value = !this.value;\r\n this.onTouch();\r\n this.onChange(this.value);\r\n this.stateChanged.emit(this.value);\r\n }\r\n\r\n \r\n constructor() { }\r\n\r\n}\r\n","\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Optional, Output } from '@angular/core';\r\nimport { AbstractControl, ControlValueAccessor, FormGroupDirective, NgControl } from '@angular/forms';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { BaseComponent } from '../../common/base.component';\r\nimport { CommonConfig } from '../../../configs/common.config';\r\n\r\n@Component({\r\n selector: 'merge-timepicker',\r\n templateUrl: './merge-timepicker.component.html',\r\n styleUrls: ['./merge-timepicker.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class MergeTimepickerComponent extends BaseComponent implements ControlValueAccessor {\r\n\r\n /** label */\r\n @Input() label: string;\r\n /** required */\r\n @Input() isRequired: boolean;\r\n /** disabled */\r\n @Input() set isDisabled(val: boolean) {\r\n this.disabled = val;\r\n }\r\n /** set 12/24 format (24 if false) */\r\n @Input() showMeridian: boolean = true;\r\n /** set step for minutes */\r\n @Input() minuteStep = 15;\r\n /** set errorMessage */\r\n @Input() errorMessage: string;\r\n /** set isError state */\r\n @Input() isError: boolean;\r\n /** set placeholder */\r\n @Input() placeholder: string = CommonConfig.datesFormat.timePlaceholder;\r\n @Output() timeChanged = new EventEmitter();\r\n\r\n set value(val: Date) {\r\n this._value = val;\r\n this.change(val);\r\n }\r\n\r\n get value(): Date {\r\n return this._value;\r\n }\r\n\r\n get control(): AbstractControl {\r\n return this.ngControl.control;\r\n }\r\n\r\n constructor(private ngControl: NgControl, private cdRef: ChangeDetectorRef, @Optional() private parentForm: FormGroupDirective) {\r\n super();\r\n ngControl.valueAccessor = this;\r\n this.handleOnSubmit();\r\n }\r\n\r\n _value: Date;\r\n disabled: boolean;\r\n\r\n showTimepicker = false;\r\n\r\n change(value: Date): void {\r\n this.onChange(value);\r\n this.onTouch();\r\n this.cdRef.detectChanges();\r\n }\r\n\r\n onChange: any = () => { };\r\n onTouch: any = () => { };\r\n\r\n onClick(event: MouseEvent): void {\r\n event.stopPropagation();\r\n if (!this.disabled) {\r\n this.showTimepicker = !this.showTimepicker;\r\n }\r\n }\r\n\r\n closeTimePicker(): void {\r\n if (this.showTimepicker) {\r\n this.showTimepicker = false;\r\n if (!this.control.touched) {\r\n this.onTouch();\r\n }\r\n }\r\n }\r\n\r\n registerOnChange(fn: () => {}): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: () => {}): void {\r\n this.onTouch = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n this.cdRef.detectChanges();\r\n }\r\n\r\n writeValue(value: Date): void {\r\n this._value = value;\r\n if (!this.cdRef['destroyed']) {\r\n this.cdRef.detectChanges();\r\n }\r\n }\r\n\r\n private handleOnSubmit(): void {\r\n if (this.parentForm) {\r\n this.parentForm.ngSubmit.pipe(takeUntil(this.destroy$)).subscribe((_) => {\r\n this.onTouch();\r\n this.cdRef.detectChanges();\r\n });\r\n }\r\n }\r\n\r\n onValueChanged(event: Date): void {\r\n if (this._value !== event) {\r\n this._value = event;\r\n this.control.setValue(event);\r\n this.timeChanged.emit(event);\r\n }\r\n this.control.markAsTouched();\r\n this.control.markAsDirty();\r\n }\r\n\r\n}\r\n","
\r\n {{label | translate}} * \r\n
\r\n
\r\n
\r\n \r\n {{ _value | date: 'shortTime' }}\r\n \r\n \r\n \r\n {{ placeholder }}\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
{{errorMessage}}
\r\n","import { map, tap } from 'rxjs/operators';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, of, ReplaySubject } from 'rxjs';\r\nimport {\r\n BookingsTabControls,\r\n CalendarTabControls,\r\n Controls,\r\n FindASpaceTabControls,\r\n MeetingsTabControls,\r\n PreferenceDetails,\r\n PreferencesControlsConfig,\r\n ServiceOrdersTabControls,\r\n PreferencesBookingsData,\r\n PreferencesCalendarData,\r\n PreferencesFindASpaceData,\r\n PreferencesMeetingsData,\r\n PreferencesServiceOrdersData,\r\n PreferencesViewData,\r\n SelectOption,\r\n} from './models/preferences.model';\r\n\r\nimport { ALL_SELECTED } from './models/preferences.model';\r\nimport { DataContextService } from '../datacontext.service';\r\nimport { COUNTRIES } from 'src/app/shared/utils/constants';\r\n\r\nexport interface PreferencesTabConfigDTO {\r\n id: number;\r\n name: string;\r\n tabFields: PreferencesTabFieldDTO[];\r\n subTabs: PreferencesSubTabFieldDTO[];\r\n}\r\n\r\nexport interface PreferencesTabFieldDTO {\r\n id: number;\r\n name: string;\r\n}\r\n\r\nexport interface PreferencesSubTabFieldDTO {\r\n name: string;\r\n tabFields: PreferencesTabFieldDTO[];\r\n includeDelete?: boolean;\r\n}\r\n\r\n@Injectable()\r\nexport class PreferencesConfigService {\r\n config: PreferencesControlsConfig;\r\n config$: ReplaySubject = new ReplaySubject();\r\n\r\n constructor(private hotelingService: DataContextService) {}\r\n\r\n getConfig(): Observable {\r\n if (this.config) return of(this.config);\r\n return this.hotelingService.getData<{ data: PreferencesTabConfigDTO[] }>('Views/tabs').pipe(\r\n map((response) => {\r\n if (response.status == 200) {\r\n return response.data;\r\n } else {\r\n // TODO: Error toast\r\n }\r\n }),\r\n map((config: PreferencesTabConfigDTO[]) => {\r\n return this.setupConfig(config);\r\n }),\r\n tap((config: PreferencesControlsConfig) => {\r\n this.config = config;\r\n this.config$.next(config);\r\n })\r\n );\r\n }\r\n\r\n private setupConfig(config: PreferencesTabConfigDTO[]): PreferencesControlsConfig {\r\n const result = {};\r\n\r\n config.forEach((tab: PreferencesTabConfigDTO) => {\r\n result[TAB_NAME_ADAPTER[tab.name]] = {};\r\n\r\n result[TAB_NAME_ADAPTER[tab.name]] = tab.tabFields.reduce(\r\n (prev, curr: PreferencesTabFieldDTO) => ({ ...prev, ...{ [FIELD_PROPERTY_ADAPTER[tab.name][curr.name]]: curr.id } }),\r\n {}\r\n );\r\n\r\n tab.subTabs.forEach((subTab: PreferencesSubTabFieldDTO) => {\r\n result[TAB_NAME_ADAPTER[tab.name]] = {\r\n ...result[TAB_NAME_ADAPTER[tab.name]],\r\n ...subTab.tabFields.reduce(\r\n (prev, curr: PreferencesTabFieldDTO) => ({\r\n ...prev,\r\n ...{ [FIELD_PROPERTY_ADAPTER[tab.name][subTab.name][curr.name]]: curr.id },\r\n }),\r\n {}\r\n ),\r\n };\r\n });\r\n });\r\n\r\n return result;\r\n }\r\n\r\n getPathById(id: number): { tab: string; control: string } | void {\r\n // tslint:disable-next-line:forin\r\n for (const tab in this.config) {\r\n for (const control in this.config[tab]) {\r\n if (this.config[tab][control] === id) {\r\n return { tab, control };\r\n }\r\n }\r\n }\r\n }\r\n\r\n parseViewDetails(data: PreferenceDetails): PreferencesViewData {\r\n const tabs: PreferencesControlsConfig = {\r\n findASpaceTab: {},\r\n calendarTab: {},\r\n meetingsTab: {},\r\n bookingsTab: {},\r\n serviceOrdersTab: {},\r\n };\r\n data.viewDetails.map((field) => {\r\n const path = this.getPathById(field.tabFieldId);\r\n if (path) {\r\n if (\r\n path.control === FindASpaceTabControls.Capacity ||\r\n path.control === CalendarTabControls.Capacity ||\r\n (path.tab === Controls.FindASpaceTab && path.control === FindASpaceTabControls.Type) ||\r\n (path.tab === Controls.FindASpaceTab && path.control === FindASpaceTabControls.Category)\r\n ) {\r\n tabs[path.tab][path.control] = field.value;\r\n } else if (\r\n path.control === ServiceOrdersTabControls.InOfficeIncludeDelete ||\r\n path.control === ServiceOrdersTabControls.VirtualIncludeDelete\r\n ) {\r\n tabs[path.tab][path.control] = Boolean(Number(field.value));\r\n } else {\r\n tabs[path.tab][path.control] = this.convertValueToOptions(field.value);\r\n }\r\n }\r\n });\r\n\r\n const findASpaceTab = new PreferencesFindASpaceData(\r\n tabs.findASpaceTab.spaceFeatures,\r\n tabs.findASpaceTab.capacity,\r\n tabs.findASpaceTab.type\r\n );\r\n\r\n const calendarTab = new PreferencesCalendarData(tabs.calendarTab.roomType,tabs.calendarTab.spaceFeatures, tabs.calendarTab.capacity);\r\n\r\n const meetingTab = new PreferencesMeetingsData(\r\n tabs.meetingsTab.dashboardRequestType,\r\n tabs.meetingsTab.dashboardMeetingType,\r\n tabs.meetingsTab.dashboardStatus,\r\n tabs.meetingsTab.meetingRequestType,\r\n tabs.meetingsTab.meetingStatus,\r\n tabs.meetingsTab.virtualMeetingStatus,\r\n tabs.meetingsTab.unfulfilledSpaceType\r\n );\r\n\r\n const allBookingsTab = new PreferencesBookingsData(\r\n tabs.bookingsTab.serviceOrders,\r\n tabs.bookingsTab.spaceType,\r\n tabs.bookingsTab.meetingType,\r\n tabs.bookingsTab.dashboardStatus,\r\n tabs.bookingsTab.waitListStatus\r\n );\r\n\r\n const serviceOrderTab = new PreferencesServiceOrdersData(\r\n tabs.serviceOrdersTab.type,\r\n tabs.serviceOrdersTab.serviceOrder,\r\n tabs.serviceOrdersTab.status,\r\n tabs.serviceOrdersTab.virtualServiceOrders,\r\n tabs.serviceOrdersTab.virtualStatus,\r\n tabs.serviceOrdersTab.inOfficeIncludeDelete,\r\n tabs.serviceOrdersTab.virtualIncludeDelete\r\n );\r\n\r\n return new PreferencesViewData(\r\n data.id,\r\n data.name,\r\n data.isFavourite,\r\n data.isActive,\r\n // this.convertValueToOptions(data.countries,true),\r\n this.convertValueToOptions(data.buildings),\r\n this.convertValueToOptions(data.floors),\r\n data.assignedToMe,\r\n data.recordsPerPage,\r\n data.revision,\r\n findASpaceTab,\r\n calendarTab,\r\n meetingTab,\r\n allBookingsTab,\r\n serviceOrderTab,\r\n data.allViews\r\n );\r\n }\r\n\r\n private convertValueToOptions(value: string,bindName?:Boolean): SelectOption[] {\r\n if (!value) {\r\n return [];\r\n }\r\n\r\n if (value === 'All') {\r\n return ALL_SELECTED;\r\n }\r\n\r\n return value.split(',').map((id) => ({\r\n value: isNaN(Number(id)) ? id : Number(id),\r\n name: bindName ? COUNTRIES.filter(i => i.id == Number(id))[0].name : '',\r\n }));\r\n }\r\n}\r\n\r\nconst TAB_NAME_ADAPTER = {\r\n FAS: Controls.FindASpaceTab,\r\n Calendar: Controls.CalendarTab,\r\n Meetings: Controls.MeetingsTab,\r\n Bookings: Controls.BookingsTab,\r\n 'Service orders': Controls.ServiceOrdersTab,\r\n};\r\n\r\nconst FIELD_PROPERTY_ADAPTER = {\r\n FAS: {\r\n 'Space features': FindASpaceTabControls.SpaceFeatures,\r\n 'Space type': FindASpaceTabControls.Type,\r\n Capacity: FindASpaceTabControls.Capacity,\r\n },\r\n Calendar: {\r\n 'Space type': CalendarTabControls.RoomType,\r\n Capacity: CalendarTabControls.Capacity,\r\n 'Space features': CalendarTabControls.SpaceFeatures,\r\n },\r\n Meetings: {\r\n 'Meetings Dashboard': {\r\n 'Meeting request type': MeetingsTabControls.DashboardRequestType,\r\n Status: MeetingsTabControls.DashboardStatus,\r\n 'Meeting type': MeetingsTabControls.DashboardMeetingType,\r\n },\r\n 'In-office meeting Requests': {\r\n 'Request type': MeetingsTabControls.MeetingRequestType,\r\n Status: MeetingsTabControls.MeetingStatus,\r\n },\r\n 'Virtual meeting Requests': {\r\n Status: MeetingsTabControls.VirtualMeetingStatus,\r\n },\r\n 'Unfulfilled team requests': {\r\n 'Space type': MeetingsTabControls.UnfulfilledSpaceType,\r\n },\r\n },\r\n Bookings: {\r\n 'All bookings': {\r\n 'Service orders': BookingsTabControls.ServiceOrders,\r\n 'Space type': BookingsTabControls.SpaceType,\r\n 'Meeting type': BookingsTabControls.MeetingType,\r\n Status: BookingsTabControls.DashboardStatus,\r\n },\r\n Waitlist: {\r\n Status: BookingsTabControls.WaitListStatus,\r\n },\r\n },\r\n 'Service orders': {\r\n 'In-office': {\r\n Type: ServiceOrdersTabControls.Type,\r\n 'Service orders': ServiceOrdersTabControls.ServiceOrder,\r\n Status: ServiceOrdersTabControls.Status,\r\n 'Include Deleted': ServiceOrdersTabControls.InOfficeIncludeDelete,\r\n },\r\n Virtual: {\r\n 'Service orders': ServiceOrdersTabControls.VirtualServiceOrders,\r\n Status: ServiceOrdersTabControls.VirtualStatus,\r\n 'Include Deleted': ServiceOrdersTabControls.VirtualIncludeDelete,\r\n },\r\n },\r\n};\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, HostListener, Input, OnInit, Output } from '@angular/core';\r\nimport { DataTableComponent } from '../data-table.component';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'tr[appTr]',\r\n templateUrl: './data-table-row.component.html',\r\n styleUrls: ['./data-table-row.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class DataTableRowComponent implements OnInit {\r\n @Input() expandableRow: DataTableRowComponent;\r\n @Input() item: any;\r\n\r\n @Output() expandToggle = new EventEmitter();\r\n\r\n @HostBinding('class.data-table__row') class = true;\r\n @HostBinding('class.data-table__row--expandable') expandable = false;\r\n @HostBinding('class.data-table__row--expanded') expanded = false;\r\n @HostBinding('class.data-table__row_expandable-content') expandableContent = false;\r\n\r\n @HostListener('click', ['$event'])\r\n onClick(event: PointerEvent): void {\r\n if (this.expandableRow && (event.target as Element).id === 'table-expand') {\r\n this.expanded = !this.expanded;\r\n this.expandableRow.toggle();\r\n if (this.item) {\r\n this.item.expanded = this.expanded;\r\n }\r\n this.expandToggle.emit(this.expanded);\r\n }\r\n }\r\n\r\n constructor(private tableComponent: DataTableComponent) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.expandableRow) {\r\n this.expandableRow.expandableContent = true;\r\n this.expandable = true;\r\n this.tableComponent.expandable = true;\r\n\r\n if (this.item && this.item.expanded) {\r\n this.expanded = this.expandableRow.expanded = true;\r\n }\r\n }\r\n }\r\n\r\n toggle(): void {\r\n this.expanded = !this.expanded;\r\n }\r\n}\r\n","\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Optional, Output, Self } from '@angular/core';\r\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\r\nimport { ErrorState } from './textareaOptions';\r\n\r\n@Component({\r\n selector: 'app-textarea',\r\n templateUrl: './textarea.component.html',\r\n styleUrls: ['./textarea.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class TextareaComponent implements ControlValueAccessor, OnInit {\r\n @Input() label: string;\r\n @Input() placeholder: string = '';\r\n @Input() minHeight: number = 60;\r\n @Input() isRequired = false;\r\n @Input() isError: boolean = false;\r\n @Input() errorState: ErrorState = ErrorState.default;\r\n @Input() errorMessage: string;\r\n @Input() value: string = '';\r\n @Output() valueChanged: EventEmitter = new EventEmitter();\r\n fullWidth = false;\r\n isDisabled: boolean = false;\r\n\r\n onChange: any = (value: string) => {\r\n }\r\n onTouch: any = () => {\r\n }\r\n\r\n get _value(): string {\r\n return this.value;\r\n }\r\n\r\n set _value(v: string) {\r\n if (v !== this.value) {\r\n this.value = v;\r\n this.change(this.value);\r\n }\r\n }\r\n get invalid(): boolean {\r\n if (this.isError) {\r\n return this.isError;\r\n }\r\n if (this.ngControl)\r\n return this.ngControl ? this.ngControl.invalid : false;\r\n }\r\n\r\n get showError(): boolean {\r\n switch (this.errorState) {\r\n case ErrorState.default: {\r\n return this.invalid;\r\n }\r\n case ErrorState.focusOut: {\r\n if (!this.ngControl) {\r\n return false;\r\n }\r\n const { dirty, touched } = this.ngControl;\r\n return this.invalid ? dirty || touched : false;\r\n }\r\n }\r\n }\r\n\r\n constructor(\r\n @Self() @Optional() public ngControl: NgControl,\r\n private changeDetectorRef: ChangeDetectorRef) {\r\n this.ngControl && (this.ngControl.valueAccessor = this);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n\r\n writeValue(value: string): void {\r\n if (!value) {\r\n return;\r\n }\r\n this.value = value;\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n\r\n registerOnChange(fn: () => {}): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: () => {}): void {\r\n this.onTouch = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.isDisabled = isDisabled;\r\n }\r\n\r\n change(value: string): void {\r\n this.value = value;\r\n this.onChange(value);\r\n this.onTouch(value);\r\n }\r\n valueChangeHandler(value: string) {\r\n this.value = value;\r\n this.onChange(this.value);\r\n this.valueChanged.emit(this.value);\r\n }\r\n}\r\n\r\n","
\r\n {{ label }}\r\n
\r\n
\r\n \r\n
\r\n
{{ errorMessage }}
\r\n\r\n","import { NgModule } from '@angular/core';\r\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\nimport { VirtulOptionsComponent } from './virtul-options.component';\r\nimport { AccordionModule } from '@usitsdasdesign/dds-ng/accordion';\r\nimport { DataTableModule } from '../components/data-table/data-table.module';\r\nimport { HighlightModule } from '../common/highlight/highlight.module';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { CheckboxModule } from '../components/checkbox/checkbox.module';\r\nimport { RadioModule } from '../components/radio/radio.module';\r\nimport { ButtonModule} from '../components/button/button.module'\r\n@NgModule({\r\n declarations: [VirtulOptionsComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n AccordionModule,\r\n CheckboxModule,\r\n RadioModule,\r\n DataTableModule,\r\n HighlightModule,\r\n TranslateModule,\r\n ButtonModule\r\n ],\r\n exports:[VirtulOptionsComponent]\r\n})\r\nexport class VirtualOptionModule { }\r\n","import {Injectable, OnDestroy} from '@angular/core';\r\nimport { ControlValueAccessor } from '@angular/forms';\r\nimport { BaseComponent } from './base-component';\r\n\r\nconst noop = () => {};\r\n\r\n@Injectable()\r\nexport class BaseValueAccessorComponent extends BaseComponent implements OnDestroy, ControlValueAccessor {\r\n protected onChangeCallback: (_: any) => void = noop;\r\n protected onTouchedCallback: () => void = noop;\r\n\r\n writeValue(value: any): void { }\r\n\r\n registerOnChange(fn: (value: any) => void): void {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n registerOnTouched(fn: () => void): void {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {}\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {MultiSelectComponent} from './multi-select.component';\r\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\r\nimport { TagsModule } from '../tags/tags.module';\r\nimport {ClickOutsideModule} from '../../directives/click-outside/click-outside.module';\r\nimport {TranslateModule} from '@ngx-translate/core';\r\nimport { CheckboxModule } from '../checkbox/checkbox.module';\r\nimport { ButtonModule } from '../button/button.module';\r\n\r\n\r\n@NgModule({\r\n declarations: [MultiSelectComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n ButtonModule,\r\n CheckboxModule,\r\n TagsModule,\r\n ClickOutsideModule,\r\n TranslateModule\r\n ],\r\n exports: [MultiSelectComponent,ButtonModule]\r\n})\r\nexport class MultiSelectModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { StatusComponent } from './status.component';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { EllipsisTooltipModule } from '../../directives/ellipsis-tooltip/ellipsis-tooltip.module';\r\n\r\n@NgModule({\r\n declarations: [StatusComponent],\r\n imports: [CommonModule, TranslateModule, EllipsisTooltipModule],\r\n exports: [StatusComponent],\r\n})\r\nexport class StatusModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HighlightDirective } from './highlight.directive';\r\nimport { HighlightPipe } from './highlight.pipe';\r\n\r\n\r\n@NgModule({\r\n declarations: [HighlightDirective, HighlightPipe],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [HighlightDirective, HighlightPipe]\r\n})\r\nexport class HighlightModule {\r\n}\r\n","import {ChangeDetectionStrategy, Component, HostBinding, Input, OnInit} from '@angular/core';\r\n\r\nexport interface TableColumn {\r\n displayName: string;\r\n columnName: string;\r\n hasSort?: boolean;\r\n sortProp?: string;\r\n minWidth?: string;\r\n width?: string;\r\n sortOrder?:string[]\r\n}\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'table[appTable]',\r\n templateUrl: './data-table.component.html',\r\n styleUrls: ['./data-table.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class DataTableComponent implements OnInit {\r\n @HostBinding('class.data-table') class = true;\r\n @HostBinding('class.data-table--expandable') expandable = false;\r\n @HostBinding('class.data-table--scrollable') isScrollable = false;\r\n @HostBinding('class') sizeClass = '';\r\n\r\n @Input() size: 'sm' | 'md' = 'md';\r\n @Input() scrollable = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.sizeClass = `data-table--${this.size}`;\r\n this.isScrollable = this.scrollable;\r\n }\r\n\r\n}\r\n","\r\n","import { StaticSymbolResolver } from \"@angular/compiler\";\r\n\r\nexport class RoutesConfig {\r\n\r\n static general = {\r\n notFound: 'not-found',\r\n notValidPage: 'not-valid-page',\r\n accessDeniedPage: 'access-denied',\r\n };\r\n \r\n static pages = {\r\n calendar: 'calendar',\r\n findSpace: 'find-a-space',\r\n meetings: 'meetings',\r\n bookings: 'bookings',\r\n serviceOrders: 'service-orders',\r\n teamRequest:'team-request',\r\n reservationWizard: 'reservation-wizard',\r\n preferences: 'preferences',\r\n preferenceViews: 'views',\r\n preferenceLanguages: 'languages',\r\n preferenceMenu: 'menu',\r\n catering: 'catering'\r\n };\r\n\r\n static RWRoutes = {\r\n details: 'reservation-details',\r\n selection: 'space-selection',\r\n }\r\n}\r\n","import { throwError as observableThrowError, Observable, Subject, throwError, BehaviorSubject } from 'rxjs'\r\n\r\nimport { tap, catchError, switchMap, filter, take } from 'rxjs/operators'\r\nimport { Inject, Injectable, Injector } from '@angular/core'\r\nimport { HttpErrorResponse, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http'\r\nimport { UserSettingsService } from './user-settings.service'\r\n\r\nimport { MsalService } from \"@azure/msal-angular\";\r\nimport { APP_CONFIG, AppConfiguration } from '../configs/app-configuration';\r\n\r\n@Injectable()\r\nexport class TokenInterceptor implements HttpInterceptor {\r\n\r\n constructor(\r\n private userSettingsService: UserSettingsService,\r\n private injector: Injector,\r\n @Inject(APP_CONFIG) private appConfiguration: AppConfiguration,\r\n ) {}\r\n\r\n private refreshTokenInProgress = false;\r\n private refreshTokenSubject: BehaviorSubject = new BehaviorSubject(\r\n null\r\n );\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable {\r\n return next.handle(request).pipe(\r\n catchError(error => {\r\n if (error instanceof HttpErrorResponse && error.status === 401) {\r\n return this.handle401Error(request, next);\r\n }\r\n return throwError(error);\r\n\r\n })\r\n )\r\n }\r\n\r\n getHotelingToken(): Observable {\r\n const msalService = this.injector.get(MsalService);\r\n let hotelingClientIDScope =\r\n this.userSettingsService.appSettings.HotelingCloudClientId + this.userSettingsService.appSettings.ConciergeScope;\r\n\r\n const hotelingCloudApiReq = {\r\n scopes: [hotelingClientIDScope]\r\n };\r\n return msalService.acquireTokenSilent(hotelingCloudApiReq);\r\n }\r\n\r\n private handle401Error(request: HttpRequest, next: HttpHandler) {\r\n if (!this.refreshTokenInProgress) {\r\n this.refreshTokenInProgress = true;\r\n this.refreshTokenSubject.next(null);\r\n\r\n return this.getHotelingToken().pipe(\r\n switchMap((res: any) => {\r\n this.refreshTokenInProgress = false;\r\n this.refreshTokenSubject.next(res.accessToken);\r\n return next.handle(this.addAuthenticationToken(request, res.accessToken));\r\n })\r\n );\r\n } else {\r\n return this.refreshTokenSubject.pipe(\r\n filter((token) => token != null),\r\n take(1),\r\n switchMap((jwt) => {\r\n return next.handle(this.addAuthenticationToken(request,jwt));\r\n })\r\n );\r\n }\r\n }\r\n\r\n addAuthenticationToken(request: HttpRequest, token: string) {\r\n window[\"hotelingDataToken\"] = token;\r\n return request.clone({\r\n setHeaders: {\r\n Authorization: `${this.appConfiguration.tokenPrefix} ${token}`,\r\n },\r\n });\r\n };\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TooltipDirective } from './tooltip.directive';\r\nimport { TooltipComponent } from './tooltip.component';\r\nimport { ClickOutsideModule } from '../../directives/click-outside/click-outside.module';\r\n\r\n\r\n@NgModule({\r\n declarations: [TooltipComponent, TooltipDirective],\r\n imports: [CommonModule, ClickOutsideModule],\r\n exports: [TooltipDirective]\r\n})\r\nexport class TooltipModule { }\r\n","import { IDynamicTab } from '../common/dynamic-tabs/models/dynamic-tabs.model';\r\nimport { DashboardSorting, SpecialistSearchCriteria, User } from './dashboard-common.model';\r\nimport { SingleDayEventData } from './find-a-space.model';\r\nimport { IdWithRevision, Item, ItemWithDescription, StatusReason, Space, SpaceFeature } from './masterdata.model';\r\nimport { ReservationDetails } from './meetings.model';\r\n\r\nexport interface BookingDetails {\r\n id: number;\r\n name: string;\r\n startDate: string;\r\n endDate: string;\r\n setupTime: string;\r\n tearDownTime: string;\r\n status: string;\r\n statusReason: StatusReason;\r\n revision: number;\r\n attendeesCount: number;\r\n magnetAttendeesCount: number;\r\n actualAttendeesCount: number;\r\n hasAttendees: true;\r\n cateringOrderId: number;\r\n hasCatering: boolean;\r\n hasCateringContactMeLater: boolean;\r\n hasAttachments: boolean;\r\n hasEquipment: boolean;\r\n hasMaterials: boolean;\r\n hasComments: boolean;\r\n hasCommentsAlert: boolean;\r\n hasTask: boolean;\r\n isRecurrent: boolean;\r\n isPrivate: boolean;\r\n snoozed: boolean;\r\n owner: User;\r\n primaryContact: User;\r\n specialist: User;\r\n space: Space;\r\n reservationId: number;\r\n spaceSetupType: ItemWithDescription;\r\n eventType: Item;\r\n syncToOutlook: boolean;\r\n outlookMeetingId: string;\r\n eventRegisterStatus: string;\r\n canCancel: boolean;\r\n canEdit: boolean;\r\n canSnooze: boolean;\r\n canCheckIn: boolean;\r\n timeZoneAbbreviation: string;\r\n partOfHybridEvent: boolean;\r\n bumpTime: string;\r\n checkedInDate: string;\r\n createDate: string;\r\n createBy: User;\r\n isGhEvent: true;\r\n}\r\n\r\nexport interface WaitListDashboardRequest {\r\n Term?: string;\r\n WorkspaceWaitListBuildingSearchCriterias?: WorkspaceWaitListBuildingSearchCriterias[];\r\n SpaceTypeSearchCriteriaAny?: boolean | null;\r\n SpaceTypeSearchCriteriaWorkstation?: boolean | null;\r\n SpaceTypeSearchCriteriaPrivateSpace?: boolean | null;\r\n WorkSpaceWaitListSortings?: WorkSpaceWaitListSortings[];\r\n FloorSearchCriteria?: boolean | null;\r\n FloorUniqueKeys?: Array;\r\n EmployeeLevels?: Array;\r\n WaitListStatusTypes?: Array;\r\n Features?: string;\r\n StartDate: string;\r\n EndDate: string;\r\n Limit?: number;\r\n Page?: number;\r\n Timestamp?: string;\r\n Status?: Array;\r\n}\r\n\r\nexport interface WorkSpaceWaitListFloorSearchCriteria {\r\n any: boolean;\r\n floorUniqueKeys: number[];\r\n}\r\n\r\nexport interface WorkspaceWaitListBuildingSearchCriterias {\r\n buildingId: number;\r\n workSpaceWaitListFloorSearchCriteria: WorkSpaceWaitListFloorSearchCriteria;\r\n}\r\n\r\nexport interface WorkSpaceWaitListSortings {\r\n property: number;\r\n order: 'Asc';\r\n}\r\n\r\nexport interface WaitListCreationRequest {\r\n BuildingId: number;\r\n StartDate: string;\r\n EndDate: string;\r\n FloorUniqueKey: number | null;\r\n SpaceTypeId: number | null;\r\n}\r\n\r\nexport interface WaitlistDashboardData {\r\n totalCount: number;\r\n items: WaitlistItem[];\r\n}\r\nexport interface WaitlistItem {\r\n id: number;\r\n owner: {\r\n id: number;\r\n firstName: string;\r\n lastName: string;\r\n userName: string;\r\n email: string;\r\n title: string;\r\n phoneNumbers: [];\r\n isActive: true;\r\n employeeLevel: null;\r\n };\r\n floorName: string;\r\n startDate: string;\r\n endDate: string;\r\n createDate: string;\r\n spaceType: any;\r\n buildingName: string;\r\n employeeLevel: any;\r\n currentPositionInQueue: any;\r\n waitListStatusTypes: string;\r\n}\r\nexport interface ReleaseSpaceBookingInput extends IdWithRevision {\r\n statusReasonId: number;\r\n statusComment: string;\r\n}\r\n\r\nexport interface BookingBySpaceRequest {\r\n spaceIds: Array;\r\n startDate: string;\r\n endDate: string;\r\n}\r\nexport enum BookingRoutes {\r\n dashboard = 'dashboard',\r\n waitlist = 'waitlist',\r\n}\r\nexport interface BookingsDashboardInput {\r\n limit?: number;\r\n page?: number;\r\n term?: string;\r\n buildingIds?: number[];\r\n floorUniqueKeys?: number[];\r\n eventTypeIds?: number[];\r\n spaceTypeIds?: number[];\r\n statusTypes?: string[];\r\n bookingSpecialistSearchCriteria?: SpecialistSearchCriteria;\r\n reservationSpecialistSearchCriteria?: SpecialistSearchCriteria;\r\n startDate: string;\r\n endDate: string;\r\n bookingDashboardSortings?: DashboardSorting[];\r\n hasAttachments?: boolean;\r\n hasCaterings?: boolean;\r\n hasCommentsWithAlerts?: boolean;\r\n hasEquipment?: boolean;\r\n hasMaterials?: boolean;\r\n hasTask?: boolean;\r\n features: string;\r\n teamRequestIds?: string[];\r\n}\r\nexport interface BookingsDashboardResponse {\r\n items: Detail[];\r\n totalCount: number;\r\n spaceBookingDashboardFacets: {\r\n reservationSpecialists: User[];\r\n spaceBookingSpecialists: User[];\r\n };\r\n}\r\nexport interface Detail {\r\n spaceBookingId: number;\r\n reservationId: number;\r\n spaceBookingName: string;\r\n startDate: string;\r\n endDate: string;\r\n buildingName: string;\r\n spaceName: string;\r\n floorName: string;\r\n spaceType: string;\r\n spaceBookingSpecialist: User;\r\n reservationSpecialist: User;\r\n pointOfContact: User;\r\n owner: User;\r\n statusType: string;\r\n eventTypeName: string;\r\n partOfHybridEvent: boolean;\r\n vip: boolean;\r\n bumpTime: string;\r\n checkedInDate: string;\r\n canCancel: boolean;\r\n snoozed: boolean;\r\n canSnooze: boolean;\r\n canEdit: boolean;\r\n canCheckIn: boolean;\r\n reservationName: string;\r\n reservationRevision: number;\r\n isLtr: boolean;\r\n hasAttendee: boolean;\r\n syncToOutlook: boolean;\r\n timeZoneAbbreviation: string;\r\n hasCatering: boolean;\r\n hasTask: boolean;\r\n hasAttachments: boolean;\r\n hasEquipment: boolean;\r\n hasMaterials: boolean;\r\n hasCommentsAlert: boolean;\r\n teamName: string;\r\n revision: number;\r\n reservationStatusType?:string;\r\n}\r\nexport interface ServiceOrdersCalendarItemInput {\r\n bookingIds?: number[];\r\n waitListIds?: number[];\r\n reservationIds?: number[];\r\n userId?: number;\r\n hasCateringAssigned?: boolean;\r\n features?: string;\r\n limit?: number;\r\n page?: number;\r\n}\r\nexport interface ServiceOrdersCalendarItemResponse {\r\n id: number;\r\n statusType: number;\r\n name: string;\r\n startDate: string;\r\n endDate: string;\r\n type: string;\r\n cateringAvailability: CateringAvailability;\r\n cateringOrder: CateringOrder;\r\n}\r\nexport interface CateringAvailability {\r\n status: string;\r\n closestCateringDate: string;\r\n}\r\nexport interface CateringOrder {\r\n id: number;\r\n needsReview: boolean;\r\n}\r\nexport interface BookingTab extends IDynamicTab {\r\n status: string;\r\n time: number;\r\n}\r\nexport interface DetailsResponse {\r\n bookingDetails?: BookingDetails;\r\n reservationDetails?: ReservationDetails;\r\n features?: SpaceFeature[];\r\n serviceOrdersCount?: ServiceOrdersCount;\r\n}\r\nexport interface ServiceOrdersCount {\r\n commentCount: number;\r\n taskCount: number;\r\n taskDueCount: number;\r\n cateringCount: number;\r\n cateringDueCount: number;\r\n attachmentCount: number;\r\n internalAttendeeCount: number;\r\n externalAttendeeCount: number;\r\n expenseCount: number;\r\n}\r\nexport interface AuditTrailInput {\r\n referenceType?: string;\r\n id?: string;\r\n limit?: number;\r\n page?: number;\r\n}\r\nexport interface AuditTrailResponse {\r\n items: Items[];\r\n totalCount: number;\r\n}\r\nexport interface Items {\r\n changeBy: string;\r\n changeDate: string;\r\n propertyName: string;\r\n oldValue: string;\r\n newValue: string;\r\n timeZoneId: string;\r\n taskId?: string;\r\n createDateUTC?: string;\r\n timeZoneAbbreviation?: string;\r\n}\r\nexport interface EditBooking {\r\n spaceId?: number;\r\n name?: string;\r\n setupTypeId?: number;\r\n isPrivate?: boolean;\r\n attendeesCount?: number;\r\n setupTime?: string;\r\n tearDownTime?: string;\r\n singleDayEventData?: SingleDayEventData;\r\n spaceBookingSpecialistId?: number;\r\n primaryContactId?: number;\r\n reservationId?: number;\r\n revision?: number;\r\n}\r\nexport enum BOOKING_AUDIT_TRAIL_PROPS {\r\n Status = 'Status',\r\n Setuptype = 'Setup type',\r\n Attendeescount = 'Attendees count',\r\n Enddate = 'End date',\r\n Endtime = 'End time',\r\n Floor = 'Floor',\r\n Isprivate = 'Is private',\r\n Name = 'Name',\r\n Reservationid = 'Reservation id',\r\n Roomname = 'Room name',\r\n Setuptime = 'Setup time',\r\n Startdate = 'Start date',\r\n Starttime = 'StartTime',\r\n Teardowntime = 'Tear down time',\r\n Bookingspecialist = 'Booking specialist',\r\n Statusreason = 'Status reason',\r\n Statuscomment ='Status comment'\r\n}\r\nexport const BOOKING_AUDIT_TRAIL_PROPS_NAMES: Map = new Map([\r\n [BOOKING_AUDIT_TRAIL_PROPS.Attendeescount, 'Translation.Attendeescount'],\r\n [BOOKING_AUDIT_TRAIL_PROPS.Enddate, 'Translation.Enddate'],\r\n [BOOKING_AUDIT_TRAIL_PROPS.Endtime, 'Translation.End_time'],\r\n [BOOKING_AUDIT_TRAIL_PROPS.Floor, 'Translation.Floor'],\r\n [BOOKING_AUDIT_TRAIL_PROPS.Isprivate, 'Translation.Isprivate'],\r\n [BOOKING_AUDIT_TRAIL_PROPS.Name, 'Translation.Name'],\r\n [BOOKING_AUDIT_TRAIL_PROPS.Reservationid, 'Translation.ReservationId'],\r\n [BOOKING_AUDIT_TRAIL_PROPS.Roomname, 'Translation.Roomname'],\r\n [BOOKING_AUDIT_TRAIL_PROPS.Setuptime, 'Translation.Setuptime'],\r\n [BOOKING_AUDIT_TRAIL_PROPS.Setuptype, 'Translation.Setuptype'],\r\n [BOOKING_AUDIT_TRAIL_PROPS.Startdate, 'Translation.Startdate'],\r\n [BOOKING_AUDIT_TRAIL_PROPS.Starttime, 'Translation.Start_time'],\r\n [BOOKING_AUDIT_TRAIL_PROPS.Status, 'Translation.Status'],\r\n [BOOKING_AUDIT_TRAIL_PROPS.Teardowntime, 'Translation.Tear_down_time'],\r\n [BOOKING_AUDIT_TRAIL_PROPS.Bookingspecialist, 'Translation.Bookingspecialist'],\r\n [BOOKING_AUDIT_TRAIL_PROPS.Statusreason, 'Translation.Statusreason'],\r\n [BOOKING_AUDIT_TRAIL_PROPS.Statuscomment, 'Translation.Notes']\r\n])\r\nexport const AUDIT_TRAIL_COLUMN_CONFIG = [\r\n {\r\n name: 'Translation.Valuechanged',\r\n flex: '1',\r\n },\r\n {\r\n name: 'Translation.Oldval',\r\n flex: '1.5',\r\n },\r\n {\r\n name: 'Translation.Newval',\r\n flex: '1.5',\r\n },\r\n {\r\n name: 'Translation.Changedby',\r\n flex: '1',\r\n },\r\n {\r\n name: 'Translation.Date_time',\r\n flex: '1.5',\r\n },\r\n];\r\nexport interface ReservationServiceOrderCount {\r\n bookingId: string;\r\n serviceOrderCount: number;\r\n serviceOrderType: string;\r\n}\r\n\r\nexport interface ReservationVerifyResult {\r\n type: ReservationVerifyType;\r\n message: string;\r\n maxConcurrentIndividualBookings?: {\r\n bookings: ReservationVerifyConflictingBooking[];\r\n canBeAutoResolved: boolean;\r\n };\r\n}\r\n\r\nexport interface ReservationVerifyConflictingBooking {\r\n booking: BookingDetails;\r\n startDate: string;\r\n endDate: string;\r\n}\r\n\r\nexport interface ConflictingSpaceBooking {\r\n id: number;\r\n releaseType: ResolveConflictsChoise;\r\n}\r\n\r\nexport enum ResolveConflictsChoise {\r\n ReleaseEntire = 'Fully',\r\n ReleaseConflicting = 'Partially',\r\n Keep = 'SkipRelease',\r\n}\r\n\r\nexport enum ReservationVerifyType {\r\n MaxConcurrentIndividualBookings = 'MaxConcurrentIndividualBookings',\r\n MaxReservationDays = 'MaxReservationDays',\r\n}\r\n\r\nexport enum BookingStatus {\r\n AwaitingCheckIn = 1,\r\n CheckedIn = 2,\r\n Reserved = 3,\r\n PendingApproval = 4,\r\n AutoBumped = 5,\r\n Cancelled = 6,\r\n Conflict = 7,\r\n Released = 8,\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { forkJoin } from 'rxjs';\r\nimport { DataContextService } from '../../datacontext.service';\r\nimport * as moment from 'moment';\r\nimport { map } from 'rxjs/operators'; \r\nimport { Amenity, AttachmentFileExtension, AttachmentFileType, Building, BuildingFeatureFlagsEnum, Configuration, EventType, Item, ItemWithDescription, ItemWithDisplayName, JobTitle, Neighborhood, ServiceOrderType, SpaceFeature, SpaceSetupType, SpaceType, Status, StatusReasons, TaskType, TimeZone, ViewTab, VirtualBookingAdditionalDetail } from '../../../models/masterdata.model';\r\nimport { UserSettingsService } from '../../user-settings.service';\r\nimport { Facility } from '../../../models/masterdata.model';\r\nimport { COUNTRIES } from 'src/app/shared/utils/constants';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MasterdataService {\r\n\r\n constructor(private dataContextService: DataContextService, private userSettingsService: UserSettingsService) { }\r\n favoriteViewData: any;\r\n\r\n getMasterData() {\r\n return forkJoin({\r\n TimeZones: this.getTimeZones(),\r\n // VirtualBookingAdditionalDetails: this.getVirtualBookingAdditionalDetails(),\r\n // VirtualBookingTechnologyAccounts: this.getVirtualBookingTechnologyAccounts(),\r\n TaskTypes: this.getTaskTypes(),\r\n ServiceOrderTypes: this.getServiceOrderTypes(),\r\n // Neighborhoods: this.getNeighborhoods(),\r\n Series: this.getSeries(),\r\n TaskStatuses: this.getTaskStatuses(),\r\n CateringStatuses: this.getCateringStatuses(),\r\n WaitlistStatuses: this.getWaitlistStatus(),\r\n BookingStatus: this.getSpaceBookingStatus(),\r\n ReservationStatus: this.getReservationStatus(),\r\n // VirtualBookingStatus: this.getVirtualBookingStatus(),\r\n SpaceTypes: this.getSpaceTypes(),\r\n SpaceFeatures: this.getSpaceFeatures(),\r\n EventTypes: this.getEventTypes(),\r\n SpaceSetupTypes: this.getSpaceSetupTypes(),\r\n Configurations: this.getConfigurations(),\r\n MeetingWaitListRequestTypes: this.getMeetingWaitListRequestTypes(),\r\n MeetingWaitListStatuses: this.getMeetingWaitListStatuses(),\r\n // AttachmentFileExtensions: this.getAttachmentFileExtensions(),\r\n // AttachmentFIleTypes: this.getAttachmentFileTypes(),\r\n StatusReasons: this.getStatusReasons(),\r\n SpaceSubTypes: this.getSpaceSubTypes(),\r\n MemberFirmConfigurations: this.getMemberFirmConfiguration(DataContextService.UserData?.memberFirm?.id, this.dataContextService.languageId),\r\n Amenities: this.getAmenities(),\r\n JobTitles: this.getJobTitles(),\r\n MealOptions: this.getMealOptions(),\r\n Buildings: this.getBuildings()\r\n })\r\n }\r\n\r\n getTimeZones(startDate: Date | null = null) {\r\n let url = '';\r\n if (startDate) {\r\n url = `TimeZones?pointOfTime=${encodeURIComponent(moment(startDate).format('YYYY-MM-DDTHH:mm:sszzzz'))}`;\r\n } else {\r\n url = `TimeZones`;\r\n }\r\n return this.dataContextService.getData(url, true, false, true).pipe(\r\n map(res => res.data as TimeZone[])\r\n );\r\n }\r\n\r\n getVirtualBookingAdditionalDetails() {\r\n const url = `VirtualBookingAdditionalDetails/ByCategory`;\r\n return this.dataContextService.getData(url, true, false, true).pipe(\r\n map(res => res.data as VirtualBookingAdditionalDetail[])\r\n );\r\n }\r\n mapVirtualOptions(data){\r\n let virtualOptions = [];\r\n if(data){\r\n data.forEach(x => {\r\n x.virtualBookingAdditionalDetails.forEach(i => {\r\n virtualOptions.push(i);\r\n })\r\n })\r\n if(virtualOptions){\r\n return virtualOptions;\r\n }\r\n }\r\n }\r\n getVirtualBookingTechnologyAccounts() {\r\n const url = `VirtualBookingTechnologyAccounts`;\r\n return this.dataContextService.getData(url, true, false, true).pipe(\r\n map(res => res.data as Item[])\r\n );\r\n }\r\n getTaskTypes() {\r\n const url = `Tasks/TaskTypes`;\r\n return this.dataContextService.getData(url, true, false, true).pipe(\r\n map(res => res.data as TaskType[])\r\n )\r\n }\r\n getServiceOrderTypes() {\r\n const url = `ServiceOrderType`;\r\n return this.dataContextService.getData(url, true, false, true).pipe(\r\n map(res => {\r\n const data = res.data as ServiceOrderType[];\r\n return data.filter(item => item.serviceOrderCategory !== 'EAM'); \r\n }),\r\n )\r\n }\r\n getNeighborhoods() {\r\n const url = `Neighborhoods`;\r\n return this.dataContextService.getData(url, true, false, true).pipe(\r\n map(res => res.data as Neighborhood[])\r\n );\r\n }\r\n getSeries() {\r\n const url = `Series`;\r\n return this.dataContextService.getData(url, true, false, true).pipe(\r\n map(res => res.data as Item[])\r\n );\r\n }\r\n getCateringStatuses() {\r\n const url = `MasterData/CateringStatus`;\r\n return this.dataContextService.getData(url, true, false, true).pipe(\r\n map(res => res.data as Status[])\r\n )\r\n }\r\n getTaskStatuses() {\r\n const url = `MasterData/TaskStatus`;\r\n return this.dataContextService.getData(url, true, false, true).pipe(\r\n map(res => res.data as Status[])\r\n )\r\n }\r\n getWaitlistStatus() {\r\n const url = `MasterData/WaitlistStatus`;\r\n return this.dataContextService.getData(url, true, false, true).pipe(\r\n map(res => res.data as Status[])\r\n )\r\n }\r\n getSpaceBookingStatus() {\r\n const url = `MasterData/SpaceBookingStatus`;\r\n return this.dataContextService.getData(url, true, false, true).pipe(\r\n map(res => res.data as Status[])\r\n )\r\n }\r\n getReservationStatus() {\r\n const url = `MasterData/ReservationStatus`;\r\n return this.dataContextService.getData(url, true, false, true).pipe(\r\n map(res => res.data as Status[])\r\n )\r\n }\r\n getVirtualBookingStatus() {\r\n const url = `MasterData/VirtualBookingStatus`;\r\n return this.dataContextService.getData(url, true, false, true).pipe(\r\n map(res => res.data as Status[])\r\n )\r\n }\r\n getSpaceTypes() {\r\n const url = `SpaceTypes`;\r\n return this.dataContextService.getData(url, true, false, true).pipe(\r\n map(res => res.data as SpaceType[] )\r\n )\r\n }\r\n getSpaceFeatures() {\r\n \r\n const url = `SpaceFeatures`;\r\n return this.dataContextService.getData(url, true, false, true).pipe(\r\n map(res => {\r\n const data = res.data as SpaceFeature[];\r\n return data.map(item => {\r\n return {\r\n ...item,\r\n iconKey: !item.iconKey ? item.name.split(\" \").join(\"\") : item.iconKey\r\n };\r\n }).map(item => {\r\n return {\r\n ...item,\r\n iconClass: this.userSettingsService.spaceFeaturesIcon[item.iconKey]\r\n };\r\n })\r\n })\r\n );\r\n }\r\n getEventTypes() {\r\n const url = `EventTypes/Meeting`;\r\n return this.dataContextService.getData(url, true, false, true).pipe(\r\n map(res => res.data as EventType[])\r\n );\r\n }\r\n getSpaceSetupTypes() {\r\n const url = `SpaceSetupTypes`;\r\n return this.dataContextService.getData(url, true, false, true).pipe(\r\n map(res => {\r\n const data = res.data as SpaceSetupType[];\r\n return data.sort(a => a.description.toLowerCase() === this.dataContextService.translateText('Translation.Defaultspacesetuptype').toLowerCase() ? -1 : 0).map(item => {\r\n return {\r\n ...item,\r\n iconClass: this.userSettingsService.setupTypeIcon[item.id]\r\n };\r\n })\r\n })\r\n );\r\n }\r\n getConfigurations() {\r\n const url = `Configuration/Settings`;\r\n return this.dataContextService.getData(url, true, false, true).pipe(\r\n map(res => res.data as Configuration[])\r\n );\r\n }\r\n getMemberFirmConfiguration(memberFirmId: number, languageId: number) {\r\n const defaultLanguageId = 1 // english only\r\n const url = `MemberFirm/Settings/${defaultLanguageId}`;\r\n return this.dataContextService.getData(url, true, false, true).pipe(\r\n map(res => res.data as Configuration[])\r\n );\r\n }\r\n getMeetingWaitListRequestTypes() {\r\n const url = `MasterData/MeetingRequestType`;\r\n return this.dataContextService.getData(url, true, false, true).pipe(\r\n map(res => res.data as ItemWithDisplayName[])\r\n );\r\n }\r\n getMeetingWaitListStatuses() {\r\n const url = `MasterData/MeetingRequestStatus`;\r\n return this.dataContextService.getData(url, true, false, true).pipe(\r\n map(res => res.data as Status[])\r\n );\r\n }\r\n getAttachmentFileExtensions() {\r\n const url = `Attachments/FileExtensions`;\r\n return this.dataContextService.getData(url, true, false, true).pipe(\r\n map(res => res.data as AttachmentFileExtension[])\r\n );\r\n }\r\n getAttachmentFileTypes() {\r\n const url = `Attachments/FileTypes`;\r\n return this.dataContextService.getData(url, true, false, true).pipe(\r\n map(res => res.data as AttachmentFileType[])\r\n );\r\n }\r\n getStatusReasons() {\r\n const url = `StatusReasons`;\r\n return this.dataContextService.getData(url, true, false, true).pipe(\r\n map(res => res.data as StatusReasons[])\r\n );\r\n }\r\n getSpaceSubTypes() {\r\n const url = `SpaceSubTypes`;\r\n return this.dataContextService.getData(url, true, false, true).pipe(\r\n map(res => res.data as ItemWithDescription[])\r\n );\r\n }\r\n getAmenities() {\r\n const url = `Amenities`;\r\n return this.dataContextService.getData(url, true, false, true).pipe(\r\n map(res => res.data as Amenity[])\r\n );\r\n }\r\n getJobTitles() {\r\n const url = `Users/GetJobTitles`;\r\n return this.dataContextService.getData(url, true, false, true).pipe(\r\n map(res => res.data as JobTitle[])\r\n );\r\n }\r\n getMealOptions() {\r\n const url = `CateringOrders/MealOptions`;\r\n return this.dataContextService.getData(url, true, false, true).pipe(\r\n map(res => res.data as Item[])\r\n );\r\n }\r\n getBuildings(buildingFeatureFlag = `${BuildingFeatureFlagsEnum[BuildingFeatureFlagsEnum.IncludeFloorInformation]},${BuildingFeatureFlagsEnum[BuildingFeatureFlagsEnum.IncludeFloorAmenities]}`) {\r\n const url = `Buildings?BuildingFeatureFlags=${buildingFeatureFlag}`;\r\n return this.dataContextService.getData(url, true, false, true).pipe(\r\n map(res => res.data as Building[]\r\n )\r\n );\r\n }\r\n getBuildingById(id: number, features: string | null = null) {\r\n let url = `Buildings/${id}`;\r\n if (features)\r\n url = `${url}/${features}`;\r\n return this.dataContextService.getData(url).pipe(\r\n map(res => res.data as Building)\r\n );\r\n }\r\n getFilteredBuildings(): Array {\r\n let preferredCountries = this.getViewTab('countries').map((id) => {\r\n return COUNTRIES.find((item) => item.id == Number(id)).name;\r\n });\r\n return DataContextService.FacilityArray.filter((item) => {\r\n if (preferredCountries.find((countries) => countries == item.Country))\r\n return item; \r\n });\r\n}\r\ngetViewTab(key: any, isTabField?: boolean) {\r\n let tabFieldValue: any;\r\n let tabFieldArray = new Array();\r\n if (this.favoriteViewData) {\r\n if (!isTabField) {\r\n tabFieldValue = this.favoriteViewData[key];\r\n } else {\r\n let tabData = this.favoriteViewData.viewDetails.find((x) => x.tabFieldId == key);\r\n if (tabData) { tabFieldValue = tabData.value;}\r\n }\r\n }\r\n\r\n if(typeof tabFieldValue == 'string') {\r\n if(tabFieldValue != null && tabFieldValue !=\"\"){\r\n tabFieldArray = tabFieldValue.split(',');\r\n }\r\n }\r\n else {\r\n if ( tabFieldValue) tabFieldArray.push(tabFieldValue);\r\n }\r\n\r\n return tabFieldArray;\r\n}\r\ngetBuildingByName(buildingName: string): Facility {\r\n return DataContextService.FacilityArray.find((building) => building.OfficeName == buildingName);\r\n}\r\n \r\n}\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { SelectOptions } from '@usitsdasdesign/dds-ng/select';\r\nimport { LabelPosition, Size } from '@usitsdasdesign/dds-ng/shared';\r\nimport { Item } from 'src/app/models/masterdata.model';\r\nimport { DataContextService } from 'src/app/services/datacontext.service';\r\n\r\n@Component({\r\n selector: 'app-data-table-search',\r\n templateUrl: './data-table-search.component.html',\r\n styleUrls: ['./data-table-search.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class DataTableSearchComponent implements OnInit {\r\n @Input() placeholder = 'Translation.Searchby';\r\n @Input() limit = 3;\r\n @Input() refreshDataEmitter: boolean;\r\n @Input() formSearchValue: any = null;\r\n\r\n @Output() searchChanged = new EventEmitter();\r\n @Output() searchAcrossAllLocations = new EventEmitter();\r\n @Output() searchAcrossAllLocationsForm = new EventEmitter();\r\n\r\n @Input() searchValue = '';\r\n @Input() initSearchVal = '';\r\n\r\n @Input() isAcrossAllLocations: boolean = false;\r\n isStandardSearchActive = true;\r\n series: Item[] = [];\r\n\r\n selectOptions: SelectOptions = {\r\n label: 'Series',\r\n labelPosition: LabelPosition.external,\r\n placeholder: 'Select',\r\n size: Size.md,\r\n isDisabled: false,\r\n isRequired: false,\r\n };\r\n\r\n selectedItem: string;\r\n\r\n form = new FormGroup({\r\n meetingName: new FormControl(''),\r\n series: new FormControl(''),\r\n });\r\n\r\n standardSearchInitiated: boolean = false;\r\n\r\n constructor(private cdRef: ChangeDetectorRef) {}\r\n\r\n ngOnInit(): void {\r\n this.searchValue = this.searchValue ? this.searchValue : this.initSearchVal;\r\n if (this.isAcrossAllLocations) {\r\n this.isStandardSearchActive = !this.isAcrossAllLocations;\r\n }\r\n this.series = DataContextService.Series;\r\n if (this.formSearchValue) {\r\n this.form.setValue(this.formSearchValue);\r\n }\r\n }\r\n\r\n clearInput(): void {\r\n this.searchValue = '';\r\n this.cdRef.detectChanges();\r\n this.searchChanged.emit('');\r\n }\r\n\r\n clearSearchInput(): void {\r\n this.form.get('meetingName').setValue('');\r\n }\r\n\r\n onSearchValueChange(value: string): void {\r\n if(value.length >= this.limit) {\r\n this.standardSearchInitiated = true;\r\n this.searchChanged.emit(value);\r\n }\r\n else if(value.length == 0 && this.standardSearchInitiated) {\r\n this.standardSearchInitiated = false;\r\n this.searchChanged.emit('');\r\n };\r\n };\r\n\r\n standardSeacrhActivated(): void {\r\n this.isStandardSearchActive = true;\r\n this.searchAcrossAllLocations.emit(!this.isStandardSearchActive);\r\n this.clearSearchInput();\r\n this.searchChanged.emit('');\r\n this.form.get('series').reset();\r\n }\r\n\r\n searchAcrossAllLocationsActivated(): void {\r\n this.isStandardSearchActive = false;\r\n this.searchValue = '';\r\n this.cdRef.detectChanges();\r\n this.searchChanged.emit('');\r\n this.searchAcrossAllLocations.emit(!this.isStandardSearchActive);\r\n }\r\n\r\n onApplyFilters(): void {\r\n this.searchAcrossAllLocationsForm.emit(this.form.value);\r\n }\r\n\r\n get isFormApplyEnabled(): boolean {\r\n return !!this.form.get('meetingName').value.length || !!this.form.get('series').value;\r\n }\r\n}\r\n","
\r\n
\r\n\r\n \r\n
\r\n \r\n\r\n \r\n \r\n
\r\n
{{ \"Translation.Searchby\" | translate }}:
\r\n
    \r\n
  • {{ \"Translation.Meeting_name\" | translate }}
  • \r\n
  • {{ \"Translation.Meeting_id\" | translate }}
  • \r\n
  • {{ \"Translation.Meetingspecialist\" | translate }}
  • \r\n
  • {{ \"Translation.Pointofcontact\" | translate }}
  • \r\n
\r\n
\r\n
\r\n \r\n
\r\n {{ \"Translation.Searchacrossalllocationstooltip\" | translate }}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n","import { PopupService } from '@usitsdasdesign/dds-ng/core/popup';\r\nimport * as ɵngcc0 from '@angular/core';\r\nimport { Injectable } from '@angular/core';\r\n\r\nclass CustomPopupService extends PopupService {\r\n static ɵfac: ɵngcc0.ɵɵFactoryDef;\r\n static ɵprov: ɵngcc0.ɵɵInjectableDef;\r\n}\r\n\r\n@Injectable()\r\nexport class TooltipService extends CustomPopupService {\r\n\r\n}\r\n","import { InjectionToken } from '@angular/core'\r\n\r\nexport const APP_CONFIG: InjectionToken = new InjectionToken('Cognito App configuration')\r\n\r\nexport interface AppConfiguration {\r\n issuer: string;\r\n tokenEndpoint: string;\r\n tokenPrefix: string;\r\n clientId: string;\r\n responseType: string;\r\n scope: string;\r\n userinfoEndpoint: string;\r\n logoutUrl: string;\r\n abbreviation: string;\r\n}\r\n","export enum RulerFactoryOption {\r\n Start = 'START',\r\n End = 'END',\r\n Default = 'DEFAULT',\r\n}\r\n","/* tslint:disable */\r\nimport { Injectable, Injector } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { MsalService } from '@azure/msal-angular';\r\nimport { DataContextService } from './datacontext.service';\r\nimport { UserService } from './APIs/Users/userservice';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { UserSettingsService } from './user-settings.service';\r\nimport { AuthService } from '../auth.service';\r\nimport { OAuthService } from 'angular-oauth2-oidc';\r\n\r\n// import { OAuthService } from 'angular-oauth2-oidc';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StartupService {\r\n constructor(\r\n private http: HttpClient,\r\n private userSettingsService: UserSettingsService,\r\n private injector: Injector,\r\n private hotelingDataContextService: DataContextService,\r\n private _userService: UserService,\r\n private authService:AuthService,\r\n private oAuthService:OAuthService\r\n ) {}\r\n\r\n getHotelingToken() {\r\n const msalService = this.injector.get(MsalService);\r\n const hotelingClientIDScope =\r\n this.userSettingsService.appSettings.HotelingCloudClientId + this.userSettingsService.appSettings.ConciergeScope;\r\n\r\n const hotelingCloudApiReq = {\r\n scopes: [hotelingClientIDScope],\r\n };\r\n return msalService.acquireTokenSilent(hotelingCloudApiReq);\r\n }\r\n\r\n getUserDetails(hotelingCloudToken: any) {\r\n const router = this.injector.get(Router);\r\n const msalService = this.injector.get(MsalService);\r\n\r\n return msalService\r\n .acquireTokenSilent({\r\n scopes: ['user.read'],\r\n account: msalService.instance.getAllAccounts()[0],\r\n }).toPromise()\r\n .then((res) => {\r\n window['hotelingDataToken'] = hotelingCloudToken;\r\n let emailSuffix = this.userSettingsService.appSettings.EmailSuffix;\r\n let alias = msalService.instance.getAllAccounts()[0].username.concat(emailSuffix);\r\n\r\n return this._userService\r\n .getUsersByEmail([alias])\r\n .toPromise()\r\n .then((r:any) => {\r\n if (r && r.length > 0 && r[0].user != null) {\r\n //need to remove\r\n let userObj = r[0].user;\r\n DataContextService.UserData = userObj;\r\n let isConciergeUser: boolean = JSON.parse(userObj.hasConciergeRights);\r\n if (!isConciergeUser) {\r\n router.navigate(['/AccessDenied']);\r\n }\r\n } else {\r\n router.navigate(['/AccessDenied']);\r\n }\r\n });\r\n });\r\n }\r\n\r\n// async authorizeUser() {\r\n// const msalService = this.injector.get(MsalService);\r\n// await msalService.instance.handleRedirectPromise();\r\n// const accounts = msalService.instance.getAllAccounts();\r\n// if (accounts.length === 0) {\r\n// // No user signed in\r\n// msalService.instance.loginRedirect();\r\n// } else {\r\n// const account = msalService.instance.getAllAccounts();\r\n// if(!msalService.instance.getActiveAccount())\r\n// {\r\n// msalService.instance.setActiveAccount(account[0]);\r\n// }\r\n// if (msalService.instance.getActiveAccount()) {\r\n\r\n// return this.getHotelingToken().toPromise()\r\n// .then((res) => {\r\n// localStorage.setItem('msal.hotelingTokenExpiry', this.getTokenExpired(res.accessToken));\r\n// return this.getUserDetails(res.accessToken);\r\n// })\r\n// .catch((err) => {\r\n// return Promise.reject(err);\r\n// });\r\n// } else {\r\n// return Promise.reject('User not logged in');\r\n// }\r\n// }\r\n// }\r\n\r\nasync authorizeUser() {\r\n await this.authService.init().then(()=>{\r\n const router = this.injector.get(Router);\r\n var claims = this.oAuthService.getIdentityClaims();\r\n\r\n console.log('claims', claims);\r\n\r\n let alias = 'antennyson@hermitage123.onmicrosoft.com'; //claims['email'];\r\n\r\n return this._userService\r\n .getUsersByEmail([alias])\r\n .toPromise()\r\n .then((r: any) => {\r\n if (r && r.length > 0 && r[0].user != null) {\r\n //need to remove\r\n let userObj = r[0].user;\r\n DataContextService.UserData = userObj;\r\n let isConciergeUser: boolean = JSON.parse(userObj.hasConciergeRights);\r\n if (!isConciergeUser) {\r\n router.navigate(['/AccessDenied']);\r\n }\r\n } else {\r\n router.navigate(['/AccessDenied']);\r\n }\r\n })\r\n })\r\n }\r\n\r\n\r\n graphApi() {\r\n const msalService = this.injector.get(MsalService);\r\n if (msalService.instance.getAllAccounts()[0]) {\r\n const graphApiReq = {\r\n scopes: ['user.read'],\r\n };\r\n return msalService.acquireTokenSilent(graphApiReq).toPromise().then((graphToken) => {\r\n localStorage.setItem('msal.graphApiAccessToken', graphToken.accessToken);\r\n localStorage.setItem('msal.graphApiTokenExpiry', this.getTokenExpired(graphToken.accessToken));\r\n });\r\n } else {\r\n return Promise.reject('User not logged in');\r\n }\r\n }\r\n\r\n getTokenExpired(token: string) {\r\n return JSON.parse(atob(token.split('.')[1])).exp;\r\n }\r\n\r\n loginRedirect() {\r\n const msalService = this.injector.get(MsalService);\r\n msalService.loginRedirect();\r\n }\r\n}\r\n","\r\nimport { TimepickerComponentState, TimeChangeEvent, TimepickerControls } from '../models/timepicker.models';\r\nimport { changeTime } from './timepicker.utils';\r\n\r\nexport function canChangeValue(\r\n state: TimepickerComponentState,\r\n event?: TimeChangeEvent\r\n): boolean {\r\n if (state.readonlyInput || state.isDisabled) {\r\n return false;\r\n }\r\n\r\n if (event) {\r\n if (event.source === 'wheel' && !state.mousewheel) {\r\n return false;\r\n }\r\n\r\n if (event.source === 'key' && !state.arrowkeys) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n}\r\n\r\nexport function canChangeHours(\r\n event: TimeChangeEvent,\r\n controls: TimepickerControls\r\n): boolean {\r\n if (!event.step) {\r\n return false;\r\n }\r\n\r\n if (event.step > 0 && !controls.canIncrementHours) {\r\n return false;\r\n }\r\n\r\n if (event.step < 0 && !controls.canDecrementHours) {\r\n return false;\r\n }\r\n\r\n return true;\r\n}\r\n\r\nexport function canChangeMinutes(\r\n event: TimeChangeEvent,\r\n controls: TimepickerControls\r\n): boolean {\r\n if (!event.step) {\r\n return false;\r\n }\r\n if (event.step > 0 && !controls.canIncrementMinutes) {\r\n return false;\r\n }\r\n if (event.step < 0 && !controls.canDecrementMinutes) {\r\n return false;\r\n }\r\n\r\n return true;\r\n}\r\n\r\nexport function canChangeSeconds(\r\n event: TimeChangeEvent,\r\n controls: TimepickerControls\r\n): boolean {\r\n if (!event.step) {\r\n return false;\r\n }\r\n if (event.step > 0 && !controls.canIncrementSeconds) {\r\n return false;\r\n }\r\n if (event.step < 0 && !controls.canDecrementSeconds) {\r\n return false;\r\n }\r\n\r\n return true;\r\n}\r\n\r\nexport function getControlsValue(\r\n state: TimepickerComponentState\r\n): TimepickerComponentState {\r\n const {\r\n hourStep,\r\n minuteStep,\r\n secondsStep,\r\n readonlyInput,\r\n isDisabled,\r\n mousewheel,\r\n arrowkeys,\r\n showSpinners,\r\n showMeridian,\r\n showSeconds,\r\n meridians,\r\n minDate,\r\n maxDate\r\n } = state;\r\n\r\n return {\r\n hourStep,\r\n minuteStep,\r\n secondsStep,\r\n readonlyInput,\r\n isDisabled,\r\n mousewheel,\r\n arrowkeys,\r\n showSpinners,\r\n showMeridian,\r\n showSeconds,\r\n meridians,\r\n minDate,\r\n maxDate\r\n };\r\n}\r\n\r\nexport function timepickerControls(value: Date | undefined, state: TimepickerComponentState): TimepickerControls {\r\n const hoursPerDay = 24;\r\n const hoursPerDayHalf = 12;\r\n const { minDate, maxDate, hourStep, minuteStep, secondsStep, showSeconds } = state;\r\n const res: TimepickerControls = {\r\n canIncrementHours: true,\r\n canIncrementMinutes: true,\r\n canIncrementSeconds: true,\r\n\r\n canDecrementHours: true,\r\n canDecrementMinutes: true,\r\n canDecrementSeconds: true,\r\n\r\n canToggleMeridian: true\r\n };\r\n\r\n if (!value) {\r\n return res;\r\n }\r\n\r\n // compare dates\r\n if (maxDate) {\r\n const _newHour = changeTime(value, { hour: hourStep });\r\n res.canIncrementHours = maxDate > _newHour && (value.getHours() + hourStep) < hoursPerDay;\r\n\r\n if (!res.canIncrementHours) {\r\n const _newMinutes = changeTime(value, { minute: minuteStep });\r\n res.canIncrementMinutes = showSeconds\r\n ? maxDate > _newMinutes\r\n : maxDate >= _newMinutes;\r\n }\r\n\r\n if (!res.canIncrementMinutes) {\r\n const _newSeconds = changeTime(value, { seconds: secondsStep });\r\n res.canIncrementSeconds = maxDate >= _newSeconds;\r\n }\r\n\r\n if (value.getHours() < hoursPerDayHalf) {\r\n res.canToggleMeridian = changeTime(value, { hour: hoursPerDayHalf }) < maxDate;\r\n }\r\n }\r\n\r\n if (minDate) {\r\n const _newHour = changeTime(value, { hour: -hourStep });\r\n res.canDecrementHours = minDate < _newHour;\r\n\r\n if (!res.canDecrementHours) {\r\n const _newMinutes = changeTime(value, { minute: -minuteStep });\r\n res.canDecrementMinutes = showSeconds\r\n ? minDate < _newMinutes\r\n : minDate <= _newMinutes;\r\n }\r\n\r\n if (!res.canDecrementMinutes) {\r\n const _newSeconds = changeTime(value, { seconds: -secondsStep });\r\n res.canDecrementSeconds = minDate <= _newSeconds;\r\n }\r\n\r\n if (value.getHours() >= hoursPerDayHalf) {\r\n res.canToggleMeridian = changeTime(value, { hour: -hoursPerDayHalf }) > minDate;\r\n }\r\n }\r\n\r\n return res;\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MasterdataService } from 'src/app/services/APIs/MasterData/masterdata.service';\r\nimport { DataContextService } from 'src/app/services/datacontext.service';\r\nimport { Configuration } from '../../../../models/masterdata.model';\r\nimport { SelectedOwnerItem } from '../../../../shared/components/owner-search/owner-search.component';\r\n\r\n@Component({\r\n selector: 'app-staticlink-navigation',\r\n templateUrl: './staticlink-navigation.component.html',\r\n styleUrls: ['./staticlink-navigation.component.less']\r\n})\r\nexport class StaticlinkNavigationComponent implements OnInit {\r\n public staticURL:staticURL;\r\n public MagnetNavigationUrl:string\r\n RECOMMENDATION_LIST_PAGE_SIZE:number=40\r\n\r\n constructor(private datacontextService:DataContextService,private masterdataservice:MasterdataService) { }\r\n\r\n ngOnInit(): void {\r\n this.datacontextService.masterDadaLoaded$.subscribe(res=>{\r\n if(res){\r\n this.staticURL={\r\n magnetTimelineUrl: this.getLinkValue(DataContextService.Configurations, 'MagnetTimelineUrl'),\r\n serviceNowUrl: this.getLinkValue(DataContextService.MemberFirmConfigurations, 'ServiceNowURL'),\r\n hotelingUrl: this.getLinkValue(DataContextService.MemberFirmConfigurations, 'HotelingURL'),\r\n cateringForBuilding: this.getLinkValue(DataContextService.Configurations,'CateringForBuildingURL'),\r\n magnetProfileUrl: this.getLinkValue(DataContextService.Configurations, 'MagnetURL'),\r\n serviceOrderReports: this.getLinkValue(DataContextService.MemberFirmConfigurations, 'ServiceOrderReports'),\r\n reportsUrl: this.getLinkValue(DataContextService.MemberFirmConfigurations, 'ReportsURL')\r\n }\r\n }\r\n })\r\n }\r\n getLinkValue(data, propertyName): string | null {\r\n const property = data.find(item => item.name == propertyName) as Configuration;\r\n if (property)\r\n return property.value;\r\n else\r\n return null;\r\n }\r\n\r\n delegateselect(user: SelectedOwnerItem[]) {\r\n this.MagnetNavigationUrl = `${this.staticURL.magnetTimelineUrl}`;\r\n this.MagnetNavigationUrl = this.MagnetNavigationUrl.replace('{0}', DataContextService.UserData.userName);\r\n this.MagnetNavigationUrl = this.MagnetNavigationUrl.replace('{1}', user[0].userName);\r\n window.open(this.MagnetNavigationUrl, '_blank');\r\n }\r\n\r\n}\r\nexport interface staticURL{\r\n serviceNowUrl: string\r\n hotelingUrl:string\r\n cateringForBuilding: string\r\n magnetProfileUrl:string\r\n serviceOrderReports: string\r\n reportsUrl:string\r\n magnetTimelineUrl:string\r\n}\r\n","
\r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SpecialistDetailsComponent } from './specialist-details.component';\r\nimport { AvatarImageModule } from '../avatar/avatar-image.module';\r\n\r\n\r\n@NgModule({\r\n declarations: [SpecialistDetailsComponent],\r\n imports: [\r\n CommonModule,\r\n AvatarImageModule\r\n ],\r\n exports: [SpecialistDetailsComponent]\r\n})\r\nexport class SpecialistDetailsModule { }\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-tag',\r\n templateUrl: './tag.component.html',\r\n styleUrls: ['./tag.component.less']\r\n})\r\nexport class TagComponent implements OnInit {\r\n\r\n @Input() isDisabled: boolean = false;\r\n @Input() isRemovable: boolean = false;\r\n @Input() customClass: string = 'dark';\r\n @Input() label: string = '';\r\n @Input() showTagCount: boolean = false;\r\n @Input() count: number = 0;\r\n @Input() tagIcon: string = '';\r\n\r\n @Output() removed = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","
\r\n \r\n {{ label }}\r\n \r\n \r\n
\r\n","import { NgModule } from '@angular/core';\r\nimport { ReadOnlyComponent } from './read-only.component';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@NgModule({\r\n declarations: [ReadOnlyComponent],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [ReadOnlyComponent]\r\n})\r\nexport class ReadOnlyModule {\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SpaceFeaturesComponent } from './space-features.component'\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { TagsModule } from '../tags/tags.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [SpaceFeaturesComponent],\r\n imports: [\r\n CommonModule,\r\n TranslateModule,\r\n TagsModule\r\n ],\r\n exports: [SpaceFeaturesComponent]\r\n})\r\nexport class SpaceFeaturesModule { }\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { Style } from 'src/app/models/common.enums';\r\n\r\n@Component({\r\n selector: 'app-toggle-group',\r\n templateUrl: './app-toggle-group.component.html',\r\n styleUrls: ['./app-toggle-group.component.less']\r\n})\r\nexport class AppToggleGroupComponent implements OnInit {\r\n\r\n @Input() heading:string = '';\r\n @Input() style: Style = Style.horizontal;\r\n @Input() isRequired: boolean = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","\r\n
\r\n \r\n
\r\n","import {Directive, ElementRef, Input, OnChanges, Renderer2, SecurityContext, SimpleChanges} from '@angular/core';\r\nimport {DomSanitizer} from '@angular/platform-browser';\r\n\r\n@Directive({\r\n selector: '[appHighlight]'\r\n})\r\nexport class HighlightDirective implements OnChanges {\r\n @Input('appHighlight') searchTerm: string;\r\n\r\n set content(val: string) {\r\n this.renderer.setProperty(this.el.nativeElement, 'innerHTML', val);\r\n }\r\n\r\n constructor(private el: ElementRef, private sanitizer: DomSanitizer, private renderer: Renderer2) {\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (this.el?.nativeElement) {\r\n const text = (this.el.nativeElement as HTMLElement).textContent || '';\r\n\r\n if (text) {\r\n const searchVal = changes.searchTerm && changes.searchTerm.currentValue;\r\n if (!searchVal) {\r\n this.content = text;\r\n } else {\r\n const illegalRegExpCharters = /[*)(\\[\\]]/g;\r\n\r\n const regex = new RegExp(\r\n this.searchTerm.replace(illegalRegExpCharters, ''),\r\n 'gi'\r\n );\r\n const newText = text.replace(regex, (match: string) => {\r\n return `${match}`;\r\n });\r\n this.content = this.sanitizer.sanitize(\r\n SecurityContext.HTML,\r\n newText\r\n ) || '';\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","export enum SortOrder {\r\n Asc = 'Asc',\r\n Desc = 'Desc'\r\n}\r\n\r\nexport enum ReferenceType {\r\n Booking = 'Booking',\r\n MeetingWaitList = 'MeetingWaitList',\r\n Waitlist = 'Waitlist',\r\n VirtualBooking = 'VirtualBooking',\r\n Reservation = 'Reservation',\r\n}\r\n\r\nexport enum ServiceOrderCategory {\r\n Catering = 'catering',\r\n TaskType = 'TaskType'\r\n}\r\n\r\nexport enum SOReferenceType {\r\n Booking = 'Booking',\r\n Meeting = 'Meeting request',\r\n Catering = 'Catering only',\r\n MeetingWaitList = 'MeetingWaitList',\r\n Building = 'Building',\r\n Request='Request',\r\n Virtual='Virtual',\r\n ServiceOrder='ServiceOrder'\r\n}\r\n\r\nexport enum SOReferenceTypeDashboard{\r\n Catering = 'Catering',\r\n MeetingWaitList = 'MeetingWaitList',\r\n Building='Building',\r\n booking='booking',\r\n request='request'\r\n}\r\n\r\nexport enum CountryIds {\r\n US = 229,\r\n India = 95,\r\n Canada = 38,\r\n Chile = 43,\r\n Mexico=135\r\n}\r\n\r\n\r\nexport enum Style {\r\n default = '',\r\n horizontal = 'horizontal',\r\n vertical = 'vertical'\r\n}\r\n\r\nexport enum CounterStyle {\r\n default = '',\r\n withError = 'withError'\r\n}","export enum CheckboxLabelPosition {\r\n vertical='vertical',\r\n horizontal ='horizontal',\r\n}\r\n","import { Injectable, InjectionToken, Inject } from '@angular/core';\r\n\r\nexport interface IAppSettings {\r\n sAccount: string;\r\n omnitureEnabled: boolean;\r\n reservationActiveStatuses: Array;\r\n BackToOffice: boolean;\r\n HotelingCloudClientId: string;\r\n ConciergeScope: string;\r\n HotelingCloudApiUrl: string;\r\n HotelingCloudApiVersion: string;\r\n EmailSuffix: string;\r\n AmenityExpirationTime: string;\r\n DGuestLink: string;\r\n ReservationAttendeesLimit: number;\r\n VirtualAttendeesLimit: number;\r\n InOfficeAttendeesLimit: number;\r\n BufferAttendeesCount: number;\r\n MaxNumberLimit: number;\r\n GlobalSearchLimit: number;\r\n}\r\n\r\nexport const APP_SETTINGS = new InjectionToken('APP_SETTINGS');\r\n\r\nexport interface IErrorMessages {\r\n DelegateTokenError: string;\r\n ValidateReservationAlert: string;\r\n ReservationConfirmationUnexpectedError: string;\r\n ValidateWailistError: string;\r\n CreateReservationError: string;\r\n GenericError: string;\r\n}\r\n\r\nexport const ERROR_MESSAGES = new InjectionToken('ERROR_MESSAGES');\r\nexport const SPACE_FEATURES_ICON = new InjectionToken('SPACE_FEATURES_ICON');\r\nexport const SPACE_TYPE_ICON = new InjectionToken('SPACE_TYPE_ICON');\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class UserSettingsService {\r\n private UserAlias: string = '';\r\n\r\n constructor(\r\n @Inject(APP_SETTINGS) private AppSettings: IAppSettings,\r\n @Inject(ERROR_MESSAGES) private ErrorMessages: IErrorMessages,\r\n @Inject(SPACE_FEATURES_ICON) private SpaceFeaturesIcon: any,\r\n @Inject(SPACE_TYPE_ICON) private SetupTypeIcon,\r\n ) {}\r\n\r\n set userAlias(alias: string) {\r\n this.UserAlias = alias;\r\n }\r\n\r\n get userAlias(): string {\r\n return this.UserAlias;\r\n }\r\n\r\n get appSettings(): IAppSettings {\r\n return this.AppSettings;\r\n }\r\n\r\n get errorMessages(): IErrorMessages {\r\n return this.ErrorMessages;\r\n }\r\n\r\n get spaceFeaturesIcon() {\r\n return this.SpaceFeaturesIcon;\r\n }\r\n get setupTypeIcon() {\r\n return this.SetupTypeIcon;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class SpinnerService {\r\n status: Subject = new Subject();\r\n private _active: boolean = false;\r\n\r\n get active(): boolean {\r\n return this._active;\r\n }\r\n\r\n set active(v: boolean) {\r\n this._active = v;\r\n this.status.next(v);\r\n }\r\n\r\n start(): void {\r\n this.active = true;\r\n }\r\n\r\n stop(): void {\r\n this.active = false;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { forkJoin } from 'rxjs';\r\nimport { tap } from 'rxjs/operators';\r\nimport { MasterdataService } from '../../services/APIs/MasterData/masterdata.service';\r\nimport { PreferencesService } from '../../services/APIs/Preferences/preferences.service';\r\nimport { DataContextService } from '../../services/datacontext.service';\r\nimport { PreferencesConfigService } from '../../services/preferences/preferences-config.service';\r\nimport { PreferencesCurrentViewService } from '../../services/preferences/preferences-current-view';\r\n\r\n@Component({\r\n selector: 'app-layout',\r\n templateUrl: './layout.component.html',\r\n styleUrls: ['./layout.component.less'],\r\n providers: [PreferencesService]\r\n})\r\nexport class LayoutComponent implements OnInit {\r\n \r\n constructor(private masterDataService: MasterdataService,\r\n private _hotelingDataService: DataContextService,\r\n private preferenceService: PreferencesService,\r\n private preferencesConfigService: PreferencesConfigService,\r\n private preferencesCurrentViewService: PreferencesCurrentViewService) {\r\n preferenceService.languageChanged$.subscribe(value => {\r\n if (value) {\r\n this.getMasterData();\r\n this.preferenceService.languageChanged$.next(false);\r\n } \r\n })\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getMasterData();\r\n }\r\n private getMasterData() {\r\n //Phase -1 - Removed preferred language call\r\n forkJoin([\r\n this.masterDataService.getMasterData(),\r\n this.preferencesConfigService.getConfig(),\r\n ])\r\n .subscribe(res => {\r\n DataContextService.TimeZones = res[0].TimeZones;\r\n // DataContextService.VirtualBookingTechnologyAccounts = res[0].VirtualBookingTechnologyAccounts;\r\n // DataContextService.VirtualBookingAdditionalDetails = res[0].VirtualBookingAdditionalDetails;\r\n DataContextService.TaskTypes = res[0].TaskTypes;\r\n DataContextService.ServiceOrderTypes = res[0].ServiceOrderTypes;\r\n // DataContextService.Neighborhoods = res[0].Neighborhoods;\r\n DataContextService.Series = res[0].Series;\r\n DataContextService.TaskStatus = res[0].TaskStatuses;\r\n DataContextService.CateringStatus = res[0].CateringStatuses;\r\n DataContextService.WaitlistStatus = res[0].WaitlistStatuses;\r\n DataContextService.BookingStatus = res[0].BookingStatus;\r\n DataContextService.ReservationStatus = res[0].ReservationStatus;\r\n // DataContextService.VirtualBookingStatus = res[0].VirtualBookingStatus;\r\n DataContextService.SpaceFeatures = res[0].SpaceFeatures;\r\n DataContextService.EventTypes = res[0].EventTypes;\r\n DataContextService.SpaceSetupTypes = res[0].SpaceSetupTypes;\r\n DataContextService.Configurations = res[0].Configurations;\r\n this.mapConfigurationSettings(res[0].Configurations);\r\n DataContextService.MeetingWaitlistRequestTypes = res[0].MeetingWaitListRequestTypes;\r\n DataContextService.MeetingWaitlistStatus = res[0].MeetingWaitListStatuses;\r\n // DataContextService.AttachmentFileExtensions = res[0].AttachmentFileExtensions;\r\n // DataContextService.AttachmentFileTypes = res[0].AttachmentFIleTypes;\r\n DataContextService.StatusReasons = res[0].StatusReasons;\r\n DataContextService.SpaceSubTypes = res[0].SpaceSubTypes;\r\n DataContextService.Amenities = res[0].Amenities;\r\n DataContextService.JobTitles = res[0].JobTitles;\r\n DataContextService.MealOptions = res[0].MealOptions;\r\n DataContextService.MemberFirmConfigurations = res[0].MemberFirmConfigurations;\r\n DataContextService.Buildings = res[0].Buildings;\r\n DataContextService.SpaceTypes = res[0].SpaceTypes;\r\n this.preferencesCurrentViewService.setupCurrentView();\r\n this._hotelingDataService.masterDadaLoaded$.next(true);\r\n });\r\n };\r\n\r\n mapConfigurationSettings(res) {\r\n DataContextService.CateringOrder_Type = this.checkIfPropertyExist(res,'CateringOrderType') ? JSON.parse(res.find((item) => item.name == 'CateringOrderType').value) : null;\r\n DataContextService.ServiceOrderFilter_arr = this.checkIfPropertyExist(res,'ServiceOrderTypes') ? JSON.parse(res.find((item) => item.name == 'ServiceOrderTypes').value) : null;\r\n DataContextService.VirtualBookingTechnologyTypes = this.checkIfPropertyExist(res,'VirtualBookingTechnologies') ? JSON.parse(res.find((item) => item.name == 'VirtualBookingTechnologies').value) : null;\r\n}\r\n checkIfPropertyExist(data , propertyName): boolean {\r\n if (data.find(item => item.name == propertyName))\r\n return true;\r\n else\r\n return false;\r\n }\r\n getPreferredLanguage() {\r\n return this._hotelingDataService.getData('Language/PreferedLanguage', false).pipe(\r\n tap((res) => {\r\n if (res.status == 200 && res.data) {\r\n this._hotelingDataService.setDefaultLanguage(res.data.locale);\r\n this._hotelingDataService.languageId = res.data.id;\r\n this._hotelingDataService.languageCode = JSON.stringify(res.data.code);\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 { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { MsalGuard } from '@azure/msal-angular';\r\nimport { RoutesConfig } from './configs/routes.config';\r\nimport { AuthGuard } from './guards/auth.guard';\r\nimport {MasterDataResolver} from './common/master-data.resolver';\r\nimport { CateringRequestComponent } from './pages/catering/component/catering-request/catering-request.component';\r\nimport { CateringDetailsComponent } from './pages/catering/component/catering-details/catering-details.component';\r\nimport { AccessDeniedComponent } from './common/access-denied/access-denied.component';\r\n\r\nconst routes: Routes = [{\r\n path: '',\r\n redirectTo: RoutesConfig.pages.findSpace,\r\n pathMatch: 'full'\r\n}, {\r\n path: RoutesConfig.pages.findSpace,\r\n loadChildren: () => import('./pages/find-a-space/find-a-space.module').then(m => m.FindASpaceModule),\r\n // canActivate: [AuthGuard]\r\n}, {\r\n path: RoutesConfig.pages.bookings,\r\n loadChildren: () => import('./pages/bookings/bookings.module').then(m => m.BookingsModule),\r\n/* canActivate: [MsalGuard, AuthGuard]*/\r\n}, {\r\n path: RoutesConfig.pages.calendar,\r\n loadChildren: () => import('./pages/calendar/calendar.module').then(m => m.CalendarModule),\r\n // canActivate: [MsalGuard, AuthGuard]\r\n canActivate: [MasterDataResolver]\r\n}, {\r\n path: RoutesConfig.pages.meetings,\r\n loadChildren: () => import('./pages/meetings/meetings.module').then(m => m.MeetingsModule),\r\n // canActivate: [MsalGuard, AuthGuard]\r\n}, {\r\n path: RoutesConfig.pages.serviceOrders,\r\n loadChildren: () => import('./pages/service-orders/service-orders.module').then(m => m.ServiceOrdersModule),\r\n // canActivate: [MsalGuard, AuthGuard]\r\n},\r\n{\r\n path: RoutesConfig.pages.preferences,\r\n loadChildren: () => import('./pages/preferences/preferences.module').then(m => m.PreferencesModule),\r\n // canActivate: [MsalGuard, AuthGuard]\r\n },\r\n {\r\n path: 'AccessDenied',\r\n component: AccessDeniedComponent\r\n },\r\n // Wildcard route for any invalid url\r\n {\r\n path: '**',\r\n loadChildren: () => import('./pages/find-a-space/find-a-space.module').then(m => m.FindASpaceModule),\r\n // canActivate: [AuthGuard]\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule {\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ToasterService {\r\n\r\n private status = new BehaviorSubject(null);\r\n status$ = this.status.asObservable();\r\n\r\n constructor() { }\r\n\r\n show(input: ToastModel) {\r\n this.status.next(input)\r\n }\r\n\r\n closeToaster() {\r\n this.status.next(null);\r\n }\r\n}\r\n\r\nexport interface ToastModel {\r\n message: string;\r\n type: ToasterType\r\n}\r\n\r\nexport enum ToasterType {\r\n success,\r\n warning,\r\n error\r\n}\r\n","import { ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Optional, Output, Self, ViewChild } from '@angular/core';\r\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\r\nimport { DataContextService } from '../../../services/datacontext.service';\r\nimport { SelectItemComponent } from './select-item/select-item.component';\r\nexport enum ErrorState {\r\n default = \"default\",\r\n focusOut = \"focusOut\"\r\n}\r\n@Component({\r\n selector: 'app-select',\r\n templateUrl: './select.component.html',\r\n styleUrls: ['./select.component.less']\r\n})\r\nexport class SelectComponent implements OnInit, ControlValueAccessor {\r\n @Input() customClass: string;\r\n @Input() label: string;\r\n @Input() placeholder: string;\r\n @Input() isDisabled: boolean;\r\n @Input() value: any; \r\n @Input() isRequired: boolean;\r\n @Input() isError:boolean= false;\r\n @Input() errorState: ErrorState = ErrorState.default;\r\n @Input() errorMessage: string;\r\n @Input() showStatus:boolean = false;\r\n @Input() customSelected:boolean = false;\r\n @Input() isButton:boolean = false;\r\n @Output() valueChanged: EventEmitter = new EventEmitter();\r\n @Input() isContextMenu: boolean =false;\r\n @Output() previousItem:EventEmitter = new EventEmitter();\r\n\r\n // Popup properties.\r\n heading:string;\r\n opened: boolean = false;\r\n \r\n onChange = (value: any) => {};\r\n onTouched = () => {};\r\n touched = false;\r\n\r\n \r\n\r\n get invalid(): boolean {\r\n if (!!this.ngControl) {\r\n return this.isError;\r\n }\r\n\r\n return this.ngControl ? this.ngControl.invalid : false;\r\n }\r\n\r\n get showError(): boolean {\r\n switch (this.errorState) {\r\n case ErrorState.default: {\r\n return this.invalid;\r\n }\r\n case ErrorState.focusOut: {\r\n if (!this.ngControl) {\r\n return false;\r\n }\r\n const { dirty, touched } = this.ngControl;\r\n return this.invalid ? dirty || touched : false;\r\n }\r\n }\r\n }\r\n\r\n get _value(): string {\r\n return this.value;\r\n }\r\n\r\n set _value(v: string) {\r\n if (v !== this.value) {\r\n this.value = v;\r\n this.change(this.value);\r\n }\r\n }\r\n\r\n constructor(@Self() @Optional() public ngControl: NgControl,\r\n private changeDetectorRef: ChangeDetectorRef,\r\n private dataContextService: DataContextService) {\r\n this.ngControl && (this.ngControl.valueAccessor = this);\r\n }\r\n\r\n ngOnInit() {\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n \r\n change(value: string): void {\r\n this.value = value;\r\n this.onChange(value);\r\n }\r\n\r\n writeValue(value): void {\r\n if (!value) {\r\n this.placeholder = this.dataContextService.translateText('Translation.Select');\r\n }\r\n this.value = value;\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n addSelectItem(value,heading,shortName){\r\n if(this.value == value){\r\n this.placeholder =shortName ? shortName : heading\r\n this.change(value)\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n }\r\n \r\n changeItem(value,heading,shortName){\r\n this.previousItem.emit(this.value)\r\n this.value = value;\r\n this.placeholder =shortName ? shortName : heading;\r\n this.onChange(value)\r\n this.onTouched();\r\n this.valueChanged.emit(this.value);\r\n }\r\n registerOnChange(onChange: any): void {\r\n this.onChange = onChange;\r\n }\r\n toggleDropDown(event: MouseEvent): void {\r\n if (!this.isDisabled) {\r\n event.stopPropagation();\r\n this.opened = !this.opened;\r\n }\r\n }\r\n registerOnTouched(onTouched: any): void {\r\n this.onTouched = onTouched;\r\n }\r\n\r\n \r\n\r\n setDisabledState(disabled: boolean): void {\r\n this.isDisabled = disabled;\r\n }\r\n close(): void {\r\n if (this.opened) {\r\n if (!this.touched) {\r\n this.onTouched();\r\n this.touched = true;\r\n }\r\n this.opened = false;\r\n }\r\n }\r\n \r\n}\r\n","\r\n
\r\n \r\n
\r\n
\r\n {{ placeholder}}\r\n {{label}}\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
{{errorMessage}}
\r\n ","import { BaseComponent } from '../../../common/base-component/base-component';\r\nimport { ModalService } from '../../../services/modal.service';\r\n\r\nexport abstract class ModalComponent extends BaseComponent {\r\n constructor(protected modalService: ModalService) {\r\n super();\r\n }\r\n\r\n close(data?: any): void {\r\n this.modalService.close(data);\r\n }\r\n\r\n cancel(): void {\r\n this.modalService.cancel();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ButtonComponent } from './button.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [ButtonComponent],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports:[ButtonComponent]\r\n})\r\nexport class ButtonModule { }\r\n","import { PreferencesConfigService } from './preferences-config.service';\r\nimport { BehaviorSubject, Observable, of, ReplaySubject } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport { AllViewItem, PreferenceDetails, PreferencesViewData, ViewDetail } from './models/preferences.model';\r\nimport { APIResponse, DataContextService } from '../datacontext.service';\r\nimport { map, switchMap } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { RoutesConfig } from '../../configs/routes.config';\r\n\r\nexport enum PreferencesStorageKeys {\r\n SelectedView = 'SelectedView',\r\n FavoriteView = 'FavoriteView',\r\n SelectedViewId='SelectedViewId'\r\n}\r\n\r\n@Injectable()\r\nexport class PreferencesCurrentViewService {\r\n currentView$: ReplaySubject = new ReplaySubject(1);\r\n viewChanged$: BehaviorSubject = new BehaviorSubject(false);\r\n\r\n constructor(private preferencesConfigService: PreferencesConfigService, private dataContextService: DataContextService, private router: Router) { }\r\n\r\n // @todo: can't get actual value without cleaning local storage\r\n setupCurrentView(): void {\r\n const selectedView = JSON.parse(this.dataContextService.fetchFromLocalStorage(PreferencesStorageKeys.SelectedViewId));\r\n if (selectedView) {\r\n this.getCurrentView(selectedView.selectedViewId).subscribe((res: PreferenceDetails) => this.currentView$.next(this.preferencesConfigService.parseViewDetails(res)));\r\n }\r\n else {\r\n this.getFavoriteView().subscribe((res: PreferenceDetails) => {\r\n DataContextService.ROWS_PER_PAGE = res.recordsPerPage;\r\n this.currentView$.next(this.preferencesConfigService.parseViewDetails(res))\r\n });\r\n }\r\n }\r\n private getFavoriteView(): Observable {\r\n return this.dataContextService\r\n .getData('Views/favourite')\r\n .pipe(\r\n map((response: { data: PreferenceDetails }) => {\r\n const data = response.data;\r\n const convertedAllViews: AllViewItem[] =\r\n data.allViews && data.allViews.length > 0\r\n ? data.allViews.map((allViewItemDTO) => {\r\n return {\r\n id: allViewItemDTO.id,\r\n name: allViewItemDTO.name,\r\n isActive: allViewItemDTO.isActive,\r\n isFavourite: allViewItemDTO.isFavourite,\r\n };\r\n })\r\n : [{\r\n id: data.id,\r\n name: data.name,\r\n isActive: data.isActive,\r\n isFavourite: data.isFavourite\r\n }];\r\n\r\n const viewDetailDTO = new Array();\r\n data.viewDetails.map((field) => {\r\n viewDetailDTO.push(field);\r\n });\r\n\r\n const favoriteView: PreferenceDetails = {\r\n allViews: convertedAllViews,\r\n assignedToMe: data.assignedToMe,\r\n buildings: data.buildings != null ? data.buildings : '',\r\n // countries: data.countries,\r\n floors: data.floors,\r\n id: data.id,\r\n isActive: data.isActive,\r\n isFavourite: data.isFavourite,\r\n name: data.name,\r\n recordsPerPage: data.recordsPerPage,\r\n revision: data.revision,\r\n viewDetails: viewDetailDTO,\r\n };\r\n\r\n return favoriteView;\r\n })\r\n )\r\n }\r\n private getCurrentView(id: string): Observable {\r\n return this.dataContextService\r\n .getData('Views/' + id, true, false, true)\r\n .pipe(\r\n switchMap((response: APIResponse) => {\r\n if (response.status === 404) {\r\n this.dataContextService.removeFromLocalStorage(PreferencesStorageKeys.SelectedViewId);\r\n return this.dataContextService.getData(`Views/favourite`);\r\n }\r\n else\r\n return of(response);\r\n }),\r\n map((response: { data: PreferenceDetails }) => {\r\n const data = response.data;\r\n const convertedAllViews: AllViewItem[] =\r\n data.allViews && data.allViews.length > 0\r\n ? data.allViews.map((allViewItemDTO) => {\r\n return {\r\n id: allViewItemDTO.id,\r\n name: allViewItemDTO.name,\r\n isActive: allViewItemDTO.isActive,\r\n isFavourite: allViewItemDTO.isFavourite,\r\n };\r\n })\r\n : [{\r\n id: data.id,\r\n name: data.name,\r\n isActive: data.isActive,\r\n isFavourite: data.isFavourite\r\n }];\r\n\r\n const viewDetailDTO = new Array();\r\n data.viewDetails.map((field) => {\r\n viewDetailDTO.push(field);\r\n });\r\n\r\n const favoriteView: PreferenceDetails = {\r\n allViews: convertedAllViews,\r\n assignedToMe: data.assignedToMe,\r\n buildings: data.buildings != null ? data.buildings : '',\r\n // countries: data.countries,\r\n floors: data.floors,\r\n id: data.id,\r\n isActive: data.isActive,\r\n isFavourite: data.isFavourite,\r\n name: data.name,\r\n recordsPerPage: data.recordsPerPage,\r\n revision: data.revision,\r\n viewDetails: viewDetailDTO,\r\n };\r\n\r\n return favoriteView;\r\n })\r\n )\r\n }\r\n\r\n}\r\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'thead[appTableHeader]',\r\n templateUrl: './data-table-header.component.html',\r\n styleUrls: ['./data-table-header.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class DataTableHeaderComponent implements OnInit {\r\n @HostBinding('class.data-table__header') class = true;\r\n @HostBinding('class.data-table__header--scrolled') isScrolled = false;\r\n\r\n @Input() set scrolled(val: boolean) {\r\n this.isScrolled = val;\r\n }\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","\r\n","import { User } from \"./dashboard-common.model\";\r\nimport { MemberFirm } from \"./masterdata.model\";\r\n\r\nexport interface UserByEmail {\r\n email: string;\r\n user: UserDetail;\r\n}\r\nexport interface UserDetail extends User{\r\n homeBuildingId: number;\r\n homeBuildingName: string;\r\n title: string;\r\n shortTitle: string;\r\n area: string;\r\n fss: string;\r\n hasConciergeRights: boolean;\r\n isNonPeopleProfile: boolean;\r\n isMemberFirmAccount: boolean;\r\n memberFirm: MemberFirm;\r\n}\r\nexport interface UserNotificationResponse {\r\n id: number;\r\n message: string;\r\n expiryDateUtc: string;\r\n extraData: string;\r\n createDate: string;\r\n data: UserNotificationExtraData;\r\n}\r\nexport interface UserNotificationExtraData {\r\n name: string;\r\n navigationLinkCategory: string;\r\n $discriminator?: string;\r\n teamName: string;\r\n teamRequestId: string;\r\n reservationRequestedCount?: number;\r\n reservationCreatedCount?: number;\r\n issueCount?: number;\r\n}\r\nexport enum UserNotificationType {\r\n TeamRequestInProgress ='TeamRequestInProgress',\r\n TeamRequestCompleted ='TeamRequestCompleted'\r\n}\r\nexport class InactiveOwner {\r\n FirstName: string;\r\n LastName: string; \r\n}","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\nimport { APP_CONFIG } from './app/configs/app-configuration';\r\nimport { AppModule } from './app/app.module';\r\nimport {\r\n APP_SETTINGS,\r\n ERROR_MESSAGES,\r\n SPACE_FEATURES_ICON,\r\n SPACE_TYPE_ICON\r\n} from './app/services/user-settings.service';\r\nimport { environment } from './environments/environment';\r\n\r\n\r\nconst configLoadedEventName = 'm4m-config-loaded'; // event to describe when app config retched & ready to use\r\nconst mainTsLoadedEventName = 'm4m-mainTs-loaded'; // event to describe when main.ts file is loaded & ready to use\r\nconst angularLoadedEventName = 'm4m-angular-loaded'; // event to describe when angular is loaded & ready to use\r\nconst mainTsLoadedEvent = new Event(mainTsLoadedEventName);\r\nconst angularLoadedEvent = new Event(angularLoadedEventName);\r\n\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n window.console.log = function () { };\r\n}\r\n\r\n// 1. Dispatch event that file is ready\r\nwindow.document.dispatchEvent(mainTsLoadedEvent);\r\n\r\n\r\n// 2. Listen config event & run angular\r\nPromise.all([getLocalAppConfig(), getAuthConfig()]).then(([appConfig, authResponseConfig]) => {\r\n const {appSettings, errorMessages, spaceFeaturesIcons, setupTypeIcon} = appConfig;\r\n console.log({appConfig, authResponseConfig})\r\n\r\n const authConfig = {\r\n ...authResponseConfig,\r\n redirectUri: window.location.origin,\r\n showDebugInformation: true,\r\n strictDiscoveryDocumentValidation: false,\r\n }\r\n const appSettings2 ={\r\n ...appSettings,\r\n HotelingCloudApiUrl: 'https://dmgtxproxy.deloitte.com' + '/concierge/api/'\r\n }\r\n\r\n console.log('!!!!!!!!!! APP Was Running !!!!!!!!')\r\n\r\n return platformBrowserDynamic([\r\n { provide: APP_CONFIG, useValue: authConfig },\r\n { provide: APP_SETTINGS, useValue: appSettings2 },\r\n { provide: ERROR_MESSAGES, useValue: errorMessages },\r\n { provide: SPACE_FEATURES_ICON, useValue: spaceFeaturesIcons },\r\n { provide: SPACE_TYPE_ICON, useValue: setupTypeIcon },\r\n ])\r\n .bootstrapModule(AppModule)\r\n\r\n})\r\n // 3. Dispatch event that angular is ready\r\n .then(()=>window.document.dispatchEvent(angularLoadedEvent))\r\n .catch((err) => console.error(err));\r\n\r\nfunction getLocalAppConfig():Promise{\r\n return fetchByUrl('/assets/config.json')\r\n}\r\n\r\nfunction getAuthConfig():Promise{\r\n return new Promise((resolve) => {\r\n window.document.addEventListener(configLoadedEventName, (event) => {\r\n console.log(configLoadedEventName, ' !!!! ', event)\r\n\r\n // @ts-ignore\r\n const config = event?.detail ?? {};\r\n resolve(Object.keys(config).length ? config : { });\r\n\r\n });\r\n });\r\n}\r\n\r\nfunction fetchByUrl(url, options = undefined) {\r\n return fetch(url, options)\r\n .then((response) => response.json())\r\n .catch(() => null);\r\n}\r\n","import { Observable } from 'rxjs';\r\nimport {\r\n GroupMultiselectItem,\r\n SelectedGroupMultiselectItem,\r\n} from '../shared/components/group-multiselect-dropdown/group-multiselect-dropdown.component';\r\nimport { MultiSelectItem } from '../shared/components/multi-select/multi-select.component';\r\n\r\n//Enum Start region\r\nexport enum ServiceOrderStatus {\r\n None = 'None',\r\n Requested = 'Requested',\r\n Ordered = 'Ordered',\r\n Received = 'Received',\r\n Delivered = 'Delivered',\r\n Completed = 'Completed',\r\n Pending = 'Pending',\r\n Review = 'Review',\r\n}\r\n\r\nexport enum Controls {\r\n Name = 'name',\r\n Country = 'country',\r\n Building = 'building',\r\n Floors = 'floors',\r\n FindASpaceTab = 'findASpaceTab',\r\n MeetingsTab = 'meetingsTab',\r\n BookingsTab = 'bookingsTab',\r\n ServiceOrdersTab = 'serviceOrdersTab',\r\n CalendarTab = 'calendarTab',\r\n IsActive = 'isActive',\r\n IsFavourite = 'isFavourite',\r\n}\r\nexport enum FindASpaceTabControls {\r\n SpaceFeatures = 'spaceFeatures',\r\n Category = 'category',\r\n Type = 'type',\r\n Capacity = 'capacity',\r\n}\r\nexport enum MeetingsTabControls {\r\n DashboardRequestType = 'dashboardRequestType',\r\n DashboardStatus = 'dashboardStatus',\r\n DashboardMeetingType = 'dashboardMeetingType',\r\n MeetingRequestType = 'meetingRequestType',\r\n MeetingStatus = 'meetingStatus',\r\n VirtualMeetingStatus = 'virtualMeetingStatus',\r\n UnfulfilledSpaceType = 'unfulfilledSpaceType',\r\n}\r\n\r\nexport enum BookingsTabControls {\r\n ServiceOrders = 'serviceOrders',\r\n SpaceType = 'spaceType',\r\n MeetingType = 'meetingType',\r\n DashboardStatus = 'dashboardStatus',\r\n WaitListStatus = 'waitListStatus',\r\n}\r\nexport enum ServiceOrdersTabControls {\r\n Type = 'type',\r\n ServiceOrder = 'serviceOrder',\r\n Status = 'status',\r\n VirtualServiceOrders = 'virtualServiceOrders',\r\n VirtualStatus = 'virtualStatus',\r\n InOfficeIncludeDelete = 'inOfficeIncludeDelete',\r\n VirtualIncludeDelete = 'virtualIncludeDelete',\r\n}\r\nexport enum CalendarTabControls {\r\n RoomType = 'roomType',\r\n Capacity = 'capacity',\r\n SpaceFeatures = 'spaceFeatures',\r\n}\r\n\r\nexport enum ServiceOrderCategory {\r\n Catering = 'catering',\r\n TaskType = 'TaskType',\r\n}\r\n\r\nexport enum MeetingDashboardStatus {\r\n Requested = 'Requested',\r\n Tentative = 'Tentative',\r\n Pipeline = 'Pipeline',\r\n Definite = 'Definite',\r\n Cancelled = 'Cancelled',\r\n DidNotMaterialize = 'Did Not Materialize',\r\n NewRequest = 'New Request',\r\n}\r\nexport enum LocalStorageKey {\r\n FavoriteView = 'FavoriteView',\r\n SelectedView = 'SelectedView',\r\n}\r\nexport enum QueryParams {\r\n SelectedViewId = 'viewId',\r\n}\r\n\r\nexport enum PreferencesTabContent {\r\n FindASpace = 'findASpaceTab',\r\n Calendar = 'calendarTab',\r\n Meetings = 'meetingsTab',\r\n Bookings = 'bookingsTab',\r\n ServiceOrders = 'serviceOrdersTab',\r\n}\r\nexport enum ReservationClassification {\r\n SingleOffice,\r\n Virtual,\r\n Hybrid,\r\n}\r\n// Enum End Region\r\n\r\n// Constants Start Region\r\n\r\nexport const PREFERENCES_TABS: NgxTab[] = [\r\n {\r\n title: 'Translation.Fas',\r\n content: PreferencesTabContent.FindASpace,\r\n },\r\n {\r\n title: 'Translation.Calendar',\r\n content: PreferencesTabContent.Calendar,\r\n },\r\n {\r\n title: 'Translation.Meetings',\r\n content: PreferencesTabContent.Meetings,\r\n },\r\n {\r\n title: 'Translation.Bookings',\r\n content: PreferencesTabContent.Bookings,\r\n },\r\n {\r\n title: 'Translation.Serviceorders',\r\n content: PreferencesTabContent.ServiceOrders,\r\n },\r\n];\r\nexport const TAB_NAME_ADAPTER = {\r\n FAS: Controls.FindASpaceTab,\r\n Calendar: Controls.CalendarTab,\r\n Meetings: Controls.MeetingsTab,\r\n Bookings: Controls.BookingsTab,\r\n 'Service orders': Controls.ServiceOrdersTab,\r\n};\r\n\r\nexport const FIELD_PROPERTY_ADAPTER = {\r\n FAS: {\r\n 'Space features': FindASpaceTabControls.SpaceFeatures,\r\n 'Space type': FindASpaceTabControls.Type,\r\n Capacity: FindASpaceTabControls.Capacity,\r\n },\r\n Calendar: {\r\n 'Space features': CalendarTabControls.SpaceFeatures,\r\n 'Space type': CalendarTabControls.RoomType,\r\n Capacity: CalendarTabControls.Capacity,\r\n },\r\n Meetings: {\r\n 'Meetings Dashboard': {\r\n 'Meeting request type': MeetingsTabControls.DashboardRequestType,\r\n Status: MeetingsTabControls.DashboardStatus,\r\n 'Meeting type': MeetingsTabControls.DashboardMeetingType,\r\n },\r\n 'In-office meeting Requests': {\r\n 'Request type': MeetingsTabControls.MeetingRequestType,\r\n Status: MeetingsTabControls.MeetingStatus,\r\n },\r\n 'Virtual meeting Requests': {\r\n Status: MeetingsTabControls.VirtualMeetingStatus,\r\n },\r\n 'Unfulfilled team requests': {\r\n 'Space type': MeetingsTabControls.UnfulfilledSpaceType,\r\n },\r\n },\r\n Bookings: {\r\n 'All bookings': {\r\n 'Service orders': BookingsTabControls.ServiceOrders,\r\n 'Space type': BookingsTabControls.SpaceType,\r\n 'Meeting type': BookingsTabControls.MeetingType,\r\n Status: BookingsTabControls.DashboardStatus,\r\n },\r\n Waitlist: {\r\n Status: BookingsTabControls.WaitListStatus,\r\n },\r\n },\r\n 'Service orders': {\r\n 'In-office': {\r\n Type: ServiceOrdersTabControls.Type,\r\n 'Service orders': ServiceOrdersTabControls.ServiceOrder,\r\n Status: ServiceOrdersTabControls.Status,\r\n 'Include Deleted': ServiceOrdersTabControls.InOfficeIncludeDelete,\r\n },\r\n Virtual: {\r\n 'Service orders': ServiceOrdersTabControls.VirtualServiceOrders,\r\n Status: ServiceOrdersTabControls.VirtualStatus,\r\n 'Include Deleted': ServiceOrdersTabControls.VirtualIncludeDelete,\r\n },\r\n },\r\n};\r\n\r\nexport const MASTER_VIEW_ID = '1';\r\nexport const ALL_SELECTED = [{ value: 'All', name: 'All', all: true }];\r\nexport const ALL_SELECTED_ServiceOrders = [{ id: 0, label: 'All' }];\r\nexport const ALL_SELECTED_Value = [-1];\r\n\r\nexport const BOOKING_RESERVATION_STATUS = [\r\n {\r\n value: 'AwaitingCheckIn',\r\n name: '',\r\n },\r\n {\r\n value: 'CheckedIn',\r\n name: '',\r\n },\r\n {\r\n value: 'Reserved',\r\n name: '',\r\n },\r\n {\r\n value: 'PendingApproval',\r\n name: '',\r\n },\r\n];\r\n\r\nexport const MEETING_DASHBOARD_STATUS = [{ value: MeetingDashboardStatus.Definite, name: '' }];\r\n\r\nexport const WAITLIST_STATUS = [{ value: 'Active', name: '' }];\r\nexport const CAPACITY_VALUE = 1;\r\nexport const FIND_A_SPACE_CATEGORY = 'Individual';\r\n\r\nexport const SERVICE_ORDER_STATUS = [\r\n { value: ServiceOrderStatus.Requested, name: '' },\r\n { value: 'Empty', name: '' },\r\n];\r\nexport const SERVICE_ORDER_VIRTUAL_STATUS = [{ value: ServiceOrderStatus.Requested, name: '' }];\r\nexport const RECORDS_PER_PAGE = 40;\r\nexport const MEETING_REQUESTED_TYPE = [{ name: '', value: ServiceOrderStatus.Requested }];\r\nexport const ClassificationTypeMultiLingual = new Map([\r\n [ReservationClassification[ReservationClassification.SingleOffice], 'Translation.SingleOffice'],\r\n //Phase 1- Virtual option is not required\r\n // [ReservationClassification[ReservationClassification.Virtual], 'Translation.Virtual'],\r\n [ReservationClassification[ReservationClassification.Hybrid], 'Translation.Hybrid']\r\n]);\r\n// Constants End Region\r\n\r\n// Interface Start Region\r\nexport interface ServiceOrderDTO {\r\n id: number;\r\n shortDescription: string;\r\n serviceOrderCategory: ServiceOrderCategory;\r\n}\r\nexport interface NgxTab {\r\n title: string;\r\n content: string;\r\n}\r\nexport interface PreferencesTabConfigDTO {\r\n id: number;\r\n name: string;\r\n tabFields: PreferencesTabFieldDTO[];\r\n subTabs: PreferencesSubTabFieldDTO[];\r\n}\r\n\r\nexport interface PreferencesTabFieldDTO {\r\n id: number;\r\n name: string;\r\n}\r\n\r\nexport interface PreferencesSubTabFieldDTO {\r\n name: string;\r\n tabFields: PreferencesTabFieldDTO[];\r\n includeDelete?: boolean;\r\n}\r\nexport interface ReservationStatus {\r\n DisplayOrder: number;\r\n EMSStatusID: number;\r\n Value: string;\r\n IsActiveStatus: boolean;\r\n}\r\n\r\nexport interface PreferencesControlsConfig {\r\n findASpaceTab?: Partial<{ [key in FindASpaceTabControls] }>;\r\n calendarTab?: Partial<{ [key in CalendarTabControls] }>;\r\n meetingsTab?: Partial<{ [key in MeetingsTabControls] }>;\r\n bookingsTab?: Partial<{ [key in BookingsTabControls] }>;\r\n serviceOrdersTab?: Partial<{ [key in ServiceOrdersTabControls] }>;\r\n}\r\n\r\nexport interface SelectOption {\r\n name: string;\r\n value: any;\r\n all?: boolean;\r\n disabled?: boolean;\r\n groupText?: string;\r\n items?: Omit[];\r\n icon?: string;\r\n}\r\n\r\nexport interface MultiSelectExtendOption {\r\n disabled?: boolean;\r\n items?: Omit[];\r\n}\r\n\r\nexport interface PreferenceBody {\r\n id?: string;\r\n isFavourite: boolean;\r\n isActive: boolean;\r\n name: string;\r\n // countries: string;\r\n buildings: string;\r\n floors: string;\r\n recordsPerPage: string;\r\n assignedToMe: boolean;\r\n revision?: number;\r\n tabFields: { tabFieldId: number; value: string }[];\r\n}\r\n\r\nexport interface PreferenceDetails {\r\n id: string;\r\n isFavourite: boolean;\r\n isActive: boolean;\r\n name: string;\r\n // countries: string;\r\n buildings: string;\r\n floors: string;\r\n recordsPerPage: number;\r\n assignedToMe: boolean;\r\n viewDetails: ViewDetail[];\r\n revision: number;\r\n allViews: AllViewItem[];\r\n}\r\n\r\nexport interface ViewDetail {\r\n tabFieldId: number;\r\n value: string;\r\n}\r\n\r\nexport interface AllViewItem {\r\n id: string;\r\n name: string;\r\n isActive: boolean;\r\n isFavourite: boolean;\r\n isNew?: boolean;\r\n}\r\n\r\nexport interface CanComponentDeactivate {\r\n canDeactivate: () => Observable | Promise | boolean;\r\n}\r\n\r\nexport interface PreferenceBody {\r\n id?: string;\r\n isFavourite: boolean;\r\n isActive: boolean;\r\n name: string;\r\n //countries: string;\r\n buildings: string;\r\n floors: string;\r\n recordsPerPage: string;\r\n assignedToMe: boolean;\r\n revision?: number;\r\n tabFields: { tabFieldId: number; value: string }[];\r\n}\r\n\r\nexport interface AllViewItem {\r\n id: string;\r\n name: string;\r\n isActive: boolean;\r\n isFavourite: boolean;\r\n isNew?: boolean;\r\n}\r\nexport interface ViewDetail {\r\n tabFieldId: number;\r\n value: string;\r\n}\r\nexport interface Country {\r\n id: number;\r\n name: string;\r\n code: number;\r\n}\r\nexport interface PreferenceViewRequest {\r\n userId: number;\r\n viewId: string;\r\n}\r\n\r\nexport interface UserViewsRequest {\r\n userId: number;\r\n}\r\n\r\n//DTO Region STart\r\nexport interface PreferenceViewDetailsDTO {\r\n viewId: string;\r\n viewName: string;\r\n isFavourite: boolean;\r\n isActive: boolean;\r\n country: number[];\r\n buildingDetails: PreferencesBuildingDetailsDTO[];\r\n floorDetails: PreferencesFloorsDTO[];\r\n fasFilters: PreferencesFindASpaceDTO;\r\n calendar: PreferencesCalendarDTO;\r\n Meetingdashboard: PreferencesMeetingDashboardDTO;\r\n Bookingdashboard: PreferencesMeetingDashboardDTO;\r\n ServiceOrder: PreferencesServiceOrderDTO;\r\n}\r\n\r\nexport interface PreferencesBuildingDetailsDTO {\r\n BuildingId: number;\r\n BuildingName: string;\r\n}\r\n\r\n// tslint:disable-next-line:no-empty-interface\r\nexport interface PreferencesFloorsDTO {}\r\n\r\nexport interface PreferencesFindASpaceDTO {\r\n Spacefeatures: number[];\r\n category: number;\r\n Type: number;\r\n Allocation: number;\r\n duration: number;\r\n Aminities: number[];\r\n otherspace: number[];\r\n}\r\n\r\nexport interface PreferencesCalendarDTO {\r\n spaceType: number;\r\n capacity: number;\r\n}\r\n\r\nexport interface PreferencesMeetingDashboardDTO {}\r\n\r\nexport interface PreferencesBookingDashboardDTO {\r\n Type: number[];\r\n MeetingType: number[];\r\n Status: number[];\r\n WaitlistStatus: number[];\r\n}\r\n\r\nexport interface PreferencesServiceOrderDTO {\r\n Type: number[];\r\n ServiceOrders: number[];\r\n Status: SelectOption[];\r\n TypeOfTechonology: number[];\r\n VirtualServiceOrders: number[];\r\n VirtualStatus: SelectOption[];\r\n}\r\n\r\n/*Preferences tiles list*/\r\n// export interface PreferencesViewsDTO {\r\n// viewId: string;\r\n// ViewName: string;\r\n// isActive: number;\r\n// isFavourite: number;\r\n// buildingDetails: PreferencesBuildingDetailsDTO;\r\n// }\r\n// export interface FavoriteViewDTO {\r\n// id: string;\r\n// isFavourite: boolean;\r\n// isActive: boolean;\r\n// name: string;\r\n// countries: string;\r\n// buildings: string;\r\n// floors: string;\r\n// recordsPerPage: number;\r\n// assignedToMe: boolean;\r\n// revision: number;\r\n// viewDetails: ViewDetailDTO[];\r\n// allViews: AllViewItemDTO[];\r\n// }\r\n\r\n// export interface ViewDetailDTO {\r\n// tabField: number;\r\n// value: string;\r\n// }\r\n\r\n// export interface AllViewItemDTO {\r\n// id: string;\r\n// name: string;\r\n// isActive: boolean;\r\n// isFavourite: boolean;\r\n// }\r\n\r\nexport interface BuildingDTO {\r\n id: number;\r\n addressShort: string;\r\n cafeteriaAvailable: boolean;\r\n cateringRequestAvailable: boolean;\r\n city: string;\r\n country: string;\r\n displayName: string;\r\n enabledInDGuest: boolean;\r\n timeZoneIanaName: string;\r\n timeZoneOffSet: number;\r\n timeZoneShortName: string;\r\n timeZoneStandardName: string;\r\n floors: FloorDTO[];\r\n}\r\n\r\nexport interface FloorDTO {\r\n uniqueKey: number;\r\n name: string;\r\n description: string;\r\n favorite: boolean;\r\n}\r\n\r\n//DTO Region End\r\n// Interface End Region\r\n\r\n// Class Start Region\r\nexport class PreferencesBookingsData {\r\n constructor(\r\n public serviceOrders: SelectOption[] = ALL_SELECTED,\r\n public spaceType: SelectOption[] = ALL_SELECTED,\r\n public meetingType: SelectOption[] = ALL_SELECTED,\r\n public status: string[] = BOOKING_RESERVATION_STATUS.map((i) => i.value),\r\n public waitListStatus: string[] = WAITLIST_STATUS.map((i) => i.value)\r\n ) {}\r\n}\r\n\r\nexport class PreferencesFindASpaceData {\r\n constructor(public spaceFeatures: Number[] = [], public capacity: number = CAPACITY_VALUE, public type = '') {}\r\n}\r\n\r\nexport class PreferencesCalendarData {\r\n constructor(public roomType: Number[] = [-1], public spaceFeatures: number[] = [], public capacity: number = CAPACITY_VALUE) {}\r\n}\r\n\r\nexport class PreferencesMeetingsData {\r\n constructor(\r\n public dashboardRequestType: SelectOption[] = ALL_SELECTED,\r\n public dashboardMeetingType: SelectOption[] = ALL_SELECTED,\r\n public dashboardStatus: string[] = MEETING_DASHBOARD_STATUS.map((i) => i.value),\r\n public inOfficeRequestType: SelectOption[] = ALL_SELECTED,\r\n public inOfficeStatus: string[] = MEETING_REQUESTED_TYPE.map((i) => i.value),\r\n public virtualMeetingRequestStatus: string[] = MEETING_REQUESTED_TYPE.map((i) => i.value),\r\n // public waitlistStatus: SelectOption[] = ALL_SELECTED,\r\n public unfulfilledTeamRequestsSpaceType: SelectOption[] = ALL_SELECTED\r\n ) {}\r\n}\r\n\r\nexport class PreferencesServiceOrdersData {\r\n constructor(\r\n public inOfficeType: SelectOption[] = ALL_SELECTED,\r\n public inOfficeServiceOrders: SelectedGroupMultiselectItem[] = ALL_SELECTED_ServiceOrders,\r\n public inOfficeStatus: string[] = SERVICE_ORDER_STATUS.map((i) => i.value),\r\n public virtualServiceOrders: SelectOption[] = ALL_SELECTED,\r\n public virtualStatus: string[] = SERVICE_ORDER_VIRTUAL_STATUS.map((i) => i.value),\r\n public inOfficeIncludeDelete: boolean = false,\r\n public virtualIncludeDelete: boolean = false\r\n ) {}\r\n}\r\n\r\nexport class PreferencesViewData {\r\n constructor(\r\n public viewId: string = '',\r\n public viewName: string = '',\r\n public isFavourite: boolean = false,\r\n public isActive: boolean = true,\r\n // public country: Number[] = [],\r\n public building: SelectOption[] = [],\r\n public floors: SelectedGroupMultiselectItem[] = [],\r\n public assignedToMe: boolean = true,\r\n public recordsPerPage: number = RECORDS_PER_PAGE,\r\n public revision: number = 0,\r\n public findASpaceTab: PreferencesFindASpaceData = new PreferencesFindASpaceData(),\r\n public calendarTab: PreferencesCalendarData = new PreferencesCalendarData(),\r\n public meetingsTab: PreferencesMeetingsData = new PreferencesMeetingsData(),\r\n public bookingsTab: PreferencesBookingsData = new PreferencesBookingsData(),\r\n public serviceOrdersTab: PreferencesServiceOrdersData = new PreferencesServiceOrdersData(),\r\n public allViews: AllViewItem[] = []\r\n ) {}\r\n}\r\n\r\n// Class End Region\r\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"zn8P\";"],"sourceRoot":"webpack:///"}