{"version":3,"sources":["./node_modules/@angular/common/locales lazy ^\\.\\/.*\\.js$ namespace object","./node_modules/moment/locale sync ^\\.\\/.*$","./src/$_lazy_route_resource lazy namespace object","./src/app/app-config.ts","./src/app/app-initializer.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/app.routing.ts","./src/app/core/app-services/app-services.module.ts","./src/app/core/app-services/app-services.ts","./src/app/core/app-services/content-services.ts","./src/app/core/app-services/course-services.ts","./src/app/core/app-services/profile-services.ts","./src/app/core/auth/app-session.service.ts","./src/app/core/auth/app-url.service.ts","./src/app/core/auth/auth-guard.service.ts","./src/app/core/auth/auth-refresh-token.service.ts","./src/app/core/auth/auth.core.module.ts","./src/app/core/auth/auth.service.ts","./src/app/core/helpers/url-helper.ts","./src/app/core/profile/score.model.ts","./src/app/core/profile/student-profile.service.ts","./src/app/shared/app-consts.ts","./src/app/shared/directives/sidebar.directive.ts","./src/app/shared/directives/sidebaranchortoggle.directive.ts","./src/app/shared/directives/sidebarlink.directive.ts","./src/app/shared/directives/sidebarlist.directive.ts","./src/app/shared/directives/sidebartoggle.directive.ts","./src/app/shared/directives/toggle-fullscreen.directive.ts","./src/app/shared/pipes/localize.pipe.ts","./src/app/shared/services/config.service.ts","./src/app/shared/services/layout.service.ts","./src/app/shared/shared.module.ts","./src/app/shared/utils/local-storage.service.ts","./src/app/shared/utils/utils.module.ts","./src/app/shell/common/footer/footer.component.ts","./src/app/shell/common/footer/footer.component.html","./src/app/shell/common/navbar/navbar.component.ts","./src/app/shell/common/navbar/navbar.component.html","./src/app/shell/common/notification-sidebar/notification-sidebar.component.ts","./src/app/shell/common/notification-sidebar/notification-sidebar.component.html","./src/app/shell/common/side-bar/side-bar.component.ts","./src/app/shell/common/side-bar/side-bar.component.html","./src/app/shell/layouts/content/content-layout.component.ts","./src/app/shell/layouts/content/content-layout.component.html","./src/app/shell/layouts/empty/empty-layout.component.ts","./src/app/shell/layouts/empty/empty-layout.component.html","./src/app/shell/layouts/full/full-layout.component.ts","./src/app/shell/layouts/full/full-layout.component.html","./src/app/shell/shell.module.ts","./src/app/shell/shell.service.ts","./src/environments/environment.ts","./src/main.ts","./src/shared/abp/app-component-base.ts","./src/shared/abp/auth/app-auth.service.ts","./src/shared/abp/auth/auth-route-guard.ts","./src/shared/abp/directives/block.directive.ts","./src/shared/abp/directives/busy.directive.ts","./src/shared/abp/directives/equal-validator.directive.ts","./src/shared/shared.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,qC;;;;;;;;;;;ACh6MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,6E;;;;;;;;;;;ACnSA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,4CAA4C,WAAW;AACvD;AACA;AACA,4E;;;;;;;;;;;;;;;;;;;;ACZ2C;AACK;AAE2B;AAC3B;;;;AAKvC,MAAM,SAAS;IAIpB,YAAoB,cAAuC,EAAU,eAA+B;QAAhF,mBAAc,GAAd,cAAc,CAAyB;QAAU,oBAAe,GAAf,eAAe,CAAgB;QAFpG,YAAO,GAAW,MAAM,CAAC;IAIzB,CAAC;IAEK,oBAAoB,CAAC,IAAY;;YACrC,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;YACnE,OAAO,MAAM,CAAC,cAAc,CAAC;QAE/B,CAAC;KAAA;IAGK,YAAY;;YAChB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAC7B,IAAI,cAAc,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,4DAAS,CAAC,OAAO,CAAC,CAAC;YACtE,IAAI,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC;YAEpC,IAAG,cAAc,IAAI,gBAAgB,EAAE;gBACnC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;aAC3C;QACL,CAAC;KAAA;IAED,kBAAkB,CAAC,UAAkB;QACnC,IAAI,OAAO,GAAG,WAAW,UAAU,mGAAmG;QACtI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;IAChE,CAAC;;kEA5BU,SAAS;4FAAT,SAAS,WAAT,SAAS,mBAFR,MAAM;6FAEP,SAAS;cAHvB,wDAAU;eAAC;gBACR,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACRH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAqD;AACkB;AACrB;AACjB;AACL;AACuB;AACgB;AACT;;;;AAMnD,MAAM,cAAc;IACzB,YACU,SAAmB,EACnB,iBAAmC,EACnC,WAAuB;QAFvB,cAAS,GAAT,SAAS,CAAU;QACnB,sBAAiB,GAAjB,iBAAiB,CAAkB;QACnC,gBAAW,GAAX,WAAW,CAAY;IAC7B,CAAC;IAEL,IAAI;QACF,OAAO,GAAG,EAAE;YACV,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC9C,gEAAS,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,EAAE,GAAG,gEAAS,CAAC,WAAW,CAAC;gBACpE,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,GAAG,EAAE;oBACzC,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE;wBAC7B,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;wBACnD,yDAAyD;wBACzD,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,gFAAiB,CAAC,CAAC;wBAChE,iBAAiB,CAAC,IAAI,EAAE,CAAC,IAAI,CAC3B,CAAC,MAAM,EAAE,EAAE;4BACT,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC;4BACnB,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE;gCAC3B,MAAM,aAAa,GAAG,IAAI,CAAC,+BAA+B,CACxD,GAAG,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CACtC,CAAC;gCACF,6FAAO,GAAyB,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CACxD,CAAC,MAAM,EAAE,EAAE;oCACT,0EAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oCACnC,OAAO,CAAC,MAAM,CAAC,CAAC;gCAClB,CAAC,EACD,MAAM,CACP,CAAC;6BACH;iCAAM;gCACL,OAAO,CAAC,MAAM,CAAC,CAAC;6BACjB;wBACH,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;4BACN,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC;4BACnB,MAAM,CAAC,GAAG,CAAC,CAAC;wBACd,CAAC,CACF,CAAC;oBACJ,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC;IAEO,WAAW;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,CAAC;QAC5D,IAAI,OAAO,EAAE;YACX,OAAO,OAAO,CAAC;SAChB;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,iBAAiB;QACvB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE;YAC7B,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACxE,OAAO,CACL,QAAQ,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CACtE,CAAC;SACH;QAED,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;IAClC,CAAC;IAEO,gBAAgB;QACtB,OAAO,CACL,GAAG,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI;YACrC,GAAG,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,KAAK,OAAO,CAClD,CAAC;IACJ,CAAC;IAEO,+BAA+B,CAAC,MAAc;QACpD,IAAI,CAAC,gEAAS,CAAC,cAAc,EAAE;YAC7B,OAAO,MAAM,CAAC;SACf;QAED,MAAM,aAAa,GAAG,6CAAQ,CAAC,gEAAS,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3E,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,EAAE;YACzC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SAC/B;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,uBAAuB,CAC7B,mBAA2B;QAE3B,IAAI,mBAAmB,KAAK,0BAA0B,EAAE;YACtD,OAAO,GAAG,CAAC,MAAM,CAAC,wBAAwB,CAAC;SAC5C;QAED,IAAI,mBAAmB,KAAK,kBAAkB,EAAE;YAC9C,OAAO,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC;SACpC;QAED,OAAO,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC;IACvC,CAAC;IAEO,oBAAoB,CAAC,QAAoB;QAC/C,MAAM,eAAe,GAAG,GAAG,CAAC,KAAK,CAAC,cAAc,CAC9C,8BAA8B,CAC/B,CAAC;QACF,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAElC,MAAM,cAAc,GAAG;YACrB,cAAc,EAAE,GAAG,GAAG,CAAC,YAAY,CAAC,iBAAiB,EAAE,EAAE;YACzD,qBAAqB,EAAE,KAAK,eAAe,QAAQ,eAAe,EAAE;SACrE,CAAC;QAEF,IAAI,KAAK,EAAE;YACT,cAAc,CAAC,eAAe,CAAC,GAAG,UAAU,KAAK,EAAE,CAAC;SACrD;QAED,IAAI,CAAC,WAAW;aACb,GAAG,CACF,GAAG,gEAAS,CAAC,oBAAoB,8BAA8B,EAC/D;YACE,OAAO,EAAE,cAAc;SACxB,CACF;aACA,SAAS,CAAC,CAAC,QAAQ,EAAE,EAAE;YACtB,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;YAE/B,4CAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAErB,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAC/C,MAAM,CAAC,KAAK,CAAC,QAAQ,CACtB,CAAC;YAEF,6CAAa,CAAC,GAAG,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAErD,qDAAqD;YACrD,mEAAmE;YACnE,IAAI;YAEJ,QAAQ,EAAE,CAAC;QACb,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,oBAAoB,CAAC,UAAkB,EAAE,QAAoB;QACnE,IAAI,CAAC,WAAW;aACb,GAAG,CAAM,GAAG,UAAU,UAAU,qEAAW,CAAC,SAAS,EAAE,EAAE;YACxD,OAAO,EAAE;gBACP,cAAc,EAAE,GAAG,GAAG,CAAC,YAAY,CAAC,iBAAiB,EAAE,EAAE;aAC1D;SACF,CAAC;aACD,SAAS,CAAC,CAAC,QAAQ,EAAE,EAAE;YACtB,gEAAS,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;YAC3C,gEAAS,CAAC,oBAAoB,GAAG,QAAQ,CAAC,oBAAoB,CAAC;YAC/D,gEAAS,CAAC,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC;YACnD,gEAAS,CAAC,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC;YACnD,gEAAS,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;YACrC,gEAAS,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,gEAAS,CAAC,UAAU,CAAC;gBAC/C,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,gEAAS,CAAC,oBAAoB,CAAC;gBACxD,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,gEAAS,CAAC,OAAO,CAAC;gBAC5C,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,gEAAS,CAAC,KAAK,CAAC;gBAEvC,QAAQ,EAAE,CAAC;QACb,CAAC,CAAC,CAAC;IACP,CAAC;;4EAnKU,cAAc;iGAAd,cAAc,WAAd,cAAc,mBAFb,MAAM;6FAEP,cAAc;cAH1B,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACZD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+E;AAEvB;AAChB;AACU;AACF;;;;AAMzC,MAAM,YAAY;IAIrB,YAAoB,MAAc,EACtB,YAAmB;QADX,WAAM,GAAN,MAAM,CAAQ;QACtB,iBAAY,GAAZ,YAAY,CAAO;QAGvB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,4DAAS,CAAC,KAAK,CAAC;IACnD,CAAC;IAED,QAAQ;QAEJ,sCAAsC;QAEtC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM;aACjC,IAAI,CACD,6DAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,YAAY,6DAAa,CAAC,CAClD;aACA,SAAS,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IAGD,WAAW;QACP,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;SACnC;IACL,CAAC;;wEA3BQ,YAAY;4FAAZ,YAAY;QCXzB,2EAA+B;;6FDWlB,YAAY;cAJxB,uDAAS;eAAC;gBACP,QAAQ,EAAE,UAAU;gBACpB,WAAW,EAAE,sBAAsB;aACtC;;;;;;;;;;;;;;AEVD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAwD;AACqB;AAC9B;AACQ;AACF;AACgC;AAChB;AACN;AAKhC;AAEc;AAII;AACC;AACe;AACQ;AAEA;AACA;AACF;AACjB;AACF;AACU;AACf;AACD;AACK;AACO;;;;;;AAC1D,MAAM,gCAAgC,GAAoC;IACtE,eAAe,EAAE,IAAI;IACrB,gBAAgB,EAAE,KAAK;CAE1B,CAAC;AAEK,SAAS,qBAAqB,CAAC,IAAgB;IAClD,OAAO,IAAI,8EAAmB,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;AACpE,CAAC;AAEM,SAAS,kBAAkB;IAC9B,OAAO,OAAO,CAAC;IACf,IAAI,GAAG,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,EAAE;QACvC,OAAO,GAAG,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC;KAChD;IAED,iFAAiF;IACjF,OAAO,IAAI,CAAC;AAGhB,CAAC;AAEM,SAAS,WAAW,CAAC,gBAAkC;IAC1D,MAAM,OAAO,GAAG,gBAAgB,CAAC,kBAAkB,EAAE,CAAC;IACtD,IAAI,OAAO,EAAE;QACT,OAAO,OAAO,CAAC;KAClB;IAED,OAAO,GAAG,CAAC;AACf,CAAC;AAqDM,MAAM,SAAS;;wFAAT,SAAS,cAFN,2DAAY;4IAEf,SAAS,mBApBP;QACP;YACI,OAAO,EAAE,8EAAwB;YACjC,QAAQ,EAAE,gCAAgC;SAC7C;QACD,EAAC,OAAO,EAAE,8EAAwB,EAAE,QAAQ,EAAE,gCAAgC,EAAC;QAC/E,EAAC,OAAO,EAAE,sEAAiB,EAAE,QAAQ,EAAE,kEAAkB,EAAE,KAAK,EAAE,IAAI,EAAC;QACvE,EAAE,OAAO,EAAE,iFAAgB,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,iEAAS,CAAC,oBAAoB,EAAE;QAC/E,EAAE,OAAO,EAAE,yFAAoB,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,iEAAS,CAAC,oBAAoB,EAAE;QACnF,EAAE,OAAO,EAAE,yFAAoB,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,iEAAS,CAAC,oBAAoB,EAAE;QACnF,EAAE,OAAO,EAAE,uFAAmB,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,iEAAS,CAAC,oBAAoB,EAAE;QAClF;YACI,OAAO,EAAE,6DAAe;YACxB,UAAU,EAAE,CAAC,cAA8B,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE;YACrE,IAAI,EAAE,CAAC,oEAAc,CAAC;YACtB,KAAK,EAAE,IAAI;SACd;KACJ,YAxCQ;YACL,4FAAuB;YACvB,2EAAc,CAAC,OAAO,EAAE;YACxB,6DAAgB;YAChB,qEAAe;YACf,qEAAgB;YAChB,oEAAS;YACT,6DAAgB;YAChB,gEAAW;YACX,mEAAe,CAAC,OAAO,CAAC;gBACpB,MAAM,EAAE;oBACJ,OAAO,EAAE,mEAAe;oBACxB,UAAU,EAAE,qBAAqB;oBACjC,IAAI,EAAE,CAAC,+DAAU,CAAC;iBACrB;aACJ,CAAC;YACF,4EAAsB;YACtB,uEAAW;YACX,yFAAiB;YACjB,sEAAoB,CAAC,OAAO,EAAE;YAC9B,4DAAY,CAAC,OAAO,EAAE;SAEzB;mIAqBQ,SAAS,mBA9Cd,2DAAY,aAIZ,4FAAuB,+EAEvB,6DAAgB;QAChB,qEAAe;QACf,qEAAgB;QAChB,oEAAS;QACT,6DAAgB;QAChB,gEAAW,uEAQX,4EAAsB;QACtB,uEAAW;QACX,yFAAiB;6FAyBZ,SAAS;cAhDrB,sDAAQ;eAAC;gBACN,YAAY,EAAE;oBACV,2DAAY;iBAEf;gBACD,OAAO,EAAE;oBACL,4FAAuB;oBACvB,2EAAc,CAAC,OAAO,EAAE;oBACxB,6DAAgB;oBAChB,qEAAe;oBACf,qEAAgB;oBAChB,oEAAS;oBACT,6DAAgB;oBAChB,gEAAW;oBACX,mEAAe,CAAC,OAAO,CAAC;wBACpB,MAAM,EAAE;4BACJ,OAAO,EAAE,mEAAe;4BACxB,UAAU,EAAE,qBAAqB;4BACjC,IAAI,EAAE,CAAC,+DAAU,CAAC;yBACrB;qBACJ,CAAC;oBACF,4EAAsB;oBACtB,uEAAW;oBACX,yFAAiB;oBACjB,sEAAoB,CAAC,OAAO,EAAE;oBAC9B,4DAAY,CAAC,OAAO,EAAE;iBAEzB;gBACD,SAAS,EAAE;oBACP;wBACI,OAAO,EAAE,8EAAwB;wBACjC,QAAQ,EAAE,gCAAgC;qBAC7C;oBACD,EAAC,OAAO,EAAE,8EAAwB,EAAE,QAAQ,EAAE,gCAAgC,EAAC;oBAC/E,EAAC,OAAO,EAAE,sEAAiB,EAAE,QAAQ,EAAE,kEAAkB,EAAE,KAAK,EAAE,IAAI,EAAC;oBACvE,EAAE,OAAO,EAAE,iFAAgB,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,iEAAS,CAAC,oBAAoB,EAAE;oBAC/E,EAAE,OAAO,EAAE,yFAAoB,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,iEAAS,CAAC,oBAAoB,EAAE;oBACnF,EAAE,OAAO,EAAE,yFAAoB,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,iEAAS,CAAC,oBAAoB,EAAE;oBACnF,EAAE,OAAO,EAAE,uFAAmB,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,iEAAS,CAAC,oBAAoB,EAAE;oBAClF;wBACI,OAAO,EAAE,6DAAe;wBACxB,UAAU,EAAE,CAAC,cAA8B,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE;wBACrE,IAAI,EAAE,CAAC,oEAAc,CAAC;wBACtB,KAAK,EAAE,IAAI;qBACd;iBACJ;gBACD,SAAS,EAAE,CAAC,2DAAY,CAAC;aAC5B;;;;;;;;;;;;;;AClHD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AACiC;AAEM;AAGrB;AACoB;AACW;AACN;;;AAEpF,MAAM,SAAS,GAAW;IACxB;QACE,IAAI,EAAE,EAAE;QACR,UAAU,EAAE,OAAO;QACnB,SAAS,EAAE,MAAM;KAClB;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,UAAU,EAAE,OAAO;QACnB,SAAS,EAAE,MAAM;KAClB;IACD;QACE,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,gGAAoB;QAC/B,QAAQ,EAAE;YACN,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,kRAAqD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE;YACxH,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,0RAAuD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE;SAC/H;KACF;IAKD;QACE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,sGAAsB,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,CAAC,uEAAS,CAAC;QACjG,OAAO,EAAE;YACL,OAAO,EAAE,2FAAqB;SACjC;QACD,QAAQ,EAAE;YAER,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,qQAAsC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE;YACpG,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,8OAA4C,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE;SACjH;KACF;IAED;QACE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,6FAAmB,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,CAAC,uEAAS,CAAC;QAC5F,OAAO,EAAE;YACL,OAAO,EAAE,2FAAqB;SACjC;QACD,QAAQ,EAAE;YACR,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,oNAAsC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE;YAC7G,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,oZAA0C,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE;SAC/G;KACF;IACD;QACE,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,OAAO;QACnB,SAAS,EAAE,MAAM;KAClB;CAEF,CAAC;AAOK,MAAM,gBAAgB;;+FAAhB,gBAAgB;0JAAhB,gBAAgB,kBAJlB,CAAC,4DAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAChC,4DAAY;mIAGX,gBAAgB,uFAHjB,4DAAY;6FAGX,gBAAgB;cAL5B,sDAAQ;eAAC;gBACR,OAAO,EAAE,CAAC,4DAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC1C,OAAO,EAAE,CAAC,4DAAY,CAAC;aACxB;;;;;;;;;;;;;;ACnED;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AACgB;AACgB;AAEnC;AACQ;AACA;AACF;AACiC;;AAuBtE,MAAM,iBAAiB;;gGAAjB,iBAAiB;4JAAjB,iBAAiB,mBApBf;QACP,4DAAkB;QAClB,+DAAqB;QACrB,8DAAoB;QACpB,4DAAkB;QAClB,iEAAuB;QACvB,+DAAqB;QACrB,qEAA2B;QAE3B,mEAAyB;QACzB,mEAAyB;QAEzB,wEAA8B;QAC9B,wEAA8B;QAC9B,gEAAsB;QACtB,uEAA6B;QAC7B,EAAE,OAAO,EAAE,kEAAmB,EAAE,QAAQ,EAAE,wFAAuB,EAAE;QACnE,EAAE,OAAO,EAAE,sEAAiB,EAAE,QAAQ,EAAE,iEAAkB,EAAE,KAAK,EAAE,IAAI,EAAE;KAC5E;6FAEQ,iBAAiB;cArB7B,sDAAQ;eAAC;gBACN,SAAS,EAAE;oBACP,4DAAkB;oBAClB,+DAAqB;oBACrB,8DAAoB;oBACpB,4DAAkB;oBAClB,iEAAuB;oBACvB,+DAAqB;oBACrB,qEAA2B;oBAE3B,mEAAyB;oBACzB,mEAAyB;oBAEzB,wEAA8B;oBAC9B,wEAA8B;oBAC9B,gEAAsB;oBACtB,uEAA6B;oBAC7B,EAAE,OAAO,EAAE,kEAAmB,EAAE,QAAQ,EAAE,wFAAuB,EAAE;oBACnE,EAAE,OAAO,EAAE,sEAAiB,EAAE,QAAQ,EAAE,iEAAkB,EAAE,KAAK,EAAE,IAAI,EAAE;iBAC5E;aACJ;;;;;;;;;;;;;;AC9BD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAoB;AACpB,oBAAoB;AACpB,wBAAwB;AACxB,mBAAmB;AACnB,4HAA4H;AAC5H,oBAAoB;AACpB,wBAAwB;AACxB,uCAAuC;AAE0D;AACV;AACV;AACkB;AAE9D;;;AAE1B,MAAM,gBAAgB,GAAG,IAAI,4DAAc,CAAS,kBAAkB,CAAC,CAAC;AAGxE,MAAM,iBAAiB;IAK1B,YAAgC,IAAgB,EAAwC,OAAgB;QAF9F,qBAAgB,GAAmD,SAAS,CAAC;QAGnF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,IAAwC;QACtD,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,sCAAsC,CAAC;QACjE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEtC,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,cAAc,EAAE,8DAA8D;gBAC9E,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,wBAAwB,CAAM,SAAS,CAAC,CAAC;iBACxD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAiD,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACxE;aACJ;;gBACG,OAAiD,uDAAgB,CAAC,SAAS,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,wBAAwB,CAAC,QAA0B;QACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,uBAAuB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC1D,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAA+B,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,IAA+B;QACpC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,2BAA2B,CAAC;QACtD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEtC,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,cAAc,EAAE,8DAA8D;gBAC9E,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,eAAe,CAAM,SAAS,CAAC,CAAC;iBAC/C;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAwC,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBAC/D;aACJ;;gBACG,OAAwC,uDAAgB,CAAC,SAAS,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,eAAe,CAAC,QAA0B;QAChD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACjD,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAAsB,IAAI,CAAC,CAAC;IACpD,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,YAAuC;QACrD,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,uCAAuC,CAAC;QAClE,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,IAAI;YACnD,IAAI,IAAI,eAAe,GAAG,kBAAkB,CAAC,EAAE,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC;QAC1E,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,wBAAwB,CAAM,SAAS,CAAC,CAAC;iBACxD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAgC,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACvD;aACJ;;gBACG,OAAgC,uDAAgB,CAAC,SAAS,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,wBAAwB,CAAC,QAA0B;QACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBACpE,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAAc,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,YAAY;QACR,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,gCAAgC,CAAC;QAC3D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,mBAAmB,CAAM,SAAS,CAAC,CAAC;iBACnD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAgC,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACvD;aACJ;;gBACG,OAAgC,uDAAgB,CAAC,SAAS,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,mBAAmB,CAAC,QAA0B;QACpD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBACpE,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAAc,IAAI,CAAC,CAAC;IAC5C,CAAC;;kFAjOQ,iBAAiB,yDAKN,+DAAU,0DAAwC,gBAAgB;oGAL7E,iBAAiB,WAAjB,iBAAiB;6FAAjB,iBAAiB;cAD7B,wDAAU;;sBAMM,oDAAM;uBAAC,+DAAU;;sBAAqB,sDAAQ;;sBAAI,oDAAM;uBAAC,gBAAgB;;AAgOnF,MAAM,sBAAsB;IAK/B,YAAgC,IAAgB,EAAwC,OAAgB;QAF9F,qBAAgB,GAAmD,SAAS,CAAC;QAGnF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED;;OAEG;IACH,UAAU;QACN,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,oCAAoC,CAAC;QAC/D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC,EACxB,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,iBAAiB,CAAM,SAAS,CAAC,CAAC;iBACjD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAA8B,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACrD;aACJ;;gBACG,OAA8B,uDAAgB,CAAC,SAAS,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,iBAAiB,CAAC,QAA0B;QAClD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,+CAAa,CAAY,IAAI,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAAY,IAAI,CAAC,CAAC;IAC1C,CAAC;;4FAvDQ,sBAAsB,yDAKX,+DAAU,0DAAwC,gBAAgB;yGAL7E,sBAAsB,WAAtB,sBAAsB;6FAAtB,sBAAsB;cADlC,wDAAU;;sBAMM,oDAAM;uBAAC,+DAAU;;sBAAqB,sDAAQ;;sBAAI,oDAAM;uBAAC,gBAAgB;;AAsDnF,MAAM,uBAAuB;IAKhC,YAAgC,IAAgB,EAAwC,OAAgB;QAF9F,qBAAgB,GAAmD,SAAS,CAAC;QAGnF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,IAAoC;QAC9C,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,wCAAwC,CAAC;QACnE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEtC,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,cAAc,EAAE,8DAA8D;aACjF,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,oBAAoB,CAAM,SAAS,CAAC,CAAC;iBACpD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAA8B,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACrD;aACJ;;gBACG,OAA8B,uDAAgB,CAAC,SAAS,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,oBAAoB,CAAC,QAA0B;QACrD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,+CAAa,CAAY,IAAI,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAAY,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,IAA+B;QACrC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,oCAAoC,CAAC;QAC/D,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI;YACnC,IAAI,IAAI,OAAO,GAAG,kBAAkB,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;QAC1D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,gBAAgB,CAAM,SAAS,CAAC,CAAC;iBAChD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAsC,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBAC7D;aACJ;;gBACG,OAAsC,uDAAgB,CAAC,SAAS,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,gBAAgB,CAAC,QAA0B;QACjD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC/C,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAAoB,IAAI,CAAC,CAAC;IAClD,CAAC;;8FAlHQ,uBAAuB,yDAKZ,+DAAU,0DAAwC,gBAAgB;0GAL7E,uBAAuB,WAAvB,uBAAuB;6FAAvB,uBAAuB;cADnC,wDAAU;;sBAMM,oDAAM;uBAAC,+DAAU;;sBAAqB,sDAAQ;;sBAAI,oDAAM;uBAAC,gBAAgB;;AAiHnF,MAAM,gBAAgB;IAKzB,YAAgC,IAAgB,EAAwC,OAAgB;QAF9F,qBAAgB,GAAmD,SAAS,CAAC;QAGnF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,IAAsC;QAC3C,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,sBAAsB,CAAC;QACjD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAChC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS;YACnC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAE/E,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,eAAe,CAAM,SAAS,CAAC,CAAC;iBAC/C;gBAAC,OAAO,CAAC,EAAE;oBACR,OAA+C,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACtE;aACJ;;gBACG,OAA+C,uDAAgB,CAAC,SAAS,CAAC,CAAC;QACnF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,eAAe,CAAC,QAA0B;QAChD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,qBAAqB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACxD,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAA6B,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;OAKG;IACH,eAAe,CAAC,KAAgC,EAAE,IAAiC,EAAE,IAAsC;QACvH,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,8BAA8B,CAAC;QACzD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YACrC,IAAI,IAAI,QAAQ,GAAG,kBAAkB,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC;QAC5D,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI;YACnC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,IAAI,OAAO,GAAG,kBAAkB,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7F,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAChC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS;YACnC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAE/E,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,sBAAsB,CAAM,SAAS,CAAC,CAAC;iBACtD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAA+C,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACtE;aACJ;;gBACG,OAA+C,uDAAgB,CAAC,SAAS,CAAC,CAAC;QACnF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,sBAAsB,CAAC,QAA0B;QACvD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,qBAAqB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACxD,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAA6B,IAAI,CAAC,CAAC;IAC3D,CAAC;;gFAhIQ,gBAAgB,yDAKL,+DAAU,0DAAwC,gBAAgB;mGAL7E,gBAAgB,WAAhB,gBAAgB;6FAAhB,gBAAgB;cAD5B,wDAAU;;sBAMM,oDAAM;uBAAC,+DAAU;;sBAAqB,sDAAQ;;sBAAI,oDAAM;uBAAC,gBAAgB;;AA+HnF,MAAM,mBAAmB;IAK5B,YAAgC,IAAgB,EAAwC,OAAgB;QAF9F,qBAAgB,GAAmD,SAAS,CAAC;QAGnF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED;;OAEG;IACH,MAAM;QACF,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,uBAAuB,CAAC;QAClD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,aAAa,CAAM,SAAS,CAAC,CAAC;iBAC7C;gBAAC,OAAO,CAAC,EAAE;oBACR,OAA6C,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACpE;aACJ;;gBACG,OAA6C,uDAAgB,CAAC,SAAS,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,aAAa,CAAC,QAA0B;QAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,mBAAmB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACtD,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAA2B,IAAI,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,MAAM;QACF,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,uBAAuB,CAAC;QAClD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC,EACxB,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,aAAa,CAAM,SAAS,CAAC,CAAC;iBAC7C;gBAAC,OAAO,CAAC,EAAE;oBACR,OAA8B,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACrD;aACJ;;gBACG,OAA8B,uDAAgB,CAAC,SAAS,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,aAAa,CAAC,QAA0B;QAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,+CAAa,CAAY,IAAI,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAAY,IAAI,CAAC,CAAC;IAC1C,CAAC;;sFA1GQ,mBAAmB,yDAKR,+DAAU,0DAAwC,gBAAgB;sGAL7E,mBAAmB,WAAnB,mBAAmB;6FAAnB,mBAAmB;cAD/B,wDAAU;;sBAMM,oDAAM;uBAAC,+DAAU;;sBAAqB,sDAAQ;;sBAAI,oDAAM;uBAAC,gBAAgB;;AAyGnF,MAAM,sBAAsB;IAK/B,YAAgC,IAAgB,EAAwC,OAAgB;QAF9F,qBAAgB,GAAmD,SAAS,CAAC;QAGnF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED;;OAEG;IACH,MAAM;QACF,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,0BAA0B,CAAC;QACrD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC,EACxB,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,aAAa,CAAM,SAAS,CAAC,CAAC;iBAC7C;gBAAC,OAAO,CAAC,EAAE;oBACR,OAA8B,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACrD;aACJ;;gBACG,OAA8B,uDAAgB,CAAC,SAAS,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,aAAa,CAAC,QAA0B;QAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,+CAAa,CAAY,IAAI,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAAY,IAAI,CAAC,CAAC;IAC1C,CAAC;;4FAvDQ,sBAAsB,yDAKX,+DAAU,0DAAwC,gBAAgB;yGAL7E,sBAAsB,WAAtB,sBAAsB;6FAAtB,sBAAsB;cADlC,wDAAU;;sBAMM,oDAAM;uBAAC,+DAAU;;sBAAqB,sDAAQ;;sBAAI,oDAAM;uBAAC,gBAAgB;;AAsDnF,MAAM,cAAc;IAKvB,YAAgC,IAAgB,EAAwC,OAAgB;QAF9F,qBAAgB,GAAmD,SAAS,CAAC;QAGnF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,IAA+B;QAClC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,sBAAsB,CAAC;QACjD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEtC,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,cAAc,EAAE,8DAA8D;gBAC9E,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,aAAa,CAAM,SAAS,CAAC,CAAC;iBAC7C;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAiC,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACxD;aACJ;;gBACG,OAAiC,uDAAgB,CAAC,SAAS,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,aAAa,CAAC,QAA0B;QAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC1C,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAAe,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,UAAqC;QAC1C,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,0BAA0B,CAAC;QACrD,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI;YAC/C,IAAI,IAAI,aAAa,GAAG,kBAAkB,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;QACtE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,eAAe,CAAM,SAAS,CAAC,CAAC;iBAC/C;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAoD,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBAC3E;aACJ;;gBACG,OAAoD,uDAAgB,CAAC,SAAS,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,eAAe,CAAC,QAA0B;QAChD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,0BAA0B,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC7D,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAAkC,IAAI,CAAC,CAAC;IAChE,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,IAAyB;QAC5B,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,sBAAsB,CAAC;QACjD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEtC,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,cAAc,EAAE,8DAA8D;gBAC9E,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,aAAa,CAAM,SAAS,CAAC,CAAC;iBAC7C;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAiC,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACxD;aACJ;;gBACG,OAAiC,uDAAgB,CAAC,SAAS,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,aAAa,CAAC,QAA0B;QAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC1C,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAAe,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,EAAsB;QACzB,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,uBAAuB,CAAC;QAClD,IAAI,EAAE,KAAK,IAAI;YACX,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;aACrD,IAAI,EAAE,KAAK,SAAS;YACrB,IAAI,IAAI,KAAK,GAAG,kBAAkB,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;QACtD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC,EACxB,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC5F,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,aAAa,CAAM,SAAS,CAAC,CAAC;iBAC7C;gBAAC,OAAO,CAAC,EAAE;oBACR,OAA8B,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACrD;aACJ;;gBACG,OAA8B,uDAAgB,CAAC,SAAS,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,aAAa,CAAC,QAA0B;QAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,+CAAa,CAAY,IAAI,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAAY,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,iBAAiB;QACb,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,mCAAmC,CAAC;QAC9D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,wBAAwB,CAAM,SAAS,CAAC,CAAC;iBACxD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAsD,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBAC7E;aACJ;;gBACG,OAAsD,uDAAgB,CAAC,SAAS,CAAC,CAAC;QAC1F,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,wBAAwB,CAAC,QAA0B;QACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,4BAA4B,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC/D,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAAoC,IAAI,CAAC,CAAC;IAClE,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,EAAsB;QACjC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,kCAAkC,CAAC;QAC7D,IAAI,EAAE,KAAK,IAAI;YACX,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;aACrD,IAAI,EAAE,KAAK,SAAS;YACrB,IAAI,IAAI,KAAK,GAAG,kBAAkB,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;QACtD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,qBAAqB,CAAM,SAAS,CAAC,CAAC;iBACrD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAA8C,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACrE;aACJ;;gBACG,OAA8C,uDAAgB,CAAC,SAAS,CAAC,CAAC;QAClF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,qBAAqB,CAAC,QAA0B;QACtD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,oBAAoB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACvD,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAA4B,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED;;;OAGG;IACH,GAAG,CAAC,EAAsB;QACtB,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,oBAAoB,CAAC;QAC/C,IAAI,EAAE,KAAK,IAAI;YACX,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;aACrD,IAAI,EAAE,KAAK,SAAS;YACrB,IAAI,IAAI,KAAK,GAAG,kBAAkB,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;QACtD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,UAAU,CAAM,SAAS,CAAC,CAAC;iBAC1C;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAiC,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACxD;aACJ;;gBACG,OAAiC,uDAAgB,CAAC,SAAS,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,UAAU,CAAC,QAA0B;QAC3C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC1C,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAAe,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,OAAkC,EAAE,SAA6B,EAAE,cAAkC;QACxG,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,wBAAwB,CAAC;QACnD,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI;YACzC,IAAI,IAAI,UAAU,GAAG,kBAAkB,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC;QAChE,IAAI,SAAS,KAAK,IAAI;YAClB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;aAC5D,IAAI,SAAS,KAAK,SAAS;YAC5B,IAAI,IAAI,YAAY,GAAG,kBAAkB,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC;QACpE,IAAI,cAAc,KAAK,IAAI;YACvB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;aACjE,IAAI,cAAc,KAAK,SAAS;YACjC,IAAI,IAAI,iBAAiB,GAAG,kBAAkB,CAAC,EAAE,GAAG,cAAc,CAAC,GAAG,GAAG,CAAC;QAC9E,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,aAAa,CAAM,SAAS,CAAC,CAAC;iBAC7C;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAiD,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACxE;aACJ;;gBACG,OAAiD,uDAAgB,CAAC,SAAS,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,aAAa,CAAC,QAA0B;QAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,uBAAuB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC1D,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAA+B,IAAI,CAAC,CAAC;IAC7D,CAAC;;4EArcQ,cAAc,yDAKH,+DAAU,0DAAwC,gBAAgB;iGAL7E,cAAc,WAAd,cAAc;6FAAd,cAAc;cAD1B,wDAAU;;sBAMM,oDAAM;uBAAC,+DAAU;;sBAAqB,sDAAQ;;sBAAI,oDAAM;uBAAC,gBAAgB;;AAocnF,MAAM,iBAAiB;IAK1B,YAAgC,IAAgB,EAAwC,OAAgB;QAF9F,qBAAgB,GAAmD,SAAS,CAAC;QAGnF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED;;OAEG;IACH,2BAA2B;QACvB,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,iDAAiD,CAAC;QAC5E,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,kCAAkC,CAAC,SAAS,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,kCAAkC,CAAM,SAAS,CAAC,CAAC;iBAClE;gBAAC,OAAO,CAAC,EAAE;oBACR,OAA2D,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBAClF;aACJ;;gBACG,OAA2D,uDAAgB,CAAC,SAAS,CAAC,CAAC;QAC/F,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,kCAAkC,CAAC,QAA0B;QACnE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,iCAAiC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACpE,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAAyC,IAAI,CAAC,CAAC;IACvE,CAAC;;kFA3DQ,iBAAiB,yDAKN,+DAAU,0DAAwC,gBAAgB;oGAL7E,iBAAiB,WAAjB,iBAAiB;6FAAjB,iBAAiB;cAD7B,wDAAU;;sBAMM,oDAAM;uBAAC,+DAAU;;sBAAqB,sDAAQ;;sBAAI,oDAAM;uBAAC,gBAAgB;;AA0DnF,MAAM,gBAAgB;IAKzB,YAAgC,IAAgB,EAAwC,OAAgB;QAF9F,qBAAgB,GAAmD,SAAS,CAAC;QAGnF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,IAAiC;QACpC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,wBAAwB,CAAC;QACnD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEtC,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,cAAc,EAAE,8DAA8D;gBAC9E,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,aAAa,CAAM,SAAS,CAAC,CAAC;iBAC7C;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAmC,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBAC1D;aACJ;;gBACG,OAAmC,uDAAgB,CAAC,SAAS,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,aAAa,CAAC,QAA0B;QAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC5C,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAAiB,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,EAAsB;QACzB,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,yBAAyB,CAAC;QACpD,IAAI,EAAE,KAAK,IAAI;YACX,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;aACrD,IAAI,EAAE,KAAK,SAAS;YACrB,IAAI,IAAI,KAAK,GAAG,kBAAkB,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;QACtD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC,EACxB,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC5F,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,aAAa,CAAM,SAAS,CAAC,CAAC;iBAC7C;gBAAC,OAAO,CAAC,EAAE;oBACR,OAA8B,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACrD;aACJ;;gBACG,OAA8B,uDAAgB,CAAC,SAAS,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,aAAa,CAAC,QAA0B;QAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,+CAAa,CAAY,IAAI,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAAY,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACH,GAAG,CAAC,EAAsB;QACtB,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,sBAAsB,CAAC;QACjD,IAAI,EAAE,KAAK,IAAI;YACX,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;aACrD,IAAI,EAAE,KAAK,SAAS;YACrB,IAAI,IAAI,KAAK,GAAG,kBAAkB,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;QACtD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,UAAU,CAAM,SAAS,CAAC,CAAC;iBAC1C;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAmC,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBAC1D;aACJ;;gBACG,OAAmC,uDAAgB,CAAC,SAAS,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,UAAU,CAAC,QAA0B;QAC3C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC5C,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAAiB,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,OAAkC,EAAE,QAAoC,EAAE,SAA6B,EAAE,cAAkC;QAC9I,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,0BAA0B,CAAC;QACrD,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI;YACzC,IAAI,IAAI,UAAU,GAAG,kBAAkB,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC;QAChE,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI;YAC3C,IAAI,IAAI,WAAW,GAAG,kBAAkB,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC;QAClE,IAAI,SAAS,KAAK,IAAI;YAClB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;aAC5D,IAAI,SAAS,KAAK,SAAS;YAC5B,IAAI,IAAI,YAAY,GAAG,kBAAkB,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC;QACpE,IAAI,cAAc,KAAK,IAAI;YACvB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;aACjE,IAAI,cAAc,KAAK,SAAS;YACjC,IAAI,IAAI,iBAAiB,GAAG,kBAAkB,CAAC,EAAE,GAAG,cAAc,CAAC,GAAG,GAAG,CAAC;QAC9E,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,aAAa,CAAM,SAAS,CAAC,CAAC;iBAC7C;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAmD,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBAC1E;aACJ;;gBACG,OAAmD,uDAAgB,CAAC,SAAS,CAAC,CAAC;QACvF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,aAAa,CAAC,QAA0B;QAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,yBAAyB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC5D,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAAiC,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,IAA2B;QAC9B,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,wBAAwB,CAAC;QACnD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEtC,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,cAAc,EAAE,8DAA8D;gBAC9E,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,aAAa,CAAM,SAAS,CAAC,CAAC;iBAC7C;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAmC,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBAC1D;aACJ;;gBACG,OAAmC,uDAAgB,CAAC,SAAS,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,aAAa,CAAC,QAA0B;QAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC5C,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAAiB,IAAI,CAAC,CAAC;IAC/C,CAAC;;gFAvSQ,gBAAgB,yDAKL,+DAAU,0DAAwC,gBAAgB;mGAL7E,gBAAgB,WAAhB,gBAAgB;6FAAhB,gBAAgB;cAD5B,wDAAU;;sBAMM,oDAAM;uBAAC,+DAAU;;sBAAqB,sDAAQ;;sBAAI,oDAAM;uBAAC,gBAAgB;;AAsSnF,MAAM,mBAAmB;IAK5B,YAAgC,IAAgB,EAAwC,OAAgB;QAF9F,qBAAgB,GAAmD,SAAS,CAAC;QAGnF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,IAAmC;QAC5C,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,8BAA8B,CAAC;QACzD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEtC,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,cAAc,EAAE,8DAA8D;gBAC9E,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,mBAAmB,CAAM,SAAS,CAAC,CAAC;iBACnD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAiD,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACxE;aACJ;;gBACG,OAAiD,uDAAgB,CAAC,SAAS,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,mBAAmB,CAAC,QAA0B;QACpD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,uBAAuB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC1D,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAA+B,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,YAAuC;QAChD,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,gCAAgC,CAAC;QAC3D,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,IAAI;YACnD,IAAI,IAAI,eAAe,GAAG,kBAAkB,CAAC,EAAE,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC;QAC1E,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,mBAAmB,CAAM,SAAS,CAAC,CAAC;iBACnD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAA4C,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACnE;aACJ;;gBACG,OAA4C,uDAAgB,CAAC,SAAS,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,mBAAmB,CAAC,QAA0B;QACpD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACrD,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAA0B,IAAI,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,MAAM;QACF,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,yBAAyB,CAAC;QACpD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC,EACxB,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,aAAa,CAAM,SAAS,CAAC,CAAC;iBAC7C;gBAAC,OAAO,CAAC,EAAE;oBACR,OAA8B,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACrD;aACJ;;gBACG,OAA8B,uDAAgB,CAAC,SAAS,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,aAAa,CAAC,QAA0B;QAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,+CAAa,CAAY,IAAI,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAAY,IAAI,CAAC,CAAC;IAC1C,CAAC;;sFArKQ,mBAAmB,yDAKR,+DAAU,0DAAwC,gBAAgB;sGAL7E,mBAAmB,WAAnB,mBAAmB;6FAAnB,mBAAmB;cAD/B,wDAAU;;sBAMM,oDAAM;uBAAC,+DAAU;;sBAAqB,sDAAQ;;sBAAI,oDAAM;uBAAC,gBAAgB;;AAoKnF,MAAM,cAAc;IAKvB,YAAgC,IAAgB,EAAwC,OAAgB;QAF9F,qBAAgB,GAAmD,SAAS,CAAC;QAGnF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,IAA+B;QAClC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,sBAAsB,CAAC;QACjD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEtC,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,cAAc,EAAE,8DAA8D;gBAC9E,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,aAAa,CAAM,SAAS,CAAC,CAAC;iBAC7C;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAiC,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACxD;aACJ;;gBACG,OAAiC,uDAAgB,CAAC,SAAS,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,aAAa,CAAC,QAA0B;QAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC1C,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAAe,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,IAAyB;QAC5B,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,sBAAsB,CAAC;QACjD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEtC,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,cAAc,EAAE,8DAA8D;gBAC9E,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,aAAa,CAAM,SAAS,CAAC,CAAC;iBAC7C;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAiC,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACxD;aACJ;;gBACG,OAAiC,uDAAgB,CAAC,SAAS,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,aAAa,CAAC,QAA0B;QAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC1C,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAAe,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,EAAsB;QACzB,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,uBAAuB,CAAC;QAClD,IAAI,EAAE,KAAK,IAAI;YACX,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;aACrD,IAAI,EAAE,KAAK,SAAS;YACrB,IAAI,IAAI,KAAK,GAAG,kBAAkB,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;QACtD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC,EACxB,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC5F,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,aAAa,CAAM,SAAS,CAAC,CAAC;iBAC7C;gBAAC,OAAO,CAAC,EAAE;oBACR,OAA8B,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACrD;aACJ;;gBACG,OAA8B,uDAAgB,CAAC,SAAS,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,aAAa,CAAC,QAA0B;QAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,+CAAa,CAAY,IAAI,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAAY,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,QAAQ;QACJ,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,yBAAyB,CAAC;QACpD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,eAAe,CAAM,SAAS,CAAC,CAAC;iBAC/C;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAgD,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACvE;aACJ;;gBACG,OAAgD,uDAAgB,CAAC,SAAS,CAAC,CAAC;QACpF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,eAAe,CAAC,QAA0B;QAChD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,sBAAsB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACzD,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAA8B,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,IAAuC;QAClD,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,+BAA+B,CAAC;QAC1D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEtC,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,cAAc,EAAE,8DAA8D;aACjF,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,qBAAqB,CAAM,SAAS,CAAC,CAAC;iBACrD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAA8B,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACrD;aACJ;;gBACG,OAA8B,uDAAgB,CAAC,SAAS,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,qBAAqB,CAAC,QAA0B;QACtD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,+CAAa,CAAY,IAAI,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAAY,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,IAAmC;QAC9C,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,+BAA+B,CAAC;QAC1D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEtC,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,cAAc,EAAE,8DAA8D;gBAC9E,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,qBAAqB,CAAM,SAAS,CAAC,CAAC;iBACrD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAiC,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACxD;aACJ;;gBACG,OAAiC,uDAAgB,CAAC,SAAS,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,qBAAqB,CAAC,QAA0B;QACtD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBACpE,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAAe,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,IAAkC;QAC5C,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,8BAA8B,CAAC;QACzD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEtC,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,cAAc,EAAE,8DAA8D;gBAC9E,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,oBAAoB,CAAM,SAAS,CAAC,CAAC;iBACpD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAiC,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACxD;aACJ;;gBACG,OAAiC,uDAAgB,CAAC,SAAS,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,oBAAoB,CAAC,QAA0B;QACrD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBACpE,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAAe,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACH,GAAG,CAAC,EAAsB;QACtB,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,oBAAoB,CAAC;QAC/C,IAAI,EAAE,KAAK,IAAI;YACX,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;aACrD,IAAI,EAAE,KAAK,SAAS;YACrB,IAAI,IAAI,KAAK,GAAG,kBAAkB,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;QACtD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,UAAU,CAAM,SAAS,CAAC,CAAC;iBAC1C;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAiC,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACxD;aACJ;;gBACG,OAAiC,uDAAgB,CAAC,SAAS,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,UAAU,CAAC,QAA0B;QAC3C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC1C,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAAe,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,OAAkC,EAAE,QAAoC,EAAE,SAA6B,EAAE,cAAkC;QAC9I,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,wBAAwB,CAAC;QACnD,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI;YACzC,IAAI,IAAI,UAAU,GAAG,kBAAkB,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC;QAChE,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI;YAC3C,IAAI,IAAI,WAAW,GAAG,kBAAkB,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC;QAClE,IAAI,SAAS,KAAK,IAAI;YAClB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;aAC5D,IAAI,SAAS,KAAK,SAAS;YAC5B,IAAI,IAAI,YAAY,GAAG,kBAAkB,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC;QACpE,IAAI,cAAc,KAAK,IAAI;YACvB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;aACjE,IAAI,cAAc,KAAK,SAAS;YACjC,IAAI,IAAI,iBAAiB,GAAG,kBAAkB,CAAC,EAAE,GAAG,cAAc,CAAC,GAAG,GAAG,CAAC;QAC9E,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,aAAa,CAAM,SAAS,CAAC,CAAC;iBAC7C;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAiD,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACxE;aACJ;;gBACG,OAAiD,uDAAgB,CAAC,SAAS,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,aAAa,CAAC,QAA0B;QAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,uBAAuB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC1D,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAA+B,IAAI,CAAC,CAAC;IAC7D,CAAC;;4EA9fQ,cAAc,yDAKH,+DAAU,0DAAwC,gBAAgB;iGAL7E,cAAc,WAAd,cAAc;6FAAd,cAAc;cAD1B,wDAAU;;sBAMM,oDAAM;uBAAC,+DAAU;;sBAAqB,sDAAQ;;sBAAI,oDAAM;uBAAC,gBAAgB;;AA4fnF,MAAM,sBAAsB;IAG/B,YAAY,IAA8B;QACtC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;SAC3C;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,sBAAsB,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,sBAAsB,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAMD,IAAY,uBAIX;AAJD,WAAY,uBAAuB;IAC/B,+DAAiB,WAAW;IAC5B,8DAAgB,UAAU;IAC1B,8DAAgB,UAAU;AAC9B,CAAC,EAJW,uBAAuB,KAAvB,uBAAuB,QAIlC;AAEM,MAAM,uBAAuB;IAIhC,YAAY,IAA+B;QACvC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;SACrC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAOM,MAAM,aAAa;IAQtB,YAAY,IAAqB;QAC7B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;YAC1C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;SACnD;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAWM,MAAM,cAAc;IAGvB,YAAY,IAAsB;QAC9B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;SACrC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAMM,MAAM,kBAAkB;IAG3B,YAAY,IAA0B;QAClC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;SAC/B;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAMM,MAAM,YAAY;IAIrB,YAAY,IAAoB;QAC5B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;SACjD;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QAC7C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAOM,MAAM,qBAAqB;IAI9B,YAAY,IAA6B;QACrC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;YAC1C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;SACrC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAOD,IAAY,cAmEX;AAnED,WAAY,cAAc;IACtB,4CAAgB,UAAU;IAC1B,sDAA0B,oBAAoB;IAC9C,8CAAkB,YAAY;IAC9B,8CAAkB,YAAY;IAC9B,sCAAU,IAAI;IACd,2CAAe,SAAS;IACxB,4CAAgB,UAAU;IAC1B,+DAAmC,6BAA6B;IAChE,6CAAiB,WAAW;IAC5B,gDAAoB,cAAc;IAClC,kDAAsB,gBAAgB;IACtC,+CAAmB,aAAa;IAChC,mDAAuB,iBAAiB;IACxC,0CAAc,QAAQ;IACtB,mDAAuB,iBAAiB;IACxC,6CAAiB,WAAW;IAC5B,oDAAwB,kBAAkB;IAC1C,yCAAa,OAAO;IACpB,yCAAa,OAAO;IACpB,4CAAgB,UAAU;IAC1B,4CAAgB,UAAU;IAC1B,kDAAsB,gBAAgB;IACtC,+CAAmB,aAAa;IAChC,4CAAgB,UAAU;IAC1B,0CAAc,QAAQ;IACtB,qDAAyB,mBAAmB;IAC5C,oDAAwB,kBAAkB;IAC1C,qDAAyB,mBAAmB;IAC5C,8CAAkB,YAAY;IAC9B,gDAAoB,cAAc;IAClC,mDAAuB,iBAAiB;IACxC,6CAAiB,WAAW;IAC5B,4CAAgB,UAAU;IAC1B,oDAAwB,kBAAkB;IAC1C,iDAAqB,eAAe;IACpC,+DAAmC,6BAA6B;IAChE,kDAAsB,gBAAgB;IACtC,4CAAgB,UAAU;IAC1B,wCAAY,MAAM;IAClB,kDAAsB,gBAAgB;IACtC,sDAA0B,oBAAoB;IAC9C,yDAA6B,uBAAuB;IACpD,qDAAyB,mBAAmB;IAC5C,wDAA4B,sBAAsB;IAClD,gEAAoC,8BAA8B;IAClE,qDAAyB,mBAAmB;IAC5C,sDAA0B,oBAAoB;IAC9C,uDAA2B,qBAAqB;IAChD,0CAAc,QAAQ;IACtB,oDAAwB,kBAAkB;IAC1C,mDAAuB,iBAAiB;IACxC,wDAA4B,sBAAsB;IAClD,mDAAuB,iBAAiB;IACxC,+DAAmC,6BAA6B;IAChE,8DAAkC,4BAA4B;IAC9D,uDAA2B,qBAAqB;IAChD,kDAAsB,gBAAgB;IACtC,8CAAkB,YAAY;IAC9B,sDAA0B,oBAAoB;IAC9C,kDAAsB,gBAAgB;IACtC,2DAA+B,yBAAyB;IACxD,yDAA6B,uBAAuB;IACpD,uDAA2B,qBAAqB;IAChD,gDAAoB,cAAc;IAClC,+CAAmB,aAAa;IAChC,iEAAqC,+BAA+B;AACxE,CAAC,EAnEW,cAAc,KAAd,cAAc,QAmEzB;AAEM,MAAM,mBAAmB;IAM5B,YAAY,IAA2B;QACnC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACpD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;SAC3C;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACnD,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AASM,MAAM,aAAa;IAOtB,YAAY,IAAqB;QAC7B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC9C,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,EAAE;gBAC5C,IAAI,CAAC,kBAAkB,GAAG,EAAS,CAAC;gBACpC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,oBAAoB,CAAC;oBACxC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC1C;SACJ;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE;YACxC,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,CAAC;YAChC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,kBAAkB;gBACpC,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC7C;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAUM,MAAM,OAAO;IAQhB,YAAY,IAAe;QACvB,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC9C,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,EAAE;gBAC5C,IAAI,CAAC,kBAAkB,GAAG,EAAS,CAAC;gBACpC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,oBAAoB,CAAC;oBACxC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC1C;YACD,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;SACzB;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE;YACxC,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,CAAC;YAChC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,kBAAkB;gBACpC,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC7C;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAWM,MAAM,WAAW;IAQpB,YAAY,IAAmB;QAC3B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,mCAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACtG,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;SACzB;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC5F,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAWM,MAAM,0BAA0B;IAGnC,YAAY,IAAkC;QAC1C,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE;gBAC/B,IAAI,CAAC,KAAK,GAAG,EAAS,CAAC;gBACvB,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC;oBAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACjD;SACJ;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,0BAA0B,EAAE,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACnB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK;gBACvB,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACzC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,0BAA0B,EAAE,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAMM,MAAM,aAAa;IAMtB,YAAY,IAAqB;QAC7B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;SACzB;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AASM,MAAM,4BAA4B;IAGrC,YAAY,IAAoC;QAC5C,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE;gBAC/B,IAAI,CAAC,KAAK,GAAG,EAAS,CAAC;gBACvB,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC;oBAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACnD;SACJ;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,4BAA4B,EAAE,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACnB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK;gBACvB,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACzC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,4BAA4B,EAAE,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAMM,MAAM,WAAW;IAOpB,YAAY,IAAmB;QAC3B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;SACzB;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAUM,MAAM,iBAAiB;IAK1B,YAAY,IAAyB;QACjC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;SAC3C;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAQM,MAAM,oBAAoB;IAK7B,YAAY,IAA4B;QACpC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC/E,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE;gBACrC,IAAI,CAAC,WAAW,GAAG,EAAS,CAAC;gBAC7B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,aAAa,CAAC;oBACjC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAC7D;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,EAAE;gBAChD,IAAI,CAAC,sBAAsB,GAAG,EAAS,CAAC;gBACxC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,wBAAwB,CAAC;oBAC5C,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC9C;SACJ;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC/D,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YACjC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;YACzB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW;gBAC7B,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAC/C;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE;YAC5C,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,CAAC;YACpC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,sBAAsB;gBACxC,IAAI,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACjD;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAQM,MAAM,uBAAuB;IAIhC,YAAY,IAA+B;QACvC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE;gBAC/B,IAAI,CAAC,KAAK,GAAG,EAAS,CAAC;gBACvB,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC;oBAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAC7C;SACJ;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACnB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK;gBACvB,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACzC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAOM,MAAM,kBAAkB;IAK3B,YAAY,IAA0B;QAClC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,mCAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACnG,IAAI,KAAK,CAAC,UAAU,CAAC,EAAE;gBACnB,IAAI,CAAC,QAAQ,GAAG,EAAS,CAAC;gBAC1B,KAAK,IAAI,GAAG,IAAI,KAAK,CAAC,UAAU,CAAC,EAAE;oBAC/B,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC;wBAC/B,IAAI,CAAC,QAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC;iBAC1D;aACJ;SACJ;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACzF,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;YACtB,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAC3B,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC;oBAC3B,IAAI,CAAC,UAAU,CAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;aACzD;SACJ;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAQD,IAAY,QAIX;AAJD,WAAY,QAAQ;IAChB,+BAAe,SAAS;IACxB,8BAAc,QAAQ;IACtB,6BAAa,OAAO;AACxB,CAAC,EAJW,QAAQ,KAAR,QAAQ,QAInB;AAEM,MAAM,gBAAgB;IASzB,YAAY,IAAwB;QAChC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;YAC1C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE;gBAC/B,IAAI,CAAC,KAAK,GAAG,EAAS,CAAC;gBACvB,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC;oBAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC7B;YACD,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;SACzB;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACnB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK;gBACvB,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAChC;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAYM,MAAM,kBAAkB;IAK3B,YAAY,IAA0B;QAClC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;SACzB;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAQM,MAAM,iCAAiC;IAK1C,YAAY,IAAyC;QACjD,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC3G,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACpF,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;SAC/F;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,iCAAiC,EAAE,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACpF,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC/D,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACrE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,iCAAiC,EAAE,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAQM,MAAM,eAAe;IAOxB,YAAY,IAAuB;QAC/B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACpD,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAClD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;SACrC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACnD,IAAI,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACjD,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAUM,MAAM,SAAS;IAMlB,YAAY,IAAiB;QACzB,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;SACzB;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AASM,MAAM,yBAAyB;IAIlC,YAAY,IAAiC;QACzC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE;gBAC/B,IAAI,CAAC,KAAK,GAAG,EAAS,CAAC;gBACvB,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC;oBAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAC/C;SACJ;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,yBAAyB,EAAE,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACnB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK;gBACvB,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACzC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,yBAAyB,EAAE,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAOM,MAAM,iBAAiB;IAK1B,YAAY,IAAyB;QACjC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC9D,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;SACjD;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,wBAAwB,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC;QAC7D,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QAC7C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAQM,MAAM,OAAO;IAYhB,YAAY,IAAe;QACvB,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;YAC1C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,mCAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACzG,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,mCAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACtG,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE;gBACnC,IAAI,CAAC,SAAS,GAAG,EAAS,CAAC;gBAC3B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,WAAW,CAAC;oBAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACjC;YACD,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;SACzB;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC/F,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC5F,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;YACvB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS;gBAC3B,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACpC;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAeD,IAAY,kBAWX;AAXD,WAAY,kBAAkB;IAC1B,mDAAe,SAAS;IACxB,yEAAqC,+BAA+B;IACpE,2DAAuB,iBAAiB;IACxC,2DAAuB,iBAAiB;IACxC,8DAA0B,oBAAoB;IAC9C,6DAAyB,mBAAmB;IAC5C,mEAA+B,yBAAyB;IACxD,gEAA4B,sBAAsB;IAClD,qDAAiB,WAAW;IAC5B,yEAAqC,+BAA+B;AACxE,CAAC,EAXW,kBAAkB,KAAlB,kBAAkB,QAW7B;AAEM,MAAM,uBAAuB;IAYhC,YAAY,IAA+B;QACvC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1D,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAChD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC3E,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;YAC1C,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACxE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;SAC7C;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACzD,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC/D,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,6BAA6B,CAAC,GAAG,IAAI,CAAC,2BAA2B,CAAC;QACvE,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAeM,MAAM,kBAAkB;IAM3B,YAAY,IAA0B;QAClC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1D,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAChD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;SAC7C;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACzD,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AASM,MAAM,aAAa;IAStB,YAAY,IAAqB;QAC7B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;YAC1C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE;gBACnC,IAAI,CAAC,SAAS,GAAG,EAAS,CAAC;gBAC3B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,WAAW,CAAC;oBAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACjC;YACD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;SACrC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;YACvB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS;gBAC3B,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACpC;QACD,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAYM,MAAM,sBAAsB;IAG/B,YAAY,IAA8B;QACtC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE;gBAC/B,IAAI,CAAC,KAAK,GAAG,EAAS,CAAC;gBACvB,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC;oBAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAC7C;SACJ;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,sBAAsB,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACnB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK;gBACvB,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACzC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,sBAAsB,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAMM,MAAM,qBAAqB;IAG9B,YAAY,IAA6B;QACrC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;SAC7C;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAMM,MAAM,iBAAiB;IAI1B,YAAY,IAAyB;QACjC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAChD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;SAC3C;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAOM,MAAM,gBAAgB;IAKzB,YAAY,IAAwB;QAChC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;SAC3C;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAQM,MAAM,uBAAuB;IAIhC,YAAY,IAA+B;QACvC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE;gBAC/B,IAAI,CAAC,KAAK,GAAG,EAAS,CAAC;gBACvB,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC;oBAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAC7C;SACJ;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACnB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK;gBACvB,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACzC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAYM,MAAM,YAAa,SAAQ,KAAK;IAOnC,YAAY,OAAe,EAAE,MAAc,EAAE,QAAgB,EAAE,OAAgC,EAAE,MAAW;QACxG,KAAK,EAAE,CAAC;QASF,mBAAc,GAAG,IAAI,CAAC;QAP5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAID,MAAM,CAAC,cAAc,CAAC,GAAQ;QAC1B,OAAO,GAAG,CAAC,cAAc,KAAK,IAAI,CAAC;IACvC,CAAC;CACJ;AAED,SAAS,cAAc,CAAC,OAAe,EAAE,MAAc,EAAE,QAAgB,EAAE,OAAgC,EAAE,MAAY;IACrH,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS;QACvC,OAAO,uDAAgB,CAAC,MAAM,CAAC,CAAC;;QAEhC,OAAO,uDAAgB,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AAC5F,CAAC;AAED,SAAS,UAAU,CAAC,IAAS;IACzB,OAAO,IAAI,+CAAU,CAAS,CAAC,QAAa,EAAE,EAAE;QAC5C,IAAI,CAAC,IAAI,EAAE;YACP,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClB,QAAQ,CAAC,QAAQ,EAAE,CAAC;SACvB;aAAM;YACH,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,EAAE;gBACpB,QAAQ,CAAC,IAAI,CAAO,KAAK,CAAC,MAAO,CAAC,MAAM,CAAC,CAAC;gBAC1C,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACxB,CAAC,CAAC;YACF,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SAC3B;IACL,CAAC,CAAC,CAAC;AACP,CAAC;;;;;;;;;;;;;AChwID;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAoB;AACpB,oBAAoB;AACpB,wBAAwB;AACxB,mBAAmB;AACnB,4HAA4H;AAC5H,oBAAoB;AACpB,wBAAwB;AACxB,uCAAuC;AAE0D;AACV;AACV;AACkB;AAE9D;;;AAE1B,MAAM,oBAAoB,GAAG,IAAI,4DAAc,CAAS,sBAAsB,CAAC,CAAC;AAGhF,MAAM,sBAAsB;IAK/B,YAAgC,IAAgB,EAA4C,OAAgB;QAFlG,qBAAgB,GAAmD,SAAS,CAAC;QAGnF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED;;;;OAIG;IACH,uBAAuB,CAAC,UAA8B,EAAE,SAA6B;QACjF,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,+DAA+D,CAAC;QAC1F,IAAI,UAAU,KAAK,IAAI;YACnB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aAC7D,IAAI,UAAU,KAAK,SAAS;YAC7B,IAAI,IAAI,aAAa,GAAG,kBAAkB,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;QACtE,IAAI,SAAS,KAAK,IAAI;YAClB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;aAC5D,IAAI,SAAS,KAAK,SAAS;YAC5B,IAAI,IAAI,YAAY,GAAG,kBAAkB,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC;QACpE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,8BAA8B,CAAC,SAAS,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,8BAA8B,CAAM,SAAS,CAAC,CAAC;iBAC9D;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAiD,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACxE;aACJ;;gBACG,OAAiD,uDAAgB,CAAC,SAAS,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,8BAA8B,CAAC,QAA0B;QAC/D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,uBAAuB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC1D,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAA+B,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,IAAsC;QAChD,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,mDAAmD,CAAC;QAC9E,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEtC,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,cAAc,EAAE,8DAA8D;gBAC9E,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,oBAAoB,CAAM,SAAS,CAAC,CAAC;iBACpD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAA+C,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACtE;aACJ;;gBACG,OAA+C,uDAAgB,CAAC,SAAS,CAAC,CAAC;QACnF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,oBAAoB,CAAC,QAA0B;QACrD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,qBAAqB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACxD,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAA6B,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,SAA6B;QACvC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,oDAAoD,CAAC;QAC/E,IAAI,SAAS,KAAK,IAAI;YAClB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;aAC5D,IAAI,SAAS,KAAK,SAAS;YAC5B,IAAI,IAAI,YAAY,GAAG,kBAAkB,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC;QACpE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,oBAAoB,CAAM,SAAS,CAAC,CAAC;iBACpD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAiD,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACxE;aACJ;;gBACG,OAAiD,uDAAgB,CAAC,SAAS,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,oBAAoB,CAAC,QAA0B;QACrD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,uBAAuB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC1D,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAA+B,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED;;;OAGG;IACH,eAAe,CAAC,IAA6C;QACzD,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,qDAAqD,CAAC;QAChF,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEtC,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,cAAc,EAAE,8DAA8D;gBAC9E,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,sBAAsB,CAAM,SAAS,CAAC,CAAC;iBACtD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAsD,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBAC7E;aACJ;;gBACG,OAAsD,uDAAgB,CAAC,SAAS,CAAC,CAAC;QAC1F,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,sBAAsB,CAAC,QAA0B;QACvD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,4BAA4B,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC/D,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAAoC,IAAI,CAAC,CAAC;IAClE,CAAC;IAED;;;OAGG;IACH,yBAAyB,CAAC,IAA0C;QAChE,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,gEAAgE,CAAC;QAC3F,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEtC,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,cAAc,EAAE,8DAA8D;gBAC9E,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,gCAAgC,CAAC,SAAS,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,gCAAgC,CAAM,SAAS,CAAC,CAAC;iBAChE;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAmD,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBAC1E;aACJ;;gBACG,OAAmD,uDAAgB,CAAC,SAAS,CAAC,CAAC;QACvF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,gCAAgC,CAAC,QAA0B;QACjE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,yBAAyB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC5D,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAAiC,IAAI,CAAC,CAAC;IAC/D,CAAC;;4FArSQ,sBAAsB,yDAKX,+DAAU,0DAAwC,oBAAoB;yGALjF,sBAAsB,WAAtB,sBAAsB;6FAAtB,sBAAsB;cADlC,wDAAU;;sBAMM,oDAAM;uBAAC,+DAAU;;sBAAqB,sDAAQ;;sBAAI,oDAAM;uBAAC,oBAAoB;;AAoSvF,MAAM,sBAAsB;IAK/B,YAAgC,IAAgB,EAA4C,OAAgB;QAFlG,qBAAgB,GAAmD,SAAS,CAAC;QAGnF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,IAAkC;QACxC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,gDAAgD,CAAC;QAC3E,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEtC,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,cAAc,EAAE,8DAA8D;gBAC9E,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,gBAAgB,CAAM,SAAS,CAAC,CAAC;iBAChD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAA2C,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBAClE;aACJ;;gBACG,OAA2C,uDAAgB,CAAC,SAAS,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,gBAAgB,CAAC,QAA0B;QACjD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACpD,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAAyB,IAAI,CAAC,CAAC;IACvD,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,SAA6B;QAC3C,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,0DAA0D,CAAC;QACrF,IAAI,SAAS,KAAK,IAAI;YAClB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;aAC5D,IAAI,SAAS,KAAK,SAAS;YAC5B,IAAI,IAAI,YAAY,GAAG,kBAAkB,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC;QACpE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,wBAAwB,CAAM,SAAS,CAAC,CAAC;iBACxD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAiD,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACxE;aACJ;;gBACG,OAAiD,uDAAgB,CAAC,SAAS,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,wBAAwB,CAAC,QAA0B;QACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,uBAAuB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC1D,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAA+B,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED;;;OAGG;IACH,eAAe,CAAC,MAA0B;QACtC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,wDAAwD,CAAC;QACnF,IAAI,MAAM,KAAK,IAAI;YACf,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aACzD,IAAI,MAAM,KAAK,SAAS;YACzB,IAAI,IAAI,SAAS,GAAG,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;QAC9D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,sBAAsB,CAAM,SAAS,CAAC,CAAC;iBACtD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAiD,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACxE;aACJ;;gBACG,OAAiD,uDAAgB,CAAC,SAAS,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,sBAAsB,CAAC,QAA0B;QACvD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,uBAAuB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC1D,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAA+B,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,UAA8B,EAAE,SAA6B,EAAE,QAA6B;QACvG,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,uDAAuD,CAAC;QAClF,IAAI,UAAU,KAAK,IAAI;YACnB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aAC7D,IAAI,UAAU,KAAK,SAAS;YAC7B,IAAI,IAAI,aAAa,GAAG,kBAAkB,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;QACtE,IAAI,SAAS,KAAK,IAAI;YAClB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;aAC5D,IAAI,SAAS,KAAK,SAAS;YAC5B,IAAI,IAAI,YAAY,GAAG,kBAAkB,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC;QACpE,IAAI,QAAQ,KAAK,IAAI;YACjB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;aAC3D,IAAI,QAAQ,KAAK,SAAS;YAC3B,IAAI,IAAI,WAAW,GAAG,kBAAkB,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC;QAClE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,qBAAqB,CAAM,SAAS,CAAC,CAAC;iBACrD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAgD,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACvE;aACJ;;gBACG,OAAgD,uDAAgB,CAAC,SAAS,CAAC,CAAC;QACpF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,qBAAqB,CAAC,QAA0B;QACtD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,sBAAsB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACzD,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAA8B,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,IAAoC;QAC9C,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,oDAAoD,CAAC;QAC/E,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEtC,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,cAAc,EAAE,8DAA8D;gBAC9E,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,oBAAoB,CAAM,SAAS,CAAC,CAAC;iBACpD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAA6C,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACpE;aACJ;;gBACG,OAA6C,uDAAgB,CAAC,SAAS,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,oBAAoB,CAAC,QAA0B;QACrD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,mBAAmB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACtD,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAA2B,IAAI,CAAC,CAAC;IACzD,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,IAAmC;QAC1C,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,iDAAiD,CAAC;QAC5E,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEtC,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,cAAc,EAAE,8DAA8D;gBAC9E,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,iBAAiB,CAAM,SAAS,CAAC,CAAC;iBACjD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAA4C,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACnE;aACJ;;gBACG,OAA4C,uDAAgB,CAAC,SAAS,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,iBAAiB,CAAC,QAA0B;QAClD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACrD,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAA0B,IAAI,CAAC,CAAC;IACxD,CAAC;;4FAlWQ,sBAAsB,yDAKX,+DAAU,0DAAwC,oBAAoB;yGALjF,sBAAsB,WAAtB,sBAAsB;6FAAtB,sBAAsB;cADlC,wDAAU;;sBAMM,oDAAM;uBAAC,+DAAU;;sBAAqB,sDAAQ;;sBAAI,oDAAM;uBAAC,oBAAoB;;AAgW9F,IAAY,kBAOX;AAPD,WAAY,kBAAkB;IAC1B,oDAAgB,UAAU;IAC1B,+CAAW,KAAK;IAChB,sDAAkB,YAAY;IAC9B,qDAAiB,WAAW;IAC5B,kDAAc,QAAQ;IACtB,qDAAiB,WAAW;AAChC,CAAC,EAPW,kBAAkB,KAAlB,kBAAkB,QAO7B;AAEM,MAAM,uBAAuB;IAchC,YAAY,IAA+B;QACvC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC9C,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;SACjD;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QAC7C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAiBM,MAAM,oBAAoB;IAQ7B,YAAY,IAA4B;QACpC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;YAC1C,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;SACzC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAWM,MAAM,WAAW;IAKpB,YAAY,IAAmB;QAC3B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAChD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;SAC3C;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAQM,MAAM,cAAc;IAOvB,YAAY,IAAsB;QAC9B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;SACrC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAUM,MAAM,qBAAqB;IAO9B,YAAY,IAA6B;QACrC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAClF,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;SACjG;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAClE,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC3E,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAUM,MAAM,uBAAuB;IAKhC,YAAY,IAA+B;QACvC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;YAC1C,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAClD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;SACzC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACjD,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAQM,MAAM,2BAA2B;IAIpC,YAAY,IAAmC;QAC3C,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;SACzC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,2BAA2B,EAAE,CAAC;QAC/C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,2BAA2B,EAAE,CAAC;QAC/C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAOM,MAAM,4BAA4B;IAMrC,YAAY,IAAoC;QAC5C,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAClF,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;SACjG;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,4BAA4B,EAAE,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAClE,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC3E,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,4BAA4B,EAAE,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AASM,MAAM,wBAAwB;IAKjC,YAAY,IAAgC;QACxC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YAC9B,IAAK,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;SAChC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,wBAAwB,EAAE,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,wBAAwB,EAAE,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAQM,MAAM,yBAAyB;IAGlC,YAAY,IAAiC;QACzC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;SACvC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,yBAAyB,EAAE,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,yBAAyB,EAAE,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAMM,MAAM,gBAAgB;IAGzB,YAAY,IAAwB;QAChC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;SACjC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAMD,IAAY,iBAKX;AALD,WAAY,iBAAiB;IACzB,oDAAkB,YAAY;IAC9B,mDAAiB,WAAW;IAC5B,gDAAc,QAAQ;IACtB,mDAAiB,WAAW;AAChC,CAAC,EALW,iBAAiB,KAAjB,iBAAiB,QAK5B;AAEM,MAAM,cAAc;IAavB,YAAY,IAAsB;QAC9B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAChD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAClF,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC9F,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,mCAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACzG,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;YAC5C,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;YAC1C,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAClD,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;SACzB;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAClE,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC3E,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC/F,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAgBM,MAAM,iBAAiB;IAI1B,YAAY,IAAyB;QACjC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;SAC9F;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACxE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAOM,MAAM,eAAe;IAcxB,YAAY,IAAuB;QAC/B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC5D,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAChD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;YAC1C,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC9C,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;SAC7C;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC;QAC3D,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAiBM,MAAM,uBAAuB;IAIhC,YAAY,IAA+B;QACvC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAChD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;SACtF;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC/D,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAOM,MAAM,uBAAuB;IAIhC,YAAY,IAA+B;QACvC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACnF,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE;gBAClC,IAAI,CAAC,QAAQ,GAAG,EAAS,CAAC;gBAC1B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC;oBAC9B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACvD;SACJ;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC/D,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC9B,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;YACtB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ;gBAC1B,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAC5C;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAOM,MAAM,0BAA0B;IAOnC,YAAY,IAAkC;QAC1C,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;QACD,IAAI,CAAC,cAAc,GAAG,4BAA4B,CAAC;IACvD,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YAClB,IAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;SAC5C;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,YAAY,EAAE;YAChC,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO,MAAM,CAAC;SACjB;QACD,IAAI,MAAM,GAAG,IAAI,0BAA0B,EAAE,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,0BAA0B,EAAE,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAQM,MAAM,UAAW,SAAQ,0BAA0B;IAEtD,YAAY,IAAkB;QAC1B,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,cAAc,GAAG,YAAY,CAAC;IACvC,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAKD,IAAY,iBAQX;AARD,WAAY,iBAAiB;IACzB,kDAAgB,UAAU;IAC1B,mDAAiB,WAAW;IAC5B,kDAAgB,UAAU;IAC1B,oDAAkB,YAAY;IAC9B,qDAAmB,aAAa;IAChC,mDAAiB,WAAW;IAC5B,8CAAY,MAAM;AACtB,CAAC,EARW,iBAAiB,KAAjB,iBAAiB,QAQ5B;AAED,IAAY,cAIX;AAJD,WAAY,cAAc;IACtB,yCAAa,OAAO;IACpB,wCAAY,MAAM;IAClB,4CAAgB,UAAU;AAC9B,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB;AAEM,MAAM,KAAK;IAMd,YAAY,IAAa;QACrB,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;QACD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;IAClC,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;SAC7B;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,oBAAoB,EAAE;YACxC,IAAI,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO,MAAM,CAAC;SACjB;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,aAAa,EAAE;YACjC,IAAI,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO,MAAM,CAAC;SACjB;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,YAAY,EAAE;YAChC,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO,MAAM,CAAC;SACjB;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,WAAW,EAAE;YAC/B,IAAI,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO,MAAM,CAAC;SACjB;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,iBAAiB,EAAE;YACrC,IAAI,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO,MAAM,CAAC;SACjB;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,WAAW,EAAE;YAC/B,IAAI,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO,MAAM,CAAC;SACjB;QACD,IAAI,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QACpC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAOM,MAAM,kBAAmB,SAAQ,KAAK;IAOzC,YAAY,IAA0B;QAClC,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,cAAc,GAAG,oBAAoB,CAAC;IAC/C,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACjF,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;SACzC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAClE,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAUM,MAAM,SAAS;IAQlB,YAAY,IAAiB;QACzB,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YACpB,IAAK,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACjF,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;SAC7B;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAClE,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAWD,IAAY,UAIX;AAJD,WAAY,UAAU;IAClB,kCAAc,QAAQ;IACtB,oCAAgB,UAAU;IAC1B,+BAAW,KAAK;AACpB,CAAC,EAJW,UAAU,KAAV,UAAU,QAIrB;AAEM,MAAM,cAAc;IAOvB,YAAY,IAAsB;QAC9B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE;gBAChC,IAAI,CAAC,MAAM,GAAG,EAAS,CAAC;gBACxB,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC;oBAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAChD;YACD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;SACzC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAC5B,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YACpB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM;gBACxB,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAC1C;QACD,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAUM,MAAM,IAAI;IAGb,YAAY,IAAY;QACpB,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;SAClG;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACxE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAMM,MAAM,UAAU;IAQnB,YAAY,IAAkB;QAC1B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;QACD,IAAI,CAAC,cAAc,GAAG,YAAY,CAAC;IACvC,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAClG,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE;gBAC/B,IAAI,CAAC,KAAK,GAAG,EAAS,CAAC;gBACvB,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC;oBAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAC1C;YACD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;SAC7B;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,uBAAuB,EAAE;YAC3C,IAAI,MAAM,GAAG,IAAI,qBAAqB,EAAE,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO,MAAM,CAAC;SACjB;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,sBAAsB,EAAE;YAC1C,IAAI,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO,MAAM,CAAC;SACjB;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,qBAAqB,EAAE;YACzC,IAAI,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO,MAAM,CAAC;SACjB;QACD,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QACpC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC3E,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACnB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK;gBACvB,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACzC;QACD,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AASM,MAAM,qBAAsB,SAAQ,UAAU;IAIjD,YAAY,IAA6B;QACrC,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,cAAc,GAAG,uBAAuB,CAAC;IAClD,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC/F,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;SAC9F;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACxE,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACxE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAOD,IAAY,WAGX;AAHD,WAAY,WAAW;IACnB,kCAAY,MAAM;IAClB,mCAAa,OAAO;AACxB,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB;AAEM,MAAM,WAAW;IAKpB,YAAY,IAAmB;QAC3B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;SAC3C;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAQD,IAAY,cAIX;AAJD,WAAY,cAAc;IACtB,6CAAiB,WAAW;IAC5B,+CAAmB,aAAa;IAChC,iDAAqB,eAAe;AACxC,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB;AAED,IAAY,cAOX;AAPD,WAAY,cAAc;IACtB,6CAAiB,WAAW;IAC5B,4CAAgB,UAAU;IAC1B,gDAAoB,cAAc;IAClC,4CAAgB,UAAU;IAC1B,kDAAsB,gBAAgB;IACtC,2CAAe,SAAS;AAC5B,CAAC,EAPW,cAAc,KAAd,cAAc,QAOzB;AAEM,MAAM,WAAW;IAGpB,YAAY,IAAmB;QAC3B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;SAC/B;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAMM,MAAM,aAAa;IAgBtB,YAAY,IAAqB;QAC7B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,EAAE;gBACtC,IAAI,CAAC,YAAY,GAAG,EAAS,CAAC;gBAC9B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,cAAc,CAAC;oBAClC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACxD;YACD,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;YAC1C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC9C,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACjF,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC3F,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE;gBACjC,IAAI,CAAC,OAAO,GAAG,EAAS,CAAC;gBACzB,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,SAAS,CAAC;oBAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACnD;YACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;SAC3C;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;YAClC,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;YAC1B,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY;gBAC9B,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAChD;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAClE,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACxE,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC7B,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;YACrB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO;gBACzB,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAC3C;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAmBM,MAAM,oBAAqB,SAAQ,UAAU;IAOhD,YAAY,IAA4B;QACpC,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,cAAc,GAAG,sBAAsB,CAAC;IACjD,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,IAAI,KAAK,EAAE;YACP,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,EAAE;gBACtC,IAAI,CAAC,YAAY,GAAG,EAAS,CAAC;gBAC9B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,cAAc,CAAC;oBAClC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACxD;YACD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC/F,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE;gBAChC,IAAI,CAAC,MAAM,GAAG,EAAS,CAAC;gBACxB,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC;oBAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACpD;YACD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;SAC3C;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;YAClC,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;YAC1B,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY;gBAC9B,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAChD;QACD,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACxE,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAC5B,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YACpB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM;gBACxB,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAC1C;QACD,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAUM,MAAM,UAAU;IAMnB,YAAY,IAAkB;QAC1B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACjF,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;SAC/B;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAClE,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AASM,MAAM,eAAe;IAOxB,YAAY,IAAuB;QAC/B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC/F,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACnG,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,EAAE;gBACvC,IAAI,CAAC,aAAa,GAAG,EAAS,CAAC;gBAC/B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,eAAe,CAAC;oBACnC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACxD;YACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;SAC7B;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACxE,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACpF,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;YACnC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;YAC3B,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,aAAa;gBAC/B,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACjD;QACD,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAUM,MAAM,mBAAoB,SAAQ,UAAU;IAI/C,YAAY,IAA2B;QACnC,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,cAAc,GAAG,qBAAqB,CAAC;IAChD,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC/F,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;SAC/B;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACxE,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAOM,MAAM,SAAS;IAKlB,YAAY,IAAiB;QACzB,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;SACjC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAQM,MAAM,mBAAmB;IAK5B,YAAY,IAA2B;QACnC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;QACD,IAAI,CAAC,cAAc,GAAG,qBAAqB,CAAC;IAChD,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;SAC/B;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,WAAW,EAAE;YAC/B,IAAI,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO,MAAM,CAAC;SACjB;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,WAAW,EAAE;YAC/B,IAAI,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO,MAAM,CAAC;SACjB;QACD,IAAI,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAMM,MAAM,SAAU,SAAQ,mBAAmB;IAE9C,YAAY,IAAiB;QACzB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC;IACtC,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAKM,MAAM,SAAU,SAAQ,KAAK;IAGhC,YAAY,IAAiB;QACzB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC;IACtC,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;SAChF;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC/D,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAMM,MAAM,eAAgB,SAAQ,KAAK;IAItC,YAAY,IAAuB;QAC/B,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,cAAc,GAAG,iBAAiB,CAAC;IAC5C,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACtF,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;SACzF;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACxE,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACxE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAOM,MAAM,SAAU,SAAQ,mBAAmB;IAG9C,YAAY,IAAiB;QACzB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC;IACtC,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;SACjC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAMM,MAAM,SAAU,SAAQ,KAAK;IAGhC,YAAY,IAAiB;QACzB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC;IACtC,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;SAChF;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC/D,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAMM,MAAM,UAAW,SAAQ,KAAK;IAKjC,YAAY,IAAkB;QAC1B,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,cAAc,GAAG,YAAY,CAAC;IACvC,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,IAAI,KAAK,EAAE;YACP,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE;gBAC/B,IAAI,CAAC,KAAK,GAAG,EAAS,CAAC;gBACvB,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC;oBAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACjD;SACJ;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,aAAa,EAAE;YACjC,IAAI,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO,MAAM,CAAC;SACjB;QACD,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QACpC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACnB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK;gBACvB,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACzC;QACD,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAMM,MAAM,WAAY,SAAQ,UAAU;IAKvC,YAAY,IAAmB;QAC3B,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IACxC,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,IAAI,KAAK,EAAE;YACP,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE;gBAC/B,IAAI,CAAC,KAAK,GAAG,EAAS,CAAC;gBACvB,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC;oBAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACjD;YACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;SAC7B;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACnB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK;gBACvB,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACzC;QACD,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAQM,MAAM,mBAAmB;IA0B5B,YAAY,IAA2B;QACnC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACnI,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC/H,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACpH,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC3H,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC9C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACtF,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAChI,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACpG,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACpH,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC5F,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;SAC/F;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACzG,IAAI,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACtG,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAChG,IAAI,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACnG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACxE,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACzG,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACpF,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAChG,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC9E,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC9E,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AA6BM,MAAM,WAAW;IAMpB,YAAY,IAAmB;QAC3B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;SACzB;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AASD,IAAY,cAOX;AAPD,WAAY,cAAc;IACtB,6CAAiB,WAAW;IAC5B,6CAAiB,WAAW;IAC5B,oDAAwB,kBAAkB;IAC1C,2CAAe,SAAS;IACxB,8CAAkB,YAAY;IAC9B,kDAAsB,gBAAgB;AAC1C,CAAC,EAPW,cAAc,KAAd,cAAc,QAOzB;AAEM,MAAM,IAAI;IAKb,YAAY,IAAY;QACpB,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;SACrC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAQD,IAAY,cAGX;AAHD,WAAY,cAAc;IACtB,6CAAiB,WAAW;IAC5B,0CAAc,QAAQ;AAC1B,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;AAED,IAAY,cAKX;AALD,WAAY,cAAc;IACtB,uCAAW,KAAK;IAChB,6CAAiB,WAAW;IAC5B,6CAAiB,WAAW;IAC5B,yCAAa,OAAO;AACxB,CAAC,EALW,cAAc,KAAd,cAAc,QAKzB;AAEM,MAAM,aAAa;IAQtB,YAAY,IAAqB;QAC7B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE;gBACjB,IAAI,CAAC,MAAM,GAAG,EAAS,CAAC;gBACxB,KAAK,IAAI,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE;oBAC7B,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC;wBAC7B,IAAI,CAAC,MAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC;iBACtD;aACJ;YACK,IAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YACnC,IAAK,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YAC3C,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;SAC7C;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;QACvB,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YACpB,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE;gBACzB,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC;oBACzB,IAAI,CAAC,QAAQ,CAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;aACrD;SACJ;QACD,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAWM,MAAM,kBAAkB;IAY3B,YAAY,IAA0B;QAClC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACxE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE;gBAClB,IAAI,CAAC,OAAO,GAAG,EAAS,CAAC;gBACzB,KAAK,IAAI,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE;oBAC9B,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC;wBAC9B,IAAI,CAAC,OAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE,CAAC;iBAC5H;aACJ;YACD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;SACrC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC/D,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;YACrB,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE;gBAC1B,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC;oBAC1B,IAAI,CAAC,SAAS,CAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;aACrG;SACJ;QACD,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAeM,MAAM,sBAAsB;IAQ/B,YAAY,IAA8B;QACtC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC3F,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE;gBAC/B,IAAI,CAAC,KAAK,GAAG,EAAS,CAAC;gBACvB,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC;oBAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACzD;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE;gBAC/B,IAAI,CAAC,KAAK,GAAG,EAAS,CAAC;gBACvB,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC;oBAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACjD;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE;gBACnC,IAAI,CAAC,SAAS,GAAG,EAAS,CAAC;gBAC3B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,WAAW,CAAC;oBAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAC5D;SACJ;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,sBAAsB,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACxE,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACnB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK;gBACvB,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACzC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACnB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK;gBACvB,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACzC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;YACvB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS;gBAC3B,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAC7C;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,sBAAsB,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAWM,MAAM,gBAAgB;IAIzB,YAAY,IAAwB;QAChC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE;gBACjB,IAAI,CAAC,MAAM,GAAG,EAAS,CAAC;gBACxB,KAAK,IAAI,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE;oBAC7B,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC;wBAC7B,IAAI,CAAC,MAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC;iBACtD;aACJ;SACJ;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;QACvB,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YACpB,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE;gBACzB,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC;oBACzB,IAAI,CAAC,QAAQ,CAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;aACrD;SACJ;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAOM,MAAM,wBAAwB;IAQjC,YAAY,IAAgC;QACxC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE;gBACjC,IAAI,CAAC,OAAO,GAAG,EAAS,CAAC;gBACzB,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,SAAS,CAAC;oBAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACxD;YACD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;SACzC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,wBAAwB,EAAE,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC7B,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;YACrB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO;gBACzB,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAC3C;QACD,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,wBAAwB,EAAE,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAWM,MAAM,kBAAkB;IAK3B,YAAY,IAA0B;QAClC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE;gBACnC,IAAI,CAAC,SAAS,GAAG,EAAS,CAAC;gBAC3B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,WAAW,CAAC;oBAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAClE;SACJ;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;YACvB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS;gBAC3B,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAC7C;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAQM,MAAM,mBAAmB;IAG5B,YAAY,IAA2B;QACnC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE;gBACpC,IAAI,CAAC,UAAU,GAAG,EAAS,CAAC;gBAC5B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,YAAY,CAAC;oBAChC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClC;SACJ;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YAChC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;YACxB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU;gBAC5B,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACrC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAMM,MAAM,iBAAiB;IAK1B,YAAY,IAAyB;QACjC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE;gBACnC,IAAI,CAAC,SAAS,GAAG,EAAS,CAAC;gBAC3B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,WAAW,CAAC;oBAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAClE;SACJ;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;YACvB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS;gBAC3B,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAC7C;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAQM,MAAM,aAAa;IAUtB,YAAY,IAAqB;QAC7B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;YAC5C,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAChD,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACpD,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAClE,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACxD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAClF,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC9F,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;SACjC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACnD,IAAI,CAAC,0BAA0B,CAAC,GAAG,IAAI,CAAC,wBAAwB,CAAC;QACjE,IAAI,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACvD,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAClE,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC3E,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAaM,MAAM,kBAAkB;IAM3B,YAAY,IAA0B;QAClC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACvF,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE;gBACjC,IAAI,CAAC,OAAO,GAAG,EAAS,CAAC;gBACzB,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,SAAS,CAAC;oBAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAC1D;SACJ;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACrE,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC7B,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;YACrB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO;gBACzB,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAC3C;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AASM,MAAM,YAAa,SAAQ,KAAK;IAOnC,YAAY,OAAe,EAAE,MAAc,EAAE,QAAgB,EAAE,OAAgC,EAAE,MAAW;QACxG,KAAK,EAAE,CAAC;QASF,mBAAc,GAAG,IAAI,CAAC;QAP5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAID,MAAM,CAAC,cAAc,CAAC,GAAQ;QAC1B,OAAO,GAAG,CAAC,cAAc,KAAK,IAAI,CAAC;IACvC,CAAC;CACJ;AAED,SAAS,cAAc,CAAC,OAAe,EAAE,MAAc,EAAE,QAAgB,EAAE,OAAgC,EAAE,MAAY;IACrH,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS;QACvC,OAAO,uDAAgB,CAAC,MAAM,CAAC,CAAC;;QAEhC,OAAO,uDAAgB,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AAC5F,CAAC;AAED,SAAS,UAAU,CAAC,IAAS;IACzB,OAAO,IAAI,+CAAU,CAAS,CAAC,QAAa,EAAE,EAAE;QAC5C,IAAI,CAAC,IAAI,EAAE;YACP,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClB,QAAQ,CAAC,QAAQ,EAAE,CAAC;SACvB;aAAM;YACH,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,EAAE;gBACpB,QAAQ,CAAC,IAAI,CAAO,KAAK,CAAC,MAAO,CAAC,MAAM,CAAC,CAAC;gBAC1C,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACxB,CAAC,CAAC;YACF,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SAC3B;IACL,CAAC,CAAC,CAAC;AACP,CAAC;;;;;;;;;;;;;ACv9HD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAoB;AACpB,oBAAoB;AACpB,wBAAwB;AACxB,mBAAmB;AACnB,4HAA4H;AAC5H,oBAAoB;AACpB,wBAAwB;AACxB,uCAAuC;AAE0D;AACV;AACV;AACkB;AAE9D;;;AAE1B,MAAM,mBAAmB,GAAG,IAAI,4DAAc,CAAS,qBAAqB,CAAC,CAAC;AAG9E,MAAM,sBAAsB;IAK/B,YAAgC,IAAgB,EAA2C,OAAgB;QAFjG,qBAAgB,GAAmD,SAAS,CAAC;QAGnF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED;;;;OAIG;IACH,kBAAkB,CAAC,UAA8B,EAAE,MAA0B;QACzE,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,yDAAyD,CAAC;QACpF,IAAI,UAAU,KAAK,IAAI;YACnB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aAC7D,IAAI,UAAU,KAAK,SAAS;YAC7B,IAAI,IAAI,aAAa,GAAG,kBAAkB,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;QACtE,IAAI,MAAM,KAAK,IAAI;YACf,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aACzD,IAAI,MAAM,KAAK,SAAS;YACzB,IAAI,IAAI,SAAS,GAAG,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;QAC9D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,yBAAyB,CAAM,SAAS,CAAC,CAAC;iBACzD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAA4C,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACnE;aACJ;;gBACG,OAA4C,uDAAgB,CAAC,SAAS,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,yBAAyB,CAAC,QAA0B;QAC1D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACrD,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAA0B,IAAI,CAAC,CAAC;IACxD,CAAC;IAED;;;OAGG;IACH,eAAe,CAAC,SAA6B;QACzC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,qDAAqD,CAAC;QAChF,IAAI,SAAS,KAAK,IAAI;YAClB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;aAC5D,IAAI,SAAS,KAAK,SAAS;YAC5B,IAAI,IAAI,YAAY,GAAG,kBAAkB,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC;QACpE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,sBAAsB,CAAM,SAAS,CAAC,CAAC;iBACtD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAA2C,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBAClE;aACJ;;gBACG,OAA2C,uDAAgB,CAAC,SAAS,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,sBAAsB,CAAC,QAA0B;QACvD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAC9B,SAAS,GAAG,EAAS,CAAC;oBACtB,KAAK,IAAI,IAAI,IAAI,aAAa;wBAC1B,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;iBACpD;qBACI;oBACD,SAAS,GAAQ,IAAI,CAAC;iBACzB;gBACD,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAAyB,IAAI,CAAC,CAAC;IACvD,CAAC;;4FApIQ,sBAAsB,yDAKX,+DAAU,0DAAwC,mBAAmB;yGALhF,sBAAsB,WAAtB,sBAAsB;6FAAtB,sBAAsB;cADlC,wDAAU;;sBAMM,oDAAM;uBAAC,+DAAU;;sBAAqB,sDAAQ;;sBAAI,oDAAM;uBAAC,mBAAmB;;AAmItF,MAAM,kBAAkB;IAK3B,YAAgC,IAAgB,EAA2C,OAAgB;QAFjG,qBAAgB,GAAmD,SAAS,CAAC;QAGnF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED;;;;;OAKG;IACH,mBAAmB,CAAC,SAA6B,EAAE,QAA4B,EAAE,SAA6B;QAC1G,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,sDAAsD,CAAC;QACjF,IAAI,SAAS,KAAK,IAAI;YAClB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;aAC5D,IAAI,SAAS,KAAK,SAAS;YAC5B,IAAI,IAAI,YAAY,GAAG,kBAAkB,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC;QACpE,IAAI,QAAQ,KAAK,IAAI;YACjB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;aAC3D,IAAI,QAAQ,KAAK,SAAS;YAC3B,IAAI,IAAI,WAAW,GAAG,kBAAkB,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC;QAClE,IAAI,SAAS,KAAK,IAAI;YAClB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;aAC5D,IAAI,SAAS,KAAK,SAAS;YAC5B,IAAI,IAAI,YAAY,GAAG,kBAAkB,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC;QACpE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,0BAA0B,CAAM,SAAS,CAAC,CAAC;iBAC1D;gBAAC,OAAO,CAAC,EAAE;oBACR,OAA+C,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACtE;aACJ;;gBACG,OAA+C,uDAAgB,CAAC,SAAS,CAAC,CAAC;QACnF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,0BAA0B,CAAC,QAA0B;QAC3D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,qBAAqB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACxD,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAA6B,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,QAA4B;QAC1C,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,oDAAoD,CAAC;QAC/E,IAAI,QAAQ,KAAK,IAAI;YACjB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;aAC3D,IAAI,QAAQ,KAAK,SAAS;YAC3B,IAAI,IAAI,WAAW,GAAG,kBAAkB,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC;QAClE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,wBAAwB,CAAM,SAAS,CAAC,CAAC;iBACxD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAiD,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACxE;aACJ;;gBACG,OAAiD,uDAAgB,CAAC,SAAS,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,wBAAwB,CAAC,QAA0B;QACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,uBAAuB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC1D,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAA+B,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,SAA6B,EAAE,UAA8B;QACrE,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,6CAA6C,CAAC;QACxE,IAAI,SAAS,KAAK,IAAI;YAClB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;aAC5D,IAAI,SAAS,KAAK,SAAS;YAC5B,IAAI,IAAI,YAAY,GAAG,kBAAkB,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC;QACpE,IAAI,UAAU,KAAK,IAAI;YACnB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aAC7D,IAAI,UAAU,KAAK,SAAS;YAC7B,IAAI,IAAI,aAAa,GAAG,kBAAkB,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;QACtE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,kBAAkB,CAAM,SAAS,CAAC,CAAC;iBAClD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAA4C,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACnE;aACJ;;gBACG,OAA4C,uDAAgB,CAAC,SAAS,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,kBAAkB,CAAC,QAA0B;QACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACrD,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAA0B,IAAI,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,eAAe;QACX,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,iDAAiD,CAAC;QAC5E,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,sBAAsB,CAAM,SAAS,CAAC,CAAC;iBACtD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAiD,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACxE;aACJ;;gBACG,OAAiD,uDAAgB,CAAC,SAAS,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,sBAAsB,CAAC,QAA0B;QACvD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAC9B,SAAS,GAAG,EAAS,CAAC;oBACtB,KAAK,IAAI,IAAI,IAAI,aAAa;wBAC1B,SAAS,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;iBAC1D;qBACI;oBACD,SAAS,GAAQ,IAAI,CAAC;iBACzB;gBACD,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAA+B,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED;;;OAGG;IACH,uBAAuB,CAAC,QAA4B;QAChD,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,2DAA2D,CAAC;QACtF,IAAI,QAAQ,KAAK,IAAI;YACjB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;aAC3D,IAAI,QAAQ,KAAK,SAAS;YAC3B,IAAI,IAAI,WAAW,GAAG,kBAAkB,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC;QAClE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,8BAA8B,CAAC,SAAS,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,8BAA8B,CAAM,SAAS,CAAC,CAAC;iBAC9D;gBAAC,OAAO,CAAC,EAAE;oBACR,OAA0C,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACjE;aACJ;;gBACG,OAA0C,uDAAgB,CAAC,SAAS,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,8BAA8B,CAAC,QAA0B;QAC/D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAC9B,SAAS,GAAG,EAAS,CAAC;oBACtB,KAAK,IAAI,IAAI,IAAI,aAAa;wBAC1B,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;iBACnD;qBACI;oBACD,SAAS,GAAQ,IAAI,CAAC;iBACzB;gBACD,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAAwB,IAAI,CAAC,CAAC;IACtD,CAAC;IAED;;;;OAIG;IACH,kBAAkB,CAAC,SAA6B,EAAE,QAA4B;QAC1E,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,qDAAqD,CAAC;QAChF,IAAI,SAAS,KAAK,IAAI;YAClB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;aAC5D,IAAI,SAAS,KAAK,SAAS;YAC5B,IAAI,IAAI,YAAY,GAAG,kBAAkB,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC;QACpE,IAAI,QAAQ,KAAK,IAAI;YACjB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;aAC3D,IAAI,QAAQ,KAAK,SAAS;YAC3B,IAAI,IAAI,WAAW,GAAG,kBAAkB,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC;QAClE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,yBAAyB,CAAM,SAAS,CAAC,CAAC;iBACzD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAA8C,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACrE;aACJ;;gBACG,OAA8C,uDAAgB,CAAC,SAAS,CAAC,CAAC;QAClF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,yBAAyB,CAAC,QAA0B;QAC1D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAC9B,SAAS,GAAG,EAAS,CAAC;oBACtB,KAAK,IAAI,IAAI,IAAI,aAAa;wBAC1B,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;iBACvD;qBACI;oBACD,SAAS,GAAQ,IAAI,CAAC;iBACzB;gBACD,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAA4B,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,SAA6B,EAAE,SAA6B;QACzE,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,mDAAmD,CAAC;QAC9E,IAAI,SAAS,KAAK,IAAI;YAClB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;aAC5D,IAAI,SAAS,KAAK,SAAS;YAC5B,IAAI,IAAI,YAAY,GAAG,kBAAkB,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC;QACpE,IAAI,SAAS,KAAK,IAAI;YAClB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;aAC5D,IAAI,SAAS,KAAK,SAAS;YAC5B,IAAI,IAAI,YAAY,GAAG,kBAAkB,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC;QACpE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,uBAAuB,CAAM,SAAS,CAAC,CAAC;iBACvD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAA4C,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACnE;aACJ;;gBACG,OAA4C,uDAAgB,CAAC,SAAS,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,uBAAuB,CAAC,QAA0B;QACxD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAC9B,SAAS,GAAG,EAAS,CAAC;oBACtB,KAAK,IAAI,IAAI,IAAI,aAAa;wBAC1B,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;iBACrD;qBACI;oBACD,SAAS,GAAQ,IAAI,CAAC;iBACzB;gBACD,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAA0B,IAAI,CAAC,CAAC;IACxD,CAAC;;oFAhcQ,kBAAkB,yDAKP,+DAAU,0DAAwC,mBAAmB;qGALhF,kBAAkB,WAAlB,kBAAkB;6FAAlB,kBAAkB;cAD9B,wDAAU;;sBAMM,oDAAM;uBAAC,+DAAU;;sBAAqB,sDAAQ;;sBAAI,oDAAM;uBAAC,mBAAmB;;AA+btF,MAAM,eAAe;IAKxB,YAAgC,IAAgB,EAA2C,OAAgB;QAFjG,qBAAgB,GAAmD,SAAS,CAAC;QAGnF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED;;;;OAIG;IACH,iBAAiB,CAAC,SAA6B,EAAE,QAA4B;QACzE,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,iDAAiD,CAAC;QAC5E,IAAI,SAAS,KAAK,IAAI;YAClB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;aAC5D,IAAI,SAAS,KAAK,SAAS;YAC5B,IAAI,IAAI,YAAY,GAAG,kBAAkB,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC;QACpE,IAAI,QAAQ,KAAK,IAAI;YACjB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;aAC3D,IAAI,QAAQ,KAAK,SAAS;YAC3B,IAAI,IAAI,WAAW,GAAG,kBAAkB,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC;QAClE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,wBAAwB,CAAM,SAAS,CAAC,CAAC;iBACxD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAoC,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBAC3D;aACJ;;gBACG,OAAoC,uDAAgB,CAAC,SAAS,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,wBAAwB,CAAC,QAA0B;QACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBAC9B,SAAS,GAAG,EAAS,CAAC;oBACtB,KAAK,IAAI,IAAI,IAAI,aAAa;wBAC1B,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;iBAC7C;qBACI;oBACD,SAAS,GAAQ,IAAI,CAAC;iBACzB;gBACD,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAAkB,IAAI,CAAC,CAAC;IAChD,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,SAA6B,EAAE,OAA2B;QAClE,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,0CAA0C,CAAC;QACrE,IAAI,SAAS,KAAK,IAAI;YAClB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;aAC5D,IAAI,SAAS,KAAK,SAAS;YAC5B,IAAI,IAAI,YAAY,GAAG,kBAAkB,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC;QACpE,IAAI,OAAO,KAAK,IAAI;YAChB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;aAC1D,IAAI,OAAO,KAAK,SAAS;YAC1B,IAAI,IAAI,UAAU,GAAG,kBAAkB,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC;QAChE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,kBAAkB,CAAM,SAAS,CAAC,CAAC;iBAClD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAgC,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBACvD;aACJ;;gBACG,OAAgC,uDAAgB,CAAC,SAAS,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,kBAAkB,CAAC,QAA0B;QACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAM,IAAI,CAAC;gBACpE,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAAc,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,UAA8B;QAC5C,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,iDAAiD,CAAC;QAC5E,IAAI,UAAU,KAAK,IAAI;YACnB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aAC7D,IAAI,UAAU,KAAK,SAAS;YAC7B,IAAI,IAAI,aAAa,GAAG,kBAAkB,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;QACtE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,wBAAwB,CAAM,SAAS,CAAC,CAAC;iBACxD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAA2C,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBAClE;aACJ;;gBACG,OAA2C,uDAAgB,CAAC,SAAS,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,wBAAwB,CAAC,QAA0B;QACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACpD,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAAyB,IAAI,CAAC,CAAC;IACvD,CAAC;;8EAjMQ,eAAe,yDAKJ,+DAAU,0DAAwC,mBAAmB;kGALhF,eAAe,WAAf,eAAe;6FAAf,eAAe;cAD3B,wDAAU;;sBAMM,oDAAM;uBAAC,+DAAU;;sBAAqB,sDAAQ;;sBAAI,oDAAM;uBAAC,mBAAmB;;AA+LtF,MAAM,eAAe;IAcxB,YAAY,IAAuB;QAC/B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,mCAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;SACnG;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACtF,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAiBM,MAAM,kBAAkB;IAO3B,YAAY,IAA0B;QAClC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,EAAE;gBACtC,IAAI,CAAC,YAAY,GAAG,EAAS,CAAC;gBAC9B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,cAAc,CAAC;oBAClC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAC5D;SACJ;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;YAClC,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;YAC1B,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY;gBAC9B,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAChD;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAUD,IAAY,iBAMX;AAND,WAAY,iBAAiB;IACzB,6CAAW,KAAK;IAChB,+CAAa,OAAO;IACpB,gDAAc,QAAQ;IACtB,mDAAiB,WAAW;IAC5B,kDAAgB,UAAU;AAC9B,CAAC,EANW,iBAAiB,KAAjB,iBAAiB,QAM5B;AAED,IAAY,kBAOX;AAPD,WAAY,kBAAkB;IAC1B,oDAAgB,UAAU;IAC1B,+CAAW,KAAK;IAChB,sDAAkB,YAAY;IAC9B,qDAAiB,WAAW;IAC5B,kDAAc,QAAQ;IACtB,qDAAiB,WAAW;AAChC,CAAC,EAPW,kBAAkB,KAAlB,kBAAkB,QAO7B;AAEM,MAAM,kBAAkB;IAoC3B,YAAY,IAA0B;QAClC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;YAC1C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC9C,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAChD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,mCAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACnG,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,mCAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACvF,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,mCAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC7F,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,mCAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACzG,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAClD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC9C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YACtB,IAAK,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YAC/C,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC9C,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAClD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAChD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC9C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;YAC1C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC5D,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YAClC,IAAK,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YAC7C,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;SACzB;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACzF,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC7E,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACnF,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC/F,IAAI,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACjD,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACjD,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC;QAC3D,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAuCM,MAAM,qBAAqB;IAG9B,YAAY,IAA6B;QACrC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE;gBACrC,IAAI,CAAC,WAAW,GAAG,EAAS,CAAC;gBAC7B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,aAAa,CAAC;oBACjC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAC9D;SACJ;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YACjC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;YACzB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW;gBAC7B,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAC/C;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAMM,MAAM,gBAAgB;IAYzB,YAAY,IAAwB;QAChC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;YAC5C,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;YAC1C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,mCAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC7F,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,mCAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACvF,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;YAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE;gBACpC,IAAI,CAAC,UAAU,GAAG,EAAS,CAAC;gBAC5B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,YAAY,CAAC;oBAChC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAC7D;YACD,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;SACzB;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACnF,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC7E,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;QAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YAChC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;YACxB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU;gBAC5B,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAC9C;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAeM,MAAM,gBAAgB;IAMzB,YAAY,IAAwB;QAChC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;YAC5C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;SACzB;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AASM,MAAM,uBAAuB;IAIhC,YAAY,IAA+B;QACvC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE;gBAClC,IAAI,CAAC,QAAQ,GAAG,EAAS,CAAC;gBAC1B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC;oBAC9B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACzD;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE;gBAClC,IAAI,CAAC,QAAQ,GAAG,EAAS,CAAC;gBAC1B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC;oBAC9B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACzD;SACJ;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC9B,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;YACtB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ;gBAC1B,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAC5C;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC9B,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;YACtB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ;gBAC1B,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAC5C;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAOM,MAAM,qBAAqB;IAW9B,YAAY,IAA6B;QACrC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;YAC5C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;YAC5C,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;SACjD;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QAC7C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAcM,MAAM,cAAc;IAMvB,YAAY,IAAsB;QAC9B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,mCAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACnG,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE;gBACjC,IAAI,CAAC,OAAO,GAAG,EAAS,CAAC;gBACzB,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,SAAS,CAAC;oBAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAC7D;YACD,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;SACzB;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACzF,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC7B,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;YACrB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO;gBACzB,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAC3C;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AASM,MAAM,kBAAkB;IAS3B,YAAY,IAA0B;QAClC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YACpB,IAAK,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1D,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAClD,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAClD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;SAC7C;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACzD,IAAI,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACjD,IAAI,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACjD,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAYM,MAAM,gBAAgB;IAazB,YAAY,IAAwB;QAChC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACxD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAC1C,IAAK,CAAC,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACvD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;YAC1C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE;gBACpC,IAAI,CAAC,UAAU,GAAG,EAAS,CAAC;gBAC5B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,YAAY,CAAC;oBAChC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAC7D;SACJ;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACvD,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YAChC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;YACxB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU;gBAC5B,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAC9C;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAgBD,IAAY,iBAKX;AALD,WAAY,iBAAiB;IACzB,mDAAiB,WAAW;IAC5B,mDAAiB,WAAW;IAC5B,oDAAkB,YAAY;IAC9B,mDAAiB,WAAW;AAChC,CAAC,EALW,iBAAiB,KAAjB,iBAAiB,QAK5B;AAEM,MAAM,QAAQ;IAYjB,YAAY,IAAgB;QACxB,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,mCAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC7F,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,mCAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACvF,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YAClC,IAAK,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YACjC,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;SACzB;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACnF,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC7E,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAeM,MAAM,iBAAiB;IAU1B,YAAY,IAAyB;QACjC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;SACnC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAaM,MAAM,YAAa,SAAQ,KAAK;IAOnC,YAAY,OAAe,EAAE,MAAc,EAAE,QAAgB,EAAE,OAAgC,EAAE,MAAW;QACxG,KAAK,EAAE,CAAC;QASF,mBAAc,GAAG,IAAI,CAAC;QAP5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAID,MAAM,CAAC,cAAc,CAAC,GAAQ;QAC1B,OAAO,GAAG,CAAC,cAAc,KAAK,IAAI,CAAC;IACvC,CAAC;CACJ;AAED,SAAS,cAAc,CAAC,OAAe,EAAE,MAAc,EAAE,QAAgB,EAAE,OAAgC,EAAE,MAAY;IACrH,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS;QACvC,OAAO,uDAAgB,CAAC,MAAM,CAAC,CAAC;;QAEhC,OAAO,uDAAgB,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AAC5F,CAAC;AAED,SAAS,UAAU,CAAC,IAAS;IACzB,OAAO,IAAI,+CAAU,CAAS,CAAC,QAAa,EAAE,EAAE;QAC5C,IAAI,CAAC,IAAI,EAAE;YACP,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClB,QAAQ,CAAC,QAAQ,EAAE,CAAC;SACvB;aAAM;YACH,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,EAAE;gBACpB,QAAQ,CAAC,IAAI,CAAO,KAAK,CAAC,MAAO,CAAC,MAAM,CAAC,CAAC;gBAC1C,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACxB,CAAC,CAAC;YACF,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SAC3B;IACL,CAAC,CAAC,CAAC;AACP,CAAC;;;;;;;;;;;;;AC/2DD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAoB;AACpB,oBAAoB;AACpB,wBAAwB;AACxB,mBAAmB;AACnB,4HAA4H;AAC5H,oBAAoB;AACpB,wBAAwB;AACxB,uCAAuC;AAE0D;AACV;AACV;AACkB;AAE9D;;;AAE1B,MAAM,oBAAoB,GAAG,IAAI,4DAAc,CAAS,sBAAsB,CAAC,CAAC;AAGhF,MAAM,iBAAiB;IAK1B,YAAgC,IAAgB,EAA4C,OAAgB;QAFlG,qBAAgB,GAAmD,SAAS,CAAC;QAGnF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,SAA6B;QAC3C,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,oDAAoD,CAAC;QAC/E,IAAI,SAAS,KAAK,IAAI;YAClB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;aAC5D,IAAI,SAAS,KAAK,SAAS;YAC5B,IAAI,IAAI,YAAY,GAAG,kBAAkB,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC;QACpE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,QAAQ,GAAS;YACjB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YACzF,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,wBAAwB,CAAM,SAAS,CAAC,CAAC;iBACxD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAmD,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBAC1E;aACJ;;gBACG,OAAmD,uDAAgB,CAAC,SAAS,CAAC,CAAC;QACvF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,wBAAwB,CAAC,QAA0B;QACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,yBAAyB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC5D,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAAiC,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,IAA0C;QACxD,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,mDAAmD,CAAC;QAC9E,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEtC,IAAI,QAAQ,GAAS;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACrB,cAAc,EAAE,8DAA8D;gBAC9E,QAAQ,EAAE,8DAA8D;aAC3E,CAAC;SACL,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,CAAC,SAAe,EAAE,EAAE;YAC1F,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iEAAgB,CAAC,CAAC,SAAc,EAAE,EAAE;YACzC,IAAI,SAAS,YAAY,qEAAgB,EAAE;gBACvC,IAAI;oBACA,OAAO,IAAI,CAAC,wBAAwB,CAAM,SAAS,CAAC,CAAC;iBACxD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAmD,uDAAgB,CAAC,CAAC,CAAC,CAAC;iBAC1E;aACJ;;gBACG,OAAmD,uDAAgB,CAAC,SAAS,CAAC,CAAC;QACvF,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAES,wBAAwB,CAAC,QAA0B;QACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,YAAY,GACd,QAAQ,YAAY,iEAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAO,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,IAAI,QAAQ,GAAQ,EAAE,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAAE;SAAC;QACxI,IAAI,MAAM,KAAK,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,IAAI,SAAS,GAAQ,IAAI,CAAC;gBAC1B,IAAI,aAAa,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACnG,SAAS,GAAG,yBAAyB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC5D,OAAO,+CAAa,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;YACzC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,+DAAmB,CAAC,aAAa,CAAC,EAAE;gBACzE,OAAO,cAAc,CAAC,sCAAsC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,+CAAa,CAAiC,IAAI,CAAC,CAAC;IAC/D,CAAC;;kFAxHQ,iBAAiB,yDAKN,+DAAU,0DAAwC,oBAAoB;oGALjF,iBAAiB,WAAjB,iBAAiB;6FAAjB,iBAAiB;cAD7B,wDAAU;;sBAMM,oDAAM;uBAAC,+DAAU;;sBAAqB,sDAAQ;;sBAAI,oDAAM;uBAAC,oBAAoB;;AAsH9F,IAAY,cAGX;AAHD,WAAY,cAAc;IACtB,2CAAe,SAAS;IACxB,wCAAY,MAAM;AACtB,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;AAED,IAAY,sBASX;AATD,WAAY,sBAAsB;IAC9B,0DAAc,QAAQ;IACtB,yDAAa,OAAO;IACpB,gEAAoB,cAAc;IAClC,2DAAe,SAAS;IACxB,6DAAiB,WAAW;IAC5B,4DAAgB,UAAU;IAC1B,6DAAiB,WAAW;IAC5B,2DAAe,SAAS;AAC5B,CAAC,EATW,sBAAsB,KAAtB,sBAAsB,QASjC;AAED,IAAY,SAIX;AAJD,WAAY,SAAS;IACjB,mCAAiB,WAAW;IAC5B,iCAAe,SAAS;IACxB,mCAAiB,WAAW;AAChC,CAAC,EAJW,SAAS,KAAT,SAAS,QAIpB;AAEM,MAAM,0BAA0B;IAOnC,YAAY,IAAkC;QAC1C,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;QACD,IAAI,CAAC,cAAc,GAAG,4BAA4B,CAAC;IACvD,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YAClB,IAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;SAC5C;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,YAAY,EAAE;YAChC,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO,MAAM,CAAC;SACjB;QACD,IAAI,MAAM,GAAG,IAAI,0BAA0B,EAAE,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,0BAA0B,EAAE,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAQM,MAAM,UAAW,SAAQ,0BAA0B;IAEtD,YAAY,IAAkB;QAC1B,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,cAAc,GAAG,YAAY,CAAC;IACvC,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAKM,MAAM,UAAU;IAQnB,YAAY,IAAkB;QAC1B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACtG,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC7F,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;SACzB;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACvF,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC9E,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAWM,MAAM,oBAAoB;IAoB7B,YAAY,IAA4B;QACpC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;YAC5C,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;YAC1C,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,mCAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC7I,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,mCAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACvI,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACtD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,mCAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC/G,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,mCAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YACzG,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC9C,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAChD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE;gBAClC,IAAI,CAAC,QAAQ,GAAG,EAAS,CAAC;gBAC1B,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC;oBAC9B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACnD;YACD,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;SACzB;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,2BAA2B,CAAC,GAAG,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACnI,IAAI,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC7H,IAAI,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACrD,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACrG,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QAC/F,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC9B,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;YACtB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ;gBAC1B,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAC5C;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAuBM,MAAM,iBAAiB;IAU1B,YAAY,IAAyB;QACjC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;YAC5C,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC9C,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;YAC1C,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;YAC1C,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC/H,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;SACzB;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACtG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAaM,MAAM,eAAe;IAaxB,YAAY,IAAuB;QAC/B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,mCAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC7F,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;YAC5C,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;YAC1C,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,oBAAoB,CAAC,CAAC;SACzD;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACnF,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACrD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAgBM,MAAM,yBAAyB;IAIlC,YAAY,IAAiC;QACzC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAM,SAAS,CAAC;YAC9F,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE;gBAChC,IAAI,CAAC,MAAM,GAAG,EAAS,CAAC;gBACxB,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC;oBAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACtD;SACJ;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,yBAAyB,EAAE,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAM,SAAS,CAAC;QACxE,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAC5B,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YACpB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM;gBACxB,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAC1C;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,yBAAyB,EAAE,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAOM,MAAM,wBAAwB;IAIjC,YAAY,IAAgC;QACxC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;SAC/B;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,wBAAwB,EAAE,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,wBAAwB,EAAE,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAOM,MAAM,yBAAyB;IAKlC,YAAY,IAAiC;QACzC,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACvB,IAAK,CAAC,QAAQ,CAAC,GAAS,IAAK,CAAC,QAAQ,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,IAAI,CAAC,KAAW;QACZ,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;SACrC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAS;QACnB,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,yBAAyB,EAAE,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAU;QACb,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,yBAAyB,EAAE,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAQM,MAAM,YAAa,SAAQ,KAAK;IAOnC,YAAY,OAAe,EAAE,MAAc,EAAE,QAAgB,EAAE,OAAgC,EAAE,MAAW;QACxG,KAAK,EAAE,CAAC;QASF,mBAAc,GAAG,IAAI,CAAC;QAP5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAID,MAAM,CAAC,cAAc,CAAC,GAAQ;QAC1B,OAAO,GAAG,CAAC,cAAc,KAAK,IAAI,CAAC;IACvC,CAAC;CACJ;AAED,SAAS,cAAc,CAAC,OAAe,EAAE,MAAc,EAAE,QAAgB,EAAE,OAAgC,EAAE,MAAY;IACrH,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS;QACvC,OAAO,uDAAgB,CAAC,MAAM,CAAC,CAAC;;QAEhC,OAAO,uDAAgB,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AAC5F,CAAC;AAED,SAAS,UAAU,CAAC,IAAS;IACzB,OAAO,IAAI,+CAAU,CAAS,CAAC,QAAa,EAAE,EAAE;QAC5C,IAAI,CAAC,IAAI,EAAE;YACP,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClB,QAAQ,CAAC,QAAQ,EAAE,CAAC;SACvB;aAAM;YACH,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,EAAE;gBACpB,QAAQ,CAAC,IAAI,CAAO,KAAK,CAAC,MAAO,CAAC,MAAM,CAAC,CAAC;gBAC1C,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACxB,CAAC,CAAC;YACF,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SAC3B;IACL,CAAC,CAAC,CAAC;AACP,CAAC;;;;;;;;;;;;;ACzxBD;AAAA;AAAA;AAAA;AAAA;AAA2C;AASL;AACtC,wFAAwF;AAChC;;;;AAGjD,MAAM,iBAAiB;IAM1B,YACY,eAAkC,EAClC,uBAA+C;QAD/C,oBAAe,GAAf,eAAe,CAAmB;QAClC,4BAAuB,GAAvB,uBAAuB,CAAwB;IAC3D,CAAC;IAED,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3C,CAAC;IAED,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/C,CAAC;IAED,iBAAiB;QACb,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,SAAS,EAAE;YACzC,OAAO,QAAQ,CAAC;SACnB;QAED,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,QAAQ,CAAC;IAC7E,CAAC;IAED,eAAe;QACX,IAAG,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAC;YAC/C,OAAO,EAAE,CAAC;SACb;QACD,IAAI,QAAQ,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAC1D,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,IAAI;QACA,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC5C,IAAI,CAAC,eAAe,CAAC,2BAA2B,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC,MAAyC,EAAE,EAAE;gBAC9G,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC;gBACvC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC;gBACzB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;gBAE7B,OAAO,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE;gBACP,MAAM,CAAC,GAAG,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED,oBAAoB,CAAC,QAAiB;QAClC,IAAI,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE;YAChC,OAAO,KAAK,CAAC;SAChB;QAED,GAAG,CAAC,YAAY,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC7C,QAAQ,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IAChB,CAAC;IAKO,eAAe,CAAC,QAAiB;QACrC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAE;YAC1B,OAAO,KAAK,CAAC;SAChB;aAAM,IAAI,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE;YAClE,OAAO,KAAK,CAAC;SAChB;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;;kFAnFQ,iBAAiB;oGAAjB,iBAAiB,WAAjB,iBAAiB;6FAAjB,iBAAiB;cAD7B,wDAAU;;;;;;;;;;;;;;ACbX;AAAA;AAAA;AAAA;AAAA;AAA2C;AACQ;AACoB;;;AAGhE,MAAM,aAAa;IAItB,YACqB,kBAAqC;QAArC,uBAAkB,GAAlB,kBAAkB,CAAmB;IAG1D,CAAC;IAED,IAAI,UAAU;QACV,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE;YAChC,OAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;SACjF;aAAM;YACH,OAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAC3C;IACL,CAAC;IAED;;OAEG;IACH,qBAAqB,CAAC,WAAoB;QACtC,IAAI,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,gEAAS,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAE7D,IAAI,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE;YAC3D,OAAO,OAAO,CAAC;SAClB;QAED,IAAI,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,sBAAsB,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE;YAClE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,sBAAsB,GAAG,GAAG,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAC;YAC5G,IAAI,WAAW,EAAE;gBACb,WAAW,GAAG,WAAW,GAAG,GAAG,CAAC;aACnC;SACJ;QAED,IAAI,CAAC,WAAW,EAAE;YACd,OAAO,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;SACpE;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,sBAAsB,EAAE,WAAW,CAAC,CAAC;IAC9E,CAAC;IAEO,cAAc,CAAC,GAAW,EAAE,CAAS;QACzC,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE;YAClC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;SACjB;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAEO,aAAa,CAAC,GAAW,EAAE,CAAS;QACxC,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE;YAClC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SACvC;QAED,OAAO,GAAG,CAAC;IACf,CAAC;;AAtDM,oCAAsB,GAAG,gBAAgB,CAAC;0EAFxC,aAAa;gGAAb,aAAa,WAAb,aAAa;6FAAb,aAAa;cADzB,wDAAU;;;;;;;;;;;;;;ACJX;AAAA;AAAA;AAAA;AAAA;AAAmG;AACxD;AACE;;;;AAGtC,MAAM,SAAS;IAEpB,YAAoB,WAAwB,EAAU,OAAe;QAAjD,gBAAW,GAAX,WAAW,CAAa;QAAU,YAAO,GAAP,OAAO,CAAQ;IAAG,CAAC;IAEzE,WAAW,CAAC,KAA6B,EAAE,KAA0B;QACnE,IAAI,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC;QAE5B,IAAK,WAAW,KAAK,WAAW,EAChC;YACI,WAAW,GAAG,GAAG,CAAC;SACrB;QACD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,EAAE;YACvC,+BAA+B;YAC/B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,EAAC,WAAW,EAAE,EAAC,WAAW,EAAC,EAAC,CAAC,CAAC;YACjE,OAAO,KAAK,CAAC;YACb,oCAAoC;SACrC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;IAC5C,CAAC;;kEAlBU,SAAS;4FAAT,SAAS,WAAT,SAAS;6FAAT,SAAS;cADrB,wDAAU;;;;;;;;;;;;;;ACJX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2C;AACmD;AAC3C;AAC2B;AAIX;AACpB;;;;;AAKxC,MAAM,uBAAuB;IAClC,YACU,iBAAsC,EACtC,aAA2B,EAC3B,oBAAyC;QAFzC,sBAAiB,GAAjB,iBAAiB,CAAqB;QACtC,kBAAa,GAAb,aAAa,CAAc;QAC3B,yBAAoB,GAApB,oBAAoB,CAAqB;IAC/C,CAAC;IAEL,uBAAuB;QACrB,IAAI,sBAAsB,GAAG,IAAI,4CAAO,EAAW,CAAC;QAEpD,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;QACjD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACjC,OAAO,+CAAE,CAAC,KAAK,CAAC,CAAC;SAClB;QAED,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,KAAK,CAAC;aACvC,SAAS,CACR,CAAC,WAA+B,EAAE,EAAE;YAClC,IAAI,WAAW,IAAI,WAAW,CAAC,WAAW,EAAE;gBAC1C,IAAI,eAAe,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC;gBAC5F,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;gBAEtE,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,gEAAS,CAAC,aAAa,CAAC,sBAAsB,EAC9E;oBACI,KAAK,EAAE,WAAW,CAAC,oBAAoB;oBACvC,UAAU,EAAE,eAAe;iBAC9B,CAAC,CAAC;gBAEL,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACnC;iBAAM;gBACL,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACpC;QACH,CAAC,EACD,CAAC,KAAU,EAAE,EAAE;YACb,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC,CACF,CAAC;QACJ,OAAO,sBAAsB,CAAC;IAChC,CAAC;;8FAtCU,uBAAuB;0GAAvB,uBAAuB,WAAvB,uBAAuB,mBAFtB,MAAM;6FAEP,uBAAuB;cAHnC,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACZD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA4D;AACS;AACpB;AACJ;AACK;;AAO3C,MAAM,cAAc;IACvB,MAAM,CAAC,OAAO;QACV,OAAO;YACH,QAAQ,EAAE,cAAc;YACxB,SAAS,EAAE;gBACP,oFAAiB;gBACjB,8DAAa;gBACb,yDAAW;gBACX,6DAAS;aAGZ;SACJ,CAAC;IACN,CAAC;;6FAbQ,cAAc;sJAAd,cAAc,mBAFZ,EAAE;6FAEJ,cAAc;cAH1B,sDAAQ;eAAC;gBACN,SAAS,EAAE,EAAE;aAChB;;;;;;;;;;;;;;;;;;;;;;;;;;ACVsC;AACE;AAC4B;AACoD;AACnD;AACrB;AACE;AAE2B;;;;;;;AAGvE,MAAM,WAAW;IAIpB,YAAoB,eAAkC,EAClC,aAA2B,EAC3B,aAA2B,EAC3B,WAAuB,EACvB,OAAe,EACf,iBAAsC,EACtC,oBAAyC;QANzC,oBAAe,GAAf,eAAe,CAAmB;QAClC,kBAAa,GAAb,aAAa,CAAc;QAC3B,kBAAa,GAAb,aAAa,CAAc;QAC3B,gBAAW,GAAX,WAAW,CAAY;QACvB,YAAO,GAAP,OAAO,CAAQ;QACf,sBAAiB,GAAjB,iBAAiB,CAAqB;QACtC,yBAAoB,GAApB,oBAAoB,CAAqB;IAC7D,CAAC;IAED,UAAU,CAAC,KAAa,EAAE,QAAgB;QACtC,wCAAwC;IAC5C,CAAC;IAEK,UAAU,CAAC,KAAa,EAAE,QAAgB;;YAC9C,MAAM,KAAK,GAAG,IAAI,iFAAiB,CAAC;gBAClC,sBAAsB,EAAE,KAAK;gBAC7B,QAAQ,EAAE,QAAQ;gBAClB,cAAc,EAAE,IAAI;aACrB,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB;iBACtC,YAAY,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,CAAC;YAGrC,IAAG,CAAC,MAAM,CAAC,YAAY,EAAE;gBACvB,OAAO,MAAM,CAAC;aACf;YAED,MAAM,IAAI,GAAG,IAAI,uEAAO,EAAE,CAAC;YAC3B,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;YACrC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7C,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;YACrC,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YACnD,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;YAClC,OAAO,MAAM,CAAC;QAEhB,CAAC;KAAA;IAED,MAAM;QACF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QACtB,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,gEAAS,CAAC,WAAW,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;IACnC,CAAC;IAED,eAAe;QACX,uEAAuE;QACvE,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,KAAK,SAAS,CAAC;IACzF,CAAC;IAEK,yBAAyB,CAAC,MAA+B;QAC/D,IAAI,MAAM,CAAC,WAAW,EAAE;YACtB,yBAAyB;YACzB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAC3B,MAAM,CAAC,oBAAoB,EAC3B,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,2BAA2B,EAAE,IAAI,CAAC,CAAC;SAE1F;aAAM;YACL,qBAAqB;YAErB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YACxD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,gEAAS,CAAC,WAAW,CAAC,CAAC,CAAC;SAChD;IACH,CAAC;IAGO,KAAK,CAAE,WAAmB,EAChC,oBAA4B,EAC5B,eAAuB,EACvB,YAAoB,EACpB,2BAAmC,EACnC,UAAoB,EACpB,WAAoB;QAEpB,MAAM,eAAe,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE3G,IAAI,CAAC,aAAa,CAAC,QAAQ,CACvB,WAAW,EACX,eAAe,CAClB,CAAC;QAEF,IAAI,YAAY,IAAI,UAAU,EAAE;YAC9B,IAAI,sBAAsB,GAAG,UAAU;gBACnC,CAAC,CAAC,IAAI,IAAI,CACN,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,GAAG,2BAA2B,CAC5D;gBACD,CAAC,CAAC,SAAS,CAAC;YAChB,IAAI,CAAC,aAAa,CAAC,eAAe,CAC9B,YAAY,EACZ,sBAAsB,CACzB,CAAC;SACL;QAEC,IAAI,CAAC,aAAa,CAAC,cAAc,CAC7B,gEAAS,CAAC,aAAa,CAAC,sBAAsB,EAC9C,oBAAoB,EACpB,eAAe,EACf,GAAG,CAAC,OAAO,CACd,CAAC;QAEF,IAAI,IAAI,GAAG,IAAI,CAAC;QACZ,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAC7B,gEAAS,CAAC,aAAa,CAAC,sBAAsB,EAC9C;YACI,KAAK,EAAE,oBAAoB;YAC3B,UAAU,EAAE,eAAe;SAC9B,EAAE,GAAE,EAAE;QAEP,CAAC,CACJ,CAAC;IACR,CAAC;IAEO,qBAAqB,CAAC,WAAoB;QAChD,IAAI,WAAW,EAAE;YACb,QAAQ,CAAC,IAAI,GAAG,WAAW,CAAC;SAC/B;aAAM;YACH,IAAI,UAAU,GAAG,kEAAS,CAAC,UAAU,CAAC;YAEtC,IAAI,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE;gBACzC,UAAU,GAAG,gEAAS,CAAC,UAAU,CAAC;aACrC;YAED,QAAQ,CAAC,IAAI,GAAG,UAAU,CAAC;SAC9B;IACL,CAAC;;sEAzIY,WAAW;8FAAX,WAAW,WAAX,WAAW;6FAAX,WAAW;cADvB,wDAAU;;;;;;;;;;;;;;ACVX;AAAA;AAAO,MAAM,SAAS;IAMlB,MAAM,CAAC,kBAAkB;QACrB,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM;aAC1B,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;aACpB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7F,CAAC;;AAVD;;GAEG;AACa,oBAAU,GAAG,QAAQ,CAAC,IAAI,CAAC;;;;;;;;;;;;;ACJ/C;AAAA;AAAO,MAAM,UAAU;IAAvB;QACI,WAAM,GAAW,CAAC,CAAC;QACnB,WAAM,GAAW,CAAC,CAAC;IAEvB,CAAC;CAAA;;;;;;;;;;;;;;;;;;;;;;;ACJ0C;AAEiB;AACI;AACO;AAC5B;AAC0F;;;;;AAK9H,MAAM,qBAAqB;IA6D9B,YAAoB,YAA4B,EAAU,WAA8B,EAAU,eAAkC;QAAhH,iBAAY,GAAZ,YAAY,CAAgB;QAAU,gBAAW,GAAX,WAAW,CAAmB;QAAU,oBAAe,GAAf,eAAe,CAAmB;QA1D5H,YAAO,GAAG,CAAC,CAAC;QACZ,UAAK,GAAkC,IAAI,oDAAe,CAAU,IAAI,CAAC,CAAC;QAClF,qBAAgB,GAAW,kCAAkC;QAoCrD,iBAAY,GAA4B,IAAI,oDAAe,CAAS,IAAI,CAAC,CAAC;QAClE,iBAAY,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;QAExD,eAAU,GAAgC,IAAI,oDAAe,CAAa,IAAI,CAAC,CAAC;QACxE,eAAU,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;QAIpD,uBAAkB,GAA0C,IAAI,oDAAe,CAAuB,IAAI,CAAC,CAAC;IAcpH,CAAC;IAzDD,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;IACpC,CAAC;IAGD,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;IAGD,IAAI,kBAAkB;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,IAAI,qFAAsB,CAAC,MAAM,CAAC;IACtF,CAAC;IAED,IAAI,OAAO;QAEP,IAAG,CAAC,IAAI,CAAC,iBAAiB;YAAE,OAAO,IAAI,CAAC;QAExC,OAAQ,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;IAC3C,CAAC;IAED,IAAI,SAAS;QACT,IAAG,CAAC,IAAI,CAAC,iBAAiB;YAAE,OAAO,IAAI,CAAC;QACxC,OAAO,IAAI,CAAC,iBAAiB,CAAC,UAAU,IAAI,6EAAc,CAAC,OAAO,CAAC;IACrE,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC;IACzE,CAAC;IAcH,IAAI,kBAAkB;QAClB,OAAO,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;IAClD,CAAC;IAED,IAAI,iBAAiB;QACjB,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC;IAC9C,CAAC;IASK,OAAO,CAAC,KAA6B,EAAE,KAA0B;;YACnE,IAAG,IAAI,CAAC,eAAe,CAAC,IAAI,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,EAAC;gBACzE,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aACrD;QACL,CAAC;KAAA;IAIK,QAAQ,CAAC,MAAc;;YACzB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACtB,IAAI,MAAM,GAAE,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC;YAC5D,IAAI,aAAa,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACnD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE5B,CAAC;KAAA;IAEK,WAAW,CAAC,IAAa;;YAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC;YAChF,IAAI,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC;YACtC,IAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,EAAE;gBACvF,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC;aAC7C;YACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAElC,MAAM,KAAK,GAAG,IAAI,uDAAU,EAAE,CAAC;YAC/B,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;YAC3C,KAAK,CAAC,MAAM,GAAE,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;YAI1C,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAE/D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAGhC,CAAC;KAAA;IAGD,YAAY,CAAC,QAAgB;QACzB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;;0FA7GQ,qBAAqB;wGAArB,qBAAqB,WAArB,qBAAqB,mBAFlB,MAAM;6FAET,qBAAqB;cAHjC,wDAAU;eAAC;gBACR,UAAU,EAAE,MAAM;aACrB;;;;;;;;;;;;;;ACVD;AAAA;AAAO,MAAM,SAAS;;AAMX,wBAAc,GAAQ,EAAE,CAAC;AACzB,eAAK,GAAW,aAAa;AAE7B,wBAAc,GAAa,EAAE,CAAC;AAErB,wBAAc,GAAG;IAC7B,oBAAoB,EAAE,OAAO;CAChC,CAAC;AAEc,sBAAY,GAAG;IAC3B,6BAA6B,EAAE,OAAO;CACzC,CAAC;AAEc,uBAAa,GAAG;IAC5B,sBAAsB,EAAE,gBAAgB;CAC3C,CAAC;AAGc,qBAAW,GAAG,UAAU;AAExB,iBAAO,GAAG,UAAU,CAAC;;;;;;;;;;;;;AC1BzC;AAAA;AAAA;AAAA;AAUuB;AAEkB;;;AAIlC,MAAM,gBAAgB;IAU3B,YACU,EAAc,EACd,QAAmB,EACnB,MAAc,EACd,EAAqB;QAHrB,OAAE,GAAF,EAAE,CAAY;QACd,aAAQ,GAAR,QAAQ,CAAW;QACnB,WAAM,GAAN,MAAM,CAAQ;QACd,OAAE,GAAF,EAAE,CAAmB;QAbxB,aAAQ,GAAgC,EAAE,CAAC;QAClD,gBAAW,GAAa,EAAE,CAAC;QAM3B,sBAAiB,GAAG,IAAI,0DAAY,EAAE,CAAC;IAOpC,CAAC;IAEJ,QAAQ;QACN,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACtC,CAAC;IAED,eAAe;QACb,MAAM,OAAO,GAAgB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;QACnD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,CAAE,kDAAiD;QAElH,MAAM,sBAAsB,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;QAC1F,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAExD,IAAI,sBAAsB,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,KAAK,SAAS,EAAE;YACrE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,sBAAsB,EAAE,OAAO,EAAC,yBAAyB,GAAG,YAAY,GAAG,IAAI,CAAE,CAAC;SAC9G;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;YACtD,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;QACD,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,EAAE;YACzB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;YAC1D,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;YAC3D,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACnC;QACD,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC;IAC1B,CAAC;IAGD,WAAW,CAAC,CAAM;QAChB,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;YACrD,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;YAE3D,IAAI,CAAC,QAAQ;iBACV,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,KAAK,IAAI,CAAC;iBACxC,OAAO,CAAC,CAAC,IAA0B,EAAE,EAAE;gBACtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gBACjB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAChC,CAAC,CAAC,CAAC;SACN;IACH,CAAC;IAGD,UAAU,CAAC,CAAM;QACf,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;YACrD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;YAExD,IAAI,CAAC,QAAQ;iBACV,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC;iBAC5B,OAAO,CAAC,CAAC,IAA0B,EAAE,EAAE;gBACtC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;gBAClB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC/B,CAAC,CAAC,CAAC;SACN;IACH,CAAC;IAGD,OAAO,CAAC,CAAM;QACZ,IACE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC;YACtD,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,EACrD;YACA,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;YACnC,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;aAAM,IACL,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC;YACtD,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EACxC;YACA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACnC;IACH,CAAC;IAGD,QAAQ,CAAC,KAAK;QACZ,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,EAAE;YACjC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;YAC1D,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;YAC3D,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACnC;QACD,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,EAAE;YACjC,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa;YAC1C,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,cAAc,CAAC;iBAChD,YAAY,CAAC,aAAa,CAAC,CAAC;YAC/B,IACE,YAAY,KAAK,WAAW;gBAC5B,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC;gBAClD,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EACnD;gBACA,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;gBAC7C,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;aAC/C;YACD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACpC;IACH,CAAC;IAED,gEAAgE;IAEhE,cAAc,CAAC,KAAK;QAClB,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,EAAE;YACzB,IAAI,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC;YACpC,IAAI,MAAM,GAAG,KAAK,CAAC;YACnB,GAAG;gBACD,IAAI,gBAAgB,KAAK,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE;oBAC9C,MAAM,GAAG,IAAI,CAAC;iBACf;gBACD,gBAAgB,GAAG,gBAAgB,CAAC,UAAU,CAAC;aAChD,QAAQ,gBAAgB,EAAE;YAE3B,IACE,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC;gBACzD,CAAC,MAAM;gBACP,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,EACjD;gBACA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACnC;SACF;IACH,CAAC;IAID,OAAO,CAAC,IAA0B;QAChC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,EAAE;YACzB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACnC;IACH,CAAC;IAED,YAAY;QACV,IAAI,CAAC,QAAQ;aACV,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,WAAW,CAAC;aAC7C,OAAO,CAAC,CAAC,IAA0B,EAAE,EAAE;YACtC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE;gBACxC,IAAI,CAAC,QAAQ;qBACV,MAAM,CACL,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,CAClE;qBACA,OAAO,CAAC,CAAC,UAAgC,EAAE,EAAE;oBAC5C,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;oBACvB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;oBACxC,IAAI,CAAC,QAAQ;yBACV,MAAM,CACL,CAAC,CAAC,EAAE,CACF,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG;wBACjC,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,MAAM,CAChC;yBACA,OAAO,CAAC,CAAC,eAAqC,EAAE,EAAE;wBACjD,eAAe,CAAC,IAAI,GAAG,IAAI,CAAC;wBAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;wBAC7C,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBACpD,CAAC,CAAC,CAAC;gBACP,CAAC,CAAC,CAAC;aACN;iBAAM,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE;gBAC/C,IAAI,CAAC,QAAQ;qBACV,MAAM,CACL,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,CAClE;qBACA,OAAO,CAAC,CAAC,UAAgC,EAAE,EAAE;oBAC5C,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;oBACvB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;oBACxC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC/C,CAAC,CAAC,CAAC;aACN;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,QAAQ;aACV,MAAM,CACL,CAAC,CAAC,EAAE,CACF,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,WAAW,CACxE;aACA,OAAO,CAAC,CAAC,IAA0B,EAAE,EAAE;YACtC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACtB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,UAAU,CAAC,UAAgC;QACzC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ;aACV,MAAM,CACL,CAAC,CAAC,EAAE,CACF,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;YAC1D,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,KAAK,CAChC;aACA,OAAO,CAAC,CAAC,IAA0B,EAAE,EAAE;YACtC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACxB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,WAAW,CAAC,UAAgC;QAC1C,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ;aACV,MAAM,CACL,CAAC,CAAC,EAAE,CACF,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;YAC1D,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,KAAK,CAChC;aACA,OAAO,CAAC,CAAC,IAA0B,EAAE,EAAE;YACtC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC,CAAC,CAAC;IACP,CAAC;;gFArOU,gBAAgB;gGAAhB,gBAAgB;;;6FAAhB,gBAAgB;cAD5B,uDAAS;eAAC,EAAE,QAAQ,EAAE,cAAc,EAAE;;kBAQpC,oDAAM;;kBAqCN,0DAAY;mBAAC,YAAY,EAAE,CAAC,QAAQ,CAAC;;kBAcrC,0DAAY;mBAAC,YAAY,EAAE,CAAC,QAAQ,CAAC;;kBAcrC,0DAAY;mBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;kBAkBhC,0DAAY;mBAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;;kBAyBxC,0DAAY;mBAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;ACnI5C;AAAA;AAAA;AAAA;AAAgE;AAED;;;AAKxD,MAAM,4BAA4B;IAGvC,YACgC,OAA6B;QAE3D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAGD,OAAO;QACL,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;IACxB,CAAC;;wGAZU,4BAA4B,kEAI7B,2EAAoB;4GAJnB,4BAA4B;;;6FAA5B,4BAA4B;cAHxC,uDAAS;eAAC;gBACT,QAAQ,EAAE,0BAA0B;aACrC;;sBAKI,oDAAM;uBAAC,2EAAoB;;kBAK7B,0DAAY;mBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;AChBnC;AAAA;AAAA;AAAA;AAAA;AAUuB;AACwC;AACR;;;;AAGhD,MAAM,oBAAoB;IAuE/B,YACgC,WAAiC,EACrC,OAAyB,EAC3C,EAAc;QAAd,OAAE,GAAF,EAAE,CAAY;QAzDxB,eAAU,GAAG,IAAI,0DAAY,EAAE,CAAC;QA2D9B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IA3DD,IAEI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IACD,IAAI,IAAI,CAAC,KAAc;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,IAEI,gBAAgB;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IACD,IAAI,gBAAgB,CAAC,KAAc;QACjC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;IACjC,CAAC;IAED,IAEI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IACD,IAAI,MAAM,CAAC,KAAc;QACvB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,IAEI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IACD,IAAI,OAAO,CAAC,KAAc;QACxB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,IAEI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IACD,IAAI,QAAQ,CAAC,KAAc;QACzB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IAkBD,QAAQ;QACN,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,EAAE,CAAC;QAClC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAElD,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC;QAElD,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE;YACxC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;SAC5B;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YAC1E,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;SAC3C;QAED,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YAC/D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SACjC;aAAM;YACL,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACjC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAC/B;SACF;IACH,CAAC;;wFA3GU,oBAAoB,kEAwErB,2EAAoB,mEACpB,mEAAgB;oGAzEf,oBAAoB;;;6FAApB,oBAAoB;cADhC,uDAAS;eAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE;;sBAyEtC,oDAAM;uBAAC,2EAAoB;;sBAC3B,oDAAM;uBAAC,mEAAgB;;kBAxEzB,mDAAK;;kBAGL,mDAAK;;kBAGL,mDAAK;;kBAGL,mDAAK;;kBAGL,mDAAK;;kBAGL,oDAAM;;kBAGN,yDAAW;mBAAC,YAAY;;kBACxB,mDAAK;;kBAQL,yDAAW;mBAAC,0BAA0B;;kBACtC,mDAAK;;kBAQL,yDAAW;mBAAC,cAAc;;kBAC1B,mDAAK;;kBAQL,yDAAW;mBAAC,gBAAgB;;kBAC5B,mDAAK;;kBAQL,yDAAW;mBAAC,iBAAiB;;kBAC7B,mDAAK;;;;;;;;;;;;;;ACvER;AAAA;AAAA;AAA0C;;AAInC,MAAM,oBAAoB;IADjC;QAEY,aAAQ,GAAgC,EAAE,CAAC;QAC9C,gBAAW,GAAa,EAAE,CAAC;KA+FnC;IA7FC,OAAO,CAAC,IAAiC;QACvC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,QAAQ,CAAC,IAA0B;QACjC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE;YACxC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ;iBAChC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,IAAK,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SAC/E;QACF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,IAA0B;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;IAED,gBAAgB,CAAC,QAA8B;QAC7C,IAAI,CAAC,QAAQ;aACV,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC;aAC9C,OAAO,CAAC,CAAC,IAA0B,EAAE,EAAE;YACtC,IAAI,IAAI,KAAK,QAAQ,EAAE;gBACrB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;aACrB;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,kBAAkB,CAAC,QAA8B;QAC/C,IAAI,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE;YAC5C,IAAI,CAAC,QAAQ;iBACV,MAAM,CACL,CAAC,CAAC,EAAE,CACF,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;gBAC7D,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC;gBACpC,CAAC,CAAC,IAAI,KAAK,IAAI,CAClB;iBACA,OAAO,CAAC,CAAC,IAA0B,EAAE,EAAE;gBACtC,IAAI,IAAI,KAAK,QAAQ,EAAE;oBACrB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;oBAClB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;iBACxB;YACH,CAAC,CAAC,CAAC;SACN;aAAM,IAAI,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE;YACnD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ;iBAChC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,IAAK,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAChF,IAAI,CAAC,QAAQ;iBACV,MAAM,CACL,CAAC,CAAC,EAAE,CACF,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;gBAC9D,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;gBAC5B,CAAC,CAAC,IAAI,KAAK,IAAI,CAClB;iBACA,OAAO,CAAC,CAAC,IAA0B,EAAE,EAAE;gBACtC,IAAI,IAAI,KAAK,QAAQ,EAAE;oBACrB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;oBAClB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;iBACxB;YACH,CAAC,CAAC,CAAC;SACN;IACH,CAAC;IAED,UAAU,CAAC,UAAgC;QACzC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ;aACV,MAAM,CACL,CAAC,CAAC,EAAE,CACF,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;YAC1D,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,KAAK,CAChC;aACA,OAAO,CAAC,CAAC,IAA0B,EAAE,EAAE;YACtC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACxB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,WAAW,CAAC,UAAgC;QAC1C,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ;aACV,MAAM,CACL,CAAC,CAAC,EAAE,CACF,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;YAC1D,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,KAAK,CAChC;aACA,OAAO,CAAC,CAAC,IAA0B,EAAE,EAAE;YACtC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC,CAAC,CAAC;IACP,CAAC;;wFAhGU,oBAAoB;oGAApB,oBAAoB;6FAApB,oBAAoB;cADhC,uDAAS;eAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE;;;;;;;;;;;;;;ACH3C;AAAA;AAAA;AAAkH;;AAG3G,MAAM,sBAAsB;IAkCjC,YAAoB,EAAc,EACxB,QAAmB;QADT,OAAE,GAAF,EAAE,CAAY;QACxB,aAAQ,GAAR,QAAQ,CAAW;QAPnB,gBAAW,GAAG,UAAU,CAAC;QACzB,iBAAY,GAAG,IAAI,CAAC;QACpB,gBAAW,GAAG,KAAK,CAAC;QAoC9B,6BAAwB,GAAG;YACzB,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YAC/C,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YACrC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC,CAAC;IAnC8B,CAAC;IAlCjC,IAEI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IACD,IAAI,UAAU,CAAC,KAAa;QAC1B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,IAEI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IACD,IAAI,WAAW,CAAC,KAAc;QAC5B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED,IAEI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IACD,IAAI,UAAU,CAAC,KAAc;QAC3B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;IAWD,eAAe;QACb,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;IAC/E,CAAC;IAGD,OAAO,CAAC,CAAM;QACZ,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,EAAE;YAClC,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC;YAC9B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;YACvD,IAAI,IAAI,CAAC,qBAAqB,EAAE;gBAC9B,IAAI,CAAC,qBAAqB,CAAC,OAAO,GAAG,IAAI,CAAC;aAC3C;SACF;aAAM;YACL,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;YAC1D,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;YAC3D,IAAI,IAAI,CAAC,qBAAqB,EAAE;gBAC9B,IAAI,CAAC,qBAAqB,CAAC,OAAO,GAAG,KAAK,CAAC;aAC5C;SACF;QACD,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;QAErC,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAClC,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;;4FAhEU,sBAAsB;sGAAtB,sBAAsB;;;;;;6FAAtB,sBAAsB;cADlC,uDAAS;eAAC,EAAE,QAAQ,EAAE,oBAAoB,EAAE;;kBAE1C,yDAAW;mBAAC,kBAAkB;;kBAC9B,mDAAK;;kBAQL,yDAAW;mBAAC,uBAAuB;;kBACnC,mDAAK;;kBAQL,yDAAW;mBAAC,sBAAsB;;kBAClC,mDAAK;;kBAsBL,0DAAY;mBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;AC7CnC;AAAA;AAAA;AAAA;AAAA;AAAwD;AAEf;;AAKlC,MAAM,yBAAyB;IAEb,OAAO;QAC5B,IAAI,oDAAoB,EAAE;YACxB,iDAAiB,EAAE,CAAC;SACrB;IACH,CAAC;;kGANU,yBAAyB;yGAAzB,yBAAyB;;;6FAAzB,yBAAyB;cAHrC,uDAAS;eAAC;gBACT,QAAQ,EAAE,uBAAuB;aAClC;;kBAGE,0DAAY;mBAAC,OAAO;;;;;;;;;;;;;;ACTvB;AAAA;AAAA;AAAA;AAA8D;AACG;;AAM1D,MAAM,YAAa,SAAQ,8EAAgB;IAE9C,YAAY,QAAkB;QAC1B,KAAK,CAAC,QAAQ,CAAC,CAAC;IACpB,CAAC;IAED,SAAS,CAAC,GAAW,EAAE,GAAG,IAAW;QACjC,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC;;wEARQ,YAAY;0GAAZ,YAAY;6FAAZ,YAAY;cAHxB,kDAAI;eAAC;gBACF,IAAI,EAAE,UAAU;aACnB;;;;;;;;;;;;;;ACND;AAAA;AAAA;AAA2C;;AAMpC,MAAM,aAAa;IAItB;QACI,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IAED,cAAc;QACV,IAAI,CAAC,YAAY,GAAG;YAChB,MAAM,EAAE;gBACJ,OAAO,EAAE,aAAa;gBACtB,GAAG,EAAE,KAAK;gBACV,OAAO,EAAE;oBACL,SAAS,EAAE,IAAI;oBACf,IAAI,EAAE,YAAY;oBAClB,eAAe,EAAE,QAAQ;oBACzB,eAAe,EAAE,KAAK;oBACtB,kBAAkB,EAAE,8BAA8B;iBACrD;aACJ;SACc,CAAC;IACxB,CAAC;;0EAtBQ,aAAa;gGAAb,aAAa,WAAb,aAAa,mBAFV,MAAM;6FAET,aAAa;cAHzB,wDAAU;eAAC;gBACR,UAAU,EAAE,MAAM;aACrB;;;;;;;;;;;;;;ACLD;AAAA;AAAA;AAAA;AAA2C;AACZ;;AAKxB,MAAM,aAAa;IAH1B;QAKY,qBAAgB,GAAG,IAAI,4CAAO,EAAO,CAAC;QAC9C,mBAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;KAKzD;IAJG,UAAU,CAAC,MAAW;QAClB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;;0EANQ,aAAa;gGAAb,aAAa,WAAb,aAAa,mBAFV,MAAM;6FAET,aAAa;cAHzB,wDAAU;eAAC;gBACR,UAAU,EAAE,MAAM;aACrB;;;;;;;;;;;;;;ACLD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AACM;AACA;AAEQ;AACD;AACS;AAK/D,YAAY;AACyE;AACnB;AACQ;AACA;AACgB;AACZ;;AA6BvE,MAAM,eAAe;;8FAAf,eAAe;wJAAf,eAAe,kBAhBf;YACL,4DAAY;YACZ,4DAAY;YACZ,oEAAS;YACT,mEAAe;YACf,4EAAsB;SACzB;QAfG,4DAAY;QAKZ,oEAAS;QACT,mEAAe;mIAmBV,eAAe,mBARpB,iGAAyB;QACzB,8EAAgB;QAChB,sFAAoB;QACpB,sFAAoB;QACpB,uGAA4B;QAC5B,2FAAsB,aAZtB,4DAAY;QACZ,4DAAY;QACZ,oEAAS;QACT,mEAAe;QACf,4EAAsB,aAdtB,4DAAY;QAGZ,iGAAyB;QACzB,8EAAgB;QAChB,oEAAS;QACT,mEAAe;QACf,2FAAsB;6FAkBjB,eAAe;cA3B3B,sDAAQ;eAAC;gBACN,OAAO,EAAE;oBACL,4DAAY;oBAGZ,iGAAyB;oBACzB,8EAAgB;oBAChB,oEAAS;oBACT,mEAAe;oBACf,2FAAsB;iBACzB;gBACD,OAAO,EAAE;oBACL,4DAAY;oBACZ,4DAAY;oBACZ,oEAAS;oBACT,mEAAe;oBACf,4EAAsB;iBACzB;gBACD,YAAY,EAAE;oBACV,iGAAyB;oBACzB,8EAAgB;oBAChB,sFAAoB;oBACpB,sFAAoB;oBACpB,uGAA4B;oBAC5B,2FAAsB;iBACzB;aACJ;;;;;;;;;;;;;;AC7CD;AAAA;AAAA;AAAA;AAAA;AAA2C;AACA;;AAGpC,MAAM,mBAAmB;IAE5B,OAAO,CAAC,GAAW,EAAE,QAAa;QAC9B,IAAI,CAAC,wCAAW,EAAE;YACd,OAAO;SACV;QAED,mDAAmB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;IAGD,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,QAAc;QAC9B,IAAI,CAAC,wCAAW,EAAE;YACd,OAAO;SACV;QAED,IAAI,KAAK,KAAK,IAAI,EAAE;YAChB,KAAK,GAAG,SAAS,CAAC;SACrB;QAED,mDAAmB,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,UAAU,CAAC,GAAG,EAAE,QAAc;QAC1B,IAAI,CAAC,wCAAW,EAAE;YACd,OAAO;SACV;QAED,sDAAsB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC1C,CAAC;;sFA7BQ,mBAAmB;sGAAnB,mBAAmB,WAAnB,mBAAmB;6FAAnB,mBAAmB;cAD/B,wDAAU;;;;;;;;;;;;;;ACHX;AAAA;AAAA;AAAA;AAAA;AAA+C;AACN;AACqB;;AAYvD,MAAM,WAAW;;0FAAX,WAAW;gJAAX,WAAW,mBANT;QAEP,0EAAmB;KAEtB,YAPQ;YACL,4DAAY;SACf;mIAOQ,WAAW,cARhB,4DAAY;6FAQP,WAAW;cAVvB,sDAAQ;eAAC;gBACN,OAAO,EAAE;oBACL,4DAAY;iBACf;gBACD,SAAS,EAAE;oBAEP,0EAAmB;iBAEtB;aACJ;;;;;;;;;;;;;;ACbD;AAAA;AAAA;AAAA;AAAuD;;;AAQhD,MAAM,eAAe;IAN5B;QAOI,WAAW;QACX,gBAAW,GAAU,IAAI,IAAI,EAAE,CAAC;KACnC;;8EAHY,eAAe;+FAAf,eAAe;QCP5B,yEACI;QAAA,yEACI;QAAA,uEACQ;QAAA,uDAAkD;;QAAA,uEAA4F;QAAA,oEAAS;QAAA,4DAAI;QAAA,kFACnK;QAAA,4DAAI;QAER,4DAAM;QACV,4DAAS;;QAJO,0DAAkD;QAAlD,qLAAkD;;6FDIrD,eAAe;cAN3B,uDAAS;eAAC;gBACP,QAAQ,EAAE,cAAc;gBACxB,WAAW,EAAE,yBAAyB;gBACtC,SAAS,EAAE,CAAC,yBAAyB,CAAC;aACzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AENsF;AAChC;AAEiB;AACA;AACpB;AAC8B;AACxB;AACd;AACW;;;;;;;;;;;;;AAOhD,MAAM,eAAe;IAU1B,YAAmB,SAA2B,EAAU,aAA4B,EAAS,SAAoB,EACvG,aAA2B,EAAU,YAA0B,EAC/D,eAAsC,EAAU,YAAyB;QAFhE,cAAS,GAAT,SAAS,CAAkB;QAAU,kBAAa,GAAb,aAAa,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QACvG,kBAAa,GAAb,aAAa,CAAc;QAAU,iBAAY,GAAZ,YAAY,CAAc;QAC/D,oBAAe,GAAf,eAAe,CAAuB;QAAU,iBAAY,GAAZ,YAAY,CAAa;QAXnF,gBAAW,GAAG,IAAI,CAAC;QACnB,gBAAW,GAAG,aAAa,CAAC;QAC5B,cAAS,GAAG,aAAa,CAAC;QACnB,gBAAW,GAAG,IAAI,CAAC;QAE1B,sBAAiB,GAAG,IAAI,0DAAY,EAAU,CAAC;QAExC,WAAM,GAAQ,EAAE,CAAC;QACjB,YAAO,GAAG,4DAAS,CAAC,OAAO,CAAC;QAIjC,MAAM,WAAW,GAAW,SAAS,CAAC,cAAc,EAAE,CAAC;QACvD,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAEvE,CAAC;IAEK,QAAQ;;YACZ,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;YAC9C,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;QACtC,CAAC;KAAA;IAED,eAAe;QACb,IAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;YACzB,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;YACjC,IAAI,GAAG,KAAK,KAAK,EAAE;gBACjB,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC;aAChC;iBAAM,IAAI,GAAG,KAAK,KAAK,EAAE;gBACxB,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC;aAChC;SACJ;IACH,CAAC;IAGD,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAED,cAAc,CAAC,QAAgB;QAC7B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,WAAW,KAAK,aAAa,EAAE;YACtC,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC;SAClC;aAAM;YACL,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC;SAClC;IACH,CAAC;IAED,yBAAyB;QACvB,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,aAAa;QACX,MAAM,UAAU,GAAG,QAAQ,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,IAAI,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;YACjD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACpC;aAAM;YACL,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACnC;IACH,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;IAC5B,CAAC;;8EAtEU,eAAe;+FAAf,eAAe;QCf5B,yEACI;QAAA,yEACI;QAAA,yEACI;QAAA,4EACI;QADoF,6IAAS,mBAAe,IAAC;QAC7G,0EAAsB;QAAA,4EAAiB;QAAA,4DAAO;QAC9C,qEAA8B;QAC9B,qEAA8B;QAC9B,qEAA8B;QAClC,4DAAS;QACT,0EACI;QAAA,wEACI;QAD6B,+KAAoC;QACjE,mEAAgC;QACpC,4DAAI;QACR,4DAAO;QACP,wEACI;QAAA,2EACI;QAAA,sEACJ;QAAA,4DAAM;QACN,uEAAuC;QAC3C,4DAAI;QACJ,2EAAwB;QAAA,wDAAwB;;QAAA,4DAAM;QAG1D,4DAAM;QACN,2EACI;QAAA,2EACI;QAAA,0EACI;QAAA,sEACI;QAAA,oEAGI;QACR,4DAAK;QACL,0EACI;QAAA,yEACI;QAAA,uEACI;QAAA,uEAAK;QAAA,4EAAwB;QAAA,wDAAqC;;QAAA,4DAAO;QAAA,4DAAM;QAC/E,2EAAqB;QAAA,wEAAO;QAAA,wDAA6B;QAAA,4DAAO;QAAA,4DAAM;QAC1E,4DAAM;QAEN,sEACJ;;QAAA,4DAAI;QAER,4DAAK;QACL,0EACI;QAAA,yEACI;QADsG,yIAAS,YAAQ,IAAC;QACxH,oEAA2D;QAC3D,yEAAqB;QAAA,kEAAM;QAAA,4DAAI;QACnC,4DAAI;QACR,4DAAK;QACT,4DAAK;QAET,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;;;QA7CgF,2DAAmC;QAAnC,4FAAmC;QAI1G,0DAAoB;QAApB,8IAAoB;QAEV,0DAAe;QAAf,yIAAe;QAIJ,0DAAwB;QAAxB,mJAAwB;QAKkB,0DAA2B;QAA3B,wFAA2B;QAW5C,0DAAqC;QAArC,mMAAqC;QACtC,0DAA6B;QAA7B,uGAA6B;QAGxD,0DAAsC;QAAtC,oOAAsC;QAKmC,0DAAuB;QAAvB,gFAAuB;;6FD9BpH,eAAe;cAL3B,uDAAS;eAAC;gBACT,QAAQ,EAAE,cAAc;gBACxB,WAAW,EAAE,yBAAyB;gBACtC,SAAS,EAAE,CAAC,yBAAyB,CAAC;aACvC;;kBAME,oDAAM;;;;;;;;;;;;;;AErBT;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+F;AACvB;;;;;;;ICWnC,oEAAG;IAAA,+DAAI;IAAA,4DAAI;;;IAElC,yEACE;IAAA,yEAA8C;IAAA,sEAAW;IAAA,4DAAK;IAC9D,0EACE;IAAA,0EACE;IAAA,oEACE;IAAA,qEAEF;IAAA,4DAAI;IACJ,0EACE;IAAA,0EACE;IAAA,yEAA+D;IAAA,8EAAkB;IAAA,4DAAK;IACtF,4EAAqE;IAAA,mEAAO;IAAA,4DAAO;IACrF,4DAAM;IACN,yEAAmC;IAAA,sEAAU;IAAA,4DAAI;IACnD,4DAAM;IACR,4DAAM;IACN,2EACE;IAAA,qEACE;IAAA,sEAEF;IAAA,4DAAI;IACJ,2EACE;IAAA,2EACE;IAAA,0EAA+D;IAAA,uEAAW;IAAA,4DAAK;IAC/E,4EAAqE;IAAA,mEAAO;IAAA,4DAAO;IACrF,4DAAM;IACN,yEAAmC;IAAA,sEAAU;IAAA,4DAAI;IACnD,4DAAM;IACR,4DAAM;IACN,2EACE;IAAA,qEACE;IAAA,sEAEF;IAAA,4DAAI;IACJ,2EACE;IAAA,2EACE;IAAA,0EAA+D;IAAA,2EAAe;IAAA,4DAAK;IACnF,4EAAqE;IAAA,mEAAO;IAAA,4DAAO;IACrF,4DAAM;IACN,yEAAmC;IAAA,mEAAO;IAAA,4DAAI;IAChD,4DAAM;IACR,4DAAM;IACN,2EACE;IAAA,qEACE;IAAA,sEAEF;IAAA,4DAAI;IACJ,2EACE;IAAA,2EACE;IAAA,0EAA+D;IAAA,sEAAU;IAAA,4DAAK;IAC9E,4EAAqE;IAAA,mEAAO;IAAA,4DAAO;IACrF,4DAAM;IACN,yEAAmC;IAAA,oEAAQ;IAAA,4DAAI;IACjD,4DAAM;IACR,4DAAM;IACN,2EACE;IAAA,qEACE;IAAA,sEAEF;IAAA,4DAAI;IACJ,2EACE;IAAA,2EACE;IAAA,0EAA+D;IAAA,4EAAgB;IAAA,4DAAK;IACpF,4EAAqE;IAAA,mEAAO;IAAA,4DAAO;IACrF,4DAAM;IACN,yEAAmC;IAAA,qEAAS;IAAA,4DAAI;IAClD,4DAAM;IACR,4DAAM;IACN,2EACE;IAAA,qEACE;IAAA,sEAEF;IAAA,4DAAI;IACJ,2EACE;IAAA,2EACE;IAAA,0EAA+D;IAAA,0EAAc;IAAA,4DAAK;IAClF,4EAAqE;IAAA,mEAAO;IAAA,4DAAO;IACrF,4DAAM;IACN,yEAAmC;IAAA,mEAAO;IAAA,4DAAI;IAChD,4DAAM;IACR,4DAAM;IACN,2EACE;IAAA,qEACE;IAAA,sEAEF;IAAA,4DAAI;IACJ,2EACE;IAAA,2EACE;IAAA,0EAA+D;IAAA,yEAAa;IAAA,4DAAK;IACjF,4EAAqE;IAAA,mEAAO;IAAA,4DAAO;IACrF,4DAAM;IACN,yEAAmC;IAAA,mEAAO;IAAA,4DAAI;IAChD,4DAAM;IACR,4DAAM;IACN,2EACE;IAAA,qEACE;IAAA,sEAEF;IAAA,4DAAI;IACJ,2EACE;IAAA,2EACE;IAAA,0EAA+D;IAAA,yEAAa;IAAA,4DAAK;IACjF,4EAAqE;IAAA,mEAAO;IAAA,4DAAO;IACrF,4DAAM;IACN,yEAAmC;IAAA,kEAAM;IAAA,4DAAI;IAC/C,4DAAM;IACR,4DAAM;IACN,2EACE;IAAA,qEACE;IAAA,sEAEF;IAAA,4DAAI;IACJ,2EACE;IAAA,2EACE;IAAA,0EAA+D;IAAA,yEAAa;IAAA,4DAAK;IACjF,4EAAqE;IAAA,oEAAO;IAAA,4DAAO;IACrF,4DAAM;IACN,0EAAmC;IAAA,sEAAS;IAAA,4DAAI;IAClD,4DAAM;IACR,4DAAM;IACN,4EACE;IAAA,sEACE;IAAA,uEAEF;IAAA,4DAAI;IACJ,4EACE;IAAA,4EACE;IAAA,2EAA+D;IAAA,4EAAe;IAAA,4DAAK;IACnF,6EAAqE;IAAA,oEAAO;IAAA,4DAAO;IACrF,4DAAM;IACN,0EAAmC;IAAA,sEAAS;IAAA,4DAAI;IAClD,4DAAM;IACR,4DAAM;IACN,4EACE;IAAA,sEACE;IAAA,uEAEF;IAAA,4DAAI;IACJ,4EACE;IAAA,4EACE;IAAA,2EAA+D;IAAA,4EAAe;IAAA,4DAAK;IACnF,6EAAqE;IAAA,qEAAQ;IAAA,4DAAO;IACtF,4DAAM;IACN,0EAAmC;IAAA,uEAAU;IAAA,4DAAI;IACnD,4DAAM;IACR,4DAAM;IACN,4EACE;IAAA,sEACE;IAAA,uEAEF;IAAA,4DAAI;IACJ,4EACE;IAAA,4EACE;IAAA,2EAA+D;IAAA,0EAAa;IAAA,4DAAK;IACjF,6EAAqE;IAAA,qEAAQ;IAAA,4DAAO;IACtF,4DAAM;IACN,0EAAmC;IAAA,sEAAS;IAAA,4DAAI;IAClD,4DAAM;IACR,4DAAM;IACN,4EACE;IAAA,sEACE;IAAA,uEAEF;IAAA,4DAAI;IACJ,4EACE;IAAA,4EACE;IAAA,2EAA+D;IAAA,4EAAe;IAAA,4DAAK;IACnF,6EAAqE;IAAA,oEAAO;IAAA,4DAAO;IACrF,4DAAM;IACN,0EAAmC;IAAA,oEAAO;IAAA,4DAAI;IAChD,4DAAM;IACR,4DAAM;IACN,4EACE;IAAA,sEACE;IAAA,uEAEF;IAAA,4DAAI;IACJ,4EACE;IAAA,4EACE;IAAA,2EAA+D;IAAA,0EAAa;IAAA,4DAAK;IACjF,6EAAqE;IAAA,oEAAO;IAAA,4DAAO;IACrF,4DAAM;IACN,0EAAmC;IAAA,sEAAS;IAAA,4DAAI;IAClD,4DAAM;IACR,4DAAM;IACR,4DAAM;IACR,4DAAM;;;IAIiB,oEAAG;IAAA,mEAAQ;IAAA,4DAAI;;;IAEtC,0EACE;IAAA,yEAA8C;IAAA,2EAAgB;IAAA,4DAAK;IACnE,yEACE;IAAA,yEACE;IAAA,0EACE;IAAA,0EACE;IAAA,2EAA4B;IAAA,wEAAa;IAAA,4DAAO;IAChD,0EACE;IAAA,2EACE;IAAA,wEAEA;IAAA,wEAAyE;IAC3E,4DAAM;IACR,4DAAM;IACR,4DAAM;IACR,4DAAM;IACN,qEAAG;IAAA,8GAAkD;IAAA,4DAAI;IAC3D,4DAAK;IACL,0EACE;IAAA,2EACE;IAAA,2EACE;IAAA,4EAA4B;IAAA,gFAAoB;IAAA,4DAAO;IACvD,2EACE;IAAA,2EACE;IAAA,wEAEA;IAAA,wEAA2E;IAC7E,4DAAM;IACR,4DAAM;IACR,4DAAM;IACR,4DAAM;IACN,qEAAG;IAAA,sIAA0E;IAAA,4DAAI;IACnF,4DAAK;IACL,0EACE;IAAA,2EACE;IAAA,2EACE;IAAA,4EAA4B;IAAA,yEAAa;IAAA,4DAAO;IAChD,2EACE;IAAA,2EACE;IAAA,wEACA;IAAA,wEAAyE;IAC3E,4DAAM;IACR,4DAAM;IACR,4DAAM;IACR,4DAAM;IACN,qEAAG;IAAA,8GAAkD;IAAA,4DAAI;IAC3D,4DAAK;IACL,0EACE;IAAA,2EACE;IAAA,2EACE;IAAA,4EAA4B;IAAA,gFAAoB;IAAA,4DAAO;IACvD,2EACE;IAAA,2EACE;IAAA,wEAEA;IAAA,wEAA2E;IAC7E,4DAAM;IACR,4DAAM;IACR,4DAAM;IACR,4DAAM;IACN,qEAAG;IAAA,sIAA0E;IAAA,4DAAI;IACnF,4DAAK;IACL,0EACE;IAAA,2EACE;IAAA,2EACE;IAAA,4EAA4B;IAAA,4EAAgB;IAAA,4DAAO;IACnD,2EACE;IAAA,2EACE;IAAA,wEACA;IAAA,wEAAsE;IACxE,4DAAM;IACR,4DAAM;IACR,4DAAM;IACR,4DAAM;IACN,qEAAG;IAAA,8GAAkD;IAAA,4DAAI;IAC3D,4DAAK;IACL,0EACE;IAAA,2EACE;IAAA,2EACE;IAAA,4EAA4B;IAAA,gFAAoB;IAAA,4DAAO;IACvD,2EACE;IAAA,2EACE;IAAA,wEACA;IAAA,wEAAqE;IACvE,4DAAM;IACR,4DAAM;IACR,4DAAM;IACR,4DAAM;IACN,qEAAG;IAAA,sIAA0E;IAAA,4DAAI;IACnF,4DAAK;IACP,4DAAK;IACP,4DAAM;;ADhSb,MAAM,4BAA4B;IAWvC,YAAoB,KAAiB,EAC3B,QAAmB,EACnB,aAA4B;QAFlB,UAAK,GAAL,KAAK,CAAY;QAC3B,aAAQ,GAAR,QAAQ,CAAW;QACnB,kBAAa,GAAb,aAAa,CAAe;QAVtC,WAAM,GAAG,KAAK,CAAC;QAYb,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,cAAc,CAAC,SAAS,CACrD,KAAK,CAAC,EAAE;YACN,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;gBAC9D,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;aACrB;iBACI;gBACH,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;gBAC3D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;aACpB;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAnBD,QAAQ;IAER,CAAC;IAmBD,WAAW;QACT,IAAG,IAAI,CAAC,SAAS,EAAE;YACjB,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;SAC9B;IACH,CAAC;IAID,OAAO;QACL,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;;wGAvCU,4BAA4B;4GAA5B,4BAA4B;;;;;;QCPzC,8EACE;QAAA,uEACE;QADoC,qJAAS,aAAS,IAAC;QACvD,kEAAkC;QACpC,4DAAI;QACJ,yEACE;QAAA,yEACE;QAAA,yEACE;QAAA,6EAEE;QAAA,0EACE;QAAA,wIAAyB;QACzB,4IACE;QA4LJ,4DAAU;QACV,2EACE;QAAA,0IAAyB;QACzB,2IACE;QA6FJ,4DAAU;QACZ,4DAAa;QACf,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAQ;;6FDvSK,4BAA4B;cALxC,uDAAS;eAAC;gBACT,QAAQ,EAAE,4BAA4B;gBACtC,WAAW,EAAE,uCAAuC;gBACpD,SAAS,EAAE,CAAC,uCAAuC,CAAC;aACrD;;kBAME,uDAAS;mBAAC,SAAS;;;;;;;;;;;;;;AEdtB;AAAA;AAAA;AAAA;AAAA;AAAkD;;;;;;;ICC9C,uEACI;IAAA,qEAAwC;IACxC,qEAAwF;IACxF,0EAAmB;IAAA,uDAAmB;IAAA,4DAAO;IACjD,4DAAI;;;IAJD,2FAA6B;IAET,0DAA6D;IAA7D,6KAA6D;IAC7D,0DAAmB;IAAnB,mFAAmB;;ADIvC,MAAM,gBAAgB;IA8C3B;QA5CA,cAAS,GAAe;YACtB;gBACE,IAAI,EAAE,gCAAgC;gBACtC,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,EAAE;gBACT,cAAc,EAAE,EAAE;gBAClB,KAAK,EAAE,kBAAkB;aAC1B;YACD;gBACE,IAAI,EAAE,mCAAmC;gBACzC,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,EAAE;gBACT,cAAc,EAAE,EAAE;gBAClB,KAAK,EAAE,UAAU;aAClB;YACD;gBACE,IAAI,EAAE,oCAAoC;gBAC1C,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,EAAE;gBACT,cAAc,EAAE,EAAE;gBAClB,KAAK,EAAE,iBAAiB;aACzB;YACD,IAAI;YACJ,gDAAgD;YAChD,sBAAsB;YACtB,eAAe;YACf,wBAAwB;YACxB,iCAAiC;YACjC,KAAK;YACL,IAAI;YACJ,gDAAgD;YAChD,sBAAsB;YACtB,eAAe;YACf,wBAAwB;YACxB,uBAAuB;YACvB,KAAK;YACL;gBACI,IAAI,EAAE,gCAAgC;gBACtC,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,EAAE;gBACT,cAAc,EAAE,EAAE;gBAClB,KAAK,EAAE,sBAAsB;aAChC;SACF,CAAC;IACc,CAAC;IAEjB,QAAQ;IACR,CAAC;;gFAjDU,gBAAgB;gGAAhB,gBAAgB;QCR7B,yEACI;QAAA,wGACI;QAIR,4DAAM;;QALuH,0DAAkC;QAAlC,kFAAkC;;6FDOlJ,gBAAgB;cAL5B,uDAAS;eAAC;gBACT,QAAQ,EAAE,gBAAgB;gBAC1B,WAAW,EAAE,2BAA2B;gBACxC,SAAS,EAAE,CAAC,2BAA2B,CAAC;aACzC;;;;;;;;;;;;;;AEPD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUuB;AAE0C;AACxB;AACS;AACrB;AACY;;;;;;;;;;;;;IChBzC,wEACA;IAAA,kFAA6E;IAA/D,qXAA+C;IAAC,4DAAe;IAC7E,qEAAe;;ADuBR,MAAM,sBAAsB;IA0B/B,YAAoB,UAAsB,EAAU,aAA4B,EAC1C,QAAkB,EACpC,QAAmB,EACnB,YAA0B;QAH1B,eAAU,GAAV,UAAU,CAAY;QAAU,kBAAa,GAAb,aAAa,CAAe;QAC1C,aAAQ,GAAR,QAAQ,CAAU;QACpC,aAAQ,GAAR,QAAQ,CAAW;QACnB,iBAAY,GAAZ,YAAY,CAAc;QAtB9C,YAAO,GAAG;YACN,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,8BAA8B;SAC1C,CAAC;QAIF,gBAAW,GAAG,KAAK,CAAC;QACpB,iBAAY,GAAG,KAAK,CAAC;QACrB,iBAAY,GAAG,KAAK,CAAC;QACrB,YAAO,GAAG,OAAO,CAAC;QAClB,YAAO,GAAG,8BAA8B,CAAC;QAElC,WAAM,GAAQ,EAAE,CAAC;QASpB,IAAI,CAAC,eAAe,GAAG,IAAI,4CAAO,EAAO,CAAC;QAE1C,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;QAC/B,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QAEhC,IAAI,CAAC,YAAY,CAAC,oBAAoB;aACjC,IAAI,CAAC,gEAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;aACrC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,OAAO,CAAC,CAAC;QAExD,IAAI,CAAC,YAAY,CAAC,qBAAqB;aAClC,IAAI,CAAC,gEAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;aACrC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7D,CAAC;IAED,QAAQ;QACJ,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;QAC9C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC;QAE1D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE;YAC7C,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;SACrB;aAAM;YACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC;SAChE;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,KAAK,aAAa,EAAE;YAC9C,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACrE,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC;aAC/B;SACJ;aAAM;YACH,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACrE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;aAC1B;SACJ;QAED,UAAU,CAAC,GAAG,EAAE;YACZ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE;gBAClD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;aAC5B;iBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE;gBACzD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;aAC7B;iBAAM;gBACH,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;aAC7B;YACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;QAC5D,CAAC,EAAE,CAAC,CAAC,CAAC;IAGV,CAAC;IAED,eAAe;QACX,UAAU,CAAC,GAAG,EAAE;YACZ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;gBACxB,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;aACnD;YAED,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;YACnE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;YAG9D,+CAA+C;YAC/C,iEAAiE;YACjE,6DAA6D;YAC7D,iEAAiE;YACjE,wEAAwE;YACxE,wDAAwD;YACxD,kGAAkG;YAClG,eAAe;YACf,oEAAoE;YACpE,QAAQ;YACR,8BAA8B;YAC9B,sCAAsC;YACtC,yBAAyB;YACzB,iCAAiC;YACjC,yBAAyB;YACzB,+FAA+F;YAE/F,IAAI;QAGR,CAAC,EAAE,CAAC,CAAC,CAAC;IAEV,CAAC;IAED,WAAW;QACP,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;IACvC,CAAC;IAED,iBAAiB,CAAC,MAAe;QAC7B,UAAU,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAC9B,CAAC,EAAE,CAAC,CAAC,CAAC;IACV,CAAC;IAED,UAAU,CAAC,MAAM;QACb,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IAC1B,CAAC;;4FA/HQ,sBAAsB,gVA2BX,wDAAQ;sGA3BnB,sBAAsB;;;;;;;;;;;;QCzBnC,oIACA;QAEA,yEACI;QAAA,yEACI;QAAA,4EAAiC;QACrC,4DAAM;QAEN,yEACI;QAAA,2EAA+B;QACnC,4DAAM;QACV,4DAAM;;QAXQ,iFAAmB;QAGH,0DAAkC;QAAlC,0FAAkC;;6FDsBnD,sBAAsB;cANlC,uDAAS;eAAC;gBACP,QAAQ,EAAE,sBAAsB;gBAChC,WAAW,EAAE,iCAAiC;gBAC9C,SAAS,EAAE,CAAC,iCAAiC,CAAC;aACjD;sMA6BmD,QAAQ;sBAA3C,oDAAM;uBAAC,wDAAQ;;kBA1B3B,uDAAS;mBAAC,gBAAgB;;kBAC1B,uDAAS;mBAAC,YAAY;;kBACtB,uDAAS;mBAAC,SAAS;;kBAEnB,yDAAW;mBAAC,mBAAmB;;;;;;;;;;;;;;AE9BpC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2G;AACxC;AACxB;;;;;;;AAQpC,MAAM,oBAAoB;IAM/B,YAAoB,aAA4B,EAClB,QAAkB,EACpC,QAAmB;QAFX,kBAAa,GAAb,aAAa,CAAe;QAClB,aAAQ,GAAR,QAAQ,CAAU;QACpC,aAAQ,GAAR,QAAQ,CAAW;QAPxB,WAAM,GAAQ,EAAE,CAAC;IAOW,CAAC;IAEpC,QAAQ;QACN,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;IAChD,CAAC;IAED,eAAe;QACb,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;gBAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;aACzC;YAED,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;YAC7D,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;YACpE,+CAA+C;YAC/C,+DAA+D;YAC/D,IAAI;YACJ,2DAA2D;YAC3D,+DAA+D;YAC/D,sEAAsE;YACtE,sDAAsD;YACtD,8FAA8F;YAC9F,MAAM;YACN,WAAW;YACX,gEAAgE;YAChE,MAAM;YACN,IAAI;QACN,CAAC,EAAE,CAAC,CAAC,CAAC;IAER,CAAC;;wFArCU,oBAAoB,qNAOnB,wDAAQ;oGAPT,oBAAoB;;;;;;QCVjC,yEACE;QAAA,2EAA+B;QAC/B,yEAA2B;QAC7B,4DAAM;;QAH2B,8EAAiB;;6FDUrC,oBAAoB;cANhC,uDAAS;eAAC;gBACP,QAAQ,EAAE,oBAAoB;gBAC9B,WAAW,EAAE,+BAA+B;gBAC5C,SAAS,EAAE,CAAC,+BAA+B,CAAC;aAC/C;kIASyC,QAAQ;sBAA3C,oDAAM;uBAAC,wDAAQ;;kBAJnB,uDAAS;mBAAC,iBAAiB;;;;;;;;;;;;;;AEb9B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUuB;AAE0C;AACxB;AACS;AACrB;AACY;;;;;;;;AASlC,MAAM,mBAAmB;IAyB5B,YAAoB,UAAsB,EAAU,aAA4B,EAC1C,QAAkB,EACpC,QAAmB,EACnB,YAA0B;QAH1B,eAAU,GAAV,UAAU,CAAY;QAAU,kBAAa,GAAb,aAAa,CAAe;QAC1C,aAAQ,GAAR,QAAQ,CAAU;QACpC,aAAQ,GAAR,QAAQ,CAAW;QACnB,iBAAY,GAAZ,YAAY,CAAc;QArB9C,YAAO,GAAG;YACN,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,8BAA8B;SAC1C,CAAC;QAGF,gBAAW,GAAG,KAAK,CAAC;QACpB,iBAAY,GAAG,KAAK,CAAC;QACrB,iBAAY,GAAG,KAAK,CAAC;QACrB,YAAO,GAAG,OAAO,CAAC;QAClB,YAAO,GAAG,8BAA8B,CAAC;QAElC,WAAM,GAAQ,EAAE,CAAC;QASpB,IAAI,CAAC,eAAe,GAAG,IAAI,4CAAO,EAAO,CAAC;QAE1C,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;QAC/B,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QAEhC,IAAI,CAAC,YAAY,CAAC,oBAAoB;aACjC,IAAI,CAAC,gEAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;aACrC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,OAAO,CAAC,CAAC;QAExD,IAAI,CAAC,YAAY,CAAC,qBAAqB;aAClC,IAAI,CAAC,gEAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;aACrC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7D,CAAC;IAED,QAAQ;QACJ,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;QAC9C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC;QAE1D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE;YAC7C,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;SACrB;aAAM;YACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC;SAChE;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,KAAK,aAAa,EAAE;YAC9C,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACrE,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC;aAC/B;SACJ;aAAM;YACH,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACrE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;aAC1B;SACJ;QAED,UAAU,CAAC,GAAG,EAAE;YACZ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE;gBAClD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;aAC5B;iBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE;gBACzD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;aAC7B;iBAAM;gBACH,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;aAC7B;YACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;QAC5D,CAAC,EAAE,CAAC,CAAC,CAAC;IAGV,CAAC;IAED,eAAe;QACX,UAAU,CAAC,GAAG,EAAE;YACZ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;gBACxB,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;aACnD;YAGD,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,KAAK,MAAM,EAAE;gBACvC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;aAC7D;iBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,KAAK,aAAa,EAAE;gBACrD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;gBAC1D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;gBACjE,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE;oBAC5C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;iBAC1F;qBAAM;oBACH,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;iBAC5D;gBACD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;gBACvB,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;gBAC/B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;gBAClB,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC;gBAC1B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;gBAClB,0FAA0F;aAE7F;QAGL,CAAC,EAAE,CAAC,CAAC,CAAC;IAEV,CAAC;IAED,WAAW;QACP,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;IACvC,CAAC;IAED,iBAAiB,CAAC,MAAe;QAC7B,UAAU,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAC9B,CAAC,EAAE,CAAC,CAAC,CAAC;IACV,CAAC;IAED,UAAU,CAAC,MAAM;QACb,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IAC1B,CAAC;;sFA3HQ,mBAAmB,gVA0BR,wDAAQ;mGA1BnB,mBAAmB;;;;;;;;QCzBhC,kFAA6E;QAA/D,+KAAqB,6BAAyB,IAAC;QAAC,4DAAe;QAE7E,yEACI;QAAA,yEACI;QAAA,4EAAiC;QACrC,4DAAM;QAEN,yEACI;QAAA,2EAA+B;QACnC,4DAAM;QACV,4DAAM;;QARwB,0DAAkC;QAAlC,0FAAkC;;6FDuBnD,mBAAmB;cAN/B,uDAAS;eAAC;gBACP,QAAQ,EAAE,mBAAmB;gBAC7B,WAAW,EAAE,8BAA8B;gBAC3C,SAAS,EAAE,CAAC,8BAA8B,CAAC;aAC9C;sMA4BmD,QAAQ;sBAA3C,oDAAM;uBAAC,wDAAQ;;kBAxB3B,uDAAS;mBAAC,YAAY;;kBAGtB,yDAAW;mBAAC,mBAAmB;;;;;;;;;;;;;;AE9BpC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AACM;AACA;AAEQ;AACQ;AAE/D,YAAY;AACuD;AACA;AACyC;AACpC;AACY;AACT;AACG;AAC1B;AACE;AACP;;AAoCxC,MAAM,WAAW;;0FAAX,WAAW;gJAAX,WAAW,kBApBX;YACL,4DAAY;YACZ,4DAAY;YACZ,oEAAS;YACT,oEAAe;YACf,4EAAsB;YACtB,kEAAY;YACZ,6DAAgB;SACnB;mIAYQ,WAAW,mBAVhB,+EAAe;QACf,+EAAe;QACf,wHAA4B;QAC5B,oFAAgB;QAChB,wFAAmB;QACnB,gGAAsB;QACtB,2FAAoB,aAfpB,4DAAY;QACZ,4DAAY;QACZ,oEAAS;QACT,oEAAe;QACf,4EAAsB;QACtB,kEAAY;QACZ,6DAAgB,aAhBhB,+EAAe;QACf,+EAAe;QACf,wHAA4B;QAC5B,oFAAgB;QAChB,wFAAmB;QACnB,2FAAoB;QACpB,gGAAsB;6FAuBjB,WAAW;cA/BvB,sDAAQ;eAAC;gBACN,OAAO,EAAE;oBACL,+EAAe;oBACf,+EAAe;oBACf,wHAA4B;oBAC5B,oFAAgB;oBAChB,wFAAmB;oBACnB,2FAAoB;oBACpB,gGAAsB;iBAEzB;gBACD,OAAO,EAAE;oBACL,4DAAY;oBACZ,4DAAY;oBACZ,oEAAS;oBACT,oEAAe;oBACf,4EAAsB;oBACtB,kEAAY;oBACZ,6DAAgB;iBACnB;gBACD,YAAY,EAAE;oBACV,+EAAe;oBACf,+EAAe;oBACf,wHAA4B;oBAC5B,oFAAgB;oBAChB,wFAAmB;oBACnB,gGAAsB;oBACtB,2FAAoB;iBAEvB;aACJ;;;;;;;;;;;;;;ACpDD;AAAA;AAAA;AAAA;AAAA;AAA2C;AACN;AACW;;;AAKzC,MAAM,YAAY;IAgBvB,YAAoB,OAA0B;QAA1B,YAAO,GAAP,OAAO,CAAmB;QAd9C,yBAAoB,GAA6B,IAAI,oDAAe,CAAU,IAAI,CAAC,CAAC;QACpF,0BAAqB,GAA6B,IAAI,oDAAe,CAAU,IAAI,CAAC,CAAC;QAEpE,kBAAa,GAA4B,IAAI,oDAAe,CAAS,EAAE,CAAC,CAAC;QAC1F,kBAAa,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;QAGjC,WAAM,GAA4B,IAAI,oDAAe,CAAS,EAAE,CAAC,CAAC;QACnF,WAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;IAMc,CAAC;IAJnD,IAAI,KAAK,CAAC,KAAa;QACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAID,UAAU;QACR,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,UAAU;QACR,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,YAAY;QACV,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACnE,CAAC;IAED,WAAW;QACT,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,WAAW;QACT,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,aAAa;QACX,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACrE,CAAC;IAGD,QAAQ;QACN,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EACvB;YACE,IAAI,EAAE,oBAAoB;YAC1B,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,oBAAoB;YAC7B,KAAK,EAAE,MAAM;YACb,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;IACT,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;;wEAxDU,YAAY;+FAAZ,YAAY,WAAZ,YAAY,mBAFX,MAAM;6FAEP,YAAY;cAHxB,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACND;AAAA;AAAA,mFAAmF;AACnF,8FAA8F;AAC9F,yEAAyE;AACzE,gFAAgF;AAEzE,MAAM,WAAW,GAAG;IACzB,UAAU,EAAE,KAAK;IACjB,GAAG,EAAS,KAAK;IACjB,SAAS,EAAE,gBAAgB;IAC3B,KAAK,EAAE;QACL,KAAK,EAAE,kCAAkC;KAC1C;CACF,CAAC;;;;;;;;;;;;;ACZF;AAAA;AAAA;AAAA;AAAA;AAA+C;AAIU;;;AAEzD,IAAI,qEAAW,CAAC,UAAU,EAAE;IAC1B,oEAAc,EAAE,CAAC;CAClB;AAED,2EAAwB,gBAAgB,CAAC,0DAAU,CAAC;;;;;;;;;;;;;ACVpD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAqD;AACF;AACnD,gFAAgF;AAChF,mFAAmF;AACnF,iFAAiF;AACjF,8DAA8D;AAC9D,kEAAkE;AAClE,iEAAiE;AACjE,yFAAyF;AAClB;AACwG;AAExK,MAAe,gBAAgB;IAclC,YAAY,QAAkB;QAZ9B,2BAAsB,GAAG,gEAAS,CAAC,YAAY,CAAC,6BAA6B,CAAC;QAa1E,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,kEAAmB,CAAC,CAAC;QACtD,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,uEAAwB,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,oEAAqB,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,4DAAa,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,6DAAc,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,6DAAc,CAAC,CAAC;QAC5C,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,qEAAsB,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,oFAAiB,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,wDAAU,CAAC,CAAC;IAC/C,CAAC;IAED,CAAC,CAAC,GAAW,EAAE,GAAG,IAAW;QACzB,IAAI,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAEjF,IAAI,CAAC,aAAa,EAAE;YAChB,aAAa,GAAG,GAAG,CAAC;SACvB;QAED,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACvB,OAAO,aAAa,CAAC;SACxB;QAED,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC5B,OAAO,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,SAAS,CAAC,cAAsB;QAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IACrD,CAAC;CACJ;;;;;;;;;;;;;ACxDD;AAAA;AAAA;AAAA;AAA2C;AACQ;;AAG5C,MAAM,cAAc;IAEvB,MAAM,CAAC,MAAgB;QACnB,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QACtB,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,gEAAS,CAAC,aAAa,CAAC,sBAAsB,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5G,IAAI,MAAM,KAAK,KAAK,EAAE;YAClB,QAAQ,CAAC,IAAI,GAAG,gEAAS,CAAC,UAAU,CAAC;SACxC;IACL,CAAC;;4EARQ,cAAc;iGAAd,cAAc,WAAd,cAAc;6FAAd,cAAc;cAD1B,wDAAU;;;;;;;;;;;;;;ACHX;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2C;AAC3C,kFAAkF;AACX;AAO9C;AACiC;;;;;AAGnD,MAAM,aAAa;IAEtB,YACY,kBAA4C,EAC5C,OAAe,EACf,eAAkC;QAFlC,uBAAkB,GAAlB,kBAAkB,CAA0B;QAC5C,YAAO,GAAP,OAAO,CAAQ;QACf,oBAAe,GAAf,eAAe,CAAmB;IAC1C,CAAC;IAEL,WAAW,CAAC,KAA6B,EAAE,KAA0B;QACjE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;YAC5B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;YACvC,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;YAC1C,OAAO,IAAI,CAAC;SACf;QAED,IAAI,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE;YAC7D,OAAO,IAAI,CAAC;SACf;QAED,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;QAChD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,gBAAgB,CAAC,KAA6B,EAAE,KAA0B;QACtE,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED,eAAe;QACX,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;YAC5B,OAAO,aAAa,CAAC;SACxB;QAED,IAAI,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE;YAClD,OAAO,kBAAkB,CAAC;SAC7B;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;;0EAxCQ,aAAa;gGAAb,aAAa,WAAb,aAAa;6FAAb,aAAa;cADzB,wDAAU;;;;;;;;;;;;;;ACZX;AAAA;AAAA;AASuB;;AAMhB,MAAM,cAAc;IAIvB,YAAoB,QAAoB;QAApB,aAAQ,GAAR,QAAQ,CAAY;IAAI,CAAC;IAE7C,eAAe;QACX,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACnD,CAAC;IAED,WAAW,CAAC,OAAsB;QAC9B,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,aAAa,CAAC;QACrD,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,YAAY,EAAE;YACjC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;SAC7C;aAAM;YACH,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;SAC/C;IACL,CAAC;;4EAjBQ,cAAc;8FAAd,cAAc;iGAAd,cAAc,WAAd,cAAc;6FAAd,cAAc;cAJ1B,uDAAS;eAAC;gBACP,QAAQ,EAAE,SAAS;aACtB;;cACA,wDAAU;;kBAEN,mDAAK;mBAAC,OAAO;;;;;;;;;;;;;;AChBlB;AAAA;AAAA;AASuB;;AAMhB,MAAM,aAAa;IAItB,YAAoB,QAAoB;QAApB,aAAQ,GAAR,QAAQ,CAAY;IAAI,CAAC;IAE7C,eAAe;QACX,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACnD,CAAC;IAED,WAAW,CAAC,OAAsB;QAE9B,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,YAAY,EAAE;YACjC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;SAC/C;aAAM;YACH,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;SACjD;IACL,CAAC;;0EAjBQ,aAAa;6FAAb,aAAa;gGAAb,aAAa,WAAb,aAAa;6FAAb,aAAa;cAJzB,uDAAS;eAAC;gBACP,QAAQ,EAAE,QAAQ;aACrB;;cACA,wDAAU;;kBAEN,mDAAK;mBAAC,MAAM;;;;;;;;;;;;;;AChBjB;AAAA;AAAA;AAAA;AAAiE;AACU;;AAcpE,MAAM,cAAc;IACzB,YACqC,aAAqB,EAC3B,OAAe;QADT,kBAAa,GAAb,aAAa,CAAQ;QAC3B,YAAO,GAAP,OAAO,CAAQ;IAC3C,CAAC;IAEJ,IAAY,SAAS;QACnB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAChD,CAAC;IAED,QAAQ,CAAC,OAAwB;QAC/B,cAAc;QACd,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAE5B,iBAAiB;QACjB,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAEtD,mBAAmB;QACnB,IAAI,QAAQ,IAAI,KAAK,KAAK,QAAQ,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YAC3D,OAAO;gBACL,aAAa,EAAE,KAAK;aACrB,CAAC;SACH;QAED,2BAA2B;QAC3B,IAAI,QAAQ,IAAI,KAAK,KAAK,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE;YAC1D,OAAO,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE;gBACxC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;aAC1B;SACF;QAED,+BAA+B;QAC/B,IAAI,QAAQ,IAAI,KAAK,KAAK,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE;YAC1D,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;SAC9C;QAED,OAAO,IAAI,CAAC;IACd,CAAC;;4EAzCU,cAAc,kEAEZ,eAAe,mEACf,SAAS;8FAHX,cAAc,qOARd;YACT;gBACE,OAAO,EAAE,4DAAa;gBACtB,WAAW,EAAE,gEAAU,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC;gBAC7C,KAAK,EAAE,IAAI;aACZ;SACF;6FAEU,cAAc;cAZ1B,uDAAS;eAAC;gBACT,QAAQ;gBACN,8CAA8C;gBAC9C,wFAAwF;gBAC1F,SAAS,EAAE;oBACT;wBACE,OAAO,EAAE,4DAAa;wBACtB,WAAW,EAAE,gEAAU,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC;wBAC7C,KAAK,EAAE,IAAI;qBACZ;iBACF;aACF;;sBAGI,uDAAS;uBAAC,eAAe;;sBACzB,uDAAS;uBAAC,SAAS;;;;;;;;;;;;;;AClBxB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+C;AACe;AACf;AAGwB;AACN;AACJ;AACD;AACG;AACP;AACC;AACL;AACF;AAEgB;AACF;AACY;;AAC5E,4DAA4D;AAyBrD,MAAM,YAAY;IACrB,MAAM,CAAC,OAAO;QACV,OAAO;YACH,QAAQ,EAAE,YAAY;YACtB,SAAS,EAAE;gBACP,oFAAiB;gBACjB,4EAAa;gBACb,yEAAc;gBACd,wEAAa;aAChB;SACJ,CAAC;IACN,CAAC;;2FAXQ,YAAY;kJAAZ,YAAY,kBAvBZ;YACL,4DAAY;YACZ,kBAAkB;YAClB,4DAAY;SAEf;QAYG,kEAAc;QACd,gEAAa;QACb,qEAAc;QACd,sEAAe;mIAGV,YAAY,mBAhBjB,4EAAY;QACZ,+EAAc;QACd,6EAAa;QACb,yFAAc,aATd,4DAAY;QACZ,kBAAkB;QAClB,4DAAY,aAUZ,4EAAY;QACZ,+EAAc;QACd,6EAAa;QACb,yFAAc;QACd,kEAAc;QACd,gEAAa;QACb,qEAAc;QACd,sEAAe;6FAGV,YAAY;cAxBxB,sDAAQ;eAAC;gBACN,OAAO,EAAE;oBACL,4DAAY;oBACZ,kBAAkB;oBAClB,4DAAY;iBAEf;gBACD,YAAY,EAAE;oBACV,4EAAY;oBACZ,+EAAc;oBACd,6EAAa;oBACb,yFAAc;iBACjB;gBACD,OAAO,EAAE;oBACL,4EAAY;oBACZ,+EAAc;oBACd,6EAAa;oBACb,yFAAc;oBACd,kEAAc;oBACd,gEAAa;oBACb,qEAAc;oBACd,sEAAe;iBAClB;aACJ","file":"main.js","sourcesContent":["var map = {\n\t\"./af-NA.js\": [\n\t\t\"./node_modules/@angular/common/locales/af-NA.js\",\n\t\t0\n\t],\n\t\"./af.js\": [\n\t\t\"./node_modules/@angular/common/locales/af.js\",\n\t\t1\n\t],\n\t\"./agq.js\": [\n\t\t\"./node_modules/@angular/common/locales/agq.js\",\n\t\t2\n\t],\n\t\"./ak.js\": [\n\t\t\"./node_modules/@angular/common/locales/ak.js\",\n\t\t3\n\t],\n\t\"./am.js\": [\n\t\t\"./node_modules/@angular/common/locales/am.js\",\n\t\t4\n\t],\n\t\"./ar-AE.js\": [\n\t\t\"./node_modules/@angular/common/locales/ar-AE.js\",\n\t\t5\n\t],\n\t\"./ar-BH.js\": [\n\t\t\"./node_modules/@angular/common/locales/ar-BH.js\",\n\t\t6\n\t],\n\t\"./ar-DJ.js\": [\n\t\t\"./node_modules/@angular/common/locales/ar-DJ.js\",\n\t\t7\n\t],\n\t\"./ar-DZ.js\": [\n\t\t\"./node_modules/@angular/common/locales/ar-DZ.js\",\n\t\t8\n\t],\n\t\"./ar-EG.js\": [\n\t\t\"./node_modules/@angular/common/locales/ar-EG.js\",\n\t\t9\n\t],\n\t\"./ar-EH.js\": [\n\t\t\"./node_modules/@angular/common/locales/ar-EH.js\",\n\t\t10\n\t],\n\t\"./ar-ER.js\": [\n\t\t\"./node_modules/@angular/common/locales/ar-ER.js\",\n\t\t11\n\t],\n\t\"./ar-IL.js\": [\n\t\t\"./node_modules/@angular/common/locales/ar-IL.js\",\n\t\t12\n\t],\n\t\"./ar-IQ.js\": [\n\t\t\"./node_modules/@angular/common/locales/ar-IQ.js\",\n\t\t13\n\t],\n\t\"./ar-JO.js\": [\n\t\t\"./node_modules/@angular/common/locales/ar-JO.js\",\n\t\t14\n\t],\n\t\"./ar-KM.js\": [\n\t\t\"./node_modules/@angular/common/locales/ar-KM.js\",\n\t\t15\n\t],\n\t\"./ar-KW.js\": [\n\t\t\"./node_modules/@angular/common/locales/ar-KW.js\",\n\t\t16\n\t],\n\t\"./ar-LB.js\": [\n\t\t\"./node_modules/@angular/common/locales/ar-LB.js\",\n\t\t17\n\t],\n\t\"./ar-LY.js\": [\n\t\t\"./node_modules/@angular/common/locales/ar-LY.js\",\n\t\t18\n\t],\n\t\"./ar-MA.js\": [\n\t\t\"./node_modules/@angular/common/locales/ar-MA.js\",\n\t\t19\n\t],\n\t\"./ar-MR.js\": [\n\t\t\"./node_modules/@angular/common/locales/ar-MR.js\",\n\t\t20\n\t],\n\t\"./ar-OM.js\": [\n\t\t\"./node_modules/@angular/common/locales/ar-OM.js\",\n\t\t21\n\t],\n\t\"./ar-PS.js\": [\n\t\t\"./node_modules/@angular/common/locales/ar-PS.js\",\n\t\t22\n\t],\n\t\"./ar-QA.js\": [\n\t\t\"./node_modules/@angular/common/locales/ar-QA.js\",\n\t\t23\n\t],\n\t\"./ar-SA.js\": [\n\t\t\"./node_modules/@angular/common/locales/ar-SA.js\",\n\t\t24\n\t],\n\t\"./ar-SD.js\": [\n\t\t\"./node_modules/@angular/common/locales/ar-SD.js\",\n\t\t25\n\t],\n\t\"./ar-SO.js\": [\n\t\t\"./node_modules/@angular/common/locales/ar-SO.js\",\n\t\t26\n\t],\n\t\"./ar-SS.js\": [\n\t\t\"./node_modules/@angular/common/locales/ar-SS.js\",\n\t\t27\n\t],\n\t\"./ar-SY.js\": [\n\t\t\"./node_modules/@angular/common/locales/ar-SY.js\",\n\t\t28\n\t],\n\t\"./ar-TD.js\": [\n\t\t\"./node_modules/@angular/common/locales/ar-TD.js\",\n\t\t29\n\t],\n\t\"./ar-TN.js\": [\n\t\t\"./node_modules/@angular/common/locales/ar-TN.js\",\n\t\t30\n\t],\n\t\"./ar-YE.js\": [\n\t\t\"./node_modules/@angular/common/locales/ar-YE.js\",\n\t\t31\n\t],\n\t\"./ar.js\": [\n\t\t\"./node_modules/@angular/common/locales/ar.js\",\n\t\t32\n\t],\n\t\"./as.js\": [\n\t\t\"./node_modules/@angular/common/locales/as.js\",\n\t\t33\n\t],\n\t\"./asa.js\": [\n\t\t\"./node_modules/@angular/common/locales/asa.js\",\n\t\t34\n\t],\n\t\"./ast.js\": [\n\t\t\"./node_modules/@angular/common/locales/ast.js\",\n\t\t35\n\t],\n\t\"./az-Cyrl.js\": [\n\t\t\"./node_modules/@angular/common/locales/az-Cyrl.js\",\n\t\t36\n\t],\n\t\"./az-Latn.js\": [\n\t\t\"./node_modules/@angular/common/locales/az-Latn.js\",\n\t\t37\n\t],\n\t\"./az.js\": [\n\t\t\"./node_modules/@angular/common/locales/az.js\",\n\t\t38\n\t],\n\t\"./bas.js\": [\n\t\t\"./node_modules/@angular/common/locales/bas.js\",\n\t\t39\n\t],\n\t\"./be.js\": [\n\t\t\"./node_modules/@angular/common/locales/be.js\",\n\t\t40\n\t],\n\t\"./bem.js\": [\n\t\t\"./node_modules/@angular/common/locales/bem.js\",\n\t\t41\n\t],\n\t\"./bez.js\": [\n\t\t\"./node_modules/@angular/common/locales/bez.js\",\n\t\t42\n\t],\n\t\"./bg.js\": [\n\t\t\"./node_modules/@angular/common/locales/bg.js\",\n\t\t43\n\t],\n\t\"./bm.js\": [\n\t\t\"./node_modules/@angular/common/locales/bm.js\",\n\t\t44\n\t],\n\t\"./bn-IN.js\": [\n\t\t\"./node_modules/@angular/common/locales/bn-IN.js\",\n\t\t45\n\t],\n\t\"./bn.js\": [\n\t\t\"./node_modules/@angular/common/locales/bn.js\",\n\t\t46\n\t],\n\t\"./bo-IN.js\": [\n\t\t\"./node_modules/@angular/common/locales/bo-IN.js\",\n\t\t47\n\t],\n\t\"./bo.js\": [\n\t\t\"./node_modules/@angular/common/locales/bo.js\",\n\t\t48\n\t],\n\t\"./br.js\": [\n\t\t\"./node_modules/@angular/common/locales/br.js\",\n\t\t49\n\t],\n\t\"./brx.js\": [\n\t\t\"./node_modules/@angular/common/locales/brx.js\",\n\t\t50\n\t],\n\t\"./bs-Cyrl.js\": [\n\t\t\"./node_modules/@angular/common/locales/bs-Cyrl.js\",\n\t\t51\n\t],\n\t\"./bs-Latn.js\": [\n\t\t\"./node_modules/@angular/common/locales/bs-Latn.js\",\n\t\t52\n\t],\n\t\"./bs.js\": [\n\t\t\"./node_modules/@angular/common/locales/bs.js\",\n\t\t53\n\t],\n\t\"./ca-AD.js\": [\n\t\t\"./node_modules/@angular/common/locales/ca-AD.js\",\n\t\t54\n\t],\n\t\"./ca-ES-VALENCIA.js\": [\n\t\t\"./node_modules/@angular/common/locales/ca-ES-VALENCIA.js\",\n\t\t55\n\t],\n\t\"./ca-FR.js\": [\n\t\t\"./node_modules/@angular/common/locales/ca-FR.js\",\n\t\t56\n\t],\n\t\"./ca-IT.js\": [\n\t\t\"./node_modules/@angular/common/locales/ca-IT.js\",\n\t\t57\n\t],\n\t\"./ca.js\": [\n\t\t\"./node_modules/@angular/common/locales/ca.js\",\n\t\t58\n\t],\n\t\"./ccp-IN.js\": [\n\t\t\"./node_modules/@angular/common/locales/ccp-IN.js\",\n\t\t59\n\t],\n\t\"./ccp.js\": [\n\t\t\"./node_modules/@angular/common/locales/ccp.js\",\n\t\t60\n\t],\n\t\"./ce.js\": [\n\t\t\"./node_modules/@angular/common/locales/ce.js\",\n\t\t61\n\t],\n\t\"./ceb.js\": [\n\t\t\"./node_modules/@angular/common/locales/ceb.js\",\n\t\t62\n\t],\n\t\"./cgg.js\": [\n\t\t\"./node_modules/@angular/common/locales/cgg.js\",\n\t\t63\n\t],\n\t\"./chr.js\": [\n\t\t\"./node_modules/@angular/common/locales/chr.js\",\n\t\t64\n\t],\n\t\"./ckb-IR.js\": [\n\t\t\"./node_modules/@angular/common/locales/ckb-IR.js\",\n\t\t65\n\t],\n\t\"./ckb.js\": [\n\t\t\"./node_modules/@angular/common/locales/ckb.js\",\n\t\t66\n\t],\n\t\"./cs.js\": [\n\t\t\"./node_modules/@angular/common/locales/cs.js\",\n\t\t67\n\t],\n\t\"./cu.js\": [\n\t\t\"./node_modules/@angular/common/locales/cu.js\",\n\t\t68\n\t],\n\t\"./cy.js\": [\n\t\t\"./node_modules/@angular/common/locales/cy.js\",\n\t\t69\n\t],\n\t\"./da-GL.js\": [\n\t\t\"./node_modules/@angular/common/locales/da-GL.js\",\n\t\t70\n\t],\n\t\"./da.js\": [\n\t\t\"./node_modules/@angular/common/locales/da.js\",\n\t\t71\n\t],\n\t\"./dav.js\": [\n\t\t\"./node_modules/@angular/common/locales/dav.js\",\n\t\t72\n\t],\n\t\"./de-AT.js\": [\n\t\t\"./node_modules/@angular/common/locales/de-AT.js\",\n\t\t73\n\t],\n\t\"./de-BE.js\": [\n\t\t\"./node_modules/@angular/common/locales/de-BE.js\",\n\t\t74\n\t],\n\t\"./de-CH.js\": [\n\t\t\"./node_modules/@angular/common/locales/de-CH.js\",\n\t\t75\n\t],\n\t\"./de-IT.js\": [\n\t\t\"./node_modules/@angular/common/locales/de-IT.js\",\n\t\t76\n\t],\n\t\"./de-LI.js\": [\n\t\t\"./node_modules/@angular/common/locales/de-LI.js\",\n\t\t77\n\t],\n\t\"./de-LU.js\": [\n\t\t\"./node_modules/@angular/common/locales/de-LU.js\",\n\t\t78\n\t],\n\t\"./de.js\": [\n\t\t\"./node_modules/@angular/common/locales/de.js\",\n\t\t79\n\t],\n\t\"./dje.js\": [\n\t\t\"./node_modules/@angular/common/locales/dje.js\",\n\t\t80\n\t],\n\t\"./dsb.js\": [\n\t\t\"./node_modules/@angular/common/locales/dsb.js\",\n\t\t81\n\t],\n\t\"./dua.js\": [\n\t\t\"./node_modules/@angular/common/locales/dua.js\",\n\t\t82\n\t],\n\t\"./dyo.js\": [\n\t\t\"./node_modules/@angular/common/locales/dyo.js\",\n\t\t83\n\t],\n\t\"./dz.js\": [\n\t\t\"./node_modules/@angular/common/locales/dz.js\",\n\t\t84\n\t],\n\t\"./ebu.js\": [\n\t\t\"./node_modules/@angular/common/locales/ebu.js\",\n\t\t85\n\t],\n\t\"./ee-TG.js\": [\n\t\t\"./node_modules/@angular/common/locales/ee-TG.js\",\n\t\t86\n\t],\n\t\"./ee.js\": [\n\t\t\"./node_modules/@angular/common/locales/ee.js\",\n\t\t87\n\t],\n\t\"./el-CY.js\": [\n\t\t\"./node_modules/@angular/common/locales/el-CY.js\",\n\t\t88\n\t],\n\t\"./el.js\": [\n\t\t\"./node_modules/@angular/common/locales/el.js\",\n\t\t89\n\t],\n\t\"./en-001.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-001.js\",\n\t\t90\n\t],\n\t\"./en-150.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-150.js\",\n\t\t91\n\t],\n\t\"./en-AE.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-AE.js\",\n\t\t92\n\t],\n\t\"./en-AG.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-AG.js\",\n\t\t93\n\t],\n\t\"./en-AI.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-AI.js\",\n\t\t94\n\t],\n\t\"./en-AS.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-AS.js\",\n\t\t95\n\t],\n\t\"./en-AT.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-AT.js\",\n\t\t96\n\t],\n\t\"./en-AU.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-AU.js\",\n\t\t97\n\t],\n\t\"./en-BB.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-BB.js\",\n\t\t98\n\t],\n\t\"./en-BE.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-BE.js\",\n\t\t99\n\t],\n\t\"./en-BI.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-BI.js\",\n\t\t100\n\t],\n\t\"./en-BM.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-BM.js\",\n\t\t101\n\t],\n\t\"./en-BS.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-BS.js\",\n\t\t102\n\t],\n\t\"./en-BW.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-BW.js\",\n\t\t103\n\t],\n\t\"./en-BZ.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-BZ.js\",\n\t\t104\n\t],\n\t\"./en-CA.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-CA.js\",\n\t\t105\n\t],\n\t\"./en-CC.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-CC.js\",\n\t\t106\n\t],\n\t\"./en-CH.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-CH.js\",\n\t\t107\n\t],\n\t\"./en-CK.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-CK.js\",\n\t\t108\n\t],\n\t\"./en-CM.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-CM.js\",\n\t\t109\n\t],\n\t\"./en-CX.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-CX.js\",\n\t\t110\n\t],\n\t\"./en-CY.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-CY.js\",\n\t\t111\n\t],\n\t\"./en-DE.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-DE.js\",\n\t\t112\n\t],\n\t\"./en-DG.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-DG.js\",\n\t\t113\n\t],\n\t\"./en-DK.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-DK.js\",\n\t\t114\n\t],\n\t\"./en-DM.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-DM.js\",\n\t\t115\n\t],\n\t\"./en-ER.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-ER.js\",\n\t\t116\n\t],\n\t\"./en-FI.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-FI.js\",\n\t\t117\n\t],\n\t\"./en-FJ.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-FJ.js\",\n\t\t118\n\t],\n\t\"./en-FK.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-FK.js\",\n\t\t119\n\t],\n\t\"./en-FM.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-FM.js\",\n\t\t120\n\t],\n\t\"./en-GB.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-GB.js\",\n\t\t121\n\t],\n\t\"./en-GD.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-GD.js\",\n\t\t122\n\t],\n\t\"./en-GG.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-GG.js\",\n\t\t123\n\t],\n\t\"./en-GH.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-GH.js\",\n\t\t124\n\t],\n\t\"./en-GI.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-GI.js\",\n\t\t125\n\t],\n\t\"./en-GM.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-GM.js\",\n\t\t126\n\t],\n\t\"./en-GU.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-GU.js\",\n\t\t127\n\t],\n\t\"./en-GY.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-GY.js\",\n\t\t128\n\t],\n\t\"./en-HK.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-HK.js\",\n\t\t129\n\t],\n\t\"./en-IE.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-IE.js\",\n\t\t130\n\t],\n\t\"./en-IL.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-IL.js\",\n\t\t131\n\t],\n\t\"./en-IM.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-IM.js\",\n\t\t132\n\t],\n\t\"./en-IN.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-IN.js\",\n\t\t133\n\t],\n\t\"./en-IO.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-IO.js\",\n\t\t134\n\t],\n\t\"./en-JE.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-JE.js\",\n\t\t135\n\t],\n\t\"./en-JM.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-JM.js\",\n\t\t136\n\t],\n\t\"./en-KE.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-KE.js\",\n\t\t137\n\t],\n\t\"./en-KI.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-KI.js\",\n\t\t138\n\t],\n\t\"./en-KN.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-KN.js\",\n\t\t139\n\t],\n\t\"./en-KY.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-KY.js\",\n\t\t140\n\t],\n\t\"./en-LC.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-LC.js\",\n\t\t141\n\t],\n\t\"./en-LR.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-LR.js\",\n\t\t142\n\t],\n\t\"./en-LS.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-LS.js\",\n\t\t143\n\t],\n\t\"./en-MG.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-MG.js\",\n\t\t144\n\t],\n\t\"./en-MH.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-MH.js\",\n\t\t145\n\t],\n\t\"./en-MO.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-MO.js\",\n\t\t146\n\t],\n\t\"./en-MP.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-MP.js\",\n\t\t147\n\t],\n\t\"./en-MS.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-MS.js\",\n\t\t148\n\t],\n\t\"./en-MT.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-MT.js\",\n\t\t149\n\t],\n\t\"./en-MU.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-MU.js\",\n\t\t150\n\t],\n\t\"./en-MW.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-MW.js\",\n\t\t151\n\t],\n\t\"./en-MY.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-MY.js\",\n\t\t152\n\t],\n\t\"./en-NA.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-NA.js\",\n\t\t153\n\t],\n\t\"./en-NF.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-NF.js\",\n\t\t154\n\t],\n\t\"./en-NG.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-NG.js\",\n\t\t155\n\t],\n\t\"./en-NL.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-NL.js\",\n\t\t156\n\t],\n\t\"./en-NR.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-NR.js\",\n\t\t157\n\t],\n\t\"./en-NU.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-NU.js\",\n\t\t158\n\t],\n\t\"./en-NZ.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-NZ.js\",\n\t\t159\n\t],\n\t\"./en-PG.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-PG.js\",\n\t\t160\n\t],\n\t\"./en-PH.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-PH.js\",\n\t\t161\n\t],\n\t\"./en-PK.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-PK.js\",\n\t\t162\n\t],\n\t\"./en-PN.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-PN.js\",\n\t\t163\n\t],\n\t\"./en-PR.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-PR.js\",\n\t\t164\n\t],\n\t\"./en-PW.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-PW.js\",\n\t\t165\n\t],\n\t\"./en-RW.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-RW.js\",\n\t\t166\n\t],\n\t\"./en-SB.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-SB.js\",\n\t\t167\n\t],\n\t\"./en-SC.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-SC.js\",\n\t\t168\n\t],\n\t\"./en-SD.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-SD.js\",\n\t\t169\n\t],\n\t\"./en-SE.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-SE.js\",\n\t\t170\n\t],\n\t\"./en-SG.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-SG.js\",\n\t\t171\n\t],\n\t\"./en-SH.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-SH.js\",\n\t\t172\n\t],\n\t\"./en-SI.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-SI.js\",\n\t\t173\n\t],\n\t\"./en-SL.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-SL.js\",\n\t\t174\n\t],\n\t\"./en-SS.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-SS.js\",\n\t\t175\n\t],\n\t\"./en-SX.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-SX.js\",\n\t\t176\n\t],\n\t\"./en-SZ.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-SZ.js\",\n\t\t177\n\t],\n\t\"./en-TC.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-TC.js\",\n\t\t178\n\t],\n\t\"./en-TK.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-TK.js\",\n\t\t179\n\t],\n\t\"./en-TO.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-TO.js\",\n\t\t180\n\t],\n\t\"./en-TT.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-TT.js\",\n\t\t181\n\t],\n\t\"./en-TV.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-TV.js\",\n\t\t182\n\t],\n\t\"./en-TZ.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-TZ.js\",\n\t\t183\n\t],\n\t\"./en-UG.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-UG.js\",\n\t\t184\n\t],\n\t\"./en-UM.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-UM.js\",\n\t\t185\n\t],\n\t\"./en-US-POSIX.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-US-POSIX.js\",\n\t\t186\n\t],\n\t\"./en-VC.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-VC.js\",\n\t\t187\n\t],\n\t\"./en-VG.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-VG.js\",\n\t\t188\n\t],\n\t\"./en-VI.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-VI.js\",\n\t\t189\n\t],\n\t\"./en-VU.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-VU.js\",\n\t\t190\n\t],\n\t\"./en-WS.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-WS.js\",\n\t\t191\n\t],\n\t\"./en-ZA.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-ZA.js\",\n\t\t192\n\t],\n\t\"./en-ZM.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-ZM.js\",\n\t\t193\n\t],\n\t\"./en-ZW.js\": [\n\t\t\"./node_modules/@angular/common/locales/en-ZW.js\",\n\t\t194\n\t],\n\t\"./en.js\": [\n\t\t\"./node_modules/@angular/common/locales/en.js\",\n\t\t195\n\t],\n\t\"./eo.js\": [\n\t\t\"./node_modules/@angular/common/locales/eo.js\",\n\t\t196\n\t],\n\t\"./es-419.js\": [\n\t\t\"./node_modules/@angular/common/locales/es-419.js\",\n\t\t197\n\t],\n\t\"./es-AR.js\": [\n\t\t\"./node_modules/@angular/common/locales/es-AR.js\",\n\t\t198\n\t],\n\t\"./es-BO.js\": [\n\t\t\"./node_modules/@angular/common/locales/es-BO.js\",\n\t\t199\n\t],\n\t\"./es-BR.js\": [\n\t\t\"./node_modules/@angular/common/locales/es-BR.js\",\n\t\t200\n\t],\n\t\"./es-BZ.js\": [\n\t\t\"./node_modules/@angular/common/locales/es-BZ.js\",\n\t\t201\n\t],\n\t\"./es-CL.js\": [\n\t\t\"./node_modules/@angular/common/locales/es-CL.js\",\n\t\t202\n\t],\n\t\"./es-CO.js\": [\n\t\t\"./node_modules/@angular/common/locales/es-CO.js\",\n\t\t203\n\t],\n\t\"./es-CR.js\": [\n\t\t\"./node_modules/@angular/common/locales/es-CR.js\",\n\t\t204\n\t],\n\t\"./es-CU.js\": [\n\t\t\"./node_modules/@angular/common/locales/es-CU.js\",\n\t\t205\n\t],\n\t\"./es-DO.js\": [\n\t\t\"./node_modules/@angular/common/locales/es-DO.js\",\n\t\t206\n\t],\n\t\"./es-EA.js\": [\n\t\t\"./node_modules/@angular/common/locales/es-EA.js\",\n\t\t207\n\t],\n\t\"./es-EC.js\": [\n\t\t\"./node_modules/@angular/common/locales/es-EC.js\",\n\t\t208\n\t],\n\t\"./es-GQ.js\": [\n\t\t\"./node_modules/@angular/common/locales/es-GQ.js\",\n\t\t209\n\t],\n\t\"./es-GT.js\": [\n\t\t\"./node_modules/@angular/common/locales/es-GT.js\",\n\t\t210\n\t],\n\t\"./es-HN.js\": [\n\t\t\"./node_modules/@angular/common/locales/es-HN.js\",\n\t\t211\n\t],\n\t\"./es-IC.js\": [\n\t\t\"./node_modules/@angular/common/locales/es-IC.js\",\n\t\t212\n\t],\n\t\"./es-MX.js\": [\n\t\t\"./node_modules/@angular/common/locales/es-MX.js\",\n\t\t213\n\t],\n\t\"./es-NI.js\": [\n\t\t\"./node_modules/@angular/common/locales/es-NI.js\",\n\t\t214\n\t],\n\t\"./es-PA.js\": [\n\t\t\"./node_modules/@angular/common/locales/es-PA.js\",\n\t\t215\n\t],\n\t\"./es-PE.js\": [\n\t\t\"./node_modules/@angular/common/locales/es-PE.js\",\n\t\t216\n\t],\n\t\"./es-PH.js\": [\n\t\t\"./node_modules/@angular/common/locales/es-PH.js\",\n\t\t217\n\t],\n\t\"./es-PR.js\": [\n\t\t\"./node_modules/@angular/common/locales/es-PR.js\",\n\t\t218\n\t],\n\t\"./es-PY.js\": [\n\t\t\"./node_modules/@angular/common/locales/es-PY.js\",\n\t\t219\n\t],\n\t\"./es-SV.js\": [\n\t\t\"./node_modules/@angular/common/locales/es-SV.js\",\n\t\t220\n\t],\n\t\"./es-US.js\": [\n\t\t\"./node_modules/@angular/common/locales/es-US.js\",\n\t\t221\n\t],\n\t\"./es-UY.js\": [\n\t\t\"./node_modules/@angular/common/locales/es-UY.js\",\n\t\t222\n\t],\n\t\"./es-VE.js\": [\n\t\t\"./node_modules/@angular/common/locales/es-VE.js\",\n\t\t223\n\t],\n\t\"./es.js\": [\n\t\t\"./node_modules/@angular/common/locales/es.js\",\n\t\t224\n\t],\n\t\"./et.js\": [\n\t\t\"./node_modules/@angular/common/locales/et.js\",\n\t\t225\n\t],\n\t\"./eu.js\": [\n\t\t\"./node_modules/@angular/common/locales/eu.js\",\n\t\t226\n\t],\n\t\"./ewo.js\": [\n\t\t\"./node_modules/@angular/common/locales/ewo.js\",\n\t\t227\n\t],\n\t\"./extra/af-NA.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/af-NA.js\",\n\t\t228\n\t],\n\t\"./extra/af.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/af.js\",\n\t\t229\n\t],\n\t\"./extra/agq.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/agq.js\",\n\t\t230\n\t],\n\t\"./extra/ak.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ak.js\",\n\t\t231\n\t],\n\t\"./extra/am.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/am.js\",\n\t\t232\n\t],\n\t\"./extra/ar-AE.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ar-AE.js\",\n\t\t233\n\t],\n\t\"./extra/ar-BH.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ar-BH.js\",\n\t\t234\n\t],\n\t\"./extra/ar-DJ.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ar-DJ.js\",\n\t\t235\n\t],\n\t\"./extra/ar-DZ.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ar-DZ.js\",\n\t\t236\n\t],\n\t\"./extra/ar-EG.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ar-EG.js\",\n\t\t237\n\t],\n\t\"./extra/ar-EH.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ar-EH.js\",\n\t\t238\n\t],\n\t\"./extra/ar-ER.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ar-ER.js\",\n\t\t239\n\t],\n\t\"./extra/ar-IL.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ar-IL.js\",\n\t\t240\n\t],\n\t\"./extra/ar-IQ.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ar-IQ.js\",\n\t\t241\n\t],\n\t\"./extra/ar-JO.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ar-JO.js\",\n\t\t242\n\t],\n\t\"./extra/ar-KM.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ar-KM.js\",\n\t\t243\n\t],\n\t\"./extra/ar-KW.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ar-KW.js\",\n\t\t244\n\t],\n\t\"./extra/ar-LB.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ar-LB.js\",\n\t\t245\n\t],\n\t\"./extra/ar-LY.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ar-LY.js\",\n\t\t246\n\t],\n\t\"./extra/ar-MA.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ar-MA.js\",\n\t\t247\n\t],\n\t\"./extra/ar-MR.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ar-MR.js\",\n\t\t248\n\t],\n\t\"./extra/ar-OM.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ar-OM.js\",\n\t\t249\n\t],\n\t\"./extra/ar-PS.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ar-PS.js\",\n\t\t250\n\t],\n\t\"./extra/ar-QA.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ar-QA.js\",\n\t\t251\n\t],\n\t\"./extra/ar-SA.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ar-SA.js\",\n\t\t252\n\t],\n\t\"./extra/ar-SD.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ar-SD.js\",\n\t\t253\n\t],\n\t\"./extra/ar-SO.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ar-SO.js\",\n\t\t254\n\t],\n\t\"./extra/ar-SS.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ar-SS.js\",\n\t\t255\n\t],\n\t\"./extra/ar-SY.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ar-SY.js\",\n\t\t256\n\t],\n\t\"./extra/ar-TD.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ar-TD.js\",\n\t\t257\n\t],\n\t\"./extra/ar-TN.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ar-TN.js\",\n\t\t258\n\t],\n\t\"./extra/ar-YE.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ar-YE.js\",\n\t\t259\n\t],\n\t\"./extra/ar.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ar.js\",\n\t\t260\n\t],\n\t\"./extra/as.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/as.js\",\n\t\t261\n\t],\n\t\"./extra/asa.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/asa.js\",\n\t\t262\n\t],\n\t\"./extra/ast.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ast.js\",\n\t\t263\n\t],\n\t\"./extra/az-Cyrl.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/az-Cyrl.js\",\n\t\t264\n\t],\n\t\"./extra/az-Latn.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/az-Latn.js\",\n\t\t265\n\t],\n\t\"./extra/az.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/az.js\",\n\t\t266\n\t],\n\t\"./extra/bas.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/bas.js\",\n\t\t267\n\t],\n\t\"./extra/be.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/be.js\",\n\t\t268\n\t],\n\t\"./extra/bem.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/bem.js\",\n\t\t269\n\t],\n\t\"./extra/bez.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/bez.js\",\n\t\t270\n\t],\n\t\"./extra/bg.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/bg.js\",\n\t\t271\n\t],\n\t\"./extra/bm.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/bm.js\",\n\t\t272\n\t],\n\t\"./extra/bn-IN.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/bn-IN.js\",\n\t\t273\n\t],\n\t\"./extra/bn.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/bn.js\",\n\t\t274\n\t],\n\t\"./extra/bo-IN.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/bo-IN.js\",\n\t\t275\n\t],\n\t\"./extra/bo.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/bo.js\",\n\t\t276\n\t],\n\t\"./extra/br.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/br.js\",\n\t\t277\n\t],\n\t\"./extra/brx.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/brx.js\",\n\t\t278\n\t],\n\t\"./extra/bs-Cyrl.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/bs-Cyrl.js\",\n\t\t279\n\t],\n\t\"./extra/bs-Latn.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/bs-Latn.js\",\n\t\t280\n\t],\n\t\"./extra/bs.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/bs.js\",\n\t\t281\n\t],\n\t\"./extra/ca-AD.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ca-AD.js\",\n\t\t282\n\t],\n\t\"./extra/ca-ES-VALENCIA.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ca-ES-VALENCIA.js\",\n\t\t283\n\t],\n\t\"./extra/ca-FR.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ca-FR.js\",\n\t\t284\n\t],\n\t\"./extra/ca-IT.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ca-IT.js\",\n\t\t285\n\t],\n\t\"./extra/ca.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ca.js\",\n\t\t286\n\t],\n\t\"./extra/ccp-IN.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ccp-IN.js\",\n\t\t287\n\t],\n\t\"./extra/ccp.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ccp.js\",\n\t\t288\n\t],\n\t\"./extra/ce.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ce.js\",\n\t\t289\n\t],\n\t\"./extra/ceb.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ceb.js\",\n\t\t290\n\t],\n\t\"./extra/cgg.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/cgg.js\",\n\t\t291\n\t],\n\t\"./extra/chr.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/chr.js\",\n\t\t292\n\t],\n\t\"./extra/ckb-IR.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ckb-IR.js\",\n\t\t293\n\t],\n\t\"./extra/ckb.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ckb.js\",\n\t\t294\n\t],\n\t\"./extra/cs.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/cs.js\",\n\t\t295\n\t],\n\t\"./extra/cu.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/cu.js\",\n\t\t296\n\t],\n\t\"./extra/cy.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/cy.js\",\n\t\t297\n\t],\n\t\"./extra/da-GL.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/da-GL.js\",\n\t\t298\n\t],\n\t\"./extra/da.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/da.js\",\n\t\t299\n\t],\n\t\"./extra/dav.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/dav.js\",\n\t\t300\n\t],\n\t\"./extra/de-AT.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/de-AT.js\",\n\t\t301\n\t],\n\t\"./extra/de-BE.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/de-BE.js\",\n\t\t302\n\t],\n\t\"./extra/de-CH.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/de-CH.js\",\n\t\t303\n\t],\n\t\"./extra/de-IT.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/de-IT.js\",\n\t\t304\n\t],\n\t\"./extra/de-LI.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/de-LI.js\",\n\t\t305\n\t],\n\t\"./extra/de-LU.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/de-LU.js\",\n\t\t306\n\t],\n\t\"./extra/de.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/de.js\",\n\t\t307\n\t],\n\t\"./extra/dje.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/dje.js\",\n\t\t308\n\t],\n\t\"./extra/dsb.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/dsb.js\",\n\t\t309\n\t],\n\t\"./extra/dua.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/dua.js\",\n\t\t310\n\t],\n\t\"./extra/dyo.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/dyo.js\",\n\t\t311\n\t],\n\t\"./extra/dz.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/dz.js\",\n\t\t312\n\t],\n\t\"./extra/ebu.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ebu.js\",\n\t\t313\n\t],\n\t\"./extra/ee-TG.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ee-TG.js\",\n\t\t314\n\t],\n\t\"./extra/ee.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ee.js\",\n\t\t315\n\t],\n\t\"./extra/el-CY.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/el-CY.js\",\n\t\t316\n\t],\n\t\"./extra/el.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/el.js\",\n\t\t317\n\t],\n\t\"./extra/en-001.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-001.js\",\n\t\t318\n\t],\n\t\"./extra/en-150.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-150.js\",\n\t\t319\n\t],\n\t\"./extra/en-AE.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-AE.js\",\n\t\t320\n\t],\n\t\"./extra/en-AG.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-AG.js\",\n\t\t321\n\t],\n\t\"./extra/en-AI.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-AI.js\",\n\t\t322\n\t],\n\t\"./extra/en-AS.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-AS.js\",\n\t\t323\n\t],\n\t\"./extra/en-AT.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-AT.js\",\n\t\t324\n\t],\n\t\"./extra/en-AU.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-AU.js\",\n\t\t325\n\t],\n\t\"./extra/en-BB.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-BB.js\",\n\t\t326\n\t],\n\t\"./extra/en-BE.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-BE.js\",\n\t\t327\n\t],\n\t\"./extra/en-BI.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-BI.js\",\n\t\t328\n\t],\n\t\"./extra/en-BM.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-BM.js\",\n\t\t329\n\t],\n\t\"./extra/en-BS.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-BS.js\",\n\t\t330\n\t],\n\t\"./extra/en-BW.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-BW.js\",\n\t\t331\n\t],\n\t\"./extra/en-BZ.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-BZ.js\",\n\t\t332\n\t],\n\t\"./extra/en-CA.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-CA.js\",\n\t\t333\n\t],\n\t\"./extra/en-CC.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-CC.js\",\n\t\t334\n\t],\n\t\"./extra/en-CH.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-CH.js\",\n\t\t335\n\t],\n\t\"./extra/en-CK.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-CK.js\",\n\t\t336\n\t],\n\t\"./extra/en-CM.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-CM.js\",\n\t\t337\n\t],\n\t\"./extra/en-CX.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-CX.js\",\n\t\t338\n\t],\n\t\"./extra/en-CY.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-CY.js\",\n\t\t339\n\t],\n\t\"./extra/en-DE.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-DE.js\",\n\t\t340\n\t],\n\t\"./extra/en-DG.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-DG.js\",\n\t\t341\n\t],\n\t\"./extra/en-DK.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-DK.js\",\n\t\t342\n\t],\n\t\"./extra/en-DM.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-DM.js\",\n\t\t343\n\t],\n\t\"./extra/en-ER.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-ER.js\",\n\t\t344\n\t],\n\t\"./extra/en-FI.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-FI.js\",\n\t\t345\n\t],\n\t\"./extra/en-FJ.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-FJ.js\",\n\t\t346\n\t],\n\t\"./extra/en-FK.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-FK.js\",\n\t\t347\n\t],\n\t\"./extra/en-FM.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-FM.js\",\n\t\t348\n\t],\n\t\"./extra/en-GB.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-GB.js\",\n\t\t349\n\t],\n\t\"./extra/en-GD.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-GD.js\",\n\t\t350\n\t],\n\t\"./extra/en-GG.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-GG.js\",\n\t\t351\n\t],\n\t\"./extra/en-GH.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-GH.js\",\n\t\t352\n\t],\n\t\"./extra/en-GI.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-GI.js\",\n\t\t353\n\t],\n\t\"./extra/en-GM.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-GM.js\",\n\t\t354\n\t],\n\t\"./extra/en-GU.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-GU.js\",\n\t\t355\n\t],\n\t\"./extra/en-GY.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-GY.js\",\n\t\t356\n\t],\n\t\"./extra/en-HK.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-HK.js\",\n\t\t357\n\t],\n\t\"./extra/en-IE.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-IE.js\",\n\t\t358\n\t],\n\t\"./extra/en-IL.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-IL.js\",\n\t\t359\n\t],\n\t\"./extra/en-IM.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-IM.js\",\n\t\t360\n\t],\n\t\"./extra/en-IN.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-IN.js\",\n\t\t361\n\t],\n\t\"./extra/en-IO.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-IO.js\",\n\t\t362\n\t],\n\t\"./extra/en-JE.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-JE.js\",\n\t\t363\n\t],\n\t\"./extra/en-JM.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-JM.js\",\n\t\t364\n\t],\n\t\"./extra/en-KE.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-KE.js\",\n\t\t365\n\t],\n\t\"./extra/en-KI.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-KI.js\",\n\t\t366\n\t],\n\t\"./extra/en-KN.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-KN.js\",\n\t\t367\n\t],\n\t\"./extra/en-KY.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-KY.js\",\n\t\t368\n\t],\n\t\"./extra/en-LC.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-LC.js\",\n\t\t369\n\t],\n\t\"./extra/en-LR.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-LR.js\",\n\t\t370\n\t],\n\t\"./extra/en-LS.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-LS.js\",\n\t\t371\n\t],\n\t\"./extra/en-MG.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-MG.js\",\n\t\t372\n\t],\n\t\"./extra/en-MH.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-MH.js\",\n\t\t373\n\t],\n\t\"./extra/en-MO.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-MO.js\",\n\t\t374\n\t],\n\t\"./extra/en-MP.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-MP.js\",\n\t\t375\n\t],\n\t\"./extra/en-MS.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-MS.js\",\n\t\t376\n\t],\n\t\"./extra/en-MT.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-MT.js\",\n\t\t377\n\t],\n\t\"./extra/en-MU.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-MU.js\",\n\t\t378\n\t],\n\t\"./extra/en-MW.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-MW.js\",\n\t\t379\n\t],\n\t\"./extra/en-MY.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-MY.js\",\n\t\t380\n\t],\n\t\"./extra/en-NA.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-NA.js\",\n\t\t381\n\t],\n\t\"./extra/en-NF.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-NF.js\",\n\t\t382\n\t],\n\t\"./extra/en-NG.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-NG.js\",\n\t\t383\n\t],\n\t\"./extra/en-NL.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-NL.js\",\n\t\t384\n\t],\n\t\"./extra/en-NR.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-NR.js\",\n\t\t385\n\t],\n\t\"./extra/en-NU.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-NU.js\",\n\t\t386\n\t],\n\t\"./extra/en-NZ.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-NZ.js\",\n\t\t387\n\t],\n\t\"./extra/en-PG.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-PG.js\",\n\t\t388\n\t],\n\t\"./extra/en-PH.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-PH.js\",\n\t\t389\n\t],\n\t\"./extra/en-PK.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-PK.js\",\n\t\t390\n\t],\n\t\"./extra/en-PN.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-PN.js\",\n\t\t391\n\t],\n\t\"./extra/en-PR.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-PR.js\",\n\t\t392\n\t],\n\t\"./extra/en-PW.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-PW.js\",\n\t\t393\n\t],\n\t\"./extra/en-RW.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-RW.js\",\n\t\t394\n\t],\n\t\"./extra/en-SB.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-SB.js\",\n\t\t395\n\t],\n\t\"./extra/en-SC.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-SC.js\",\n\t\t396\n\t],\n\t\"./extra/en-SD.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-SD.js\",\n\t\t397\n\t],\n\t\"./extra/en-SE.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-SE.js\",\n\t\t398\n\t],\n\t\"./extra/en-SG.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-SG.js\",\n\t\t399\n\t],\n\t\"./extra/en-SH.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-SH.js\",\n\t\t400\n\t],\n\t\"./extra/en-SI.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-SI.js\",\n\t\t401\n\t],\n\t\"./extra/en-SL.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-SL.js\",\n\t\t402\n\t],\n\t\"./extra/en-SS.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-SS.js\",\n\t\t403\n\t],\n\t\"./extra/en-SX.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-SX.js\",\n\t\t404\n\t],\n\t\"./extra/en-SZ.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-SZ.js\",\n\t\t405\n\t],\n\t\"./extra/en-TC.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-TC.js\",\n\t\t406\n\t],\n\t\"./extra/en-TK.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-TK.js\",\n\t\t407\n\t],\n\t\"./extra/en-TO.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-TO.js\",\n\t\t408\n\t],\n\t\"./extra/en-TT.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-TT.js\",\n\t\t409\n\t],\n\t\"./extra/en-TV.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-TV.js\",\n\t\t410\n\t],\n\t\"./extra/en-TZ.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-TZ.js\",\n\t\t411\n\t],\n\t\"./extra/en-UG.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-UG.js\",\n\t\t412\n\t],\n\t\"./extra/en-UM.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-UM.js\",\n\t\t413\n\t],\n\t\"./extra/en-US-POSIX.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-US-POSIX.js\",\n\t\t414\n\t],\n\t\"./extra/en-VC.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-VC.js\",\n\t\t415\n\t],\n\t\"./extra/en-VG.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-VG.js\",\n\t\t416\n\t],\n\t\"./extra/en-VI.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-VI.js\",\n\t\t417\n\t],\n\t\"./extra/en-VU.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-VU.js\",\n\t\t418\n\t],\n\t\"./extra/en-WS.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-WS.js\",\n\t\t419\n\t],\n\t\"./extra/en-ZA.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-ZA.js\",\n\t\t420\n\t],\n\t\"./extra/en-ZM.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-ZM.js\",\n\t\t421\n\t],\n\t\"./extra/en-ZW.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en-ZW.js\",\n\t\t422\n\t],\n\t\"./extra/en.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/en.js\",\n\t\t423\n\t],\n\t\"./extra/eo.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/eo.js\",\n\t\t424\n\t],\n\t\"./extra/es-419.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/es-419.js\",\n\t\t425\n\t],\n\t\"./extra/es-AR.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/es-AR.js\",\n\t\t426\n\t],\n\t\"./extra/es-BO.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/es-BO.js\",\n\t\t427\n\t],\n\t\"./extra/es-BR.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/es-BR.js\",\n\t\t428\n\t],\n\t\"./extra/es-BZ.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/es-BZ.js\",\n\t\t429\n\t],\n\t\"./extra/es-CL.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/es-CL.js\",\n\t\t430\n\t],\n\t\"./extra/es-CO.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/es-CO.js\",\n\t\t431\n\t],\n\t\"./extra/es-CR.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/es-CR.js\",\n\t\t432\n\t],\n\t\"./extra/es-CU.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/es-CU.js\",\n\t\t433\n\t],\n\t\"./extra/es-DO.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/es-DO.js\",\n\t\t434\n\t],\n\t\"./extra/es-EA.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/es-EA.js\",\n\t\t435\n\t],\n\t\"./extra/es-EC.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/es-EC.js\",\n\t\t436\n\t],\n\t\"./extra/es-GQ.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/es-GQ.js\",\n\t\t437\n\t],\n\t\"./extra/es-GT.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/es-GT.js\",\n\t\t438\n\t],\n\t\"./extra/es-HN.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/es-HN.js\",\n\t\t439\n\t],\n\t\"./extra/es-IC.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/es-IC.js\",\n\t\t440\n\t],\n\t\"./extra/es-MX.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/es-MX.js\",\n\t\t441\n\t],\n\t\"./extra/es-NI.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/es-NI.js\",\n\t\t442\n\t],\n\t\"./extra/es-PA.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/es-PA.js\",\n\t\t443\n\t],\n\t\"./extra/es-PE.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/es-PE.js\",\n\t\t444\n\t],\n\t\"./extra/es-PH.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/es-PH.js\",\n\t\t445\n\t],\n\t\"./extra/es-PR.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/es-PR.js\",\n\t\t446\n\t],\n\t\"./extra/es-PY.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/es-PY.js\",\n\t\t447\n\t],\n\t\"./extra/es-SV.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/es-SV.js\",\n\t\t448\n\t],\n\t\"./extra/es-US.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/es-US.js\",\n\t\t449\n\t],\n\t\"./extra/es-UY.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/es-UY.js\",\n\t\t450\n\t],\n\t\"./extra/es-VE.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/es-VE.js\",\n\t\t451\n\t],\n\t\"./extra/es.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/es.js\",\n\t\t452\n\t],\n\t\"./extra/et.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/et.js\",\n\t\t453\n\t],\n\t\"./extra/eu.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/eu.js\",\n\t\t454\n\t],\n\t\"./extra/ewo.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ewo.js\",\n\t\t455\n\t],\n\t\"./extra/fa-AF.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fa-AF.js\",\n\t\t456\n\t],\n\t\"./extra/fa.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fa.js\",\n\t\t457\n\t],\n\t\"./extra/ff-CM.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ff-CM.js\",\n\t\t458\n\t],\n\t\"./extra/ff-GN.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ff-GN.js\",\n\t\t459\n\t],\n\t\"./extra/ff-Latn-BF.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ff-Latn-BF.js\",\n\t\t460\n\t],\n\t\"./extra/ff-Latn-CM.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ff-Latn-CM.js\",\n\t\t461\n\t],\n\t\"./extra/ff-Latn-GH.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ff-Latn-GH.js\",\n\t\t462\n\t],\n\t\"./extra/ff-Latn-GM.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ff-Latn-GM.js\",\n\t\t463\n\t],\n\t\"./extra/ff-Latn-GN.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ff-Latn-GN.js\",\n\t\t464\n\t],\n\t\"./extra/ff-Latn-GW.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ff-Latn-GW.js\",\n\t\t465\n\t],\n\t\"./extra/ff-Latn-LR.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ff-Latn-LR.js\",\n\t\t466\n\t],\n\t\"./extra/ff-Latn-MR.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ff-Latn-MR.js\",\n\t\t467\n\t],\n\t\"./extra/ff-Latn-NE.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ff-Latn-NE.js\",\n\t\t468\n\t],\n\t\"./extra/ff-Latn-NG.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ff-Latn-NG.js\",\n\t\t469\n\t],\n\t\"./extra/ff-Latn-SL.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ff-Latn-SL.js\",\n\t\t470\n\t],\n\t\"./extra/ff-Latn.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ff-Latn.js\",\n\t\t471\n\t],\n\t\"./extra/ff-MR.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ff-MR.js\",\n\t\t472\n\t],\n\t\"./extra/ff.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ff.js\",\n\t\t473\n\t],\n\t\"./extra/fi.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fi.js\",\n\t\t474\n\t],\n\t\"./extra/fil.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fil.js\",\n\t\t475\n\t],\n\t\"./extra/fo-DK.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fo-DK.js\",\n\t\t476\n\t],\n\t\"./extra/fo.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fo.js\",\n\t\t477\n\t],\n\t\"./extra/fr-BE.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr-BE.js\",\n\t\t478\n\t],\n\t\"./extra/fr-BF.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr-BF.js\",\n\t\t479\n\t],\n\t\"./extra/fr-BI.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr-BI.js\",\n\t\t480\n\t],\n\t\"./extra/fr-BJ.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr-BJ.js\",\n\t\t481\n\t],\n\t\"./extra/fr-BL.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr-BL.js\",\n\t\t482\n\t],\n\t\"./extra/fr-CA.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr-CA.js\",\n\t\t483\n\t],\n\t\"./extra/fr-CD.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr-CD.js\",\n\t\t484\n\t],\n\t\"./extra/fr-CF.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr-CF.js\",\n\t\t485\n\t],\n\t\"./extra/fr-CG.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr-CG.js\",\n\t\t486\n\t],\n\t\"./extra/fr-CH.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr-CH.js\",\n\t\t487\n\t],\n\t\"./extra/fr-CI.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr-CI.js\",\n\t\t488\n\t],\n\t\"./extra/fr-CM.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr-CM.js\",\n\t\t489\n\t],\n\t\"./extra/fr-DJ.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr-DJ.js\",\n\t\t490\n\t],\n\t\"./extra/fr-DZ.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr-DZ.js\",\n\t\t491\n\t],\n\t\"./extra/fr-GA.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr-GA.js\",\n\t\t492\n\t],\n\t\"./extra/fr-GF.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr-GF.js\",\n\t\t493\n\t],\n\t\"./extra/fr-GN.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr-GN.js\",\n\t\t494\n\t],\n\t\"./extra/fr-GP.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr-GP.js\",\n\t\t495\n\t],\n\t\"./extra/fr-GQ.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr-GQ.js\",\n\t\t496\n\t],\n\t\"./extra/fr-HT.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr-HT.js\",\n\t\t497\n\t],\n\t\"./extra/fr-KM.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr-KM.js\",\n\t\t498\n\t],\n\t\"./extra/fr-LU.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr-LU.js\",\n\t\t499\n\t],\n\t\"./extra/fr-MA.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr-MA.js\",\n\t\t500\n\t],\n\t\"./extra/fr-MC.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr-MC.js\",\n\t\t501\n\t],\n\t\"./extra/fr-MF.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr-MF.js\",\n\t\t502\n\t],\n\t\"./extra/fr-MG.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr-MG.js\",\n\t\t503\n\t],\n\t\"./extra/fr-ML.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr-ML.js\",\n\t\t504\n\t],\n\t\"./extra/fr-MQ.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr-MQ.js\",\n\t\t505\n\t],\n\t\"./extra/fr-MR.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr-MR.js\",\n\t\t506\n\t],\n\t\"./extra/fr-MU.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr-MU.js\",\n\t\t507\n\t],\n\t\"./extra/fr-NC.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr-NC.js\",\n\t\t508\n\t],\n\t\"./extra/fr-NE.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr-NE.js\",\n\t\t509\n\t],\n\t\"./extra/fr-PF.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr-PF.js\",\n\t\t510\n\t],\n\t\"./extra/fr-PM.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr-PM.js\",\n\t\t511\n\t],\n\t\"./extra/fr-RE.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr-RE.js\",\n\t\t512\n\t],\n\t\"./extra/fr-RW.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr-RW.js\",\n\t\t513\n\t],\n\t\"./extra/fr-SC.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr-SC.js\",\n\t\t514\n\t],\n\t\"./extra/fr-SN.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr-SN.js\",\n\t\t515\n\t],\n\t\"./extra/fr-SY.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr-SY.js\",\n\t\t516\n\t],\n\t\"./extra/fr-TD.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr-TD.js\",\n\t\t517\n\t],\n\t\"./extra/fr-TG.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr-TG.js\",\n\t\t518\n\t],\n\t\"./extra/fr-TN.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr-TN.js\",\n\t\t519\n\t],\n\t\"./extra/fr-VU.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr-VU.js\",\n\t\t520\n\t],\n\t\"./extra/fr-WF.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr-WF.js\",\n\t\t521\n\t],\n\t\"./extra/fr-YT.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr-YT.js\",\n\t\t522\n\t],\n\t\"./extra/fr.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fr.js\",\n\t\t523\n\t],\n\t\"./extra/fur.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fur.js\",\n\t\t524\n\t],\n\t\"./extra/fy.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/fy.js\",\n\t\t525\n\t],\n\t\"./extra/ga-GB.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ga-GB.js\",\n\t\t526\n\t],\n\t\"./extra/ga.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ga.js\",\n\t\t527\n\t],\n\t\"./extra/gd.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/gd.js\",\n\t\t528\n\t],\n\t\"./extra/gl.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/gl.js\",\n\t\t529\n\t],\n\t\"./extra/gsw-FR.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/gsw-FR.js\",\n\t\t530\n\t],\n\t\"./extra/gsw-LI.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/gsw-LI.js\",\n\t\t531\n\t],\n\t\"./extra/gsw.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/gsw.js\",\n\t\t532\n\t],\n\t\"./extra/gu.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/gu.js\",\n\t\t533\n\t],\n\t\"./extra/guz.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/guz.js\",\n\t\t534\n\t],\n\t\"./extra/gv.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/gv.js\",\n\t\t535\n\t],\n\t\"./extra/ha-GH.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ha-GH.js\",\n\t\t536\n\t],\n\t\"./extra/ha-NE.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ha-NE.js\",\n\t\t537\n\t],\n\t\"./extra/ha.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ha.js\",\n\t\t538\n\t],\n\t\"./extra/haw.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/haw.js\",\n\t\t539\n\t],\n\t\"./extra/he.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/he.js\",\n\t\t540\n\t],\n\t\"./extra/hi.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/hi.js\",\n\t\t541\n\t],\n\t\"./extra/hr-BA.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/hr-BA.js\",\n\t\t542\n\t],\n\t\"./extra/hr.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/hr.js\",\n\t\t543\n\t],\n\t\"./extra/hsb.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/hsb.js\",\n\t\t544\n\t],\n\t\"./extra/hu.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/hu.js\",\n\t\t545\n\t],\n\t\"./extra/hy.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/hy.js\",\n\t\t546\n\t],\n\t\"./extra/ia.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ia.js\",\n\t\t547\n\t],\n\t\"./extra/id.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/id.js\",\n\t\t548\n\t],\n\t\"./extra/ig.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ig.js\",\n\t\t549\n\t],\n\t\"./extra/ii.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ii.js\",\n\t\t550\n\t],\n\t\"./extra/is.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/is.js\",\n\t\t551\n\t],\n\t\"./extra/it-CH.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/it-CH.js\",\n\t\t552\n\t],\n\t\"./extra/it-SM.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/it-SM.js\",\n\t\t553\n\t],\n\t\"./extra/it-VA.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/it-VA.js\",\n\t\t554\n\t],\n\t\"./extra/it.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/it.js\",\n\t\t555\n\t],\n\t\"./extra/ja.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ja.js\",\n\t\t556\n\t],\n\t\"./extra/jgo.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/jgo.js\",\n\t\t557\n\t],\n\t\"./extra/jmc.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/jmc.js\",\n\t\t558\n\t],\n\t\"./extra/jv.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/jv.js\",\n\t\t559\n\t],\n\t\"./extra/ka.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ka.js\",\n\t\t560\n\t],\n\t\"./extra/kab.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/kab.js\",\n\t\t561\n\t],\n\t\"./extra/kam.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/kam.js\",\n\t\t562\n\t],\n\t\"./extra/kde.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/kde.js\",\n\t\t563\n\t],\n\t\"./extra/kea.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/kea.js\",\n\t\t564\n\t],\n\t\"./extra/khq.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/khq.js\",\n\t\t565\n\t],\n\t\"./extra/ki.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ki.js\",\n\t\t566\n\t],\n\t\"./extra/kk.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/kk.js\",\n\t\t567\n\t],\n\t\"./extra/kkj.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/kkj.js\",\n\t\t568\n\t],\n\t\"./extra/kl.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/kl.js\",\n\t\t569\n\t],\n\t\"./extra/kln.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/kln.js\",\n\t\t570\n\t],\n\t\"./extra/km.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/km.js\",\n\t\t571\n\t],\n\t\"./extra/kn.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/kn.js\",\n\t\t572\n\t],\n\t\"./extra/ko-KP.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ko-KP.js\",\n\t\t573\n\t],\n\t\"./extra/ko.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ko.js\",\n\t\t574\n\t],\n\t\"./extra/kok.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/kok.js\",\n\t\t575\n\t],\n\t\"./extra/ks.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ks.js\",\n\t\t576\n\t],\n\t\"./extra/ksb.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ksb.js\",\n\t\t577\n\t],\n\t\"./extra/ksf.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ksf.js\",\n\t\t578\n\t],\n\t\"./extra/ksh.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ksh.js\",\n\t\t579\n\t],\n\t\"./extra/ku.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ku.js\",\n\t\t580\n\t],\n\t\"./extra/kw.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/kw.js\",\n\t\t581\n\t],\n\t\"./extra/ky.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ky.js\",\n\t\t582\n\t],\n\t\"./extra/lag.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/lag.js\",\n\t\t583\n\t],\n\t\"./extra/lb.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/lb.js\",\n\t\t584\n\t],\n\t\"./extra/lg.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/lg.js\",\n\t\t585\n\t],\n\t\"./extra/lkt.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/lkt.js\",\n\t\t586\n\t],\n\t\"./extra/ln-AO.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ln-AO.js\",\n\t\t587\n\t],\n\t\"./extra/ln-CF.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ln-CF.js\",\n\t\t588\n\t],\n\t\"./extra/ln-CG.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ln-CG.js\",\n\t\t589\n\t],\n\t\"./extra/ln.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ln.js\",\n\t\t590\n\t],\n\t\"./extra/lo.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/lo.js\",\n\t\t591\n\t],\n\t\"./extra/lrc-IQ.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/lrc-IQ.js\",\n\t\t592\n\t],\n\t\"./extra/lrc.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/lrc.js\",\n\t\t593\n\t],\n\t\"./extra/lt.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/lt.js\",\n\t\t594\n\t],\n\t\"./extra/lu.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/lu.js\",\n\t\t595\n\t],\n\t\"./extra/luo.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/luo.js\",\n\t\t596\n\t],\n\t\"./extra/luy.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/luy.js\",\n\t\t597\n\t],\n\t\"./extra/lv.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/lv.js\",\n\t\t598\n\t],\n\t\"./extra/mas-TZ.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/mas-TZ.js\",\n\t\t599\n\t],\n\t\"./extra/mas.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/mas.js\",\n\t\t600\n\t],\n\t\"./extra/mer.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/mer.js\",\n\t\t601\n\t],\n\t\"./extra/mfe.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/mfe.js\",\n\t\t602\n\t],\n\t\"./extra/mg.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/mg.js\",\n\t\t603\n\t],\n\t\"./extra/mgh.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/mgh.js\",\n\t\t604\n\t],\n\t\"./extra/mgo.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/mgo.js\",\n\t\t605\n\t],\n\t\"./extra/mi.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/mi.js\",\n\t\t606\n\t],\n\t\"./extra/mk.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/mk.js\",\n\t\t607\n\t],\n\t\"./extra/ml.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ml.js\",\n\t\t608\n\t],\n\t\"./extra/mn.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/mn.js\",\n\t\t609\n\t],\n\t\"./extra/mr.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/mr.js\",\n\t\t610\n\t],\n\t\"./extra/ms-BN.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ms-BN.js\",\n\t\t611\n\t],\n\t\"./extra/ms-SG.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ms-SG.js\",\n\t\t612\n\t],\n\t\"./extra/ms.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ms.js\",\n\t\t613\n\t],\n\t\"./extra/mt.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/mt.js\",\n\t\t614\n\t],\n\t\"./extra/mua.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/mua.js\",\n\t\t615\n\t],\n\t\"./extra/my.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/my.js\",\n\t\t616\n\t],\n\t\"./extra/mzn.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/mzn.js\",\n\t\t617\n\t],\n\t\"./extra/naq.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/naq.js\",\n\t\t618\n\t],\n\t\"./extra/nb-SJ.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/nb-SJ.js\",\n\t\t619\n\t],\n\t\"./extra/nb.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/nb.js\",\n\t\t620\n\t],\n\t\"./extra/nd.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/nd.js\",\n\t\t621\n\t],\n\t\"./extra/nds-NL.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/nds-NL.js\",\n\t\t622\n\t],\n\t\"./extra/nds.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/nds.js\",\n\t\t623\n\t],\n\t\"./extra/ne-IN.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ne-IN.js\",\n\t\t624\n\t],\n\t\"./extra/ne.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ne.js\",\n\t\t625\n\t],\n\t\"./extra/nl-AW.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/nl-AW.js\",\n\t\t626\n\t],\n\t\"./extra/nl-BE.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/nl-BE.js\",\n\t\t627\n\t],\n\t\"./extra/nl-BQ.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/nl-BQ.js\",\n\t\t628\n\t],\n\t\"./extra/nl-CW.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/nl-CW.js\",\n\t\t629\n\t],\n\t\"./extra/nl-SR.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/nl-SR.js\",\n\t\t630\n\t],\n\t\"./extra/nl-SX.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/nl-SX.js\",\n\t\t631\n\t],\n\t\"./extra/nl.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/nl.js\",\n\t\t632\n\t],\n\t\"./extra/nmg.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/nmg.js\",\n\t\t633\n\t],\n\t\"./extra/nn.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/nn.js\",\n\t\t634\n\t],\n\t\"./extra/nnh.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/nnh.js\",\n\t\t635\n\t],\n\t\"./extra/nus.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/nus.js\",\n\t\t636\n\t],\n\t\"./extra/nyn.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/nyn.js\",\n\t\t637\n\t],\n\t\"./extra/om-KE.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/om-KE.js\",\n\t\t638\n\t],\n\t\"./extra/om.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/om.js\",\n\t\t639\n\t],\n\t\"./extra/or.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/or.js\",\n\t\t640\n\t],\n\t\"./extra/os-RU.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/os-RU.js\",\n\t\t641\n\t],\n\t\"./extra/os.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/os.js\",\n\t\t642\n\t],\n\t\"./extra/pa-Arab.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/pa-Arab.js\",\n\t\t643\n\t],\n\t\"./extra/pa-Guru.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/pa-Guru.js\",\n\t\t644\n\t],\n\t\"./extra/pa.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/pa.js\",\n\t\t645\n\t],\n\t\"./extra/pl.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/pl.js\",\n\t\t646\n\t],\n\t\"./extra/prg.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/prg.js\",\n\t\t647\n\t],\n\t\"./extra/ps-PK.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ps-PK.js\",\n\t\t648\n\t],\n\t\"./extra/ps.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ps.js\",\n\t\t649\n\t],\n\t\"./extra/pt-AO.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/pt-AO.js\",\n\t\t650\n\t],\n\t\"./extra/pt-CH.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/pt-CH.js\",\n\t\t651\n\t],\n\t\"./extra/pt-CV.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/pt-CV.js\",\n\t\t652\n\t],\n\t\"./extra/pt-GQ.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/pt-GQ.js\",\n\t\t653\n\t],\n\t\"./extra/pt-GW.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/pt-GW.js\",\n\t\t654\n\t],\n\t\"./extra/pt-LU.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/pt-LU.js\",\n\t\t655\n\t],\n\t\"./extra/pt-MO.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/pt-MO.js\",\n\t\t656\n\t],\n\t\"./extra/pt-MZ.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/pt-MZ.js\",\n\t\t657\n\t],\n\t\"./extra/pt-PT.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/pt-PT.js\",\n\t\t658\n\t],\n\t\"./extra/pt-ST.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/pt-ST.js\",\n\t\t659\n\t],\n\t\"./extra/pt-TL.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/pt-TL.js\",\n\t\t660\n\t],\n\t\"./extra/pt.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/pt.js\",\n\t\t661\n\t],\n\t\"./extra/qu-BO.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/qu-BO.js\",\n\t\t662\n\t],\n\t\"./extra/qu-EC.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/qu-EC.js\",\n\t\t663\n\t],\n\t\"./extra/qu.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/qu.js\",\n\t\t664\n\t],\n\t\"./extra/rm.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/rm.js\",\n\t\t665\n\t],\n\t\"./extra/rn.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/rn.js\",\n\t\t666\n\t],\n\t\"./extra/ro-MD.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ro-MD.js\",\n\t\t667\n\t],\n\t\"./extra/ro.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ro.js\",\n\t\t668\n\t],\n\t\"./extra/rof.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/rof.js\",\n\t\t669\n\t],\n\t\"./extra/root.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/root.js\",\n\t\t670\n\t],\n\t\"./extra/ru-BY.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ru-BY.js\",\n\t\t671\n\t],\n\t\"./extra/ru-KG.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ru-KG.js\",\n\t\t672\n\t],\n\t\"./extra/ru-KZ.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ru-KZ.js\",\n\t\t673\n\t],\n\t\"./extra/ru-MD.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ru-MD.js\",\n\t\t674\n\t],\n\t\"./extra/ru-UA.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ru-UA.js\",\n\t\t675\n\t],\n\t\"./extra/ru.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ru.js\",\n\t\t676\n\t],\n\t\"./extra/rw.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/rw.js\",\n\t\t677\n\t],\n\t\"./extra/rwk.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/rwk.js\",\n\t\t678\n\t],\n\t\"./extra/sah.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/sah.js\",\n\t\t679\n\t],\n\t\"./extra/saq.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/saq.js\",\n\t\t680\n\t],\n\t\"./extra/sbp.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/sbp.js\",\n\t\t681\n\t],\n\t\"./extra/sd.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/sd.js\",\n\t\t682\n\t],\n\t\"./extra/se-FI.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/se-FI.js\",\n\t\t683\n\t],\n\t\"./extra/se-SE.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/se-SE.js\",\n\t\t684\n\t],\n\t\"./extra/se.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/se.js\",\n\t\t685\n\t],\n\t\"./extra/seh.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/seh.js\",\n\t\t686\n\t],\n\t\"./extra/ses.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ses.js\",\n\t\t687\n\t],\n\t\"./extra/sg.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/sg.js\",\n\t\t688\n\t],\n\t\"./extra/shi-Latn.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/shi-Latn.js\",\n\t\t689\n\t],\n\t\"./extra/shi-Tfng.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/shi-Tfng.js\",\n\t\t690\n\t],\n\t\"./extra/shi.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/shi.js\",\n\t\t691\n\t],\n\t\"./extra/si.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/si.js\",\n\t\t692\n\t],\n\t\"./extra/sk.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/sk.js\",\n\t\t693\n\t],\n\t\"./extra/sl.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/sl.js\",\n\t\t694\n\t],\n\t\"./extra/smn.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/smn.js\",\n\t\t695\n\t],\n\t\"./extra/sn.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/sn.js\",\n\t\t696\n\t],\n\t\"./extra/so-DJ.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/so-DJ.js\",\n\t\t697\n\t],\n\t\"./extra/so-ET.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/so-ET.js\",\n\t\t698\n\t],\n\t\"./extra/so-KE.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/so-KE.js\",\n\t\t699\n\t],\n\t\"./extra/so.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/so.js\",\n\t\t700\n\t],\n\t\"./extra/sq-MK.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/sq-MK.js\",\n\t\t701\n\t],\n\t\"./extra/sq-XK.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/sq-XK.js\",\n\t\t702\n\t],\n\t\"./extra/sq.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/sq.js\",\n\t\t703\n\t],\n\t\"./extra/sr-Cyrl-BA.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/sr-Cyrl-BA.js\",\n\t\t704\n\t],\n\t\"./extra/sr-Cyrl-ME.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/sr-Cyrl-ME.js\",\n\t\t705\n\t],\n\t\"./extra/sr-Cyrl-XK.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/sr-Cyrl-XK.js\",\n\t\t706\n\t],\n\t\"./extra/sr-Cyrl.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/sr-Cyrl.js\",\n\t\t707\n\t],\n\t\"./extra/sr-Latn-BA.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/sr-Latn-BA.js\",\n\t\t708\n\t],\n\t\"./extra/sr-Latn-ME.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/sr-Latn-ME.js\",\n\t\t709\n\t],\n\t\"./extra/sr-Latn-XK.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/sr-Latn-XK.js\",\n\t\t710\n\t],\n\t\"./extra/sr-Latn.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/sr-Latn.js\",\n\t\t711\n\t],\n\t\"./extra/sr.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/sr.js\",\n\t\t712\n\t],\n\t\"./extra/sv-AX.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/sv-AX.js\",\n\t\t713\n\t],\n\t\"./extra/sv-FI.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/sv-FI.js\",\n\t\t714\n\t],\n\t\"./extra/sv.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/sv.js\",\n\t\t715\n\t],\n\t\"./extra/sw-CD.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/sw-CD.js\",\n\t\t716\n\t],\n\t\"./extra/sw-KE.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/sw-KE.js\",\n\t\t717\n\t],\n\t\"./extra/sw-UG.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/sw-UG.js\",\n\t\t718\n\t],\n\t\"./extra/sw.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/sw.js\",\n\t\t719\n\t],\n\t\"./extra/ta-LK.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ta-LK.js\",\n\t\t720\n\t],\n\t\"./extra/ta-MY.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ta-MY.js\",\n\t\t721\n\t],\n\t\"./extra/ta-SG.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ta-SG.js\",\n\t\t722\n\t],\n\t\"./extra/ta.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ta.js\",\n\t\t723\n\t],\n\t\"./extra/te.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/te.js\",\n\t\t724\n\t],\n\t\"./extra/teo-KE.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/teo-KE.js\",\n\t\t725\n\t],\n\t\"./extra/teo.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/teo.js\",\n\t\t726\n\t],\n\t\"./extra/tg.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/tg.js\",\n\t\t727\n\t],\n\t\"./extra/th.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/th.js\",\n\t\t728\n\t],\n\t\"./extra/ti-ER.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ti-ER.js\",\n\t\t729\n\t],\n\t\"./extra/ti.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ti.js\",\n\t\t730\n\t],\n\t\"./extra/tk.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/tk.js\",\n\t\t731\n\t],\n\t\"./extra/to.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/to.js\",\n\t\t732\n\t],\n\t\"./extra/tr-CY.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/tr-CY.js\",\n\t\t733\n\t],\n\t\"./extra/tr.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/tr.js\",\n\t\t734\n\t],\n\t\"./extra/tt.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/tt.js\",\n\t\t735\n\t],\n\t\"./extra/twq.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/twq.js\",\n\t\t736\n\t],\n\t\"./extra/tzm.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/tzm.js\",\n\t\t737\n\t],\n\t\"./extra/ug.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ug.js\",\n\t\t738\n\t],\n\t\"./extra/uk.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/uk.js\",\n\t\t739\n\t],\n\t\"./extra/ur-IN.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ur-IN.js\",\n\t\t740\n\t],\n\t\"./extra/ur.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/ur.js\",\n\t\t741\n\t],\n\t\"./extra/uz-Arab.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/uz-Arab.js\",\n\t\t742\n\t],\n\t\"./extra/uz-Cyrl.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/uz-Cyrl.js\",\n\t\t743\n\t],\n\t\"./extra/uz-Latn.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/uz-Latn.js\",\n\t\t744\n\t],\n\t\"./extra/uz.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/uz.js\",\n\t\t745\n\t],\n\t\"./extra/vai-Latn.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/vai-Latn.js\",\n\t\t746\n\t],\n\t\"./extra/vai-Vaii.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/vai-Vaii.js\",\n\t\t747\n\t],\n\t\"./extra/vai.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/vai.js\",\n\t\t748\n\t],\n\t\"./extra/vi.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/vi.js\",\n\t\t749\n\t],\n\t\"./extra/vo.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/vo.js\",\n\t\t750\n\t],\n\t\"./extra/vun.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/vun.js\",\n\t\t751\n\t],\n\t\"./extra/wae.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/wae.js\",\n\t\t752\n\t],\n\t\"./extra/wo.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/wo.js\",\n\t\t753\n\t],\n\t\"./extra/xh.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/xh.js\",\n\t\t754\n\t],\n\t\"./extra/xog.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/xog.js\",\n\t\t755\n\t],\n\t\"./extra/yav.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/yav.js\",\n\t\t756\n\t],\n\t\"./extra/yi.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/yi.js\",\n\t\t757\n\t],\n\t\"./extra/yo-BJ.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/yo-BJ.js\",\n\t\t758\n\t],\n\t\"./extra/yo.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/yo.js\",\n\t\t759\n\t],\n\t\"./extra/yue-Hans.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/yue-Hans.js\",\n\t\t760\n\t],\n\t\"./extra/yue-Hant.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/yue-Hant.js\",\n\t\t761\n\t],\n\t\"./extra/yue.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/yue.js\",\n\t\t762\n\t],\n\t\"./extra/zgh.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/zgh.js\",\n\t\t763\n\t],\n\t\"./extra/zh-Hans-HK.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/zh-Hans-HK.js\",\n\t\t764\n\t],\n\t\"./extra/zh-Hans-MO.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/zh-Hans-MO.js\",\n\t\t765\n\t],\n\t\"./extra/zh-Hans-SG.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/zh-Hans-SG.js\",\n\t\t766\n\t],\n\t\"./extra/zh-Hans.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/zh-Hans.js\",\n\t\t767\n\t],\n\t\"./extra/zh-Hant-HK.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/zh-Hant-HK.js\",\n\t\t768\n\t],\n\t\"./extra/zh-Hant-MO.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/zh-Hant-MO.js\",\n\t\t769\n\t],\n\t\"./extra/zh-Hant.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/zh-Hant.js\",\n\t\t770\n\t],\n\t\"./extra/zh.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/zh.js\",\n\t\t771\n\t],\n\t\"./extra/zu.js\": [\n\t\t\"./node_modules/@angular/common/locales/extra/zu.js\",\n\t\t772\n\t],\n\t\"./fa-AF.js\": [\n\t\t\"./node_modules/@angular/common/locales/fa-AF.js\",\n\t\t773\n\t],\n\t\"./fa.js\": [\n\t\t\"./node_modules/@angular/common/locales/fa.js\",\n\t\t774\n\t],\n\t\"./ff-CM.js\": [\n\t\t\"./node_modules/@angular/common/locales/ff-CM.js\",\n\t\t775\n\t],\n\t\"./ff-GN.js\": [\n\t\t\"./node_modules/@angular/common/locales/ff-GN.js\",\n\t\t776\n\t],\n\t\"./ff-Latn-BF.js\": [\n\t\t\"./node_modules/@angular/common/locales/ff-Latn-BF.js\",\n\t\t777\n\t],\n\t\"./ff-Latn-CM.js\": [\n\t\t\"./node_modules/@angular/common/locales/ff-Latn-CM.js\",\n\t\t778\n\t],\n\t\"./ff-Latn-GH.js\": [\n\t\t\"./node_modules/@angular/common/locales/ff-Latn-GH.js\",\n\t\t779\n\t],\n\t\"./ff-Latn-GM.js\": [\n\t\t\"./node_modules/@angular/common/locales/ff-Latn-GM.js\",\n\t\t780\n\t],\n\t\"./ff-Latn-GN.js\": [\n\t\t\"./node_modules/@angular/common/locales/ff-Latn-GN.js\",\n\t\t781\n\t],\n\t\"./ff-Latn-GW.js\": [\n\t\t\"./node_modules/@angular/common/locales/ff-Latn-GW.js\",\n\t\t782\n\t],\n\t\"./ff-Latn-LR.js\": [\n\t\t\"./node_modules/@angular/common/locales/ff-Latn-LR.js\",\n\t\t783\n\t],\n\t\"./ff-Latn-MR.js\": [\n\t\t\"./node_modules/@angular/common/locales/ff-Latn-MR.js\",\n\t\t784\n\t],\n\t\"./ff-Latn-NE.js\": [\n\t\t\"./node_modules/@angular/common/locales/ff-Latn-NE.js\",\n\t\t785\n\t],\n\t\"./ff-Latn-NG.js\": [\n\t\t\"./node_modules/@angular/common/locales/ff-Latn-NG.js\",\n\t\t786\n\t],\n\t\"./ff-Latn-SL.js\": [\n\t\t\"./node_modules/@angular/common/locales/ff-Latn-SL.js\",\n\t\t787\n\t],\n\t\"./ff-Latn.js\": [\n\t\t\"./node_modules/@angular/common/locales/ff-Latn.js\",\n\t\t788\n\t],\n\t\"./ff-MR.js\": [\n\t\t\"./node_modules/@angular/common/locales/ff-MR.js\",\n\t\t789\n\t],\n\t\"./ff.js\": [\n\t\t\"./node_modules/@angular/common/locales/ff.js\",\n\t\t790\n\t],\n\t\"./fi.js\": [\n\t\t\"./node_modules/@angular/common/locales/fi.js\",\n\t\t791\n\t],\n\t\"./fil.js\": [\n\t\t\"./node_modules/@angular/common/locales/fil.js\",\n\t\t792\n\t],\n\t\"./fo-DK.js\": [\n\t\t\"./node_modules/@angular/common/locales/fo-DK.js\",\n\t\t793\n\t],\n\t\"./fo.js\": [\n\t\t\"./node_modules/@angular/common/locales/fo.js\",\n\t\t794\n\t],\n\t\"./fr-BE.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr-BE.js\",\n\t\t795\n\t],\n\t\"./fr-BF.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr-BF.js\",\n\t\t796\n\t],\n\t\"./fr-BI.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr-BI.js\",\n\t\t797\n\t],\n\t\"./fr-BJ.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr-BJ.js\",\n\t\t798\n\t],\n\t\"./fr-BL.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr-BL.js\",\n\t\t799\n\t],\n\t\"./fr-CA.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr-CA.js\",\n\t\t800\n\t],\n\t\"./fr-CD.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr-CD.js\",\n\t\t801\n\t],\n\t\"./fr-CF.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr-CF.js\",\n\t\t802\n\t],\n\t\"./fr-CG.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr-CG.js\",\n\t\t803\n\t],\n\t\"./fr-CH.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr-CH.js\",\n\t\t804\n\t],\n\t\"./fr-CI.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr-CI.js\",\n\t\t805\n\t],\n\t\"./fr-CM.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr-CM.js\",\n\t\t806\n\t],\n\t\"./fr-DJ.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr-DJ.js\",\n\t\t807\n\t],\n\t\"./fr-DZ.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr-DZ.js\",\n\t\t808\n\t],\n\t\"./fr-GA.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr-GA.js\",\n\t\t809\n\t],\n\t\"./fr-GF.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr-GF.js\",\n\t\t810\n\t],\n\t\"./fr-GN.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr-GN.js\",\n\t\t811\n\t],\n\t\"./fr-GP.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr-GP.js\",\n\t\t812\n\t],\n\t\"./fr-GQ.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr-GQ.js\",\n\t\t813\n\t],\n\t\"./fr-HT.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr-HT.js\",\n\t\t814\n\t],\n\t\"./fr-KM.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr-KM.js\",\n\t\t815\n\t],\n\t\"./fr-LU.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr-LU.js\",\n\t\t816\n\t],\n\t\"./fr-MA.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr-MA.js\",\n\t\t817\n\t],\n\t\"./fr-MC.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr-MC.js\",\n\t\t818\n\t],\n\t\"./fr-MF.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr-MF.js\",\n\t\t819\n\t],\n\t\"./fr-MG.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr-MG.js\",\n\t\t820\n\t],\n\t\"./fr-ML.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr-ML.js\",\n\t\t821\n\t],\n\t\"./fr-MQ.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr-MQ.js\",\n\t\t822\n\t],\n\t\"./fr-MR.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr-MR.js\",\n\t\t823\n\t],\n\t\"./fr-MU.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr-MU.js\",\n\t\t824\n\t],\n\t\"./fr-NC.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr-NC.js\",\n\t\t825\n\t],\n\t\"./fr-NE.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr-NE.js\",\n\t\t826\n\t],\n\t\"./fr-PF.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr-PF.js\",\n\t\t827\n\t],\n\t\"./fr-PM.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr-PM.js\",\n\t\t828\n\t],\n\t\"./fr-RE.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr-RE.js\",\n\t\t829\n\t],\n\t\"./fr-RW.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr-RW.js\",\n\t\t830\n\t],\n\t\"./fr-SC.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr-SC.js\",\n\t\t831\n\t],\n\t\"./fr-SN.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr-SN.js\",\n\t\t832\n\t],\n\t\"./fr-SY.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr-SY.js\",\n\t\t833\n\t],\n\t\"./fr-TD.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr-TD.js\",\n\t\t834\n\t],\n\t\"./fr-TG.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr-TG.js\",\n\t\t835\n\t],\n\t\"./fr-TN.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr-TN.js\",\n\t\t836\n\t],\n\t\"./fr-VU.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr-VU.js\",\n\t\t837\n\t],\n\t\"./fr-WF.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr-WF.js\",\n\t\t838\n\t],\n\t\"./fr-YT.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr-YT.js\",\n\t\t839\n\t],\n\t\"./fr.js\": [\n\t\t\"./node_modules/@angular/common/locales/fr.js\",\n\t\t840\n\t],\n\t\"./fur.js\": [\n\t\t\"./node_modules/@angular/common/locales/fur.js\",\n\t\t841\n\t],\n\t\"./fy.js\": [\n\t\t\"./node_modules/@angular/common/locales/fy.js\",\n\t\t842\n\t],\n\t\"./ga-GB.js\": [\n\t\t\"./node_modules/@angular/common/locales/ga-GB.js\",\n\t\t843\n\t],\n\t\"./ga.js\": [\n\t\t\"./node_modules/@angular/common/locales/ga.js\",\n\t\t844\n\t],\n\t\"./gd.js\": [\n\t\t\"./node_modules/@angular/common/locales/gd.js\",\n\t\t845\n\t],\n\t\"./gl.js\": [\n\t\t\"./node_modules/@angular/common/locales/gl.js\",\n\t\t846\n\t],\n\t\"./global/af-NA.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/af-NA.js\",\n\t\t847\n\t],\n\t\"./global/af.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/af.js\",\n\t\t848\n\t],\n\t\"./global/agq.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/agq.js\",\n\t\t849\n\t],\n\t\"./global/ak.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ak.js\",\n\t\t850\n\t],\n\t\"./global/am.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/am.js\",\n\t\t851\n\t],\n\t\"./global/ar-AE.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ar-AE.js\",\n\t\t852\n\t],\n\t\"./global/ar-BH.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ar-BH.js\",\n\t\t853\n\t],\n\t\"./global/ar-DJ.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ar-DJ.js\",\n\t\t854\n\t],\n\t\"./global/ar-DZ.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ar-DZ.js\",\n\t\t855\n\t],\n\t\"./global/ar-EG.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ar-EG.js\",\n\t\t856\n\t],\n\t\"./global/ar-EH.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ar-EH.js\",\n\t\t857\n\t],\n\t\"./global/ar-ER.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ar-ER.js\",\n\t\t858\n\t],\n\t\"./global/ar-IL.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ar-IL.js\",\n\t\t859\n\t],\n\t\"./global/ar-IQ.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ar-IQ.js\",\n\t\t860\n\t],\n\t\"./global/ar-JO.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ar-JO.js\",\n\t\t861\n\t],\n\t\"./global/ar-KM.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ar-KM.js\",\n\t\t862\n\t],\n\t\"./global/ar-KW.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ar-KW.js\",\n\t\t863\n\t],\n\t\"./global/ar-LB.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ar-LB.js\",\n\t\t864\n\t],\n\t\"./global/ar-LY.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ar-LY.js\",\n\t\t865\n\t],\n\t\"./global/ar-MA.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ar-MA.js\",\n\t\t866\n\t],\n\t\"./global/ar-MR.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ar-MR.js\",\n\t\t867\n\t],\n\t\"./global/ar-OM.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ar-OM.js\",\n\t\t868\n\t],\n\t\"./global/ar-PS.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ar-PS.js\",\n\t\t869\n\t],\n\t\"./global/ar-QA.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ar-QA.js\",\n\t\t870\n\t],\n\t\"./global/ar-SA.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ar-SA.js\",\n\t\t871\n\t],\n\t\"./global/ar-SD.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ar-SD.js\",\n\t\t872\n\t],\n\t\"./global/ar-SO.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ar-SO.js\",\n\t\t873\n\t],\n\t\"./global/ar-SS.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ar-SS.js\",\n\t\t874\n\t],\n\t\"./global/ar-SY.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ar-SY.js\",\n\t\t875\n\t],\n\t\"./global/ar-TD.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ar-TD.js\",\n\t\t876\n\t],\n\t\"./global/ar-TN.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ar-TN.js\",\n\t\t877\n\t],\n\t\"./global/ar-YE.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ar-YE.js\",\n\t\t878\n\t],\n\t\"./global/ar.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ar.js\",\n\t\t879\n\t],\n\t\"./global/as.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/as.js\",\n\t\t880\n\t],\n\t\"./global/asa.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/asa.js\",\n\t\t881\n\t],\n\t\"./global/ast.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ast.js\",\n\t\t882\n\t],\n\t\"./global/az-Cyrl.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/az-Cyrl.js\",\n\t\t883\n\t],\n\t\"./global/az-Latn.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/az-Latn.js\",\n\t\t884\n\t],\n\t\"./global/az.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/az.js\",\n\t\t885\n\t],\n\t\"./global/bas.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/bas.js\",\n\t\t886\n\t],\n\t\"./global/be.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/be.js\",\n\t\t887\n\t],\n\t\"./global/bem.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/bem.js\",\n\t\t888\n\t],\n\t\"./global/bez.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/bez.js\",\n\t\t889\n\t],\n\t\"./global/bg.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/bg.js\",\n\t\t890\n\t],\n\t\"./global/bm.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/bm.js\",\n\t\t891\n\t],\n\t\"./global/bn-IN.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/bn-IN.js\",\n\t\t892\n\t],\n\t\"./global/bn.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/bn.js\",\n\t\t893\n\t],\n\t\"./global/bo-IN.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/bo-IN.js\",\n\t\t894\n\t],\n\t\"./global/bo.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/bo.js\",\n\t\t895\n\t],\n\t\"./global/br.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/br.js\",\n\t\t896\n\t],\n\t\"./global/brx.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/brx.js\",\n\t\t897\n\t],\n\t\"./global/bs-Cyrl.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/bs-Cyrl.js\",\n\t\t898\n\t],\n\t\"./global/bs-Latn.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/bs-Latn.js\",\n\t\t899\n\t],\n\t\"./global/bs.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/bs.js\",\n\t\t900\n\t],\n\t\"./global/ca-AD.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ca-AD.js\",\n\t\t901\n\t],\n\t\"./global/ca-ES-VALENCIA.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ca-ES-VALENCIA.js\",\n\t\t902\n\t],\n\t\"./global/ca-FR.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ca-FR.js\",\n\t\t903\n\t],\n\t\"./global/ca-IT.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ca-IT.js\",\n\t\t904\n\t],\n\t\"./global/ca.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ca.js\",\n\t\t905\n\t],\n\t\"./global/ccp-IN.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ccp-IN.js\",\n\t\t906\n\t],\n\t\"./global/ccp.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ccp.js\",\n\t\t907\n\t],\n\t\"./global/ce.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ce.js\",\n\t\t908\n\t],\n\t\"./global/ceb.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ceb.js\",\n\t\t909\n\t],\n\t\"./global/cgg.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/cgg.js\",\n\t\t910\n\t],\n\t\"./global/chr.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/chr.js\",\n\t\t911\n\t],\n\t\"./global/ckb-IR.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ckb-IR.js\",\n\t\t912\n\t],\n\t\"./global/ckb.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ckb.js\",\n\t\t913\n\t],\n\t\"./global/cs.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/cs.js\",\n\t\t914\n\t],\n\t\"./global/cu.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/cu.js\",\n\t\t915\n\t],\n\t\"./global/cy.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/cy.js\",\n\t\t916\n\t],\n\t\"./global/da-GL.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/da-GL.js\",\n\t\t917\n\t],\n\t\"./global/da.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/da.js\",\n\t\t918\n\t],\n\t\"./global/dav.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/dav.js\",\n\t\t919\n\t],\n\t\"./global/de-AT.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/de-AT.js\",\n\t\t920\n\t],\n\t\"./global/de-BE.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/de-BE.js\",\n\t\t921\n\t],\n\t\"./global/de-CH.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/de-CH.js\",\n\t\t922\n\t],\n\t\"./global/de-IT.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/de-IT.js\",\n\t\t923\n\t],\n\t\"./global/de-LI.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/de-LI.js\",\n\t\t924\n\t],\n\t\"./global/de-LU.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/de-LU.js\",\n\t\t925\n\t],\n\t\"./global/de.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/de.js\",\n\t\t926\n\t],\n\t\"./global/dje.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/dje.js\",\n\t\t927\n\t],\n\t\"./global/dsb.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/dsb.js\",\n\t\t928\n\t],\n\t\"./global/dua.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/dua.js\",\n\t\t929\n\t],\n\t\"./global/dyo.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/dyo.js\",\n\t\t930\n\t],\n\t\"./global/dz.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/dz.js\",\n\t\t931\n\t],\n\t\"./global/ebu.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ebu.js\",\n\t\t932\n\t],\n\t\"./global/ee-TG.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ee-TG.js\",\n\t\t933\n\t],\n\t\"./global/ee.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ee.js\",\n\t\t934\n\t],\n\t\"./global/el-CY.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/el-CY.js\",\n\t\t935\n\t],\n\t\"./global/el.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/el.js\",\n\t\t936\n\t],\n\t\"./global/en-001.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-001.js\",\n\t\t937\n\t],\n\t\"./global/en-150.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-150.js\",\n\t\t938\n\t],\n\t\"./global/en-AE.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-AE.js\",\n\t\t939\n\t],\n\t\"./global/en-AG.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-AG.js\",\n\t\t940\n\t],\n\t\"./global/en-AI.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-AI.js\",\n\t\t941\n\t],\n\t\"./global/en-AS.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-AS.js\",\n\t\t942\n\t],\n\t\"./global/en-AT.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-AT.js\",\n\t\t943\n\t],\n\t\"./global/en-AU.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-AU.js\",\n\t\t944\n\t],\n\t\"./global/en-BB.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-BB.js\",\n\t\t945\n\t],\n\t\"./global/en-BE.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-BE.js\",\n\t\t946\n\t],\n\t\"./global/en-BI.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-BI.js\",\n\t\t947\n\t],\n\t\"./global/en-BM.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-BM.js\",\n\t\t948\n\t],\n\t\"./global/en-BS.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-BS.js\",\n\t\t949\n\t],\n\t\"./global/en-BW.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-BW.js\",\n\t\t950\n\t],\n\t\"./global/en-BZ.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-BZ.js\",\n\t\t951\n\t],\n\t\"./global/en-CA.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-CA.js\",\n\t\t952\n\t],\n\t\"./global/en-CC.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-CC.js\",\n\t\t953\n\t],\n\t\"./global/en-CH.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-CH.js\",\n\t\t954\n\t],\n\t\"./global/en-CK.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-CK.js\",\n\t\t955\n\t],\n\t\"./global/en-CM.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-CM.js\",\n\t\t956\n\t],\n\t\"./global/en-CX.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-CX.js\",\n\t\t957\n\t],\n\t\"./global/en-CY.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-CY.js\",\n\t\t958\n\t],\n\t\"./global/en-DE.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-DE.js\",\n\t\t959\n\t],\n\t\"./global/en-DG.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-DG.js\",\n\t\t960\n\t],\n\t\"./global/en-DK.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-DK.js\",\n\t\t961\n\t],\n\t\"./global/en-DM.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-DM.js\",\n\t\t962\n\t],\n\t\"./global/en-ER.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-ER.js\",\n\t\t963\n\t],\n\t\"./global/en-FI.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-FI.js\",\n\t\t964\n\t],\n\t\"./global/en-FJ.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-FJ.js\",\n\t\t965\n\t],\n\t\"./global/en-FK.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-FK.js\",\n\t\t966\n\t],\n\t\"./global/en-FM.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-FM.js\",\n\t\t967\n\t],\n\t\"./global/en-GB.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-GB.js\",\n\t\t968\n\t],\n\t\"./global/en-GD.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-GD.js\",\n\t\t969\n\t],\n\t\"./global/en-GG.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-GG.js\",\n\t\t970\n\t],\n\t\"./global/en-GH.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-GH.js\",\n\t\t971\n\t],\n\t\"./global/en-GI.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-GI.js\",\n\t\t972\n\t],\n\t\"./global/en-GM.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-GM.js\",\n\t\t973\n\t],\n\t\"./global/en-GU.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-GU.js\",\n\t\t974\n\t],\n\t\"./global/en-GY.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-GY.js\",\n\t\t975\n\t],\n\t\"./global/en-HK.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-HK.js\",\n\t\t976\n\t],\n\t\"./global/en-IE.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-IE.js\",\n\t\t977\n\t],\n\t\"./global/en-IL.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-IL.js\",\n\t\t978\n\t],\n\t\"./global/en-IM.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-IM.js\",\n\t\t979\n\t],\n\t\"./global/en-IN.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-IN.js\",\n\t\t980\n\t],\n\t\"./global/en-IO.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-IO.js\",\n\t\t981\n\t],\n\t\"./global/en-JE.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-JE.js\",\n\t\t982\n\t],\n\t\"./global/en-JM.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-JM.js\",\n\t\t983\n\t],\n\t\"./global/en-KE.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-KE.js\",\n\t\t984\n\t],\n\t\"./global/en-KI.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-KI.js\",\n\t\t985\n\t],\n\t\"./global/en-KN.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-KN.js\",\n\t\t986\n\t],\n\t\"./global/en-KY.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-KY.js\",\n\t\t987\n\t],\n\t\"./global/en-LC.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-LC.js\",\n\t\t988\n\t],\n\t\"./global/en-LR.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-LR.js\",\n\t\t989\n\t],\n\t\"./global/en-LS.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-LS.js\",\n\t\t990\n\t],\n\t\"./global/en-MG.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-MG.js\",\n\t\t991\n\t],\n\t\"./global/en-MH.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-MH.js\",\n\t\t992\n\t],\n\t\"./global/en-MO.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-MO.js\",\n\t\t993\n\t],\n\t\"./global/en-MP.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-MP.js\",\n\t\t994\n\t],\n\t\"./global/en-MS.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-MS.js\",\n\t\t995\n\t],\n\t\"./global/en-MT.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-MT.js\",\n\t\t996\n\t],\n\t\"./global/en-MU.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-MU.js\",\n\t\t997\n\t],\n\t\"./global/en-MW.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-MW.js\",\n\t\t998\n\t],\n\t\"./global/en-MY.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-MY.js\",\n\t\t999\n\t],\n\t\"./global/en-NA.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-NA.js\",\n\t\t1000\n\t],\n\t\"./global/en-NF.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-NF.js\",\n\t\t1001\n\t],\n\t\"./global/en-NG.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-NG.js\",\n\t\t1002\n\t],\n\t\"./global/en-NL.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-NL.js\",\n\t\t1003\n\t],\n\t\"./global/en-NR.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-NR.js\",\n\t\t1004\n\t],\n\t\"./global/en-NU.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-NU.js\",\n\t\t1005\n\t],\n\t\"./global/en-NZ.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-NZ.js\",\n\t\t1006\n\t],\n\t\"./global/en-PG.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-PG.js\",\n\t\t1007\n\t],\n\t\"./global/en-PH.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-PH.js\",\n\t\t1008\n\t],\n\t\"./global/en-PK.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-PK.js\",\n\t\t1009\n\t],\n\t\"./global/en-PN.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-PN.js\",\n\t\t1010\n\t],\n\t\"./global/en-PR.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-PR.js\",\n\t\t1011\n\t],\n\t\"./global/en-PW.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-PW.js\",\n\t\t1012\n\t],\n\t\"./global/en-RW.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-RW.js\",\n\t\t1013\n\t],\n\t\"./global/en-SB.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-SB.js\",\n\t\t1014\n\t],\n\t\"./global/en-SC.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-SC.js\",\n\t\t1015\n\t],\n\t\"./global/en-SD.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-SD.js\",\n\t\t1016\n\t],\n\t\"./global/en-SE.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-SE.js\",\n\t\t1017\n\t],\n\t\"./global/en-SG.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-SG.js\",\n\t\t1018\n\t],\n\t\"./global/en-SH.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-SH.js\",\n\t\t1019\n\t],\n\t\"./global/en-SI.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-SI.js\",\n\t\t1020\n\t],\n\t\"./global/en-SL.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-SL.js\",\n\t\t1021\n\t],\n\t\"./global/en-SS.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-SS.js\",\n\t\t1022\n\t],\n\t\"./global/en-SX.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-SX.js\",\n\t\t1023\n\t],\n\t\"./global/en-SZ.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-SZ.js\",\n\t\t1024\n\t],\n\t\"./global/en-TC.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-TC.js\",\n\t\t1025\n\t],\n\t\"./global/en-TK.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-TK.js\",\n\t\t1026\n\t],\n\t\"./global/en-TO.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-TO.js\",\n\t\t1027\n\t],\n\t\"./global/en-TT.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-TT.js\",\n\t\t1028\n\t],\n\t\"./global/en-TV.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-TV.js\",\n\t\t1029\n\t],\n\t\"./global/en-TZ.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-TZ.js\",\n\t\t1030\n\t],\n\t\"./global/en-UG.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-UG.js\",\n\t\t1031\n\t],\n\t\"./global/en-UM.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-UM.js\",\n\t\t1032\n\t],\n\t\"./global/en-US-POSIX.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-US-POSIX.js\",\n\t\t1033\n\t],\n\t\"./global/en-VC.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-VC.js\",\n\t\t1034\n\t],\n\t\"./global/en-VG.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-VG.js\",\n\t\t1035\n\t],\n\t\"./global/en-VI.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-VI.js\",\n\t\t1036\n\t],\n\t\"./global/en-VU.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-VU.js\",\n\t\t1037\n\t],\n\t\"./global/en-WS.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-WS.js\",\n\t\t1038\n\t],\n\t\"./global/en-ZA.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-ZA.js\",\n\t\t1039\n\t],\n\t\"./global/en-ZM.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-ZM.js\",\n\t\t1040\n\t],\n\t\"./global/en-ZW.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en-ZW.js\",\n\t\t1041\n\t],\n\t\"./global/en.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/en.js\",\n\t\t1042\n\t],\n\t\"./global/eo.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/eo.js\",\n\t\t1043\n\t],\n\t\"./global/es-419.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/es-419.js\",\n\t\t1044\n\t],\n\t\"./global/es-AR.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/es-AR.js\",\n\t\t1045\n\t],\n\t\"./global/es-BO.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/es-BO.js\",\n\t\t1046\n\t],\n\t\"./global/es-BR.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/es-BR.js\",\n\t\t1047\n\t],\n\t\"./global/es-BZ.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/es-BZ.js\",\n\t\t1048\n\t],\n\t\"./global/es-CL.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/es-CL.js\",\n\t\t1049\n\t],\n\t\"./global/es-CO.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/es-CO.js\",\n\t\t1050\n\t],\n\t\"./global/es-CR.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/es-CR.js\",\n\t\t1051\n\t],\n\t\"./global/es-CU.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/es-CU.js\",\n\t\t1052\n\t],\n\t\"./global/es-DO.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/es-DO.js\",\n\t\t1053\n\t],\n\t\"./global/es-EA.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/es-EA.js\",\n\t\t1054\n\t],\n\t\"./global/es-EC.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/es-EC.js\",\n\t\t1055\n\t],\n\t\"./global/es-GQ.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/es-GQ.js\",\n\t\t1056\n\t],\n\t\"./global/es-GT.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/es-GT.js\",\n\t\t1057\n\t],\n\t\"./global/es-HN.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/es-HN.js\",\n\t\t1058\n\t],\n\t\"./global/es-IC.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/es-IC.js\",\n\t\t1059\n\t],\n\t\"./global/es-MX.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/es-MX.js\",\n\t\t1060\n\t],\n\t\"./global/es-NI.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/es-NI.js\",\n\t\t1061\n\t],\n\t\"./global/es-PA.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/es-PA.js\",\n\t\t1062\n\t],\n\t\"./global/es-PE.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/es-PE.js\",\n\t\t1063\n\t],\n\t\"./global/es-PH.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/es-PH.js\",\n\t\t1064\n\t],\n\t\"./global/es-PR.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/es-PR.js\",\n\t\t1065\n\t],\n\t\"./global/es-PY.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/es-PY.js\",\n\t\t1066\n\t],\n\t\"./global/es-SV.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/es-SV.js\",\n\t\t1067\n\t],\n\t\"./global/es-US.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/es-US.js\",\n\t\t1068\n\t],\n\t\"./global/es-UY.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/es-UY.js\",\n\t\t1069\n\t],\n\t\"./global/es-VE.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/es-VE.js\",\n\t\t1070\n\t],\n\t\"./global/es.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/es.js\",\n\t\t1071\n\t],\n\t\"./global/et.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/et.js\",\n\t\t1072\n\t],\n\t\"./global/eu.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/eu.js\",\n\t\t1073\n\t],\n\t\"./global/ewo.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ewo.js\",\n\t\t1074\n\t],\n\t\"./global/fa-AF.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fa-AF.js\",\n\t\t1075\n\t],\n\t\"./global/fa.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fa.js\",\n\t\t1076\n\t],\n\t\"./global/ff-CM.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ff-CM.js\",\n\t\t1077\n\t],\n\t\"./global/ff-GN.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ff-GN.js\",\n\t\t1078\n\t],\n\t\"./global/ff-Latn-BF.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ff-Latn-BF.js\",\n\t\t1079\n\t],\n\t\"./global/ff-Latn-CM.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ff-Latn-CM.js\",\n\t\t1080\n\t],\n\t\"./global/ff-Latn-GH.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ff-Latn-GH.js\",\n\t\t1081\n\t],\n\t\"./global/ff-Latn-GM.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ff-Latn-GM.js\",\n\t\t1082\n\t],\n\t\"./global/ff-Latn-GN.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ff-Latn-GN.js\",\n\t\t1083\n\t],\n\t\"./global/ff-Latn-GW.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ff-Latn-GW.js\",\n\t\t1084\n\t],\n\t\"./global/ff-Latn-LR.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ff-Latn-LR.js\",\n\t\t1085\n\t],\n\t\"./global/ff-Latn-MR.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ff-Latn-MR.js\",\n\t\t1086\n\t],\n\t\"./global/ff-Latn-NE.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ff-Latn-NE.js\",\n\t\t1087\n\t],\n\t\"./global/ff-Latn-NG.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ff-Latn-NG.js\",\n\t\t1088\n\t],\n\t\"./global/ff-Latn-SL.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ff-Latn-SL.js\",\n\t\t1089\n\t],\n\t\"./global/ff-Latn.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ff-Latn.js\",\n\t\t1090\n\t],\n\t\"./global/ff-MR.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ff-MR.js\",\n\t\t1091\n\t],\n\t\"./global/ff.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ff.js\",\n\t\t1092\n\t],\n\t\"./global/fi.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fi.js\",\n\t\t1093\n\t],\n\t\"./global/fil.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fil.js\",\n\t\t1094\n\t],\n\t\"./global/fo-DK.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fo-DK.js\",\n\t\t1095\n\t],\n\t\"./global/fo.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fo.js\",\n\t\t1096\n\t],\n\t\"./global/fr-BE.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr-BE.js\",\n\t\t1097\n\t],\n\t\"./global/fr-BF.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr-BF.js\",\n\t\t1098\n\t],\n\t\"./global/fr-BI.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr-BI.js\",\n\t\t1099\n\t],\n\t\"./global/fr-BJ.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr-BJ.js\",\n\t\t1100\n\t],\n\t\"./global/fr-BL.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr-BL.js\",\n\t\t1101\n\t],\n\t\"./global/fr-CA.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr-CA.js\",\n\t\t1102\n\t],\n\t\"./global/fr-CD.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr-CD.js\",\n\t\t1103\n\t],\n\t\"./global/fr-CF.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr-CF.js\",\n\t\t1104\n\t],\n\t\"./global/fr-CG.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr-CG.js\",\n\t\t1105\n\t],\n\t\"./global/fr-CH.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr-CH.js\",\n\t\t1106\n\t],\n\t\"./global/fr-CI.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr-CI.js\",\n\t\t1107\n\t],\n\t\"./global/fr-CM.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr-CM.js\",\n\t\t1108\n\t],\n\t\"./global/fr-DJ.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr-DJ.js\",\n\t\t1109\n\t],\n\t\"./global/fr-DZ.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr-DZ.js\",\n\t\t1110\n\t],\n\t\"./global/fr-GA.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr-GA.js\",\n\t\t1111\n\t],\n\t\"./global/fr-GF.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr-GF.js\",\n\t\t1112\n\t],\n\t\"./global/fr-GN.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr-GN.js\",\n\t\t1113\n\t],\n\t\"./global/fr-GP.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr-GP.js\",\n\t\t1114\n\t],\n\t\"./global/fr-GQ.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr-GQ.js\",\n\t\t1115\n\t],\n\t\"./global/fr-HT.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr-HT.js\",\n\t\t1116\n\t],\n\t\"./global/fr-KM.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr-KM.js\",\n\t\t1117\n\t],\n\t\"./global/fr-LU.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr-LU.js\",\n\t\t1118\n\t],\n\t\"./global/fr-MA.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr-MA.js\",\n\t\t1119\n\t],\n\t\"./global/fr-MC.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr-MC.js\",\n\t\t1120\n\t],\n\t\"./global/fr-MF.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr-MF.js\",\n\t\t1121\n\t],\n\t\"./global/fr-MG.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr-MG.js\",\n\t\t1122\n\t],\n\t\"./global/fr-ML.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr-ML.js\",\n\t\t1123\n\t],\n\t\"./global/fr-MQ.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr-MQ.js\",\n\t\t1124\n\t],\n\t\"./global/fr-MR.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr-MR.js\",\n\t\t1125\n\t],\n\t\"./global/fr-MU.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr-MU.js\",\n\t\t1126\n\t],\n\t\"./global/fr-NC.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr-NC.js\",\n\t\t1127\n\t],\n\t\"./global/fr-NE.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr-NE.js\",\n\t\t1128\n\t],\n\t\"./global/fr-PF.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr-PF.js\",\n\t\t1129\n\t],\n\t\"./global/fr-PM.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr-PM.js\",\n\t\t1130\n\t],\n\t\"./global/fr-RE.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr-RE.js\",\n\t\t1131\n\t],\n\t\"./global/fr-RW.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr-RW.js\",\n\t\t1132\n\t],\n\t\"./global/fr-SC.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr-SC.js\",\n\t\t1133\n\t],\n\t\"./global/fr-SN.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr-SN.js\",\n\t\t1134\n\t],\n\t\"./global/fr-SY.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr-SY.js\",\n\t\t1135\n\t],\n\t\"./global/fr-TD.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr-TD.js\",\n\t\t1136\n\t],\n\t\"./global/fr-TG.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr-TG.js\",\n\t\t1137\n\t],\n\t\"./global/fr-TN.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr-TN.js\",\n\t\t1138\n\t],\n\t\"./global/fr-VU.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr-VU.js\",\n\t\t1139\n\t],\n\t\"./global/fr-WF.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr-WF.js\",\n\t\t1140\n\t],\n\t\"./global/fr-YT.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr-YT.js\",\n\t\t1141\n\t],\n\t\"./global/fr.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fr.js\",\n\t\t1142\n\t],\n\t\"./global/fur.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fur.js\",\n\t\t1143\n\t],\n\t\"./global/fy.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/fy.js\",\n\t\t1144\n\t],\n\t\"./global/ga-GB.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ga-GB.js\",\n\t\t1145\n\t],\n\t\"./global/ga.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ga.js\",\n\t\t1146\n\t],\n\t\"./global/gd.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/gd.js\",\n\t\t1147\n\t],\n\t\"./global/gl.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/gl.js\",\n\t\t1148\n\t],\n\t\"./global/gsw-FR.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/gsw-FR.js\",\n\t\t1149\n\t],\n\t\"./global/gsw-LI.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/gsw-LI.js\",\n\t\t1150\n\t],\n\t\"./global/gsw.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/gsw.js\",\n\t\t1151\n\t],\n\t\"./global/gu.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/gu.js\",\n\t\t1152\n\t],\n\t\"./global/guz.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/guz.js\",\n\t\t1153\n\t],\n\t\"./global/gv.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/gv.js\",\n\t\t1154\n\t],\n\t\"./global/ha-GH.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ha-GH.js\",\n\t\t1155\n\t],\n\t\"./global/ha-NE.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ha-NE.js\",\n\t\t1156\n\t],\n\t\"./global/ha.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ha.js\",\n\t\t1157\n\t],\n\t\"./global/haw.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/haw.js\",\n\t\t1158\n\t],\n\t\"./global/he.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/he.js\",\n\t\t1159\n\t],\n\t\"./global/hi.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/hi.js\",\n\t\t1160\n\t],\n\t\"./global/hr-BA.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/hr-BA.js\",\n\t\t1161\n\t],\n\t\"./global/hr.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/hr.js\",\n\t\t1162\n\t],\n\t\"./global/hsb.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/hsb.js\",\n\t\t1163\n\t],\n\t\"./global/hu.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/hu.js\",\n\t\t1164\n\t],\n\t\"./global/hy.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/hy.js\",\n\t\t1165\n\t],\n\t\"./global/ia.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ia.js\",\n\t\t1166\n\t],\n\t\"./global/id.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/id.js\",\n\t\t1167\n\t],\n\t\"./global/ig.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ig.js\",\n\t\t1168\n\t],\n\t\"./global/ii.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ii.js\",\n\t\t1169\n\t],\n\t\"./global/is.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/is.js\",\n\t\t1170\n\t],\n\t\"./global/it-CH.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/it-CH.js\",\n\t\t1171\n\t],\n\t\"./global/it-SM.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/it-SM.js\",\n\t\t1172\n\t],\n\t\"./global/it-VA.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/it-VA.js\",\n\t\t1173\n\t],\n\t\"./global/it.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/it.js\",\n\t\t1174\n\t],\n\t\"./global/ja.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ja.js\",\n\t\t1175\n\t],\n\t\"./global/jgo.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/jgo.js\",\n\t\t1176\n\t],\n\t\"./global/jmc.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/jmc.js\",\n\t\t1177\n\t],\n\t\"./global/jv.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/jv.js\",\n\t\t1178\n\t],\n\t\"./global/ka.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ka.js\",\n\t\t1179\n\t],\n\t\"./global/kab.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/kab.js\",\n\t\t1180\n\t],\n\t\"./global/kam.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/kam.js\",\n\t\t1181\n\t],\n\t\"./global/kde.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/kde.js\",\n\t\t1182\n\t],\n\t\"./global/kea.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/kea.js\",\n\t\t1183\n\t],\n\t\"./global/khq.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/khq.js\",\n\t\t1184\n\t],\n\t\"./global/ki.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ki.js\",\n\t\t1185\n\t],\n\t\"./global/kk.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/kk.js\",\n\t\t1186\n\t],\n\t\"./global/kkj.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/kkj.js\",\n\t\t1187\n\t],\n\t\"./global/kl.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/kl.js\",\n\t\t1188\n\t],\n\t\"./global/kln.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/kln.js\",\n\t\t1189\n\t],\n\t\"./global/km.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/km.js\",\n\t\t1190\n\t],\n\t\"./global/kn.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/kn.js\",\n\t\t1191\n\t],\n\t\"./global/ko-KP.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ko-KP.js\",\n\t\t1192\n\t],\n\t\"./global/ko.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ko.js\",\n\t\t1193\n\t],\n\t\"./global/kok.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/kok.js\",\n\t\t1194\n\t],\n\t\"./global/ks.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ks.js\",\n\t\t1195\n\t],\n\t\"./global/ksb.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ksb.js\",\n\t\t1196\n\t],\n\t\"./global/ksf.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ksf.js\",\n\t\t1197\n\t],\n\t\"./global/ksh.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ksh.js\",\n\t\t1198\n\t],\n\t\"./global/ku.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ku.js\",\n\t\t1199\n\t],\n\t\"./global/kw.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/kw.js\",\n\t\t1200\n\t],\n\t\"./global/ky.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ky.js\",\n\t\t1201\n\t],\n\t\"./global/lag.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/lag.js\",\n\t\t1202\n\t],\n\t\"./global/lb.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/lb.js\",\n\t\t1203\n\t],\n\t\"./global/lg.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/lg.js\",\n\t\t1204\n\t],\n\t\"./global/lkt.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/lkt.js\",\n\t\t1205\n\t],\n\t\"./global/ln-AO.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ln-AO.js\",\n\t\t1206\n\t],\n\t\"./global/ln-CF.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ln-CF.js\",\n\t\t1207\n\t],\n\t\"./global/ln-CG.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ln-CG.js\",\n\t\t1208\n\t],\n\t\"./global/ln.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ln.js\",\n\t\t1209\n\t],\n\t\"./global/lo.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/lo.js\",\n\t\t1210\n\t],\n\t\"./global/lrc-IQ.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/lrc-IQ.js\",\n\t\t1211\n\t],\n\t\"./global/lrc.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/lrc.js\",\n\t\t1212\n\t],\n\t\"./global/lt.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/lt.js\",\n\t\t1213\n\t],\n\t\"./global/lu.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/lu.js\",\n\t\t1214\n\t],\n\t\"./global/luo.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/luo.js\",\n\t\t1215\n\t],\n\t\"./global/luy.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/luy.js\",\n\t\t1216\n\t],\n\t\"./global/lv.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/lv.js\",\n\t\t1217\n\t],\n\t\"./global/mas-TZ.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/mas-TZ.js\",\n\t\t1218\n\t],\n\t\"./global/mas.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/mas.js\",\n\t\t1219\n\t],\n\t\"./global/mer.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/mer.js\",\n\t\t1220\n\t],\n\t\"./global/mfe.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/mfe.js\",\n\t\t1221\n\t],\n\t\"./global/mg.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/mg.js\",\n\t\t1222\n\t],\n\t\"./global/mgh.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/mgh.js\",\n\t\t1223\n\t],\n\t\"./global/mgo.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/mgo.js\",\n\t\t1224\n\t],\n\t\"./global/mi.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/mi.js\",\n\t\t1225\n\t],\n\t\"./global/mk.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/mk.js\",\n\t\t1226\n\t],\n\t\"./global/ml.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ml.js\",\n\t\t1227\n\t],\n\t\"./global/mn.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/mn.js\",\n\t\t1228\n\t],\n\t\"./global/mr.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/mr.js\",\n\t\t1229\n\t],\n\t\"./global/ms-BN.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ms-BN.js\",\n\t\t1230\n\t],\n\t\"./global/ms-SG.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ms-SG.js\",\n\t\t1231\n\t],\n\t\"./global/ms.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ms.js\",\n\t\t1232\n\t],\n\t\"./global/mt.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/mt.js\",\n\t\t1233\n\t],\n\t\"./global/mua.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/mua.js\",\n\t\t1234\n\t],\n\t\"./global/my.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/my.js\",\n\t\t1235\n\t],\n\t\"./global/mzn.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/mzn.js\",\n\t\t1236\n\t],\n\t\"./global/naq.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/naq.js\",\n\t\t1237\n\t],\n\t\"./global/nb-SJ.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/nb-SJ.js\",\n\t\t1238\n\t],\n\t\"./global/nb.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/nb.js\",\n\t\t1239\n\t],\n\t\"./global/nd.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/nd.js\",\n\t\t1240\n\t],\n\t\"./global/nds-NL.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/nds-NL.js\",\n\t\t1241\n\t],\n\t\"./global/nds.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/nds.js\",\n\t\t1242\n\t],\n\t\"./global/ne-IN.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ne-IN.js\",\n\t\t1243\n\t],\n\t\"./global/ne.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ne.js\",\n\t\t1244\n\t],\n\t\"./global/nl-AW.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/nl-AW.js\",\n\t\t1245\n\t],\n\t\"./global/nl-BE.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/nl-BE.js\",\n\t\t1246\n\t],\n\t\"./global/nl-BQ.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/nl-BQ.js\",\n\t\t1247\n\t],\n\t\"./global/nl-CW.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/nl-CW.js\",\n\t\t1248\n\t],\n\t\"./global/nl-SR.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/nl-SR.js\",\n\t\t1249\n\t],\n\t\"./global/nl-SX.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/nl-SX.js\",\n\t\t1250\n\t],\n\t\"./global/nl.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/nl.js\",\n\t\t1251\n\t],\n\t\"./global/nmg.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/nmg.js\",\n\t\t1252\n\t],\n\t\"./global/nn.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/nn.js\",\n\t\t1253\n\t],\n\t\"./global/nnh.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/nnh.js\",\n\t\t1254\n\t],\n\t\"./global/nus.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/nus.js\",\n\t\t1255\n\t],\n\t\"./global/nyn.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/nyn.js\",\n\t\t1256\n\t],\n\t\"./global/om-KE.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/om-KE.js\",\n\t\t1257\n\t],\n\t\"./global/om.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/om.js\",\n\t\t1258\n\t],\n\t\"./global/or.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/or.js\",\n\t\t1259\n\t],\n\t\"./global/os-RU.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/os-RU.js\",\n\t\t1260\n\t],\n\t\"./global/os.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/os.js\",\n\t\t1261\n\t],\n\t\"./global/pa-Arab.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/pa-Arab.js\",\n\t\t1262\n\t],\n\t\"./global/pa-Guru.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/pa-Guru.js\",\n\t\t1263\n\t],\n\t\"./global/pa.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/pa.js\",\n\t\t1264\n\t],\n\t\"./global/pl.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/pl.js\",\n\t\t1265\n\t],\n\t\"./global/prg.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/prg.js\",\n\t\t1266\n\t],\n\t\"./global/ps-PK.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ps-PK.js\",\n\t\t1267\n\t],\n\t\"./global/ps.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ps.js\",\n\t\t1268\n\t],\n\t\"./global/pt-AO.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/pt-AO.js\",\n\t\t1269\n\t],\n\t\"./global/pt-CH.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/pt-CH.js\",\n\t\t1270\n\t],\n\t\"./global/pt-CV.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/pt-CV.js\",\n\t\t1271\n\t],\n\t\"./global/pt-GQ.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/pt-GQ.js\",\n\t\t1272\n\t],\n\t\"./global/pt-GW.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/pt-GW.js\",\n\t\t1273\n\t],\n\t\"./global/pt-LU.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/pt-LU.js\",\n\t\t1274\n\t],\n\t\"./global/pt-MO.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/pt-MO.js\",\n\t\t1275\n\t],\n\t\"./global/pt-MZ.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/pt-MZ.js\",\n\t\t1276\n\t],\n\t\"./global/pt-PT.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/pt-PT.js\",\n\t\t1277\n\t],\n\t\"./global/pt-ST.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/pt-ST.js\",\n\t\t1278\n\t],\n\t\"./global/pt-TL.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/pt-TL.js\",\n\t\t1279\n\t],\n\t\"./global/pt.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/pt.js\",\n\t\t1280\n\t],\n\t\"./global/qu-BO.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/qu-BO.js\",\n\t\t1281\n\t],\n\t\"./global/qu-EC.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/qu-EC.js\",\n\t\t1282\n\t],\n\t\"./global/qu.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/qu.js\",\n\t\t1283\n\t],\n\t\"./global/rm.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/rm.js\",\n\t\t1284\n\t],\n\t\"./global/rn.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/rn.js\",\n\t\t1285\n\t],\n\t\"./global/ro-MD.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ro-MD.js\",\n\t\t1286\n\t],\n\t\"./global/ro.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ro.js\",\n\t\t1287\n\t],\n\t\"./global/rof.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/rof.js\",\n\t\t1288\n\t],\n\t\"./global/root.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/root.js\",\n\t\t1289\n\t],\n\t\"./global/ru-BY.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ru-BY.js\",\n\t\t1290\n\t],\n\t\"./global/ru-KG.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ru-KG.js\",\n\t\t1291\n\t],\n\t\"./global/ru-KZ.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ru-KZ.js\",\n\t\t1292\n\t],\n\t\"./global/ru-MD.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ru-MD.js\",\n\t\t1293\n\t],\n\t\"./global/ru-UA.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ru-UA.js\",\n\t\t1294\n\t],\n\t\"./global/ru.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ru.js\",\n\t\t1295\n\t],\n\t\"./global/rw.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/rw.js\",\n\t\t1296\n\t],\n\t\"./global/rwk.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/rwk.js\",\n\t\t1297\n\t],\n\t\"./global/sah.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/sah.js\",\n\t\t1298\n\t],\n\t\"./global/saq.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/saq.js\",\n\t\t1299\n\t],\n\t\"./global/sbp.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/sbp.js\",\n\t\t1300\n\t],\n\t\"./global/sd.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/sd.js\",\n\t\t1301\n\t],\n\t\"./global/se-FI.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/se-FI.js\",\n\t\t1302\n\t],\n\t\"./global/se-SE.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/se-SE.js\",\n\t\t1303\n\t],\n\t\"./global/se.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/se.js\",\n\t\t1304\n\t],\n\t\"./global/seh.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/seh.js\",\n\t\t1305\n\t],\n\t\"./global/ses.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ses.js\",\n\t\t1306\n\t],\n\t\"./global/sg.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/sg.js\",\n\t\t1307\n\t],\n\t\"./global/shi-Latn.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/shi-Latn.js\",\n\t\t1308\n\t],\n\t\"./global/shi-Tfng.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/shi-Tfng.js\",\n\t\t1309\n\t],\n\t\"./global/shi.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/shi.js\",\n\t\t1310\n\t],\n\t\"./global/si.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/si.js\",\n\t\t1311\n\t],\n\t\"./global/sk.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/sk.js\",\n\t\t1312\n\t],\n\t\"./global/sl.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/sl.js\",\n\t\t1313\n\t],\n\t\"./global/smn.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/smn.js\",\n\t\t1314\n\t],\n\t\"./global/sn.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/sn.js\",\n\t\t1315\n\t],\n\t\"./global/so-DJ.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/so-DJ.js\",\n\t\t1316\n\t],\n\t\"./global/so-ET.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/so-ET.js\",\n\t\t1317\n\t],\n\t\"./global/so-KE.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/so-KE.js\",\n\t\t1318\n\t],\n\t\"./global/so.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/so.js\",\n\t\t1319\n\t],\n\t\"./global/sq-MK.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/sq-MK.js\",\n\t\t1320\n\t],\n\t\"./global/sq-XK.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/sq-XK.js\",\n\t\t1321\n\t],\n\t\"./global/sq.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/sq.js\",\n\t\t1322\n\t],\n\t\"./global/sr-Cyrl-BA.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/sr-Cyrl-BA.js\",\n\t\t1323\n\t],\n\t\"./global/sr-Cyrl-ME.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/sr-Cyrl-ME.js\",\n\t\t1324\n\t],\n\t\"./global/sr-Cyrl-XK.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/sr-Cyrl-XK.js\",\n\t\t1325\n\t],\n\t\"./global/sr-Cyrl.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/sr-Cyrl.js\",\n\t\t1326\n\t],\n\t\"./global/sr-Latn-BA.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/sr-Latn-BA.js\",\n\t\t1327\n\t],\n\t\"./global/sr-Latn-ME.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/sr-Latn-ME.js\",\n\t\t1328\n\t],\n\t\"./global/sr-Latn-XK.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/sr-Latn-XK.js\",\n\t\t1329\n\t],\n\t\"./global/sr-Latn.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/sr-Latn.js\",\n\t\t1330\n\t],\n\t\"./global/sr.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/sr.js\",\n\t\t1331\n\t],\n\t\"./global/sv-AX.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/sv-AX.js\",\n\t\t1332\n\t],\n\t\"./global/sv-FI.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/sv-FI.js\",\n\t\t1333\n\t],\n\t\"./global/sv.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/sv.js\",\n\t\t1334\n\t],\n\t\"./global/sw-CD.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/sw-CD.js\",\n\t\t1335\n\t],\n\t\"./global/sw-KE.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/sw-KE.js\",\n\t\t1336\n\t],\n\t\"./global/sw-UG.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/sw-UG.js\",\n\t\t1337\n\t],\n\t\"./global/sw.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/sw.js\",\n\t\t1338\n\t],\n\t\"./global/ta-LK.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ta-LK.js\",\n\t\t1339\n\t],\n\t\"./global/ta-MY.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ta-MY.js\",\n\t\t1340\n\t],\n\t\"./global/ta-SG.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ta-SG.js\",\n\t\t1341\n\t],\n\t\"./global/ta.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ta.js\",\n\t\t1342\n\t],\n\t\"./global/te.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/te.js\",\n\t\t1343\n\t],\n\t\"./global/teo-KE.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/teo-KE.js\",\n\t\t1344\n\t],\n\t\"./global/teo.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/teo.js\",\n\t\t1345\n\t],\n\t\"./global/tg.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/tg.js\",\n\t\t1346\n\t],\n\t\"./global/th.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/th.js\",\n\t\t1347\n\t],\n\t\"./global/ti-ER.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ti-ER.js\",\n\t\t1348\n\t],\n\t\"./global/ti.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ti.js\",\n\t\t1349\n\t],\n\t\"./global/tk.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/tk.js\",\n\t\t1350\n\t],\n\t\"./global/to.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/to.js\",\n\t\t1351\n\t],\n\t\"./global/tr-CY.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/tr-CY.js\",\n\t\t1352\n\t],\n\t\"./global/tr.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/tr.js\",\n\t\t1353\n\t],\n\t\"./global/tt.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/tt.js\",\n\t\t1354\n\t],\n\t\"./global/twq.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/twq.js\",\n\t\t1355\n\t],\n\t\"./global/tzm.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/tzm.js\",\n\t\t1356\n\t],\n\t\"./global/ug.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ug.js\",\n\t\t1357\n\t],\n\t\"./global/uk.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/uk.js\",\n\t\t1358\n\t],\n\t\"./global/ur-IN.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ur-IN.js\",\n\t\t1359\n\t],\n\t\"./global/ur.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/ur.js\",\n\t\t1360\n\t],\n\t\"./global/uz-Arab.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/uz-Arab.js\",\n\t\t1361\n\t],\n\t\"./global/uz-Cyrl.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/uz-Cyrl.js\",\n\t\t1362\n\t],\n\t\"./global/uz-Latn.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/uz-Latn.js\",\n\t\t1363\n\t],\n\t\"./global/uz.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/uz.js\",\n\t\t1364\n\t],\n\t\"./global/vai-Latn.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/vai-Latn.js\",\n\t\t1365\n\t],\n\t\"./global/vai-Vaii.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/vai-Vaii.js\",\n\t\t1366\n\t],\n\t\"./global/vai.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/vai.js\",\n\t\t1367\n\t],\n\t\"./global/vi.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/vi.js\",\n\t\t1368\n\t],\n\t\"./global/vo.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/vo.js\",\n\t\t1369\n\t],\n\t\"./global/vun.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/vun.js\",\n\t\t1370\n\t],\n\t\"./global/wae.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/wae.js\",\n\t\t1371\n\t],\n\t\"./global/wo.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/wo.js\",\n\t\t1372\n\t],\n\t\"./global/xh.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/xh.js\",\n\t\t1373\n\t],\n\t\"./global/xog.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/xog.js\",\n\t\t1374\n\t],\n\t\"./global/yav.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/yav.js\",\n\t\t1375\n\t],\n\t\"./global/yi.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/yi.js\",\n\t\t1376\n\t],\n\t\"./global/yo-BJ.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/yo-BJ.js\",\n\t\t1377\n\t],\n\t\"./global/yo.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/yo.js\",\n\t\t1378\n\t],\n\t\"./global/yue-Hans.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/yue-Hans.js\",\n\t\t1379\n\t],\n\t\"./global/yue-Hant.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/yue-Hant.js\",\n\t\t1380\n\t],\n\t\"./global/yue.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/yue.js\",\n\t\t1381\n\t],\n\t\"./global/zgh.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/zgh.js\",\n\t\t1382\n\t],\n\t\"./global/zh-Hans-HK.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/zh-Hans-HK.js\",\n\t\t1383\n\t],\n\t\"./global/zh-Hans-MO.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/zh-Hans-MO.js\",\n\t\t1384\n\t],\n\t\"./global/zh-Hans-SG.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/zh-Hans-SG.js\",\n\t\t1385\n\t],\n\t\"./global/zh-Hans.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/zh-Hans.js\",\n\t\t1386\n\t],\n\t\"./global/zh-Hant-HK.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/zh-Hant-HK.js\",\n\t\t1387\n\t],\n\t\"./global/zh-Hant-MO.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/zh-Hant-MO.js\",\n\t\t1388\n\t],\n\t\"./global/zh-Hant.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/zh-Hant.js\",\n\t\t1389\n\t],\n\t\"./global/zh.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/zh.js\",\n\t\t1390\n\t],\n\t\"./global/zu.js\": [\n\t\t\"./node_modules/@angular/common/locales/global/zu.js\",\n\t\t1391\n\t],\n\t\"./gsw-FR.js\": [\n\t\t\"./node_modules/@angular/common/locales/gsw-FR.js\",\n\t\t1392\n\t],\n\t\"./gsw-LI.js\": [\n\t\t\"./node_modules/@angular/common/locales/gsw-LI.js\",\n\t\t1393\n\t],\n\t\"./gsw.js\": [\n\t\t\"./node_modules/@angular/common/locales/gsw.js\",\n\t\t1394\n\t],\n\t\"./gu.js\": [\n\t\t\"./node_modules/@angular/common/locales/gu.js\",\n\t\t1395\n\t],\n\t\"./guz.js\": [\n\t\t\"./node_modules/@angular/common/locales/guz.js\",\n\t\t1396\n\t],\n\t\"./gv.js\": [\n\t\t\"./node_modules/@angular/common/locales/gv.js\",\n\t\t1397\n\t],\n\t\"./ha-GH.js\": [\n\t\t\"./node_modules/@angular/common/locales/ha-GH.js\",\n\t\t1398\n\t],\n\t\"./ha-NE.js\": [\n\t\t\"./node_modules/@angular/common/locales/ha-NE.js\",\n\t\t1399\n\t],\n\t\"./ha.js\": [\n\t\t\"./node_modules/@angular/common/locales/ha.js\",\n\t\t1400\n\t],\n\t\"./haw.js\": [\n\t\t\"./node_modules/@angular/common/locales/haw.js\",\n\t\t1401\n\t],\n\t\"./he.js\": [\n\t\t\"./node_modules/@angular/common/locales/he.js\",\n\t\t1402\n\t],\n\t\"./hi.js\": [\n\t\t\"./node_modules/@angular/common/locales/hi.js\",\n\t\t1403\n\t],\n\t\"./hr-BA.js\": [\n\t\t\"./node_modules/@angular/common/locales/hr-BA.js\",\n\t\t1404\n\t],\n\t\"./hr.js\": [\n\t\t\"./node_modules/@angular/common/locales/hr.js\",\n\t\t1405\n\t],\n\t\"./hsb.js\": [\n\t\t\"./node_modules/@angular/common/locales/hsb.js\",\n\t\t1406\n\t],\n\t\"./hu.js\": [\n\t\t\"./node_modules/@angular/common/locales/hu.js\",\n\t\t1407\n\t],\n\t\"./hy.js\": [\n\t\t\"./node_modules/@angular/common/locales/hy.js\",\n\t\t1408\n\t],\n\t\"./ia.js\": [\n\t\t\"./node_modules/@angular/common/locales/ia.js\",\n\t\t1409\n\t],\n\t\"./id.js\": [\n\t\t\"./node_modules/@angular/common/locales/id.js\",\n\t\t1410\n\t],\n\t\"./ig.js\": [\n\t\t\"./node_modules/@angular/common/locales/ig.js\",\n\t\t1411\n\t],\n\t\"./ii.js\": [\n\t\t\"./node_modules/@angular/common/locales/ii.js\",\n\t\t1412\n\t],\n\t\"./is.js\": [\n\t\t\"./node_modules/@angular/common/locales/is.js\",\n\t\t1413\n\t],\n\t\"./it-CH.js\": [\n\t\t\"./node_modules/@angular/common/locales/it-CH.js\",\n\t\t1414\n\t],\n\t\"./it-SM.js\": [\n\t\t\"./node_modules/@angular/common/locales/it-SM.js\",\n\t\t1415\n\t],\n\t\"./it-VA.js\": [\n\t\t\"./node_modules/@angular/common/locales/it-VA.js\",\n\t\t1416\n\t],\n\t\"./it.js\": [\n\t\t\"./node_modules/@angular/common/locales/it.js\",\n\t\t1417\n\t],\n\t\"./ja.js\": [\n\t\t\"./node_modules/@angular/common/locales/ja.js\",\n\t\t1418\n\t],\n\t\"./jgo.js\": [\n\t\t\"./node_modules/@angular/common/locales/jgo.js\",\n\t\t1419\n\t],\n\t\"./jmc.js\": [\n\t\t\"./node_modules/@angular/common/locales/jmc.js\",\n\t\t1420\n\t],\n\t\"./jv.js\": [\n\t\t\"./node_modules/@angular/common/locales/jv.js\",\n\t\t1421\n\t],\n\t\"./ka.js\": [\n\t\t\"./node_modules/@angular/common/locales/ka.js\",\n\t\t1422\n\t],\n\t\"./kab.js\": [\n\t\t\"./node_modules/@angular/common/locales/kab.js\",\n\t\t1423\n\t],\n\t\"./kam.js\": [\n\t\t\"./node_modules/@angular/common/locales/kam.js\",\n\t\t1424\n\t],\n\t\"./kde.js\": [\n\t\t\"./node_modules/@angular/common/locales/kde.js\",\n\t\t1425\n\t],\n\t\"./kea.js\": [\n\t\t\"./node_modules/@angular/common/locales/kea.js\",\n\t\t1426\n\t],\n\t\"./khq.js\": [\n\t\t\"./node_modules/@angular/common/locales/khq.js\",\n\t\t1427\n\t],\n\t\"./ki.js\": [\n\t\t\"./node_modules/@angular/common/locales/ki.js\",\n\t\t1428\n\t],\n\t\"./kk.js\": [\n\t\t\"./node_modules/@angular/common/locales/kk.js\",\n\t\t1429\n\t],\n\t\"./kkj.js\": [\n\t\t\"./node_modules/@angular/common/locales/kkj.js\",\n\t\t1430\n\t],\n\t\"./kl.js\": [\n\t\t\"./node_modules/@angular/common/locales/kl.js\",\n\t\t1431\n\t],\n\t\"./kln.js\": [\n\t\t\"./node_modules/@angular/common/locales/kln.js\",\n\t\t1432\n\t],\n\t\"./km.js\": [\n\t\t\"./node_modules/@angular/common/locales/km.js\",\n\t\t1433\n\t],\n\t\"./kn.js\": [\n\t\t\"./node_modules/@angular/common/locales/kn.js\",\n\t\t1434\n\t],\n\t\"./ko-KP.js\": [\n\t\t\"./node_modules/@angular/common/locales/ko-KP.js\",\n\t\t1435\n\t],\n\t\"./ko.js\": [\n\t\t\"./node_modules/@angular/common/locales/ko.js\",\n\t\t1436\n\t],\n\t\"./kok.js\": [\n\t\t\"./node_modules/@angular/common/locales/kok.js\",\n\t\t1437\n\t],\n\t\"./ks.js\": [\n\t\t\"./node_modules/@angular/common/locales/ks.js\",\n\t\t1438\n\t],\n\t\"./ksb.js\": [\n\t\t\"./node_modules/@angular/common/locales/ksb.js\",\n\t\t1439\n\t],\n\t\"./ksf.js\": [\n\t\t\"./node_modules/@angular/common/locales/ksf.js\",\n\t\t1440\n\t],\n\t\"./ksh.js\": [\n\t\t\"./node_modules/@angular/common/locales/ksh.js\",\n\t\t1441\n\t],\n\t\"./ku.js\": [\n\t\t\"./node_modules/@angular/common/locales/ku.js\",\n\t\t1442\n\t],\n\t\"./kw.js\": [\n\t\t\"./node_modules/@angular/common/locales/kw.js\",\n\t\t1443\n\t],\n\t\"./ky.js\": [\n\t\t\"./node_modules/@angular/common/locales/ky.js\",\n\t\t1444\n\t],\n\t\"./lag.js\": [\n\t\t\"./node_modules/@angular/common/locales/lag.js\",\n\t\t1445\n\t],\n\t\"./lb.js\": [\n\t\t\"./node_modules/@angular/common/locales/lb.js\",\n\t\t1446\n\t],\n\t\"./lg.js\": [\n\t\t\"./node_modules/@angular/common/locales/lg.js\",\n\t\t1447\n\t],\n\t\"./lkt.js\": [\n\t\t\"./node_modules/@angular/common/locales/lkt.js\",\n\t\t1448\n\t],\n\t\"./ln-AO.js\": [\n\t\t\"./node_modules/@angular/common/locales/ln-AO.js\",\n\t\t1449\n\t],\n\t\"./ln-CF.js\": [\n\t\t\"./node_modules/@angular/common/locales/ln-CF.js\",\n\t\t1450\n\t],\n\t\"./ln-CG.js\": [\n\t\t\"./node_modules/@angular/common/locales/ln-CG.js\",\n\t\t1451\n\t],\n\t\"./ln.js\": [\n\t\t\"./node_modules/@angular/common/locales/ln.js\",\n\t\t1452\n\t],\n\t\"./lo.js\": [\n\t\t\"./node_modules/@angular/common/locales/lo.js\",\n\t\t1453\n\t],\n\t\"./lrc-IQ.js\": [\n\t\t\"./node_modules/@angular/common/locales/lrc-IQ.js\",\n\t\t1454\n\t],\n\t\"./lrc.js\": [\n\t\t\"./node_modules/@angular/common/locales/lrc.js\",\n\t\t1455\n\t],\n\t\"./lt.js\": [\n\t\t\"./node_modules/@angular/common/locales/lt.js\",\n\t\t1456\n\t],\n\t\"./lu.js\": [\n\t\t\"./node_modules/@angular/common/locales/lu.js\",\n\t\t1457\n\t],\n\t\"./luo.js\": [\n\t\t\"./node_modules/@angular/common/locales/luo.js\",\n\t\t1458\n\t],\n\t\"./luy.js\": [\n\t\t\"./node_modules/@angular/common/locales/luy.js\",\n\t\t1459\n\t],\n\t\"./lv.js\": [\n\t\t\"./node_modules/@angular/common/locales/lv.js\",\n\t\t1460\n\t],\n\t\"./mas-TZ.js\": [\n\t\t\"./node_modules/@angular/common/locales/mas-TZ.js\",\n\t\t1461\n\t],\n\t\"./mas.js\": [\n\t\t\"./node_modules/@angular/common/locales/mas.js\",\n\t\t1462\n\t],\n\t\"./mer.js\": [\n\t\t\"./node_modules/@angular/common/locales/mer.js\",\n\t\t1463\n\t],\n\t\"./mfe.js\": [\n\t\t\"./node_modules/@angular/common/locales/mfe.js\",\n\t\t1464\n\t],\n\t\"./mg.js\": [\n\t\t\"./node_modules/@angular/common/locales/mg.js\",\n\t\t1465\n\t],\n\t\"./mgh.js\": [\n\t\t\"./node_modules/@angular/common/locales/mgh.js\",\n\t\t1466\n\t],\n\t\"./mgo.js\": [\n\t\t\"./node_modules/@angular/common/locales/mgo.js\",\n\t\t1467\n\t],\n\t\"./mi.js\": [\n\t\t\"./node_modules/@angular/common/locales/mi.js\",\n\t\t1468\n\t],\n\t\"./mk.js\": [\n\t\t\"./node_modules/@angular/common/locales/mk.js\",\n\t\t1469\n\t],\n\t\"./ml.js\": [\n\t\t\"./node_modules/@angular/common/locales/ml.js\",\n\t\t1470\n\t],\n\t\"./mn.js\": [\n\t\t\"./node_modules/@angular/common/locales/mn.js\",\n\t\t1471\n\t],\n\t\"./mr.js\": [\n\t\t\"./node_modules/@angular/common/locales/mr.js\",\n\t\t1472\n\t],\n\t\"./ms-BN.js\": [\n\t\t\"./node_modules/@angular/common/locales/ms-BN.js\",\n\t\t1473\n\t],\n\t\"./ms-SG.js\": [\n\t\t\"./node_modules/@angular/common/locales/ms-SG.js\",\n\t\t1474\n\t],\n\t\"./ms.js\": [\n\t\t\"./node_modules/@angular/common/locales/ms.js\",\n\t\t1475\n\t],\n\t\"./mt.js\": [\n\t\t\"./node_modules/@angular/common/locales/mt.js\",\n\t\t1476\n\t],\n\t\"./mua.js\": [\n\t\t\"./node_modules/@angular/common/locales/mua.js\",\n\t\t1477\n\t],\n\t\"./my.js\": [\n\t\t\"./node_modules/@angular/common/locales/my.js\",\n\t\t1478\n\t],\n\t\"./mzn.js\": [\n\t\t\"./node_modules/@angular/common/locales/mzn.js\",\n\t\t1479\n\t],\n\t\"./naq.js\": [\n\t\t\"./node_modules/@angular/common/locales/naq.js\",\n\t\t1480\n\t],\n\t\"./nb-SJ.js\": [\n\t\t\"./node_modules/@angular/common/locales/nb-SJ.js\",\n\t\t1481\n\t],\n\t\"./nb.js\": [\n\t\t\"./node_modules/@angular/common/locales/nb.js\",\n\t\t1482\n\t],\n\t\"./nd.js\": [\n\t\t\"./node_modules/@angular/common/locales/nd.js\",\n\t\t1483\n\t],\n\t\"./nds-NL.js\": [\n\t\t\"./node_modules/@angular/common/locales/nds-NL.js\",\n\t\t1484\n\t],\n\t\"./nds.js\": [\n\t\t\"./node_modules/@angular/common/locales/nds.js\",\n\t\t1485\n\t],\n\t\"./ne-IN.js\": [\n\t\t\"./node_modules/@angular/common/locales/ne-IN.js\",\n\t\t1486\n\t],\n\t\"./ne.js\": [\n\t\t\"./node_modules/@angular/common/locales/ne.js\",\n\t\t1487\n\t],\n\t\"./nl-AW.js\": [\n\t\t\"./node_modules/@angular/common/locales/nl-AW.js\",\n\t\t1488\n\t],\n\t\"./nl-BE.js\": [\n\t\t\"./node_modules/@angular/common/locales/nl-BE.js\",\n\t\t1489\n\t],\n\t\"./nl-BQ.js\": [\n\t\t\"./node_modules/@angular/common/locales/nl-BQ.js\",\n\t\t1490\n\t],\n\t\"./nl-CW.js\": [\n\t\t\"./node_modules/@angular/common/locales/nl-CW.js\",\n\t\t1491\n\t],\n\t\"./nl-SR.js\": [\n\t\t\"./node_modules/@angular/common/locales/nl-SR.js\",\n\t\t1492\n\t],\n\t\"./nl-SX.js\": [\n\t\t\"./node_modules/@angular/common/locales/nl-SX.js\",\n\t\t1493\n\t],\n\t\"./nl.js\": [\n\t\t\"./node_modules/@angular/common/locales/nl.js\",\n\t\t1494\n\t],\n\t\"./nmg.js\": [\n\t\t\"./node_modules/@angular/common/locales/nmg.js\",\n\t\t1495\n\t],\n\t\"./nn.js\": [\n\t\t\"./node_modules/@angular/common/locales/nn.js\",\n\t\t1496\n\t],\n\t\"./nnh.js\": [\n\t\t\"./node_modules/@angular/common/locales/nnh.js\",\n\t\t1497\n\t],\n\t\"./nus.js\": [\n\t\t\"./node_modules/@angular/common/locales/nus.js\",\n\t\t1498\n\t],\n\t\"./nyn.js\": [\n\t\t\"./node_modules/@angular/common/locales/nyn.js\",\n\t\t1499\n\t],\n\t\"./om-KE.js\": [\n\t\t\"./node_modules/@angular/common/locales/om-KE.js\",\n\t\t1500\n\t],\n\t\"./om.js\": [\n\t\t\"./node_modules/@angular/common/locales/om.js\",\n\t\t1501\n\t],\n\t\"./or.js\": [\n\t\t\"./node_modules/@angular/common/locales/or.js\",\n\t\t1502\n\t],\n\t\"./os-RU.js\": [\n\t\t\"./node_modules/@angular/common/locales/os-RU.js\",\n\t\t1503\n\t],\n\t\"./os.js\": [\n\t\t\"./node_modules/@angular/common/locales/os.js\",\n\t\t1504\n\t],\n\t\"./pa-Arab.js\": [\n\t\t\"./node_modules/@angular/common/locales/pa-Arab.js\",\n\t\t1505\n\t],\n\t\"./pa-Guru.js\": [\n\t\t\"./node_modules/@angular/common/locales/pa-Guru.js\",\n\t\t1506\n\t],\n\t\"./pa.js\": [\n\t\t\"./node_modules/@angular/common/locales/pa.js\",\n\t\t1507\n\t],\n\t\"./pl.js\": [\n\t\t\"./node_modules/@angular/common/locales/pl.js\",\n\t\t1508\n\t],\n\t\"./prg.js\": [\n\t\t\"./node_modules/@angular/common/locales/prg.js\",\n\t\t1509\n\t],\n\t\"./ps-PK.js\": [\n\t\t\"./node_modules/@angular/common/locales/ps-PK.js\",\n\t\t1510\n\t],\n\t\"./ps.js\": [\n\t\t\"./node_modules/@angular/common/locales/ps.js\",\n\t\t1511\n\t],\n\t\"./pt-AO.js\": [\n\t\t\"./node_modules/@angular/common/locales/pt-AO.js\",\n\t\t1512\n\t],\n\t\"./pt-CH.js\": [\n\t\t\"./node_modules/@angular/common/locales/pt-CH.js\",\n\t\t1513\n\t],\n\t\"./pt-CV.js\": [\n\t\t\"./node_modules/@angular/common/locales/pt-CV.js\",\n\t\t1514\n\t],\n\t\"./pt-GQ.js\": [\n\t\t\"./node_modules/@angular/common/locales/pt-GQ.js\",\n\t\t1515\n\t],\n\t\"./pt-GW.js\": [\n\t\t\"./node_modules/@angular/common/locales/pt-GW.js\",\n\t\t1516\n\t],\n\t\"./pt-LU.js\": [\n\t\t\"./node_modules/@angular/common/locales/pt-LU.js\",\n\t\t1517\n\t],\n\t\"./pt-MO.js\": [\n\t\t\"./node_modules/@angular/common/locales/pt-MO.js\",\n\t\t1518\n\t],\n\t\"./pt-MZ.js\": [\n\t\t\"./node_modules/@angular/common/locales/pt-MZ.js\",\n\t\t1519\n\t],\n\t\"./pt-PT.js\": [\n\t\t\"./node_modules/@angular/common/locales/pt-PT.js\",\n\t\t1520\n\t],\n\t\"./pt-ST.js\": [\n\t\t\"./node_modules/@angular/common/locales/pt-ST.js\",\n\t\t1521\n\t],\n\t\"./pt-TL.js\": [\n\t\t\"./node_modules/@angular/common/locales/pt-TL.js\",\n\t\t1522\n\t],\n\t\"./pt.js\": [\n\t\t\"./node_modules/@angular/common/locales/pt.js\",\n\t\t1523\n\t],\n\t\"./qu-BO.js\": [\n\t\t\"./node_modules/@angular/common/locales/qu-BO.js\",\n\t\t1524\n\t],\n\t\"./qu-EC.js\": [\n\t\t\"./node_modules/@angular/common/locales/qu-EC.js\",\n\t\t1525\n\t],\n\t\"./qu.js\": [\n\t\t\"./node_modules/@angular/common/locales/qu.js\",\n\t\t1526\n\t],\n\t\"./rm.js\": [\n\t\t\"./node_modules/@angular/common/locales/rm.js\",\n\t\t1527\n\t],\n\t\"./rn.js\": [\n\t\t\"./node_modules/@angular/common/locales/rn.js\",\n\t\t1528\n\t],\n\t\"./ro-MD.js\": [\n\t\t\"./node_modules/@angular/common/locales/ro-MD.js\",\n\t\t1529\n\t],\n\t\"./ro.js\": [\n\t\t\"./node_modules/@angular/common/locales/ro.js\",\n\t\t1530\n\t],\n\t\"./rof.js\": [\n\t\t\"./node_modules/@angular/common/locales/rof.js\",\n\t\t1531\n\t],\n\t\"./root.js\": [\n\t\t\"./node_modules/@angular/common/locales/root.js\",\n\t\t1532\n\t],\n\t\"./ru-BY.js\": [\n\t\t\"./node_modules/@angular/common/locales/ru-BY.js\",\n\t\t1533\n\t],\n\t\"./ru-KG.js\": [\n\t\t\"./node_modules/@angular/common/locales/ru-KG.js\",\n\t\t1534\n\t],\n\t\"./ru-KZ.js\": [\n\t\t\"./node_modules/@angular/common/locales/ru-KZ.js\",\n\t\t1535\n\t],\n\t\"./ru-MD.js\": [\n\t\t\"./node_modules/@angular/common/locales/ru-MD.js\",\n\t\t1536\n\t],\n\t\"./ru-UA.js\": [\n\t\t\"./node_modules/@angular/common/locales/ru-UA.js\",\n\t\t1537\n\t],\n\t\"./ru.js\": [\n\t\t\"./node_modules/@angular/common/locales/ru.js\",\n\t\t1538\n\t],\n\t\"./rw.js\": [\n\t\t\"./node_modules/@angular/common/locales/rw.js\",\n\t\t1539\n\t],\n\t\"./rwk.js\": [\n\t\t\"./node_modules/@angular/common/locales/rwk.js\",\n\t\t1540\n\t],\n\t\"./sah.js\": [\n\t\t\"./node_modules/@angular/common/locales/sah.js\",\n\t\t1541\n\t],\n\t\"./saq.js\": [\n\t\t\"./node_modules/@angular/common/locales/saq.js\",\n\t\t1542\n\t],\n\t\"./sbp.js\": [\n\t\t\"./node_modules/@angular/common/locales/sbp.js\",\n\t\t1543\n\t],\n\t\"./sd.js\": [\n\t\t\"./node_modules/@angular/common/locales/sd.js\",\n\t\t1544\n\t],\n\t\"./se-FI.js\": [\n\t\t\"./node_modules/@angular/common/locales/se-FI.js\",\n\t\t1545\n\t],\n\t\"./se-SE.js\": [\n\t\t\"./node_modules/@angular/common/locales/se-SE.js\",\n\t\t1546\n\t],\n\t\"./se.js\": [\n\t\t\"./node_modules/@angular/common/locales/se.js\",\n\t\t1547\n\t],\n\t\"./seh.js\": [\n\t\t\"./node_modules/@angular/common/locales/seh.js\",\n\t\t1548\n\t],\n\t\"./ses.js\": [\n\t\t\"./node_modules/@angular/common/locales/ses.js\",\n\t\t1549\n\t],\n\t\"./sg.js\": [\n\t\t\"./node_modules/@angular/common/locales/sg.js\",\n\t\t1550\n\t],\n\t\"./shi-Latn.js\": [\n\t\t\"./node_modules/@angular/common/locales/shi-Latn.js\",\n\t\t1551\n\t],\n\t\"./shi-Tfng.js\": [\n\t\t\"./node_modules/@angular/common/locales/shi-Tfng.js\",\n\t\t1552\n\t],\n\t\"./shi.js\": [\n\t\t\"./node_modules/@angular/common/locales/shi.js\",\n\t\t1553\n\t],\n\t\"./si.js\": [\n\t\t\"./node_modules/@angular/common/locales/si.js\",\n\t\t1554\n\t],\n\t\"./sk.js\": [\n\t\t\"./node_modules/@angular/common/locales/sk.js\",\n\t\t1555\n\t],\n\t\"./sl.js\": [\n\t\t\"./node_modules/@angular/common/locales/sl.js\",\n\t\t1556\n\t],\n\t\"./smn.js\": [\n\t\t\"./node_modules/@angular/common/locales/smn.js\",\n\t\t1557\n\t],\n\t\"./sn.js\": [\n\t\t\"./node_modules/@angular/common/locales/sn.js\",\n\t\t1558\n\t],\n\t\"./so-DJ.js\": [\n\t\t\"./node_modules/@angular/common/locales/so-DJ.js\",\n\t\t1559\n\t],\n\t\"./so-ET.js\": [\n\t\t\"./node_modules/@angular/common/locales/so-ET.js\",\n\t\t1560\n\t],\n\t\"./so-KE.js\": [\n\t\t\"./node_modules/@angular/common/locales/so-KE.js\",\n\t\t1561\n\t],\n\t\"./so.js\": [\n\t\t\"./node_modules/@angular/common/locales/so.js\",\n\t\t1562\n\t],\n\t\"./sq-MK.js\": [\n\t\t\"./node_modules/@angular/common/locales/sq-MK.js\",\n\t\t1563\n\t],\n\t\"./sq-XK.js\": [\n\t\t\"./node_modules/@angular/common/locales/sq-XK.js\",\n\t\t1564\n\t],\n\t\"./sq.js\": [\n\t\t\"./node_modules/@angular/common/locales/sq.js\",\n\t\t1565\n\t],\n\t\"./sr-Cyrl-BA.js\": [\n\t\t\"./node_modules/@angular/common/locales/sr-Cyrl-BA.js\",\n\t\t1566\n\t],\n\t\"./sr-Cyrl-ME.js\": [\n\t\t\"./node_modules/@angular/common/locales/sr-Cyrl-ME.js\",\n\t\t1567\n\t],\n\t\"./sr-Cyrl-XK.js\": [\n\t\t\"./node_modules/@angular/common/locales/sr-Cyrl-XK.js\",\n\t\t1568\n\t],\n\t\"./sr-Cyrl.js\": [\n\t\t\"./node_modules/@angular/common/locales/sr-Cyrl.js\",\n\t\t1569\n\t],\n\t\"./sr-Latn-BA.js\": [\n\t\t\"./node_modules/@angular/common/locales/sr-Latn-BA.js\",\n\t\t1570\n\t],\n\t\"./sr-Latn-ME.js\": [\n\t\t\"./node_modules/@angular/common/locales/sr-Latn-ME.js\",\n\t\t1571\n\t],\n\t\"./sr-Latn-XK.js\": [\n\t\t\"./node_modules/@angular/common/locales/sr-Latn-XK.js\",\n\t\t1572\n\t],\n\t\"./sr-Latn.js\": [\n\t\t\"./node_modules/@angular/common/locales/sr-Latn.js\",\n\t\t1573\n\t],\n\t\"./sr.js\": [\n\t\t\"./node_modules/@angular/common/locales/sr.js\",\n\t\t1574\n\t],\n\t\"./sv-AX.js\": [\n\t\t\"./node_modules/@angular/common/locales/sv-AX.js\",\n\t\t1575\n\t],\n\t\"./sv-FI.js\": [\n\t\t\"./node_modules/@angular/common/locales/sv-FI.js\",\n\t\t1576\n\t],\n\t\"./sv.js\": [\n\t\t\"./node_modules/@angular/common/locales/sv.js\",\n\t\t1577\n\t],\n\t\"./sw-CD.js\": [\n\t\t\"./node_modules/@angular/common/locales/sw-CD.js\",\n\t\t1578\n\t],\n\t\"./sw-KE.js\": [\n\t\t\"./node_modules/@angular/common/locales/sw-KE.js\",\n\t\t1579\n\t],\n\t\"./sw-UG.js\": [\n\t\t\"./node_modules/@angular/common/locales/sw-UG.js\",\n\t\t1580\n\t],\n\t\"./sw.js\": [\n\t\t\"./node_modules/@angular/common/locales/sw.js\",\n\t\t1581\n\t],\n\t\"./ta-LK.js\": [\n\t\t\"./node_modules/@angular/common/locales/ta-LK.js\",\n\t\t1582\n\t],\n\t\"./ta-MY.js\": [\n\t\t\"./node_modules/@angular/common/locales/ta-MY.js\",\n\t\t1583\n\t],\n\t\"./ta-SG.js\": [\n\t\t\"./node_modules/@angular/common/locales/ta-SG.js\",\n\t\t1584\n\t],\n\t\"./ta.js\": [\n\t\t\"./node_modules/@angular/common/locales/ta.js\",\n\t\t1585\n\t],\n\t\"./te.js\": [\n\t\t\"./node_modules/@angular/common/locales/te.js\",\n\t\t1586\n\t],\n\t\"./teo-KE.js\": [\n\t\t\"./node_modules/@angular/common/locales/teo-KE.js\",\n\t\t1587\n\t],\n\t\"./teo.js\": [\n\t\t\"./node_modules/@angular/common/locales/teo.js\",\n\t\t1588\n\t],\n\t\"./tg.js\": [\n\t\t\"./node_modules/@angular/common/locales/tg.js\",\n\t\t1589\n\t],\n\t\"./th.js\": [\n\t\t\"./node_modules/@angular/common/locales/th.js\",\n\t\t1590\n\t],\n\t\"./ti-ER.js\": [\n\t\t\"./node_modules/@angular/common/locales/ti-ER.js\",\n\t\t1591\n\t],\n\t\"./ti.js\": [\n\t\t\"./node_modules/@angular/common/locales/ti.js\",\n\t\t1592\n\t],\n\t\"./tk.js\": [\n\t\t\"./node_modules/@angular/common/locales/tk.js\",\n\t\t1593\n\t],\n\t\"./to.js\": [\n\t\t\"./node_modules/@angular/common/locales/to.js\",\n\t\t1594\n\t],\n\t\"./tr-CY.js\": [\n\t\t\"./node_modules/@angular/common/locales/tr-CY.js\",\n\t\t1595\n\t],\n\t\"./tr.js\": [\n\t\t\"./node_modules/@angular/common/locales/tr.js\",\n\t\t1596\n\t],\n\t\"./tt.js\": [\n\t\t\"./node_modules/@angular/common/locales/tt.js\",\n\t\t1597\n\t],\n\t\"./twq.js\": [\n\t\t\"./node_modules/@angular/common/locales/twq.js\",\n\t\t1598\n\t],\n\t\"./tzm.js\": [\n\t\t\"./node_modules/@angular/common/locales/tzm.js\",\n\t\t1599\n\t],\n\t\"./ug.js\": [\n\t\t\"./node_modules/@angular/common/locales/ug.js\",\n\t\t1600\n\t],\n\t\"./uk.js\": [\n\t\t\"./node_modules/@angular/common/locales/uk.js\",\n\t\t1601\n\t],\n\t\"./ur-IN.js\": [\n\t\t\"./node_modules/@angular/common/locales/ur-IN.js\",\n\t\t1602\n\t],\n\t\"./ur.js\": [\n\t\t\"./node_modules/@angular/common/locales/ur.js\",\n\t\t1603\n\t],\n\t\"./uz-Arab.js\": [\n\t\t\"./node_modules/@angular/common/locales/uz-Arab.js\",\n\t\t1604\n\t],\n\t\"./uz-Cyrl.js\": [\n\t\t\"./node_modules/@angular/common/locales/uz-Cyrl.js\",\n\t\t1605\n\t],\n\t\"./uz-Latn.js\": [\n\t\t\"./node_modules/@angular/common/locales/uz-Latn.js\",\n\t\t1606\n\t],\n\t\"./uz.js\": [\n\t\t\"./node_modules/@angular/common/locales/uz.js\",\n\t\t1607\n\t],\n\t\"./vai-Latn.js\": [\n\t\t\"./node_modules/@angular/common/locales/vai-Latn.js\",\n\t\t1608\n\t],\n\t\"./vai-Vaii.js\": [\n\t\t\"./node_modules/@angular/common/locales/vai-Vaii.js\",\n\t\t1609\n\t],\n\t\"./vai.js\": [\n\t\t\"./node_modules/@angular/common/locales/vai.js\",\n\t\t1610\n\t],\n\t\"./vi.js\": [\n\t\t\"./node_modules/@angular/common/locales/vi.js\",\n\t\t1611\n\t],\n\t\"./vo.js\": [\n\t\t\"./node_modules/@angular/common/locales/vo.js\",\n\t\t1612\n\t],\n\t\"./vun.js\": [\n\t\t\"./node_modules/@angular/common/locales/vun.js\",\n\t\t1613\n\t],\n\t\"./wae.js\": [\n\t\t\"./node_modules/@angular/common/locales/wae.js\",\n\t\t1614\n\t],\n\t\"./wo.js\": [\n\t\t\"./node_modules/@angular/common/locales/wo.js\",\n\t\t1615\n\t],\n\t\"./xh.js\": [\n\t\t\"./node_modules/@angular/common/locales/xh.js\",\n\t\t1616\n\t],\n\t\"./xog.js\": [\n\t\t\"./node_modules/@angular/common/locales/xog.js\",\n\t\t1617\n\t],\n\t\"./yav.js\": [\n\t\t\"./node_modules/@angular/common/locales/yav.js\",\n\t\t1618\n\t],\n\t\"./yi.js\": [\n\t\t\"./node_modules/@angular/common/locales/yi.js\",\n\t\t1619\n\t],\n\t\"./yo-BJ.js\": [\n\t\t\"./node_modules/@angular/common/locales/yo-BJ.js\",\n\t\t1620\n\t],\n\t\"./yo.js\": [\n\t\t\"./node_modules/@angular/common/locales/yo.js\",\n\t\t1621\n\t],\n\t\"./yue-Hans.js\": [\n\t\t\"./node_modules/@angular/common/locales/yue-Hans.js\",\n\t\t1622\n\t],\n\t\"./yue-Hant.js\": [\n\t\t\"./node_modules/@angular/common/locales/yue-Hant.js\",\n\t\t1623\n\t],\n\t\"./yue.js\": [\n\t\t\"./node_modules/@angular/common/locales/yue.js\",\n\t\t1624\n\t],\n\t\"./zgh.js\": [\n\t\t\"./node_modules/@angular/common/locales/zgh.js\",\n\t\t1625\n\t],\n\t\"./zh-Hans-HK.js\": [\n\t\t\"./node_modules/@angular/common/locales/zh-Hans-HK.js\",\n\t\t1626\n\t],\n\t\"./zh-Hans-MO.js\": [\n\t\t\"./node_modules/@angular/common/locales/zh-Hans-MO.js\",\n\t\t1627\n\t],\n\t\"./zh-Hans-SG.js\": [\n\t\t\"./node_modules/@angular/common/locales/zh-Hans-SG.js\",\n\t\t1628\n\t],\n\t\"./zh-Hans.js\": [\n\t\t\"./node_modules/@angular/common/locales/zh-Hans.js\",\n\t\t1629\n\t],\n\t\"./zh-Hant-HK.js\": [\n\t\t\"./node_modules/@angular/common/locales/zh-Hant-HK.js\",\n\t\t1630\n\t],\n\t\"./zh-Hant-MO.js\": [\n\t\t\"./node_modules/@angular/common/locales/zh-Hant-MO.js\",\n\t\t1631\n\t],\n\t\"./zh-Hant.js\": [\n\t\t\"./node_modules/@angular/common/locales/zh-Hant.js\",\n\t\t1632\n\t],\n\t\"./zh.js\": [\n\t\t\"./node_modules/@angular/common/locales/zh.js\",\n\t\t1633\n\t],\n\t\"./zu.js\": [\n\t\t\"./node_modules/@angular/common/locales/zu.js\",\n\t\t1634\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__.t(id, 7);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"./node_modules/@angular/common/locales lazy recursive ^\\\\.\\\\/.*\\\\.js$\";\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn-bd\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn-bd.js\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-in\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-in.js\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-sg\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./en-sg.js\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-mx\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-mx.js\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fil\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fil.js\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-deva\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-deva.js\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./oc-lnc\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./oc-lnc.js\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tk\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tk.js\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-mo\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-mo.js\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","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 = \"./src/$$_lazy_route_resource lazy recursive\";","import { Injectable } from '@angular/core';\nimport { MessageService } from 'abp-ng2-module';\n\nimport { ConfigurationAppService } from './core/app-services/app-services';\nimport { AppConsts } from './shared/app-consts';\n\n@Injectable({\n providedIn: 'root',\n })\n export class AppConfig {\n\n version: string = '1.40';\n\n constructor(private _configService: ConfigurationAppService, private _messageService: MessageService) {\n\n }\n\n async getCurrentAppVersion(name: string): Promise {\n var output = await this._configService.getConfig(name).toPromise();\n return output.currentVersion;\n\n }\n\n\n async checkVersion(): Promise {\n console.log(\"Check version\");\n var currentVersion = await this.getCurrentAppVersion(AppConsts.AppName);\n var installedVersion = this.version;\n\n if(currentVersion != installedVersion) {\n this.showUpgradeMessage(currentVersion);\n }\n }\n\n showUpgradeMessage(newVersion: string) {\n var message = `Version ${newVersion} is now available, please update your application by pressing the refresh button in your browser.`\n this._messageService.warn(message, 'Update application now!'); \n }\n\n\n\n\n\n\n }","import { Injectable, Injector } from '@angular/core';\nimport { PlatformLocation, registerLocaleData } from '@angular/common';\nimport { HttpClient } from '@angular/common/http';\nimport * as moment from 'moment';\nimport * as _ from 'lodash';\nimport { AppConsts } from '@app/shared/app-consts';\nimport { AppSessionService } from '@core/auth/app-session.service';\nimport { environment } from '../environments/environment';\n\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AppInitializer {\n constructor(\n private _injector: Injector,\n private _platformLocation: PlatformLocation,\n private _httpClient: HttpClient\n ) { }\n\n init(): () => Promise {\n return () => {\n abp.ui.setBusy();\n return new Promise((resolve, reject) => {\n AppConsts.appBaseHref = this.getBaseHref();\n const appBaseUrl = this.getDocumentOrigin() + AppConsts.appBaseHref;\n this.getApplicationConfig(appBaseUrl, () => {\n this.getUserConfiguration(() => {\n abp.event.trigger('abp.dynamicScriptsInitialized');\n // do not use constructor injection for AppSessionService\n const appSessionService = this._injector.get(AppSessionService);\n appSessionService.init().then(\n (result) => {\n abp.ui.clearBusy();\n if (this.shouldLoadLocale()) {\n const angularLocale = this.convertAbpLocaleToAngularLocale(\n abp.localization.currentLanguage.name\n );\n import(`@angular/common/locales/${angularLocale}.js`).then(\n (module) => {\n registerLocaleData(module.default);\n resolve(result);\n },\n reject\n );\n } else {\n resolve(result);\n }\n },\n (err) => {\n abp.ui.clearBusy();\n reject(err);\n }\n );\n });\n });\n });\n };\n }\n\n private getBaseHref(): string {\n const baseUrl = this._platformLocation.getBaseHrefFromDOM();\n if (baseUrl) {\n return baseUrl;\n }\n\n return '/';\n }\n\n private getDocumentOrigin(): string {\n if (!document.location.origin) {\n const port = document.location.port ? ':' + document.location.port : '';\n return (\n document.location.protocol + '//' + document.location.hostname + port\n );\n }\n\n return document.location.origin;\n }\n\n private shouldLoadLocale(): boolean {\n return (\n abp.localization.currentLanguage.name &&\n abp.localization.currentLanguage.name !== 'en-US'\n );\n }\n\n private convertAbpLocaleToAngularLocale(locale: string): string {\n if (!AppConsts.localeMappings) {\n return locale;\n }\n\n const localeMapings = _.filter(AppConsts.localeMappings, { from: locale });\n if (localeMapings && localeMapings.length) {\n return localeMapings[0]['to'];\n }\n\n return locale;\n }\n\n private getCurrentClockProvider(\n currentProviderName: string\n ): abp.timing.IClockProvider {\n if (currentProviderName === 'unspecifiedClockProvider') {\n return abp.timing.unspecifiedClockProvider;\n }\n\n if (currentProviderName === 'utcClockProvider') {\n return abp.timing.utcClockProvider;\n }\n\n return abp.timing.localClockProvider;\n }\n\n private getUserConfiguration(callback: () => void): void {\n const cookieLangValue = abp.utils.getCookieValue(\n 'Abp.Localization.CultureName'\n );\n const token = abp.auth.getToken();\n\n const requestHeaders = {\n 'Abp.TenantId': `${abp.multiTenancy.getTenantIdCookie()}`,\n '.AspNetCore.Culture': `c=${cookieLangValue}|uic=${cookieLangValue}`,\n };\n\n if (token) {\n requestHeaders['Authorization'] = `Bearer ${token}`;\n }\n\n this._httpClient\n .get(\n `${AppConsts.remoteServiceBaseUrl}/AbpUserConfiguration/GetAll`,\n {\n headers: requestHeaders,\n }\n )\n .subscribe((response) => {\n const result = response.result;\n\n _.merge(abp, result);\n\n abp.clock.provider = this.getCurrentClockProvider(\n result.clock.provider\n );\n\n moment.locale(abp.localization.currentLanguage.name);\n\n // if (abp.clock.provider.supportsMultipleTimezone) {\n // moment.tz.setDefault(abp.timing.timeZoneInfo.iana.timeZoneId);\n // }\n\n callback();\n });\n }\n\n private getApplicationConfig(appRootUrl: string, callback: () => void) {\n this._httpClient\n .get(`${appRootUrl}assets/${environment.appConfig}`, {\n headers: {\n 'Abp.TenantId': `${abp.multiTenancy.getTenantIdCookie()}`,\n },\n })\n .subscribe((response) => {\n AppConsts.appBaseUrl = response.appBaseUrl;\n AppConsts.remoteServiceBaseUrl = response.remoteServiceBaseUrl;\n AppConsts.localeMappings = response.localeMappings;\n AppConsts.allowedOrigins = response.allowedOrigins;\n AppConsts.logoUrl = response.logoUrl;\n AppConsts.title = response.title;\n console.log(\"Base Url \" + AppConsts.appBaseUrl),\n console.log(\"Api Url \" + AppConsts.remoteServiceBaseUrl),\n console.log(\"Logo Url \" + AppConsts.logoUrl),\n console.log(\"Title \" + AppConsts.title),\n\n callback();\n });\n }\n}\n","import { Component, ViewContainerRef, OnInit, OnDestroy } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { Router, NavigationEnd } from '@angular/router';\nimport { filter } from 'rxjs/operators';\nimport { Title } from '@angular/platform-browser';\nimport { AppConsts } from './shared/app-consts';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html'\n})\nexport class AppComponent implements OnInit, OnDestroy {\n\n subscription: Subscription;\n\n constructor(private router: Router, \n private titleService: Title\n \n ) {\n this.titleService.setTitle(AppConsts.title)\n }\n\n ngOnInit() {\n\n //this.title.setTitle(AppConsts.title)\n\n this.subscription = this.router.events\n .pipe(\n filter(event => event instanceof NavigationEnd)\n )\n .subscribe(() => window.scrollTo(0, 0));\n }\n\n\n ngOnDestroy() {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n\n\n\n}","","import {NgModule, APP_INITIALIZER} from '@angular/core';\nimport {BrowserAnimationsModule} from '@angular/platform-browser/animations';\nimport {AppRoutingModule} from './app.routing';\nimport {AppSharedModule} from './shared/shared.module';\nimport {NgbModule} from '@ng-bootstrap/ng-bootstrap';\nimport {HttpClientModule, HttpClient, HTTP_INTERCEPTORS} from '@angular/common/http';\nimport {TranslateModule, TranslateLoader} from '@ngx-translate/core';\nimport {TranslateHttpLoader} from '@ngx-translate/http-loader';\nimport {\n PerfectScrollbarModule,\n PERFECT_SCROLLBAR_CONFIG,\n PerfectScrollbarConfigInterface\n} from 'ngx-perfect-scrollbar';\nimport * as _ from 'lodash';\nimport {AppComponent} from './app.component';\n\n\nimport {PlatformLocation} from '@angular/common';\nimport {AppConsts} from '@app/shared/app-consts';\nimport {AbpHttpInterceptor} from 'abp-ng2-module';\nimport {APP_API_BASE_URL} from '@core/app-services/app-services';\nimport {AppServicesModule} from '@core/app-services/app-services.module';\n\nimport {PROFILE_API_BASE_URL} from '@core/app-services/profile-services';\nimport {CONTENT_API_BASE_URL} from '@core/app-services/content-services';\nimport {COURSE_API_BASE_URL} from '@core/app-services/course-services';\nimport {MDynamicDialogModule} from 'm-dynamic-dialog';\nimport {AppInitializer} from '@app/app-initializer';\nimport { AuthCoreModule } from './core/auth/auth.core.module';\nimport { NgxSpinnerModule } from 'ngx-spinner';\nimport { DialogModule } from '@ngneat/dialog';\nimport { ShellModule } from './shell/shell.module';\nimport { UtilsModule } from './shared/utils/utils.module';\nconst DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = {\n suppressScrollX: true,\n wheelPropagation: false\n\n};\n\nexport function createTranslateLoader(http: HttpClient) {\n return new TranslateHttpLoader(http, './assets/i18n/', '.json');\n}\n\nexport function getCurrentLanguage(): string {\n return 'en-US';\n if (abp.localization.currentLanguage.name) {\n return abp.localization.currentLanguage.name;\n }\n\n // todo: Waiting for https://github.com/angular/angular/issues/31465 to be fixed.\n return 'en';\n\n\n}\n\nexport function getBaseHref(platformLocation: PlatformLocation): string {\n const baseUrl = platformLocation.getBaseHrefFromDOM();\n if (baseUrl) {\n return baseUrl;\n }\n\n return '/';\n}\n\n\n\n\n@NgModule({\n declarations: [\n AppComponent,\n\n ],\n imports: [\n BrowserAnimationsModule,\n AuthCoreModule.forRoot(),\n AppRoutingModule,\n AppSharedModule,\n HttpClientModule,\n NgbModule,\n NgxSpinnerModule,\n ShellModule,\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: createTranslateLoader,\n deps: [HttpClient]\n }\n }),\n PerfectScrollbarModule,\n UtilsModule,\n AppServicesModule,\n MDynamicDialogModule.forRoot(),\n DialogModule.forRoot()\n\n ],\n providers: [\n {\n provide: PERFECT_SCROLLBAR_CONFIG,\n useValue: DEFAULT_PERFECT_SCROLLBAR_CONFIG\n },\n {provide: PERFECT_SCROLLBAR_CONFIG, useValue: DEFAULT_PERFECT_SCROLLBAR_CONFIG},\n {provide: HTTP_INTERCEPTORS, useClass: AbpHttpInterceptor, multi: true},\n { provide: APP_API_BASE_URL, useFactory: () => AppConsts.remoteServiceBaseUrl },\n { provide: PROFILE_API_BASE_URL, useFactory: () => AppConsts.remoteServiceBaseUrl },\n { provide: CONTENT_API_BASE_URL, useFactory: () => AppConsts.remoteServiceBaseUrl },\n { provide: COURSE_API_BASE_URL, useFactory: () => AppConsts.remoteServiceBaseUrl },\n {\n provide: APP_INITIALIZER,\n useFactory: (appInitializer: AppInitializer) => appInitializer.init(),\n deps: [AppInitializer],\n multi: true,\n },\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule {\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes, PreloadAllModules } from '@angular/router';\n\nimport { FullLayoutComponent } from '@shell/layouts/full/full-layout.component';\n\n\nimport { AuthGuard } from './core/auth/auth-guard.service';\nimport { StudentProfileService } from './core/profile/student-profile.service';\nimport { ContentLayoutComponent } from './shell/layouts/content/content-layout.component';\nimport { EmptyLayoutComponent } from './shell/layouts/empty/empty-layout.component';\n\nconst appRoutes: Routes = [\n {\n path: '',\n redirectTo: 'guide',\n pathMatch: 'full',\n },\n {\n path: 'signed-in-redirect',\n redirectTo: 'guide',\n pathMatch: 'full',\n },\n {\n path: '',\n component: EmptyLayoutComponent,\n children: [\n { path: 'sign-in', loadChildren: () => import('app/modules/accounts/sign-in/sign-in.module').then(m => m.SignInModule) },\n { path: 'sign-out', loadChildren: () => import('app/modules/accounts/sign-out/sign-out.module').then(m => m.SignOutModule) }\n ]\n },\n\n \n \n \n {\n path: '', component: ContentLayoutComponent, data: { title: 'Content' }, canActivate: [AuthGuard],\n resolve: {\n profile: StudentProfileService,\n },\n children: [\n \n { path: 'quiz', loadChildren: () => import('app/modules/quiz/quiz.module').then(m => m.QuizModule) },\n { path: 'lessons', loadChildren: () => import('app/modules/lessons/lessons.module').then(m => m.LessonsModule) },\n ]\n },\n\n {\n path: '', component: FullLayoutComponent, data: { title: 'Guide' }, canActivate: [AuthGuard],\n resolve: {\n profile: StudentProfileService,\n },\n children: [\n { path: 'guide', loadChildren: () => import('./modules/guide/guide.module').then(m => m.StudentGuideModule) },\n { path: 'profile', loadChildren: () => import('./modules/profile/profile.module').then(m => m.ProfileModule) }\n ]\n },\n {\n path: '**',\n redirectTo: 'guide',\n pathMatch: 'full',\n },\n\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(appRoutes)],\n exports: [RouterModule]\n})\n\nexport class AppRoutingModule {\n\n}","import { NgModule } from '@angular/core';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { AbpHttpInterceptor, RefreshTokenService } from 'abp-ng2-module';\n\nimport * as App from './app-services';\nimport * as Content from './content-services';\nimport * as Profile from './profile-services';\nimport * as Course from './course-services';\nimport { AuthRefreshTokenService } from '../auth/auth-refresh-token.service';\n\n@NgModule({\n providers: [\n App.RoleAppService,\n App.SessionAppService,\n App.TenantAppService,\n App.UserAppService,\n App.TokenAuthAppService,\n App.AccountAppService,\n App.ConfigurationAppService,\n\n Profile.ProfileAppService,\n Course.ActivityAppService,\n\n Content.QuizActivityAppService,\n Content.PresentationAppService,\n Course.ClassAppService,\n Course.AchievementsAppService,\n { provide: RefreshTokenService, useClass: AuthRefreshTokenService },\n { provide: HTTP_INTERCEPTORS, useClass: AbpHttpInterceptor, multi: true }\n ]\n})\nexport class AppServicesModule { }\n","/* tslint:disable */\n/* eslint-disable */\n//----------------------\n// \n// Generated using the NSwag toolchain v13.11.3.0 (NJsonSchema v10.4.4.0 (Newtonsoft.Json v11.0.0.0)) (http://NSwag.org)\n// \n//----------------------\n// ReSharper disable InconsistentNaming\n\nimport { mergeMap as _observableMergeMap, catchError as _observableCatch } from 'rxjs/operators';\nimport { Observable, throwError as _observableThrow, of as _observableOf } from 'rxjs';\nimport { Injectable, Inject, Optional, InjectionToken } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpResponse, HttpResponseBase } from '@angular/common/http';\n\nimport * as moment from 'moment';\n\nexport const APP_API_BASE_URL = new InjectionToken('APP_API_BASE_URL');\n\n@Injectable()\nexport class AccountAppService {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(APP_API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n isTenantAvailable(body: IsTenantAvailableInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/app/account/is-tenant-available\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json;odata.metadata=minimal;odata.streaming=true\",\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processIsTenantAvailable(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processIsTenantAvailable(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processIsTenantAvailable(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = IsTenantAvailableOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n register(body: RegisterInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/app/account/register\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json;odata.metadata=minimal;odata.streaming=true\",\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processRegister(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processRegister(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processRegister(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = RegisterOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @param emailAddress (optional) \n * @return Success\n */\n resetUserPassword(emailAddress: string | null | undefined): Observable {\n let url_ = this.baseUrl + \"/api/app/account/reset-user-password?\";\n if (emailAddress !== undefined && emailAddress !== null)\n url_ += \"emailAddress=\" + encodeURIComponent(\"\" + emailAddress) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processResetUserPassword(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processResetUserPassword(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processResetUserPassword(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @return Success\n */\n generateCode(): Observable {\n let url_ = this.baseUrl + \"/api/app/account/generate-code\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGenerateCode(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGenerateCode(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processGenerateCode(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n}\n\n@Injectable()\nexport class CacheManagerAppService {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(APP_API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @return Success\n */\n clearCache(): Observable {\n let url_ = this.baseUrl + \"/api/app/cache-manager/clear-cache\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processClearCache(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processClearCache(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processClearCache(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return _observableOf(null);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n}\n\n@Injectable()\nexport class ConfigurationAppService {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(APP_API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n changeUiTheme(body: ChangeUiThemeInput | undefined): Observable {\n let url_ = this.baseUrl + \"/api/app/configuration/change-ui-theme\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json;odata.metadata=minimal;odata.streaming=true\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processChangeUiTheme(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processChangeUiTheme(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processChangeUiTheme(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return _observableOf(null);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @param name (optional) \n * @return Success\n */\n getConfig(name: string | null | undefined): Observable {\n let url_ = this.baseUrl + \"/api/app/configuration/get-config?\";\n if (name !== undefined && name !== null)\n url_ += \"name=\" + encodeURIComponent(\"\" + name) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetConfig(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetConfig(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processGetConfig(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = AppConfigDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n}\n\n@Injectable()\nexport class ImagesAppService {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(APP_API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param file (optional) \n * @return Success\n */\n addImage(file: FileParameter | null | undefined): Observable {\n let url_ = this.baseUrl + \"/api/Images/AddImage\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (file !== null && file !== undefined)\n content_.append(\"file\", file.data, file.fileName ? file.fileName : \"file\");\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processAddImage(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAddImage(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processAddImage(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = AddImageAssetResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @param title (optional) \n * @param tags (optional) \n * @param file (optional) \n * @return Success\n */\n addImageDetails(title: string | null | undefined, tags: string[] | null | undefined, file: FileParameter | null | undefined): Observable {\n let url_ = this.baseUrl + \"/api/Images/AddImageDetails?\";\n if (title !== undefined && title !== null)\n url_ += \"Title=\" + encodeURIComponent(\"\" + title) + \"&\";\n if (tags !== undefined && tags !== null)\n tags && tags.forEach(item => { url_ += \"Tags=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (file !== null && file !== undefined)\n content_.append(\"file\", file.data, file.fileName ? file.fileName : \"file\");\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processAddImageDetails(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAddImageDetails(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processAddImageDetails(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = AddImageAssetResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n}\n\n@Injectable()\nexport class MediaItemAppService {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(APP_API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @return Success\n */\n upload(): Observable {\n let url_ = this.baseUrl + \"/api/MediaItem/Upload\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpload(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpload(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processUpload(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = UploadMediaResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @return Success\n */\n remove(): Observable {\n let url_ = this.baseUrl + \"/api/MediaItem/Remove\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processRemove(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processRemove(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processRemove(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return _observableOf(null);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n}\n\n@Injectable()\nexport class PresentationAppService {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(APP_API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @return Success\n */\n result(): Observable {\n let url_ = this.baseUrl + \"/api/Presentation/Result\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processResult(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processResult(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processResult(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return _observableOf(null);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n}\n\n@Injectable()\nexport class RoleAppService {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(APP_API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n create(body: CreateRoleDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/app/role/create\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json;odata.metadata=minimal;odata.streaming=true\",\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreate(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreate(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processCreate(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = RoleDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @param permission (optional) \n * @return Success\n */\n getRoles(permission: string | null | undefined): Observable {\n let url_ = this.baseUrl + \"/api/app/role/get-roles?\";\n if (permission !== undefined && permission !== null)\n url_ += \"Permission=\" + encodeURIComponent(\"\" + permission) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetRoles(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetRoles(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processGetRoles(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ListResultDtoOfRoleListDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n update(body: RoleDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/app/role/update\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json;odata.metadata=minimal;odata.streaming=true\",\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdate(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdate(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processUpdate(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = RoleDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n delete(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/app/role/delete?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDelete(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDelete(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processDelete(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return _observableOf(null);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @return Success\n */\n getAllPermissions(): Observable {\n let url_ = this.baseUrl + \"/api/app/role/get-all-permissions\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllPermissions(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllPermissions(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processGetAllPermissions(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ListResultDtoOfPermissionDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n getRoleForEdit(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/app/role/get-role-for-edit?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetRoleForEdit(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetRoleForEdit(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processGetRoleForEdit(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetRoleForEditOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n get(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/app/role/get?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGet(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGet(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processGet(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = RoleDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @param keyword (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getAll(keyword: string | null | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/app/role/get-all?\";\n if (keyword !== undefined && keyword !== null)\n url_ += \"Keyword=\" + encodeURIComponent(\"\" + keyword) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAll(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAll(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processGetAll(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfRoleDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n}\n\n@Injectable()\nexport class SessionAppService {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(APP_API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @return Success\n */\n getCurrentLoginInformations(): Observable {\n let url_ = this.baseUrl + \"/api/app/session/get-current-login-informations\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetCurrentLoginInformations(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetCurrentLoginInformations(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processGetCurrentLoginInformations(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetCurrentLoginInformationsOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n}\n\n@Injectable()\nexport class TenantAppService {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(APP_API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n create(body: CreateTenantDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/app/tenant/create\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json;odata.metadata=minimal;odata.streaming=true\",\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreate(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreate(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processCreate(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = TenantDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n delete(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/app/tenant/delete?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDelete(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDelete(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processDelete(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return _observableOf(null);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n get(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/app/tenant/get?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGet(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGet(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processGet(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = TenantDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @param keyword (optional) \n * @param isActive (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getAll(keyword: string | null | undefined, isActive: boolean | null | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/app/tenant/get-all?\";\n if (keyword !== undefined && keyword !== null)\n url_ += \"Keyword=\" + encodeURIComponent(\"\" + keyword) + \"&\";\n if (isActive !== undefined && isActive !== null)\n url_ += \"IsActive=\" + encodeURIComponent(\"\" + isActive) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAll(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAll(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processGetAll(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfTenantDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n update(body: TenantDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/app/tenant/update\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json;odata.metadata=minimal;odata.streaming=true\",\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdate(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdate(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processUpdate(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = TenantDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n}\n\n@Injectable()\nexport class TokenAuthAppService {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(APP_API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n authenticate(body: AuthenticateModel | undefined): Observable {\n let url_ = this.baseUrl + \"/api/token-auth/authenticate\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json;odata.metadata=minimal;odata.streaming=true\",\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processAuthenticate(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAuthenticate(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processAuthenticate(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = AuthenticateResultModel.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @param refreshToken (optional) \n * @return Success\n */\n refreshToken(refreshToken: string | null | undefined): Observable {\n let url_ = this.baseUrl + \"/api/token-auth/refresh-token?\";\n if (refreshToken !== undefined && refreshToken !== null)\n url_ += \"refreshToken=\" + encodeURIComponent(\"\" + refreshToken) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processRefreshToken(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processRefreshToken(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processRefreshToken(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = RefreshTokenResult.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @return Success\n */\n logOut(): Observable {\n let url_ = this.baseUrl + \"/api/token-auth/log-out\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processLogOut(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processLogOut(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processLogOut(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return _observableOf(null);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n}\n\n@Injectable()\nexport class UserAppService {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(APP_API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n create(body: CreateUserDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/app/user/create\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json;odata.metadata=minimal;odata.streaming=true\",\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreate(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreate(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processCreate(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = UserDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n update(body: UserDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/app/user/update\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json;odata.metadata=minimal;odata.streaming=true\",\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdate(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdate(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processUpdate(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = UserDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n delete(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/app/user/delete?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDelete(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDelete(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processDelete(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return _observableOf(null);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @return Success\n */\n getRoles(): Observable {\n let url_ = this.baseUrl + \"/api/app/user/get-roles\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetRoles(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetRoles(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processGetRoles(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ListResultDtoOfRoleDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n changeLanguage(body: ChangeUserLanguageDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/app/user/change-language\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json;odata.metadata=minimal;odata.streaming=true\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processChangeLanguage(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processChangeLanguage(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processChangeLanguage(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return _observableOf(null);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n changePassword(body: ChangePasswordDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/app/user/change-password\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json;odata.metadata=minimal;odata.streaming=true\",\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processChangePassword(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processChangePassword(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processChangePassword(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n resetPassword(body: ResetPasswordDto | undefined): Observable {\n let url_ = this.baseUrl + \"/api/app/user/reset-password\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json;odata.metadata=minimal;odata.streaming=true\",\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processResetPassword(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processResetPassword(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processResetPassword(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @param id (optional) \n * @return Success\n */\n get(id: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/app/user/get?\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGet(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGet(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processGet(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = UserDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @param keyword (optional) \n * @param isActive (optional) \n * @param skipCount (optional) \n * @param maxResultCount (optional) \n * @return Success\n */\n getAll(keyword: string | null | undefined, isActive: boolean | null | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/app/user/get-all?\";\n if (keyword !== undefined && keyword !== null)\n url_ += \"Keyword=\" + encodeURIComponent(\"\" + keyword) + \"&\";\n if (isActive !== undefined && isActive !== null)\n url_ += \"IsActive=\" + encodeURIComponent(\"\" + isActive) + \"&\";\n if (skipCount === null)\n throw new Error(\"The parameter 'skipCount' cannot be null.\");\n else if (skipCount !== undefined)\n url_ += \"SkipCount=\" + encodeURIComponent(\"\" + skipCount) + \"&\";\n if (maxResultCount === null)\n throw new Error(\"The parameter 'maxResultCount' cannot be null.\");\n else if (maxResultCount !== undefined)\n url_ += \"MaxResultCount=\" + encodeURIComponent(\"\" + maxResultCount) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAll(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAll(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processGetAll(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PagedResultDtoOfUserDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n}\n\nexport class IsTenantAvailableInput implements IIsTenantAvailableInput {\n tenancyName: string;\n\n constructor(data?: IIsTenantAvailableInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenancyName = _data[\"tenancyName\"];\n }\n }\n\n static fromJS(data: any): IsTenantAvailableInput {\n data = typeof data === 'object' ? data : {};\n let result = new IsTenantAvailableInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenancyName\"] = this.tenancyName;\n return data; \n }\n\n clone(): IsTenantAvailableInput {\n const json = this.toJSON();\n let result = new IsTenantAvailableInput();\n result.init(json);\n return result;\n }\n}\n\nexport interface IIsTenantAvailableInput {\n tenancyName: string;\n}\n\nexport enum TenantAvailabilityState {\n Available = \"Available\",\n InActive = \"InActive\",\n NotFound = \"NotFound\",\n}\n\nexport class IsTenantAvailableOutput implements IIsTenantAvailableOutput {\n state: TenantAvailabilityState;\n tenantId: number | undefined;\n\n constructor(data?: IIsTenantAvailableOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.state = _data[\"state\"];\n this.tenantId = _data[\"tenantId\"];\n }\n }\n\n static fromJS(data: any): IsTenantAvailableOutput {\n data = typeof data === 'object' ? data : {};\n let result = new IsTenantAvailableOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"state\"] = this.state;\n data[\"tenantId\"] = this.tenantId;\n return data; \n }\n\n clone(): IsTenantAvailableOutput {\n const json = this.toJSON();\n let result = new IsTenantAvailableOutput();\n result.init(json);\n return result;\n }\n}\n\nexport interface IIsTenantAvailableOutput {\n state: TenantAvailabilityState;\n tenantId: number | undefined;\n}\n\nexport class RegisterInput implements IRegisterInput {\n name: string;\n surname: string;\n userName: string;\n emailAddress: string;\n password: string;\n captchaResponse: string | undefined;\n\n constructor(data?: IRegisterInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.surname = _data[\"surname\"];\n this.userName = _data[\"userName\"];\n this.emailAddress = _data[\"emailAddress\"];\n this.password = _data[\"password\"];\n this.captchaResponse = _data[\"captchaResponse\"];\n }\n }\n\n static fromJS(data: any): RegisterInput {\n data = typeof data === 'object' ? data : {};\n let result = new RegisterInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"surname\"] = this.surname;\n data[\"userName\"] = this.userName;\n data[\"emailAddress\"] = this.emailAddress;\n data[\"password\"] = this.password;\n data[\"captchaResponse\"] = this.captchaResponse;\n return data; \n }\n\n clone(): RegisterInput {\n const json = this.toJSON();\n let result = new RegisterInput();\n result.init(json);\n return result;\n }\n}\n\nexport interface IRegisterInput {\n name: string;\n surname: string;\n userName: string;\n emailAddress: string;\n password: string;\n captchaResponse: string | undefined;\n}\n\nexport class RegisterOutput implements IRegisterOutput {\n canLogin: boolean;\n\n constructor(data?: IRegisterOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.canLogin = _data[\"canLogin\"];\n }\n }\n\n static fromJS(data: any): RegisterOutput {\n data = typeof data === 'object' ? data : {};\n let result = new RegisterOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"canLogin\"] = this.canLogin;\n return data; \n }\n\n clone(): RegisterOutput {\n const json = this.toJSON();\n let result = new RegisterOutput();\n result.init(json);\n return result;\n }\n}\n\nexport interface IRegisterOutput {\n canLogin: boolean;\n}\n\nexport class ChangeUiThemeInput implements IChangeUiThemeInput {\n theme: string;\n\n constructor(data?: IChangeUiThemeInput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.theme = _data[\"theme\"];\n }\n }\n\n static fromJS(data: any): ChangeUiThemeInput {\n data = typeof data === 'object' ? data : {};\n let result = new ChangeUiThemeInput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"theme\"] = this.theme;\n return data; \n }\n\n clone(): ChangeUiThemeInput {\n const json = this.toJSON();\n let result = new ChangeUiThemeInput();\n result.init(json);\n return result;\n }\n}\n\nexport interface IChangeUiThemeInput {\n theme: string;\n}\n\nexport class AppConfigDto implements IAppConfigDto {\n name: string | undefined;\n currentVersion: string | undefined;\n\n constructor(data?: IAppConfigDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.currentVersion = _data[\"currentVersion\"];\n }\n }\n\n static fromJS(data: any): AppConfigDto {\n data = typeof data === 'object' ? data : {};\n let result = new AppConfigDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"currentVersion\"] = this.currentVersion;\n return data; \n }\n\n clone(): AppConfigDto {\n const json = this.toJSON();\n let result = new AppConfigDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface IAppConfigDto {\n name: string | undefined;\n currentVersion: string | undefined;\n}\n\nexport class AddImageAssetResponse implements IAddImageAssetResponse {\n imageAssetId: number;\n imageUrl: string | undefined;\n\n constructor(data?: IAddImageAssetResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.imageAssetId = _data[\"imageAssetId\"];\n this.imageUrl = _data[\"imageUrl\"];\n }\n }\n\n static fromJS(data: any): AddImageAssetResponse {\n data = typeof data === 'object' ? data : {};\n let result = new AddImageAssetResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"imageAssetId\"] = this.imageAssetId;\n data[\"imageUrl\"] = this.imageUrl;\n return data; \n }\n\n clone(): AddImageAssetResponse {\n const json = this.toJSON();\n let result = new AddImageAssetResponse();\n result.init(json);\n return result;\n }\n}\n\nexport interface IAddImageAssetResponse {\n imageAssetId: number;\n imageUrl: string | undefined;\n}\n\nexport enum HttpStatusCode {\n Continue = \"Continue\",\n SwitchingProtocols = \"SwitchingProtocols\",\n Processing = \"Processing\",\n EarlyHints = \"EarlyHints\",\n OK = \"OK\",\n Created = \"Created\",\n Accepted = \"Accepted\",\n NonAuthoritativeInformation = \"NonAuthoritativeInformation\",\n NoContent = \"NoContent\",\n ResetContent = \"ResetContent\",\n PartialContent = \"PartialContent\",\n MultiStatus = \"MultiStatus\",\n AlreadyReported = \"AlreadyReported\",\n IMUsed = \"IMUsed\",\n MultipleChoices = \"MultipleChoices\",\n Ambiguous = \"Ambiguous\",\n MovedPermanently = \"MovedPermanently\",\n Moved = \"Moved\",\n Found = \"Found\",\n Redirect = \"Redirect\",\n SeeOther = \"SeeOther\",\n RedirectMethod = \"RedirectMethod\",\n NotModified = \"NotModified\",\n UseProxy = \"UseProxy\",\n Unused = \"Unused\",\n TemporaryRedirect = \"TemporaryRedirect\",\n RedirectKeepVerb = \"RedirectKeepVerb\",\n PermanentRedirect = \"PermanentRedirect\",\n BadRequest = \"BadRequest\",\n Unauthorized = \"Unauthorized\",\n PaymentRequired = \"PaymentRequired\",\n Forbidden = \"Forbidden\",\n NotFound = \"NotFound\",\n MethodNotAllowed = \"MethodNotAllowed\",\n NotAcceptable = \"NotAcceptable\",\n ProxyAuthenticationRequired = \"ProxyAuthenticationRequired\",\n RequestTimeout = \"RequestTimeout\",\n Conflict = \"Conflict\",\n Gone = \"Gone\",\n LengthRequired = \"LengthRequired\",\n PreconditionFailed = \"PreconditionFailed\",\n RequestEntityTooLarge = \"RequestEntityTooLarge\",\n RequestUriTooLong = \"RequestUriTooLong\",\n UnsupportedMediaType = \"UnsupportedMediaType\",\n RequestedRangeNotSatisfiable = \"RequestedRangeNotSatisfiable\",\n ExpectationFailed = \"ExpectationFailed\",\n MisdirectedRequest = \"MisdirectedRequest\",\n UnprocessableEntity = \"UnprocessableEntity\",\n Locked = \"Locked\",\n FailedDependency = \"FailedDependency\",\n UpgradeRequired = \"UpgradeRequired\",\n PreconditionRequired = \"PreconditionRequired\",\n TooManyRequests = \"TooManyRequests\",\n RequestHeaderFieldsTooLarge = \"RequestHeaderFieldsTooLarge\",\n UnavailableForLegalReasons = \"UnavailableForLegalReasons\",\n InternalServerError = \"InternalServerError\",\n NotImplemented = \"NotImplemented\",\n BadGateway = \"BadGateway\",\n ServiceUnavailable = \"ServiceUnavailable\",\n GatewayTimeout = \"GatewayTimeout\",\n HttpVersionNotSupported = \"HttpVersionNotSupported\",\n VariantAlsoNegotiates = \"VariantAlsoNegotiates\",\n InsufficientStorage = \"InsufficientStorage\",\n LoopDetected = \"LoopDetected\",\n NotExtended = \"NotExtended\",\n NetworkAuthenticationRequired = \"NetworkAuthenticationRequired\",\n}\n\nexport class UploadMediaResponse implements IUploadMediaResponse {\n statusCode: HttpStatusCode;\n status: string | undefined;\n statusDescription: string | undefined;\n contentType: string | undefined;\n\n constructor(data?: IUploadMediaResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.statusCode = _data[\"statusCode\"];\n this.status = _data[\"status\"];\n this.statusDescription = _data[\"statusDescription\"];\n this.contentType = _data[\"contentType\"];\n }\n }\n\n static fromJS(data: any): UploadMediaResponse {\n data = typeof data === 'object' ? data : {};\n let result = new UploadMediaResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"statusCode\"] = this.statusCode;\n data[\"status\"] = this.status;\n data[\"statusDescription\"] = this.statusDescription;\n data[\"contentType\"] = this.contentType;\n return data; \n }\n\n clone(): UploadMediaResponse {\n const json = this.toJSON();\n let result = new UploadMediaResponse();\n result.init(json);\n return result;\n }\n}\n\nexport interface IUploadMediaResponse {\n statusCode: HttpStatusCode;\n status: string | undefined;\n statusDescription: string | undefined;\n contentType: string | undefined;\n}\n\nexport class CreateRoleDto implements ICreateRoleDto {\n name: string;\n displayName: string;\n normalizedName: string | undefined;\n description: string | undefined;\n grantedPermissions: string[] | undefined;\n\n constructor(data?: ICreateRoleDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.displayName = _data[\"displayName\"];\n this.normalizedName = _data[\"normalizedName\"];\n this.description = _data[\"description\"];\n if (Array.isArray(_data[\"grantedPermissions\"])) {\n this.grantedPermissions = [] as any;\n for (let item of _data[\"grantedPermissions\"])\n this.grantedPermissions.push(item);\n }\n }\n }\n\n static fromJS(data: any): CreateRoleDto {\n data = typeof data === 'object' ? data : {};\n let result = new CreateRoleDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"displayName\"] = this.displayName;\n data[\"normalizedName\"] = this.normalizedName;\n data[\"description\"] = this.description;\n if (Array.isArray(this.grantedPermissions)) {\n data[\"grantedPermissions\"] = [];\n for (let item of this.grantedPermissions)\n data[\"grantedPermissions\"].push(item);\n }\n return data; \n }\n\n clone(): CreateRoleDto {\n const json = this.toJSON();\n let result = new CreateRoleDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface ICreateRoleDto {\n name: string;\n displayName: string;\n normalizedName: string | undefined;\n description: string | undefined;\n grantedPermissions: string[] | undefined;\n}\n\nexport class RoleDto implements IRoleDto {\n name: string;\n displayName: string;\n normalizedName: string | undefined;\n description: string | undefined;\n grantedPermissions: string[] | undefined;\n id: number;\n\n constructor(data?: IRoleDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.displayName = _data[\"displayName\"];\n this.normalizedName = _data[\"normalizedName\"];\n this.description = _data[\"description\"];\n if (Array.isArray(_data[\"grantedPermissions\"])) {\n this.grantedPermissions = [] as any;\n for (let item of _data[\"grantedPermissions\"])\n this.grantedPermissions.push(item);\n }\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): RoleDto {\n data = typeof data === 'object' ? data : {};\n let result = new RoleDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"displayName\"] = this.displayName;\n data[\"normalizedName\"] = this.normalizedName;\n data[\"description\"] = this.description;\n if (Array.isArray(this.grantedPermissions)) {\n data[\"grantedPermissions\"] = [];\n for (let item of this.grantedPermissions)\n data[\"grantedPermissions\"].push(item);\n }\n data[\"id\"] = this.id;\n return data; \n }\n\n clone(): RoleDto {\n const json = this.toJSON();\n let result = new RoleDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface IRoleDto {\n name: string;\n displayName: string;\n normalizedName: string | undefined;\n description: string | undefined;\n grantedPermissions: string[] | undefined;\n id: number;\n}\n\nexport class RoleListDto implements IRoleListDto {\n name: string | undefined;\n displayName: string | undefined;\n isStatic: boolean;\n isDefault: boolean;\n creationTime: moment.Moment;\n id: number;\n\n constructor(data?: IRoleListDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.displayName = _data[\"displayName\"];\n this.isStatic = _data[\"isStatic\"];\n this.isDefault = _data[\"isDefault\"];\n this.creationTime = _data[\"creationTime\"] ? moment(_data[\"creationTime\"].toString()) : undefined;\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): RoleListDto {\n data = typeof data === 'object' ? data : {};\n let result = new RoleListDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"displayName\"] = this.displayName;\n data[\"isStatic\"] = this.isStatic;\n data[\"isDefault\"] = this.isDefault;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toISOString() : undefined;\n data[\"id\"] = this.id;\n return data; \n }\n\n clone(): RoleListDto {\n const json = this.toJSON();\n let result = new RoleListDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface IRoleListDto {\n name: string | undefined;\n displayName: string | undefined;\n isStatic: boolean;\n isDefault: boolean;\n creationTime: moment.Moment;\n id: number;\n}\n\nexport class ListResultDtoOfRoleListDto implements IListResultDtoOfRoleListDto {\n items: RoleListDto[] | undefined;\n\n constructor(data?: IListResultDtoOfRoleListDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items.push(RoleListDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ListResultDtoOfRoleListDto {\n data = typeof data === 'object' ? data : {};\n let result = new ListResultDtoOfRoleListDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data; \n }\n\n clone(): ListResultDtoOfRoleListDto {\n const json = this.toJSON();\n let result = new ListResultDtoOfRoleListDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface IListResultDtoOfRoleListDto {\n items: RoleListDto[] | undefined;\n}\n\nexport class PermissionDto implements IPermissionDto {\n name: string | undefined;\n displayName: string | undefined;\n description: string | undefined;\n id: number;\n\n constructor(data?: IPermissionDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.displayName = _data[\"displayName\"];\n this.description = _data[\"description\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): PermissionDto {\n data = typeof data === 'object' ? data : {};\n let result = new PermissionDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"displayName\"] = this.displayName;\n data[\"description\"] = this.description;\n data[\"id\"] = this.id;\n return data; \n }\n\n clone(): PermissionDto {\n const json = this.toJSON();\n let result = new PermissionDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface IPermissionDto {\n name: string | undefined;\n displayName: string | undefined;\n description: string | undefined;\n id: number;\n}\n\nexport class ListResultDtoOfPermissionDto implements IListResultDtoOfPermissionDto {\n items: PermissionDto[] | undefined;\n\n constructor(data?: IListResultDtoOfPermissionDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items.push(PermissionDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ListResultDtoOfPermissionDto {\n data = typeof data === 'object' ? data : {};\n let result = new ListResultDtoOfPermissionDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data; \n }\n\n clone(): ListResultDtoOfPermissionDto {\n const json = this.toJSON();\n let result = new ListResultDtoOfPermissionDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface IListResultDtoOfPermissionDto {\n items: PermissionDto[] | undefined;\n}\n\nexport class RoleEditDto implements IRoleEditDto {\n name: string;\n displayName: string;\n description: string | undefined;\n isStatic: boolean;\n id: number;\n\n constructor(data?: IRoleEditDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.displayName = _data[\"displayName\"];\n this.description = _data[\"description\"];\n this.isStatic = _data[\"isStatic\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): RoleEditDto {\n data = typeof data === 'object' ? data : {};\n let result = new RoleEditDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"displayName\"] = this.displayName;\n data[\"description\"] = this.description;\n data[\"isStatic\"] = this.isStatic;\n data[\"id\"] = this.id;\n return data; \n }\n\n clone(): RoleEditDto {\n const json = this.toJSON();\n let result = new RoleEditDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface IRoleEditDto {\n name: string;\n displayName: string;\n description: string | undefined;\n isStatic: boolean;\n id: number;\n}\n\nexport class FlatPermissionDto implements IFlatPermissionDto {\n name: string | undefined;\n displayName: string | undefined;\n description: string | undefined;\n\n constructor(data?: IFlatPermissionDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.displayName = _data[\"displayName\"];\n this.description = _data[\"description\"];\n }\n }\n\n static fromJS(data: any): FlatPermissionDto {\n data = typeof data === 'object' ? data : {};\n let result = new FlatPermissionDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"displayName\"] = this.displayName;\n data[\"description\"] = this.description;\n return data; \n }\n\n clone(): FlatPermissionDto {\n const json = this.toJSON();\n let result = new FlatPermissionDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface IFlatPermissionDto {\n name: string | undefined;\n displayName: string | undefined;\n description: string | undefined;\n}\n\nexport class GetRoleForEditOutput implements IGetRoleForEditOutput {\n role: RoleEditDto;\n permissions: FlatPermissionDto[] | undefined;\n grantedPermissionNames: string[] | undefined;\n\n constructor(data?: IGetRoleForEditOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.role = _data[\"role\"] ? RoleEditDto.fromJS(_data[\"role\"]) : undefined;\n if (Array.isArray(_data[\"permissions\"])) {\n this.permissions = [] as any;\n for (let item of _data[\"permissions\"])\n this.permissions.push(FlatPermissionDto.fromJS(item));\n }\n if (Array.isArray(_data[\"grantedPermissionNames\"])) {\n this.grantedPermissionNames = [] as any;\n for (let item of _data[\"grantedPermissionNames\"])\n this.grantedPermissionNames.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetRoleForEditOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetRoleForEditOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"role\"] = this.role ? this.role.toJSON() : undefined;\n if (Array.isArray(this.permissions)) {\n data[\"permissions\"] = [];\n for (let item of this.permissions)\n data[\"permissions\"].push(item.toJSON());\n }\n if (Array.isArray(this.grantedPermissionNames)) {\n data[\"grantedPermissionNames\"] = [];\n for (let item of this.grantedPermissionNames)\n data[\"grantedPermissionNames\"].push(item);\n }\n return data; \n }\n\n clone(): GetRoleForEditOutput {\n const json = this.toJSON();\n let result = new GetRoleForEditOutput();\n result.init(json);\n return result;\n }\n}\n\nexport interface IGetRoleForEditOutput {\n role: RoleEditDto;\n permissions: FlatPermissionDto[] | undefined;\n grantedPermissionNames: string[] | undefined;\n}\n\nexport class PagedResultDtoOfRoleDto implements IPagedResultDtoOfRoleDto {\n totalCount: number;\n items: RoleDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfRoleDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items.push(RoleDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfRoleDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfRoleDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data; \n }\n\n clone(): PagedResultDtoOfRoleDto {\n const json = this.toJSON();\n let result = new PagedResultDtoOfRoleDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface IPagedResultDtoOfRoleDto {\n totalCount: number;\n items: RoleDto[] | undefined;\n}\n\nexport class ApplicationInfoDto implements IApplicationInfoDto {\n version: string | undefined;\n releaseDate: moment.Moment;\n features: { [key: string]: boolean; } | undefined;\n\n constructor(data?: IApplicationInfoDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.version = _data[\"version\"];\n this.releaseDate = _data[\"releaseDate\"] ? moment(_data[\"releaseDate\"].toString()) : undefined;\n if (_data[\"features\"]) {\n this.features = {} as any;\n for (let key in _data[\"features\"]) {\n if (_data[\"features\"].hasOwnProperty(key))\n (this.features)[key] = _data[\"features\"][key];\n }\n }\n }\n }\n\n static fromJS(data: any): ApplicationInfoDto {\n data = typeof data === 'object' ? data : {};\n let result = new ApplicationInfoDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"version\"] = this.version;\n data[\"releaseDate\"] = this.releaseDate ? this.releaseDate.toISOString() : undefined;\n if (this.features) {\n data[\"features\"] = {};\n for (let key in this.features) {\n if (this.features.hasOwnProperty(key))\n (data[\"features\"])[key] = this.features[key];\n }\n }\n return data; \n }\n\n clone(): ApplicationInfoDto {\n const json = this.toJSON();\n let result = new ApplicationInfoDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface IApplicationInfoDto {\n version: string | undefined;\n releaseDate: moment.Moment;\n features: { [key: string]: boolean; } | undefined;\n}\n\nexport enum UserType {\n Student = \"Student\",\n Parent = \"Parent\",\n Staff = \"Staff\",\n}\n\nexport class UserLoginInfoDto implements IUserLoginInfoDto {\n name: string | undefined;\n surname: string | undefined;\n userName: string | undefined;\n emailAddress: string | undefined;\n userType: UserType;\n roles: string[] | undefined;\n id: number;\n\n constructor(data?: IUserLoginInfoDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.surname = _data[\"surname\"];\n this.userName = _data[\"userName\"];\n this.emailAddress = _data[\"emailAddress\"];\n this.userType = _data[\"userType\"];\n if (Array.isArray(_data[\"roles\"])) {\n this.roles = [] as any;\n for (let item of _data[\"roles\"])\n this.roles.push(item);\n }\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): UserLoginInfoDto {\n data = typeof data === 'object' ? data : {};\n let result = new UserLoginInfoDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"surname\"] = this.surname;\n data[\"userName\"] = this.userName;\n data[\"emailAddress\"] = this.emailAddress;\n data[\"userType\"] = this.userType;\n if (Array.isArray(this.roles)) {\n data[\"roles\"] = [];\n for (let item of this.roles)\n data[\"roles\"].push(item);\n }\n data[\"id\"] = this.id;\n return data; \n }\n\n clone(): UserLoginInfoDto {\n const json = this.toJSON();\n let result = new UserLoginInfoDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface IUserLoginInfoDto {\n name: string | undefined;\n surname: string | undefined;\n userName: string | undefined;\n emailAddress: string | undefined;\n userType: UserType;\n roles: string[] | undefined;\n id: number;\n}\n\nexport class TenantLoginInfoDto implements ITenantLoginInfoDto {\n tenancyName: string | undefined;\n name: string | undefined;\n id: number;\n\n constructor(data?: ITenantLoginInfoDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenancyName = _data[\"tenancyName\"];\n this.name = _data[\"name\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): TenantLoginInfoDto {\n data = typeof data === 'object' ? data : {};\n let result = new TenantLoginInfoDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenancyName\"] = this.tenancyName;\n data[\"name\"] = this.name;\n data[\"id\"] = this.id;\n return data; \n }\n\n clone(): TenantLoginInfoDto {\n const json = this.toJSON();\n let result = new TenantLoginInfoDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface ITenantLoginInfoDto {\n tenancyName: string | undefined;\n name: string | undefined;\n id: number;\n}\n\nexport class GetCurrentLoginInformationsOutput implements IGetCurrentLoginInformationsOutput {\n application: ApplicationInfoDto;\n user: UserLoginInfoDto;\n tenant: TenantLoginInfoDto;\n\n constructor(data?: IGetCurrentLoginInformationsOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.application = _data[\"application\"] ? ApplicationInfoDto.fromJS(_data[\"application\"]) : undefined;\n this.user = _data[\"user\"] ? UserLoginInfoDto.fromJS(_data[\"user\"]) : undefined;\n this.tenant = _data[\"tenant\"] ? TenantLoginInfoDto.fromJS(_data[\"tenant\"]) : undefined;\n }\n }\n\n static fromJS(data: any): GetCurrentLoginInformationsOutput {\n data = typeof data === 'object' ? data : {};\n let result = new GetCurrentLoginInformationsOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"application\"] = this.application ? this.application.toJSON() : undefined;\n data[\"user\"] = this.user ? this.user.toJSON() : undefined;\n data[\"tenant\"] = this.tenant ? this.tenant.toJSON() : undefined;\n return data; \n }\n\n clone(): GetCurrentLoginInformationsOutput {\n const json = this.toJSON();\n let result = new GetCurrentLoginInformationsOutput();\n result.init(json);\n return result;\n }\n}\n\nexport interface IGetCurrentLoginInformationsOutput {\n application: ApplicationInfoDto;\n user: UserLoginInfoDto;\n tenant: TenantLoginInfoDto;\n}\n\nexport class CreateTenantDto implements ICreateTenantDto {\n tenancyName: string;\n name: string;\n adminEmailAddress: string;\n connectionString: string | undefined;\n isActive: boolean;\n\n constructor(data?: ICreateTenantDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenancyName = _data[\"tenancyName\"];\n this.name = _data[\"name\"];\n this.adminEmailAddress = _data[\"adminEmailAddress\"];\n this.connectionString = _data[\"connectionString\"];\n this.isActive = _data[\"isActive\"];\n }\n }\n\n static fromJS(data: any): CreateTenantDto {\n data = typeof data === 'object' ? data : {};\n let result = new CreateTenantDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenancyName\"] = this.tenancyName;\n data[\"name\"] = this.name;\n data[\"adminEmailAddress\"] = this.adminEmailAddress;\n data[\"connectionString\"] = this.connectionString;\n data[\"isActive\"] = this.isActive;\n return data; \n }\n\n clone(): CreateTenantDto {\n const json = this.toJSON();\n let result = new CreateTenantDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface ICreateTenantDto {\n tenancyName: string;\n name: string;\n adminEmailAddress: string;\n connectionString: string | undefined;\n isActive: boolean;\n}\n\nexport class TenantDto implements ITenantDto {\n tenancyName: string;\n name: string;\n isActive: boolean;\n id: number;\n\n constructor(data?: ITenantDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenancyName = _data[\"tenancyName\"];\n this.name = _data[\"name\"];\n this.isActive = _data[\"isActive\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): TenantDto {\n data = typeof data === 'object' ? data : {};\n let result = new TenantDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenancyName\"] = this.tenancyName;\n data[\"name\"] = this.name;\n data[\"isActive\"] = this.isActive;\n data[\"id\"] = this.id;\n return data; \n }\n\n clone(): TenantDto {\n const json = this.toJSON();\n let result = new TenantDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface ITenantDto {\n tenancyName: string;\n name: string;\n isActive: boolean;\n id: number;\n}\n\nexport class PagedResultDtoOfTenantDto implements IPagedResultDtoOfTenantDto {\n totalCount: number;\n items: TenantDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfTenantDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items.push(TenantDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfTenantDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfTenantDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data; \n }\n\n clone(): PagedResultDtoOfTenantDto {\n const json = this.toJSON();\n let result = new PagedResultDtoOfTenantDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface IPagedResultDtoOfTenantDto {\n totalCount: number;\n items: TenantDto[] | undefined;\n}\n\nexport class AuthenticateModel implements IAuthenticateModel {\n userNameOrEmailAddress: string;\n password: string;\n rememberClient: boolean;\n\n constructor(data?: IAuthenticateModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userNameOrEmailAddress = _data[\"userNameOrEmailAddress\"];\n this.password = _data[\"password\"];\n this.rememberClient = _data[\"rememberClient\"];\n }\n }\n\n static fromJS(data: any): AuthenticateModel {\n data = typeof data === 'object' ? data : {};\n let result = new AuthenticateModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userNameOrEmailAddress\"] = this.userNameOrEmailAddress;\n data[\"password\"] = this.password;\n data[\"rememberClient\"] = this.rememberClient;\n return data; \n }\n\n clone(): AuthenticateModel {\n const json = this.toJSON();\n let result = new AuthenticateModel();\n result.init(json);\n return result;\n }\n}\n\nexport interface IAuthenticateModel {\n userNameOrEmailAddress: string;\n password: string;\n rememberClient: boolean;\n}\n\nexport class UserDto implements IUserDto {\n userName: string;\n name: string;\n surname: string;\n emailAddress: string;\n isActive: boolean;\n fullName: string | undefined;\n lastLoginTime: moment.Moment | undefined;\n creationTime: moment.Moment;\n roleNames: string[] | undefined;\n id: number;\n\n constructor(data?: IUserDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userName = _data[\"userName\"];\n this.name = _data[\"name\"];\n this.surname = _data[\"surname\"];\n this.emailAddress = _data[\"emailAddress\"];\n this.isActive = _data[\"isActive\"];\n this.fullName = _data[\"fullName\"];\n this.lastLoginTime = _data[\"lastLoginTime\"] ? moment(_data[\"lastLoginTime\"].toString()) : undefined;\n this.creationTime = _data[\"creationTime\"] ? moment(_data[\"creationTime\"].toString()) : undefined;\n if (Array.isArray(_data[\"roleNames\"])) {\n this.roleNames = [] as any;\n for (let item of _data[\"roleNames\"])\n this.roleNames.push(item);\n }\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): UserDto {\n data = typeof data === 'object' ? data : {};\n let result = new UserDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userName\"] = this.userName;\n data[\"name\"] = this.name;\n data[\"surname\"] = this.surname;\n data[\"emailAddress\"] = this.emailAddress;\n data[\"isActive\"] = this.isActive;\n data[\"fullName\"] = this.fullName;\n data[\"lastLoginTime\"] = this.lastLoginTime ? this.lastLoginTime.toISOString() : undefined;\n data[\"creationTime\"] = this.creationTime ? this.creationTime.toISOString() : undefined;\n if (Array.isArray(this.roleNames)) {\n data[\"roleNames\"] = [];\n for (let item of this.roleNames)\n data[\"roleNames\"].push(item);\n }\n data[\"id\"] = this.id;\n return data; \n }\n\n clone(): UserDto {\n const json = this.toJSON();\n let result = new UserDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface IUserDto {\n userName: string;\n name: string;\n surname: string;\n emailAddress: string;\n isActive: boolean;\n fullName: string | undefined;\n lastLoginTime: moment.Moment | undefined;\n creationTime: moment.Moment;\n roleNames: string[] | undefined;\n id: number;\n}\n\nexport enum AbpLoginResultType {\n Success = \"Success\",\n InvalidUserNameOrEmailAddress = \"InvalidUserNameOrEmailAddress\",\n InvalidPassword = \"InvalidPassword\",\n UserIsNotActive = \"UserIsNotActive\",\n InvalidTenancyName = \"InvalidTenancyName\",\n TenantIsNotActive = \"TenantIsNotActive\",\n UserEmailIsNotConfirmed = \"UserEmailIsNotConfirmed\",\n UnknownExternalLogin = \"UnknownExternalLogin\",\n LockedOut = \"LockedOut\",\n UserPhoneNumberIsNotConfirmed = \"UserPhoneNumberIsNotConfirmed\",\n}\n\nexport class AuthenticateResultModel implements IAuthenticateResultModel {\n accessToken: string | undefined;\n encryptedAccessToken: string | undefined;\n expireInSeconds: number;\n userId: number;\n user: UserDto;\n error: string | undefined;\n result: AbpLoginResultType;\n refreshToken: string | undefined;\n refreshTokenExpireInSeconds: number;\n isSuccessful: boolean;\n\n constructor(data?: IAuthenticateResultModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.accessToken = _data[\"accessToken\"];\n this.encryptedAccessToken = _data[\"encryptedAccessToken\"];\n this.expireInSeconds = _data[\"expireInSeconds\"];\n this.userId = _data[\"userId\"];\n this.user = _data[\"user\"] ? UserDto.fromJS(_data[\"user\"]) : undefined;\n this.error = _data[\"error\"];\n this.result = _data[\"result\"];\n this.refreshToken = _data[\"refreshToken\"];\n this.refreshTokenExpireInSeconds = _data[\"refreshTokenExpireInSeconds\"];\n this.isSuccessful = _data[\"isSuccessful\"];\n }\n }\n\n static fromJS(data: any): AuthenticateResultModel {\n data = typeof data === 'object' ? data : {};\n let result = new AuthenticateResultModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"accessToken\"] = this.accessToken;\n data[\"encryptedAccessToken\"] = this.encryptedAccessToken;\n data[\"expireInSeconds\"] = this.expireInSeconds;\n data[\"userId\"] = this.userId;\n data[\"user\"] = this.user ? this.user.toJSON() : undefined;\n data[\"error\"] = this.error;\n data[\"result\"] = this.result;\n data[\"refreshToken\"] = this.refreshToken;\n data[\"refreshTokenExpireInSeconds\"] = this.refreshTokenExpireInSeconds;\n data[\"isSuccessful\"] = this.isSuccessful;\n return data; \n }\n\n clone(): AuthenticateResultModel {\n const json = this.toJSON();\n let result = new AuthenticateResultModel();\n result.init(json);\n return result;\n }\n}\n\nexport interface IAuthenticateResultModel {\n accessToken: string | undefined;\n encryptedAccessToken: string | undefined;\n expireInSeconds: number;\n userId: number;\n user: UserDto;\n error: string | undefined;\n result: AbpLoginResultType;\n refreshToken: string | undefined;\n refreshTokenExpireInSeconds: number;\n isSuccessful: boolean;\n}\n\nexport class RefreshTokenResult implements IRefreshTokenResult {\n accessToken: string | undefined;\n encryptedAccessToken: string | undefined;\n expireInSeconds: number;\n isSuccessful: boolean;\n\n constructor(data?: IRefreshTokenResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.accessToken = _data[\"accessToken\"];\n this.encryptedAccessToken = _data[\"encryptedAccessToken\"];\n this.expireInSeconds = _data[\"expireInSeconds\"];\n this.isSuccessful = _data[\"isSuccessful\"];\n }\n }\n\n static fromJS(data: any): RefreshTokenResult {\n data = typeof data === 'object' ? data : {};\n let result = new RefreshTokenResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"accessToken\"] = this.accessToken;\n data[\"encryptedAccessToken\"] = this.encryptedAccessToken;\n data[\"expireInSeconds\"] = this.expireInSeconds;\n data[\"isSuccessful\"] = this.isSuccessful;\n return data; \n }\n\n clone(): RefreshTokenResult {\n const json = this.toJSON();\n let result = new RefreshTokenResult();\n result.init(json);\n return result;\n }\n}\n\nexport interface IRefreshTokenResult {\n accessToken: string | undefined;\n encryptedAccessToken: string | undefined;\n expireInSeconds: number;\n isSuccessful: boolean;\n}\n\nexport class CreateUserDto implements ICreateUserDto {\n userName: string;\n name: string;\n surname: string;\n emailAddress: string;\n isActive: boolean;\n roleNames: string[] | undefined;\n password: string;\n\n constructor(data?: ICreateUserDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userName = _data[\"userName\"];\n this.name = _data[\"name\"];\n this.surname = _data[\"surname\"];\n this.emailAddress = _data[\"emailAddress\"];\n this.isActive = _data[\"isActive\"];\n if (Array.isArray(_data[\"roleNames\"])) {\n this.roleNames = [] as any;\n for (let item of _data[\"roleNames\"])\n this.roleNames.push(item);\n }\n this.password = _data[\"password\"];\n }\n }\n\n static fromJS(data: any): CreateUserDto {\n data = typeof data === 'object' ? data : {};\n let result = new CreateUserDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userName\"] = this.userName;\n data[\"name\"] = this.name;\n data[\"surname\"] = this.surname;\n data[\"emailAddress\"] = this.emailAddress;\n data[\"isActive\"] = this.isActive;\n if (Array.isArray(this.roleNames)) {\n data[\"roleNames\"] = [];\n for (let item of this.roleNames)\n data[\"roleNames\"].push(item);\n }\n data[\"password\"] = this.password;\n return data; \n }\n\n clone(): CreateUserDto {\n const json = this.toJSON();\n let result = new CreateUserDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface ICreateUserDto {\n userName: string;\n name: string;\n surname: string;\n emailAddress: string;\n isActive: boolean;\n roleNames: string[] | undefined;\n password: string;\n}\n\nexport class ListResultDtoOfRoleDto implements IListResultDtoOfRoleDto {\n items: RoleDto[] | undefined;\n\n constructor(data?: IListResultDtoOfRoleDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items.push(RoleDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ListResultDtoOfRoleDto {\n data = typeof data === 'object' ? data : {};\n let result = new ListResultDtoOfRoleDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data; \n }\n\n clone(): ListResultDtoOfRoleDto {\n const json = this.toJSON();\n let result = new ListResultDtoOfRoleDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface IListResultDtoOfRoleDto {\n items: RoleDto[] | undefined;\n}\n\nexport class ChangeUserLanguageDto implements IChangeUserLanguageDto {\n languageName: string;\n\n constructor(data?: IChangeUserLanguageDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.languageName = _data[\"languageName\"];\n }\n }\n\n static fromJS(data: any): ChangeUserLanguageDto {\n data = typeof data === 'object' ? data : {};\n let result = new ChangeUserLanguageDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"languageName\"] = this.languageName;\n return data; \n }\n\n clone(): ChangeUserLanguageDto {\n const json = this.toJSON();\n let result = new ChangeUserLanguageDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface IChangeUserLanguageDto {\n languageName: string;\n}\n\nexport class ChangePasswordDto implements IChangePasswordDto {\n currentPassword: string;\n newPassword: string;\n\n constructor(data?: IChangePasswordDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.currentPassword = _data[\"currentPassword\"];\n this.newPassword = _data[\"newPassword\"];\n }\n }\n\n static fromJS(data: any): ChangePasswordDto {\n data = typeof data === 'object' ? data : {};\n let result = new ChangePasswordDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"currentPassword\"] = this.currentPassword;\n data[\"newPassword\"] = this.newPassword;\n return data; \n }\n\n clone(): ChangePasswordDto {\n const json = this.toJSON();\n let result = new ChangePasswordDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface IChangePasswordDto {\n currentPassword: string;\n newPassword: string;\n}\n\nexport class ResetPasswordDto implements IResetPasswordDto {\n adminPassword: string;\n userId: number;\n newPassword: string;\n\n constructor(data?: IResetPasswordDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.adminPassword = _data[\"adminPassword\"];\n this.userId = _data[\"userId\"];\n this.newPassword = _data[\"newPassword\"];\n }\n }\n\n static fromJS(data: any): ResetPasswordDto {\n data = typeof data === 'object' ? data : {};\n let result = new ResetPasswordDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"adminPassword\"] = this.adminPassword;\n data[\"userId\"] = this.userId;\n data[\"newPassword\"] = this.newPassword;\n return data; \n }\n\n clone(): ResetPasswordDto {\n const json = this.toJSON();\n let result = new ResetPasswordDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface IResetPasswordDto {\n adminPassword: string;\n userId: number;\n newPassword: string;\n}\n\nexport class PagedResultDtoOfUserDto implements IPagedResultDtoOfUserDto {\n totalCount: number;\n items: UserDto[] | undefined;\n\n constructor(data?: IPagedResultDtoOfUserDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalCount = _data[\"totalCount\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items.push(UserDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedResultDtoOfUserDto {\n data = typeof data === 'object' ? data : {};\n let result = new PagedResultDtoOfUserDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalCount\"] = this.totalCount;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data; \n }\n\n clone(): PagedResultDtoOfUserDto {\n const json = this.toJSON();\n let result = new PagedResultDtoOfUserDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface IPagedResultDtoOfUserDto {\n totalCount: number;\n items: UserDto[] | undefined;\n}\n\nexport interface FileParameter {\n data: any;\n fileName: string;\n}\n\nexport class ApiException extends Error {\n message: string;\n status: number;\n response: string;\n headers: { [key: string]: any; };\n result: any;\n\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\n super();\n\n this.message = message;\n this.status = status;\n this.response = response;\n this.headers = headers;\n this.result = result;\n }\n\n protected isApiException = true;\n\n static isApiException(obj: any): obj is ApiException {\n return obj.isApiException === true;\n }\n}\n\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): Observable {\n if (result !== null && result !== undefined)\n return _observableThrow(result);\n else\n return _observableThrow(new ApiException(message, status, response, headers, null));\n}\n\nfunction blobToText(blob: any): Observable {\n return new Observable((observer: any) => {\n if (!blob) {\n observer.next(\"\");\n observer.complete();\n } else {\n let reader = new FileReader();\n reader.onload = event => {\n observer.next((event.target).result);\n observer.complete();\n };\n reader.readAsText(blob);\n }\n });\n}","/* tslint:disable */\n/* eslint-disable */\n//----------------------\n// \n// Generated using the NSwag toolchain v13.11.3.0 (NJsonSchema v10.4.4.0 (Newtonsoft.Json v11.0.0.0)) (http://NSwag.org)\n// \n//----------------------\n// ReSharper disable InconsistentNaming\n\nimport { mergeMap as _observableMergeMap, catchError as _observableCatch } from 'rxjs/operators';\nimport { Observable, throwError as _observableThrow, of as _observableOf } from 'rxjs';\nimport { Injectable, Inject, Optional, InjectionToken } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpResponse, HttpResponseBase } from '@angular/common/http';\n\nimport * as moment from 'moment';\n\nexport const CONTENT_API_BASE_URL = new InjectionToken('CONTENT_API_BASE_URL');\n\n@Injectable()\nexport class PresentationAppService {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(CONTENT_API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param activityId (optional) \n * @param studentId (optional) \n * @return Success\n */\n getPresentationActivity(activityId: string | undefined, studentId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/workbook/content/presentation/get-presentation-activity?\";\n if (activityId === null)\n throw new Error(\"The parameter 'activityId' cannot be null.\");\n else if (activityId !== undefined)\n url_ += \"activityId=\" + encodeURIComponent(\"\" + activityId) + \"&\";\n if (studentId === null)\n throw new Error(\"The parameter 'studentId' cannot be null.\");\n else if (studentId !== undefined)\n url_ += \"studentId=\" + encodeURIComponent(\"\" + studentId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetPresentationActivity(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetPresentationActivity(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processGetPresentationActivity(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PresentationActivityDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n trackProgress(body: TrackProgressRequest | undefined): Observable {\n let url_ = this.baseUrl + \"/api/workbook/content/presentation/track-progress\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json;odata.metadata=minimal;odata.streaming=true\",\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processTrackProgress(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processTrackProgress(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processTrackProgress(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = TrackProgressResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @param attemptId (optional) \n * @return Success\n */\n checkProgress(attemptId: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/workbook/content/presentation/check-progress?\";\n if (attemptId === null)\n throw new Error(\"The parameter 'attemptId' cannot be null.\");\n else if (attemptId !== undefined)\n url_ += \"attemptId=\" + encodeURIComponent(\"\" + attemptId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCheckProgress(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCheckProgress(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processCheckProgress(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = PresentationProgressDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n completeAttempt(body: CompletePresentationRequest | undefined): Observable {\n let url_ = this.baseUrl + \"/api/workbook/content/presentation/complete-attempt\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json;odata.metadata=minimal;odata.streaming=true\",\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCompleteAttempt(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCompleteAttempt(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processCompleteAttempt(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CompletePresentationResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n startPresentationActivity(body: StartPresentationRequest | undefined): Observable {\n let url_ = this.baseUrl + \"/api/workbook/content/presentation/start-presentation-activity\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json;odata.metadata=minimal;odata.streaming=true\",\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processStartPresentationActivity(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processStartPresentationActivity(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processStartPresentationActivity(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = StartPresentationResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n}\n\n@Injectable()\nexport class QuizActivityAppService {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(CONTENT_API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n startQuiz(body: StartQuizRequest | undefined): Observable {\n let url_ = this.baseUrl + \"/api/workbook/content/quiz-activity/start-quiz\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json;odata.metadata=minimal;odata.streaming=true\",\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processStartQuiz(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processStartQuiz(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processStartQuiz(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = StartQuizResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @param attemptId (optional) \n * @return Success\n */\n reviewQuizAttempt(attemptId: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/workbook/content/quiz-activity/review-quiz-attempt?\";\n if (attemptId === null)\n throw new Error(\"The parameter 'attemptId' cannot be null.\");\n else if (attemptId !== undefined)\n url_ += \"attemptId=\" + encodeURIComponent(\"\" + attemptId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processReviewQuizAttempt(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processReviewQuizAttempt(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processReviewQuizAttempt(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ReviewQuizAttemptOutput.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @param quizId (optional) \n * @return Success\n */\n getQuizActivity(quizId: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/workbook/content/quiz-activity/get-quiz-activity?\";\n if (quizId === null)\n throw new Error(\"The parameter 'quizId' cannot be null.\");\n else if (quizId !== undefined)\n url_ += \"QuizId=\" + encodeURIComponent(\"\" + quizId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetQuizActivity(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetQuizActivity(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processGetQuizActivity(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetQuizActivityResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @param activityId (optional) \n * @param attemptId (optional) \n * @param isReview (optional) \n * @return Success\n */\n getQuizAttempt(activityId: string | undefined, attemptId: string | undefined, isReview: boolean | undefined): Observable {\n let url_ = this.baseUrl + \"/api/workbook/content/quiz-activity/get-quiz-attempt?\";\n if (activityId === null)\n throw new Error(\"The parameter 'activityId' cannot be null.\");\n else if (activityId !== undefined)\n url_ += \"ActivityId=\" + encodeURIComponent(\"\" + activityId) + \"&\";\n if (attemptId === null)\n throw new Error(\"The parameter 'attemptId' cannot be null.\");\n else if (attemptId !== undefined)\n url_ += \"AttemptId=\" + encodeURIComponent(\"\" + attemptId) + \"&\";\n if (isReview === null)\n throw new Error(\"The parameter 'isReview' cannot be null.\");\n else if (isReview !== undefined)\n url_ += \"IsReview=\" + encodeURIComponent(\"\" + isReview) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetQuizAttempt(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetQuizAttempt(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processGetQuizAttempt(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetQuizAttemptResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n saveResponses(body: SaveAnswersRequest | undefined): Observable {\n let url_ = this.baseUrl + \"/api/workbook/content/quiz-activity/save-responses\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json;odata.metadata=minimal;odata.streaming=true\",\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processSaveResponses(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processSaveResponses(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processSaveResponses(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = SaveAnswersResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n submitQuiz(body: SubmitQuizRequest | undefined): Observable {\n let url_ = this.baseUrl + \"/api/workbook/content/quiz-activity/submit-quiz\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json;odata.metadata=minimal;odata.streaming=true\",\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processSubmitQuiz(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processSubmitQuiz(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processSubmitQuiz(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = SubmitQuizResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n}\n\nexport enum ActivityStatusKind {\n Upcoming = \"Upcoming\",\n Due = \"Due\",\n InProgress = \"InProgress\",\n Completed = \"Completed\",\n Closed = \"Closed\",\n Submitted = \"Submitted\",\n}\n\nexport class PresentationActivityDto implements IPresentationActivityDto {\n title: string | undefined;\n description: string | undefined;\n courseId: number;\n subjectId: number | undefined;\n subject: string | undefined;\n url: string | undefined;\n canTake: boolean;\n attemptId: string | undefined;\n activityId: string;\n status: ActivityStatusKind;\n reportsResults: boolean;\n assignmentType: string | undefined;\n\n constructor(data?: IPresentationActivityDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.title = _data[\"title\"];\n this.description = _data[\"description\"];\n this.courseId = _data[\"courseId\"];\n this.subjectId = _data[\"subjectId\"];\n this.subject = _data[\"subject\"];\n this.url = _data[\"url\"];\n this.canTake = _data[\"canTake\"];\n this.attemptId = _data[\"attemptId\"];\n this.activityId = _data[\"activityId\"];\n this.status = _data[\"status\"];\n this.reportsResults = _data[\"reportsResults\"];\n this.assignmentType = _data[\"assignmentType\"];\n }\n }\n\n static fromJS(data: any): PresentationActivityDto {\n data = typeof data === 'object' ? data : {};\n let result = new PresentationActivityDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"title\"] = this.title;\n data[\"description\"] = this.description;\n data[\"courseId\"] = this.courseId;\n data[\"subjectId\"] = this.subjectId;\n data[\"subject\"] = this.subject;\n data[\"url\"] = this.url;\n data[\"canTake\"] = this.canTake;\n data[\"attemptId\"] = this.attemptId;\n data[\"activityId\"] = this.activityId;\n data[\"status\"] = this.status;\n data[\"reportsResults\"] = this.reportsResults;\n data[\"assignmentType\"] = this.assignmentType;\n return data; \n }\n\n clone(): PresentationActivityDto {\n const json = this.toJSON();\n let result = new PresentationActivityDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface IPresentationActivityDto {\n title: string | undefined;\n description: string | undefined;\n courseId: number;\n subjectId: number | undefined;\n subject: string | undefined;\n url: string | undefined;\n canTake: boolean;\n attemptId: string | undefined;\n activityId: string;\n status: ActivityStatusKind;\n reportsResults: boolean;\n assignmentType: string | undefined;\n}\n\nexport class TrackProgressRequest implements ITrackProgressRequest {\n activityId: string;\n attemptId: string;\n quizName: string | undefined;\n gradeScore: number;\n gradePercent: number;\n isComplete: boolean;\n\n constructor(data?: ITrackProgressRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.activityId = _data[\"activityId\"];\n this.attemptId = _data[\"attemptId\"];\n this.quizName = _data[\"quizName\"];\n this.gradeScore = _data[\"gradeScore\"];\n this.gradePercent = _data[\"gradePercent\"];\n this.isComplete = _data[\"isComplete\"];\n }\n }\n\n static fromJS(data: any): TrackProgressRequest {\n data = typeof data === 'object' ? data : {};\n let result = new TrackProgressRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"activityId\"] = this.activityId;\n data[\"attemptId\"] = this.attemptId;\n data[\"quizName\"] = this.quizName;\n data[\"gradeScore\"] = this.gradeScore;\n data[\"gradePercent\"] = this.gradePercent;\n data[\"isComplete\"] = this.isComplete;\n return data; \n }\n\n clone(): TrackProgressRequest {\n const json = this.toJSON();\n let result = new TrackProgressRequest();\n result.init(json);\n return result;\n }\n}\n\nexport interface ITrackProgressRequest {\n activityId: string;\n attemptId: string;\n quizName: string | undefined;\n gradeScore: number;\n gradePercent: number;\n isComplete: boolean;\n}\n\nexport class ScoreResult implements IScoreResult {\n percentageScore: number;\n pointScore: number;\n totalPoints: number;\n\n constructor(data?: IScoreResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.percentageScore = _data[\"percentageScore\"];\n this.pointScore = _data[\"pointScore\"];\n this.totalPoints = _data[\"totalPoints\"];\n }\n }\n\n static fromJS(data: any): ScoreResult {\n data = typeof data === 'object' ? data : {};\n let result = new ScoreResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"percentageScore\"] = this.percentageScore;\n data[\"pointScore\"] = this.pointScore;\n data[\"totalPoints\"] = this.totalPoints;\n return data; \n }\n\n clone(): ScoreResult {\n const json = this.toJSON();\n let result = new ScoreResult();\n result.init(json);\n return result;\n }\n}\n\nexport interface IScoreResult {\n percentageScore: number;\n pointScore: number;\n totalPoints: number;\n}\n\nexport class FeedbackResult implements IFeedbackResult {\n imageId: number;\n imageUrl: string | undefined;\n starRating: number;\n title: string | undefined;\n comments: string | undefined;\n\n constructor(data?: IFeedbackResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.imageId = _data[\"imageId\"];\n this.imageUrl = _data[\"imageUrl\"];\n this.starRating = _data[\"starRating\"];\n this.title = _data[\"title\"];\n this.comments = _data[\"comments\"];\n }\n }\n\n static fromJS(data: any): FeedbackResult {\n data = typeof data === 'object' ? data : {};\n let result = new FeedbackResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"imageId\"] = this.imageId;\n data[\"imageUrl\"] = this.imageUrl;\n data[\"starRating\"] = this.starRating;\n data[\"title\"] = this.title;\n data[\"comments\"] = this.comments;\n return data; \n }\n\n clone(): FeedbackResult {\n const json = this.toJSON();\n let result = new FeedbackResult();\n result.init(json);\n return result;\n }\n}\n\nexport interface IFeedbackResult {\n imageId: number;\n imageUrl: string | undefined;\n starRating: number;\n title: string | undefined;\n comments: string | undefined;\n}\n\nexport class TrackProgressResponse implements ITrackProgressResponse {\n attemptId: string;\n isCompleted: boolean;\n points: number;\n score: ScoreResult;\n feedback: FeedbackResult;\n\n constructor(data?: ITrackProgressResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.attemptId = _data[\"attemptId\"];\n this.isCompleted = _data[\"isCompleted\"];\n this.points = _data[\"points\"];\n this.score = _data[\"score\"] ? ScoreResult.fromJS(_data[\"score\"]) : undefined;\n this.feedback = _data[\"feedback\"] ? FeedbackResult.fromJS(_data[\"feedback\"]) : undefined;\n }\n }\n\n static fromJS(data: any): TrackProgressResponse {\n data = typeof data === 'object' ? data : {};\n let result = new TrackProgressResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"attemptId\"] = this.attemptId;\n data[\"isCompleted\"] = this.isCompleted;\n data[\"points\"] = this.points;\n data[\"score\"] = this.score ? this.score.toJSON() : undefined;\n data[\"feedback\"] = this.feedback ? this.feedback.toJSON() : undefined;\n return data; \n }\n\n clone(): TrackProgressResponse {\n const json = this.toJSON();\n let result = new TrackProgressResponse();\n result.init(json);\n return result;\n }\n}\n\nexport interface ITrackProgressResponse {\n attemptId: string;\n isCompleted: boolean;\n points: number;\n score: ScoreResult;\n feedback: FeedbackResult;\n}\n\nexport class PresentationProgressDto implements IPresentationProgressDto {\n totalQuizzes: number;\n completedQuizzes: number;\n isComplete: boolean;\n\n constructor(data?: IPresentationProgressDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalQuizzes = _data[\"totalQuizzes\"];\n this.completedQuizzes = _data[\"completedQuizzes\"];\n this.isComplete = _data[\"isComplete\"];\n }\n }\n\n static fromJS(data: any): PresentationProgressDto {\n data = typeof data === 'object' ? data : {};\n let result = new PresentationProgressDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalQuizzes\"] = this.totalQuizzes;\n data[\"completedQuizzes\"] = this.completedQuizzes;\n data[\"isComplete\"] = this.isComplete;\n return data; \n }\n\n clone(): PresentationProgressDto {\n const json = this.toJSON();\n let result = new PresentationProgressDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface IPresentationProgressDto {\n totalQuizzes: number;\n completedQuizzes: number;\n isComplete: boolean;\n}\n\nexport class CompletePresentationRequest implements ICompletePresentationRequest {\n attemptId: string;\n activityId: string;\n\n constructor(data?: ICompletePresentationRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.attemptId = _data[\"attemptId\"];\n this.activityId = _data[\"activityId\"];\n }\n }\n\n static fromJS(data: any): CompletePresentationRequest {\n data = typeof data === 'object' ? data : {};\n let result = new CompletePresentationRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"attemptId\"] = this.attemptId;\n data[\"activityId\"] = this.activityId;\n return data; \n }\n\n clone(): CompletePresentationRequest {\n const json = this.toJSON();\n let result = new CompletePresentationRequest();\n result.init(json);\n return result;\n }\n}\n\nexport interface ICompletePresentationRequest {\n attemptId: string;\n activityId: string;\n}\n\nexport class CompletePresentationResponse implements ICompletePresentationResponse {\n attemptId: string;\n points: number;\n score: ScoreResult;\n feedback: FeedbackResult;\n\n constructor(data?: ICompletePresentationResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.attemptId = _data[\"attemptId\"];\n this.points = _data[\"points\"];\n this.score = _data[\"score\"] ? ScoreResult.fromJS(_data[\"score\"]) : undefined;\n this.feedback = _data[\"feedback\"] ? FeedbackResult.fromJS(_data[\"feedback\"]) : undefined;\n }\n }\n\n static fromJS(data: any): CompletePresentationResponse {\n data = typeof data === 'object' ? data : {};\n let result = new CompletePresentationResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"attemptId\"] = this.attemptId;\n data[\"points\"] = this.points;\n data[\"score\"] = this.score ? this.score.toJSON() : undefined;\n data[\"feedback\"] = this.feedback ? this.feedback.toJSON() : undefined;\n return data; \n }\n\n clone(): CompletePresentationResponse {\n const json = this.toJSON();\n let result = new CompletePresentationResponse();\n result.init(json);\n return result;\n }\n}\n\nexport interface ICompletePresentationResponse {\n attemptId: string;\n points: number;\n score: ScoreResult;\n feedback: FeedbackResult;\n}\n\nexport class StartPresentationRequest implements IStartPresentationRequest {\n activityId: string;\n studentId: number;\n readonly id: string;\n\n constructor(data?: IStartPresentationRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.activityId = _data[\"activityId\"];\n this.studentId = _data[\"studentId\"];\n (this).id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): StartPresentationRequest {\n data = typeof data === 'object' ? data : {};\n let result = new StartPresentationRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"activityId\"] = this.activityId;\n data[\"studentId\"] = this.studentId;\n data[\"id\"] = this.id;\n return data; \n }\n\n clone(): StartPresentationRequest {\n const json = this.toJSON();\n let result = new StartPresentationRequest();\n result.init(json);\n return result;\n }\n}\n\nexport interface IStartPresentationRequest {\n activityId: string;\n studentId: number;\n id: string;\n}\n\nexport class StartPresentationResponse implements IStartPresentationResponse {\n attemptId: string;\n\n constructor(data?: IStartPresentationResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.attemptId = _data[\"attemptId\"];\n }\n }\n\n static fromJS(data: any): StartPresentationResponse {\n data = typeof data === 'object' ? data : {};\n let result = new StartPresentationResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"attemptId\"] = this.attemptId;\n return data; \n }\n\n clone(): StartPresentationResponse {\n const json = this.toJSON();\n let result = new StartPresentationResponse();\n result.init(json);\n return result;\n }\n}\n\nexport interface IStartPresentationResponse {\n attemptId: string;\n}\n\nexport class StartQuizRequest implements IStartQuizRequest {\n quizId: string;\n\n constructor(data?: IStartQuizRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.quizId = _data[\"quizId\"];\n }\n }\n\n static fromJS(data: any): StartQuizRequest {\n data = typeof data === 'object' ? data : {};\n let result = new StartQuizRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"quizId\"] = this.quizId;\n return data; \n }\n\n clone(): StartQuizRequest {\n const json = this.toJSON();\n let result = new StartQuizRequest();\n result.init(json);\n return result;\n }\n}\n\nexport interface IStartQuizRequest {\n quizId: string;\n}\n\nexport enum AttemptStatusKind {\n InProgress = \"InProgress\",\n Submitted = \"Submitted\",\n Marked = \"Marked\",\n Completed = \"Completed\",\n}\n\nexport class QuizAttemptDto implements IQuizAttemptDto {\n gradePercentage: number;\n score: ScoreResult;\n feedback: FeedbackResult;\n submittedTime: moment.Moment | undefined;\n attemptStatus: AttemptStatusKind;\n isCompleted: boolean;\n correct: number | undefined;\n incorrect: number | undefined;\n notAttempted: number | undefined;\n partiallyCorrect: number | undefined;\n id: string;\n\n constructor(data?: IQuizAttemptDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.gradePercentage = _data[\"gradePercentage\"];\n this.score = _data[\"score\"] ? ScoreResult.fromJS(_data[\"score\"]) : undefined;\n this.feedback = _data[\"feedback\"] ? FeedbackResult.fromJS(_data[\"feedback\"]) : undefined;\n this.submittedTime = _data[\"submittedTime\"] ? moment(_data[\"submittedTime\"].toString()) : undefined;\n this.attemptStatus = _data[\"attemptStatus\"];\n this.isCompleted = _data[\"isCompleted\"];\n this.correct = _data[\"correct\"];\n this.incorrect = _data[\"incorrect\"];\n this.notAttempted = _data[\"notAttempted\"];\n this.partiallyCorrect = _data[\"partiallyCorrect\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): QuizAttemptDto {\n data = typeof data === 'object' ? data : {};\n let result = new QuizAttemptDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"gradePercentage\"] = this.gradePercentage;\n data[\"score\"] = this.score ? this.score.toJSON() : undefined;\n data[\"feedback\"] = this.feedback ? this.feedback.toJSON() : undefined;\n data[\"submittedTime\"] = this.submittedTime ? this.submittedTime.toISOString() : undefined;\n data[\"attemptStatus\"] = this.attemptStatus;\n data[\"isCompleted\"] = this.isCompleted;\n data[\"correct\"] = this.correct;\n data[\"incorrect\"] = this.incorrect;\n data[\"notAttempted\"] = this.notAttempted;\n data[\"partiallyCorrect\"] = this.partiallyCorrect;\n data[\"id\"] = this.id;\n return data; \n }\n\n clone(): QuizAttemptDto {\n const json = this.toJSON();\n let result = new QuizAttemptDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface IQuizAttemptDto {\n gradePercentage: number;\n score: ScoreResult;\n feedback: FeedbackResult;\n submittedTime: moment.Moment | undefined;\n attemptStatus: AttemptStatusKind;\n isCompleted: boolean;\n correct: number | undefined;\n incorrect: number | undefined;\n notAttempted: number | undefined;\n partiallyCorrect: number | undefined;\n id: string;\n}\n\nexport class StartQuizResponse implements IStartQuizResponse {\n attemptId: string;\n attempt: QuizAttemptDto;\n\n constructor(data?: IStartQuizResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.attemptId = _data[\"attemptId\"];\n this.attempt = _data[\"attempt\"] ? QuizAttemptDto.fromJS(_data[\"attempt\"]) : undefined;\n }\n }\n\n static fromJS(data: any): StartQuizResponse {\n data = typeof data === 'object' ? data : {};\n let result = new StartQuizResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"attemptId\"] = this.attemptId;\n data[\"attempt\"] = this.attempt ? this.attempt.toJSON() : undefined;\n return data; \n }\n\n clone(): StartQuizResponse {\n const json = this.toJSON();\n let result = new StartQuizResponse();\n result.init(json);\n return result;\n }\n}\n\nexport interface IStartQuizResponse {\n attemptId: string;\n attempt: QuizAttemptDto;\n}\n\nexport class QuizActivityDto implements IQuizActivityDto {\n title: string | undefined;\n subject: string | undefined;\n isTimed: boolean;\n timeLimit: number;\n allowMultipleAttempts: boolean;\n maximumAttempts: number;\n attemptsMade: number;\n canTake: boolean;\n lastAttemptId: string;\n status: ActivityStatusKind;\n assignmentType: string | undefined;\n showProgress: boolean;\n\n constructor(data?: IQuizActivityDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.title = _data[\"title\"];\n this.subject = _data[\"subject\"];\n this.isTimed = _data[\"isTimed\"];\n this.timeLimit = _data[\"timeLimit\"];\n this.allowMultipleAttempts = _data[\"allowMultipleAttempts\"];\n this.maximumAttempts = _data[\"maximumAttempts\"];\n this.attemptsMade = _data[\"attemptsMade\"];\n this.canTake = _data[\"canTake\"];\n this.lastAttemptId = _data[\"lastAttemptId\"];\n this.status = _data[\"status\"];\n this.assignmentType = _data[\"assignmentType\"];\n this.showProgress = _data[\"showProgress\"];\n }\n }\n\n static fromJS(data: any): QuizActivityDto {\n data = typeof data === 'object' ? data : {};\n let result = new QuizActivityDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"title\"] = this.title;\n data[\"subject\"] = this.subject;\n data[\"isTimed\"] = this.isTimed;\n data[\"timeLimit\"] = this.timeLimit;\n data[\"allowMultipleAttempts\"] = this.allowMultipleAttempts;\n data[\"maximumAttempts\"] = this.maximumAttempts;\n data[\"attemptsMade\"] = this.attemptsMade;\n data[\"canTake\"] = this.canTake;\n data[\"lastAttemptId\"] = this.lastAttemptId;\n data[\"status\"] = this.status;\n data[\"assignmentType\"] = this.assignmentType;\n data[\"showProgress\"] = this.showProgress;\n return data; \n }\n\n clone(): QuizActivityDto {\n const json = this.toJSON();\n let result = new QuizActivityDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface IQuizActivityDto {\n title: string | undefined;\n subject: string | undefined;\n isTimed: boolean;\n timeLimit: number;\n allowMultipleAttempts: boolean;\n maximumAttempts: number;\n attemptsMade: number;\n canTake: boolean;\n lastAttemptId: string;\n status: ActivityStatusKind;\n assignmentType: string | undefined;\n showProgress: boolean;\n}\n\nexport class ReviewQuizAttemptOutput implements IReviewQuizAttemptOutput {\n studentFullName: string | undefined;\n quiz: QuizActivityDto;\n\n constructor(data?: IReviewQuizAttemptOutput) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.studentFullName = _data[\"studentFullName\"];\n this.quiz = _data[\"quiz\"] ? QuizActivityDto.fromJS(_data[\"quiz\"]) : undefined;\n }\n }\n\n static fromJS(data: any): ReviewQuizAttemptOutput {\n data = typeof data === 'object' ? data : {};\n let result = new ReviewQuizAttemptOutput();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"studentFullName\"] = this.studentFullName;\n data[\"quiz\"] = this.quiz ? this.quiz.toJSON() : undefined;\n return data; \n }\n\n clone(): ReviewQuizAttemptOutput {\n const json = this.toJSON();\n let result = new ReviewQuizAttemptOutput();\n result.init(json);\n return result;\n }\n}\n\nexport interface IReviewQuizAttemptOutput {\n studentFullName: string | undefined;\n quiz: QuizActivityDto;\n}\n\nexport class GetQuizActivityResponse implements IGetQuizActivityResponse {\n quiz: QuizActivityDto;\n attempts: QuizAttemptDto[] | undefined;\n\n constructor(data?: IGetQuizActivityResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.quiz = _data[\"quiz\"] ? QuizActivityDto.fromJS(_data[\"quiz\"]) : undefined;\n if (Array.isArray(_data[\"attempts\"])) {\n this.attempts = [] as any;\n for (let item of _data[\"attempts\"])\n this.attempts.push(QuizAttemptDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): GetQuizActivityResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetQuizActivityResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"quiz\"] = this.quiz ? this.quiz.toJSON() : undefined;\n if (Array.isArray(this.attempts)) {\n data[\"attempts\"] = [];\n for (let item of this.attempts)\n data[\"attempts\"].push(item.toJSON());\n }\n return data; \n }\n\n clone(): GetQuizActivityResponse {\n const json = this.toJSON();\n let result = new GetQuizActivityResponse();\n result.init(json);\n return result;\n }\n}\n\nexport interface IGetQuizActivityResponse {\n quiz: QuizActivityDto;\n attempts: QuizAttemptDto[] | undefined;\n}\n\nexport class MediaFieldBaseOfImageField implements IMediaFieldBaseOfImageField {\n id: number;\n url: string | undefined;\n readonly hasValue: boolean;\n\n protected _discriminator: string;\n\n constructor(data?: IMediaFieldBaseOfImageField) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n this._discriminator = \"MediaFieldBaseOfImageField\";\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.url = _data[\"url\"];\n (this).hasValue = _data[\"hasValue\"];\n }\n }\n\n static fromJS(data: any): MediaFieldBaseOfImageField {\n data = typeof data === 'object' ? data : {};\n if (data[\"$type\"] === \"ImageField\") {\n let result = new ImageField();\n result.init(data);\n return result;\n }\n let result = new MediaFieldBaseOfImageField();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"$type\"] = this._discriminator; \n data[\"id\"] = this.id;\n data[\"url\"] = this.url;\n data[\"hasValue\"] = this.hasValue;\n return data; \n }\n\n clone(): MediaFieldBaseOfImageField {\n const json = this.toJSON();\n let result = new MediaFieldBaseOfImageField();\n result.init(json);\n return result;\n }\n}\n\nexport interface IMediaFieldBaseOfImageField {\n id: number;\n url: string | undefined;\n hasValue: boolean;\n}\n\nexport class ImageField extends MediaFieldBaseOfImageField implements IImageField {\n\n constructor(data?: IImageField) {\n super(data);\n this._discriminator = \"ImageField\";\n }\n\n init(_data?: any) {\n super.init(_data);\n }\n\n static fromJS(data: any): ImageField {\n data = typeof data === 'object' ? data : {};\n let result = new ImageField();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n super.toJSON(data);\n return data; \n }\n\n clone(): ImageField {\n const json = this.toJSON();\n let result = new ImageField();\n result.init(json);\n return result;\n }\n}\n\nexport interface IImageField extends IMediaFieldBaseOfImageField {\n}\n\nexport enum ContentLayoutKind {\n TextOnly = \"TextOnly\",\n ImageLeft = \"ImageLeft\",\n ImageTop = \"ImageTop\",\n ImageRight = \"ImageRight\",\n ImageBottom = \"ImageBottom\",\n ImageOnly = \"ImageOnly\",\n None = \"None\",\n}\n\nexport enum TextFormatKind {\n Plain = \"Plain\",\n Html = \"Html\",\n Markdown = \"Markdown\",\n}\n\nexport class Block implements IBlock {\n colSpan: number;\n type: string | undefined;\n\n protected _discriminator: string;\n\n constructor(data?: IBlock) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n this._discriminator = \"Block\";\n }\n\n init(_data?: any) {\n if (_data) {\n this.colSpan = _data[\"colSpan\"];\n this.type = _data[\"type\"];\n }\n }\n\n static fromJS(data: any): Block {\n data = typeof data === 'object' ? data : {};\n if (data[\"$type\"] === \"SimpleContentBlock\") {\n let result = new SimpleContentBlock();\n result.init(data);\n return result;\n }\n if (data[\"$type\"] === \"ColumnBlock\") {\n let result = new ColumnBlock();\n result.init(data);\n return result;\n }\n if (data[\"$type\"] === \"BlockGroup\") {\n let result = new BlockGroup();\n result.init(data);\n return result;\n }\n if (data[\"$type\"] === \"HtmlBlock\") {\n let result = new HtmlBlock();\n result.init(data);\n return result;\n }\n if (data[\"$type\"] === \"HtmlColumnBlock\") {\n let result = new HtmlColumnBlock();\n result.init(data);\n return result;\n }\n if (data[\"$type\"] === \"TextBlock\") {\n let result = new TextBlock();\n result.init(data);\n return result;\n }\n let result = new Block();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"$type\"] = this._discriminator; \n data[\"colSpan\"] = this.colSpan;\n data[\"type\"] = this.type;\n return data; \n }\n\n clone(): Block {\n const json = this.toJSON();\n let result = new Block();\n result.init(json);\n return result;\n }\n}\n\nexport interface IBlock {\n colSpan: number;\n type: string | undefined;\n}\n\nexport class SimpleContentBlock extends Block implements ISimpleContentBlock {\n text: string | undefined;\n image: ImageField;\n title: string | undefined;\n layout: ContentLayoutKind;\n textFormat: TextFormatKind;\n\n constructor(data?: ISimpleContentBlock) {\n super(data);\n this._discriminator = \"SimpleContentBlock\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.text = _data[\"text\"];\n this.image = _data[\"image\"] ? ImageField.fromJS(_data[\"image\"]) : undefined;\n this.title = _data[\"title\"];\n this.layout = _data[\"layout\"];\n this.textFormat = _data[\"textFormat\"];\n }\n }\n\n static fromJS(data: any): SimpleContentBlock {\n data = typeof data === 'object' ? data : {};\n let result = new SimpleContentBlock();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"text\"] = this.text;\n data[\"image\"] = this.image ? this.image.toJSON() : undefined;\n data[\"title\"] = this.title;\n data[\"layout\"] = this.layout;\n data[\"textFormat\"] = this.textFormat;\n super.toJSON(data);\n return data; \n }\n\n clone(): SimpleContentBlock {\n const json = this.toJSON();\n let result = new SimpleContentBlock();\n result.init(json);\n return result;\n }\n}\n\nexport interface ISimpleContentBlock extends IBlock {\n text: string | undefined;\n image: ImageField;\n title: string | undefined;\n layout: ContentLayoutKind;\n textFormat: TextFormatKind;\n}\n\nexport class ChoiceDto implements IChoiceDto {\n name: string | undefined;\n readonly key: string | undefined;\n index: number;\n isCorrect: boolean;\n image: ImageField;\n text: string | undefined;\n\n constructor(data?: IChoiceDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n (this).key = _data[\"key\"];\n this.index = _data[\"index\"];\n this.isCorrect = _data[\"isCorrect\"];\n this.image = _data[\"image\"] ? ImageField.fromJS(_data[\"image\"]) : undefined;\n this.text = _data[\"text\"];\n }\n }\n\n static fromJS(data: any): ChoiceDto {\n data = typeof data === 'object' ? data : {};\n let result = new ChoiceDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"key\"] = this.key;\n data[\"index\"] = this.index;\n data[\"isCorrect\"] = this.isCorrect;\n data[\"image\"] = this.image ? this.image.toJSON() : undefined;\n data[\"text\"] = this.text;\n return data; \n }\n\n clone(): ChoiceDto {\n const json = this.toJSON();\n let result = new ChoiceDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface IChoiceDto {\n name: string | undefined;\n key: string | undefined;\n index: number;\n isCorrect: boolean;\n image: ImageField;\n text: string | undefined;\n}\n\nexport enum ChoiceKind {\n Single = \"Single\",\n Multiple = \"Multiple\",\n Any = \"Any\",\n}\n\nexport class ChoiceGroupDto implements IChoiceGroupDto {\n values: ChoiceDto[] | undefined;\n choiceType: ChoiceKind;\n columns: number;\n layout: ContentLayoutKind;\n textFormat: TextFormatKind;\n\n constructor(data?: IChoiceGroupDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"values\"])) {\n this.values = [] as any;\n for (let item of _data[\"values\"])\n this.values.push(ChoiceDto.fromJS(item));\n }\n this.choiceType = _data[\"choiceType\"];\n this.columns = _data[\"columns\"];\n this.layout = _data[\"layout\"];\n this.textFormat = _data[\"textFormat\"];\n }\n }\n\n static fromJS(data: any): ChoiceGroupDto {\n data = typeof data === 'object' ? data : {};\n let result = new ChoiceGroupDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.values)) {\n data[\"values\"] = [];\n for (let item of this.values)\n data[\"values\"].push(item.toJSON());\n }\n data[\"choiceType\"] = this.choiceType;\n data[\"columns\"] = this.columns;\n data[\"layout\"] = this.layout;\n data[\"textFormat\"] = this.textFormat;\n return data; \n }\n\n clone(): ChoiceGroupDto {\n const json = this.toJSON();\n let result = new ChoiceGroupDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface IChoiceGroupDto {\n values: ChoiceDto[] | undefined;\n choiceType: ChoiceKind;\n columns: number;\n layout: ContentLayoutKind;\n textFormat: TextFormatKind;\n}\n\nexport class Hint implements IHint {\n content: SimpleContentBlock;\n\n constructor(data?: IHint) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.content = _data[\"content\"] ? SimpleContentBlock.fromJS(_data[\"content\"]) : undefined;\n }\n }\n\n static fromJS(data: any): Hint {\n data = typeof data === 'object' ? data : {};\n let result = new Hint();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"content\"] = this.content ? this.content.toJSON() : undefined;\n return data; \n }\n\n clone(): Hint {\n const json = this.toJSON();\n let result = new Hint();\n result.init(json);\n return result;\n }\n}\n\nexport interface IHint {\n content: SimpleContentBlock;\n}\n\nexport class ProblemDto implements IProblemDto {\n isReadOnly: boolean;\n solution: SimpleContentBlock;\n hints: Hint[] | undefined;\n type: string | undefined;\n\n protected _discriminator: string;\n\n constructor(data?: IProblemDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n this._discriminator = \"ProblemDto\";\n }\n\n init(_data?: any) {\n if (_data) {\n this.isReadOnly = _data[\"isReadOnly\"];\n this.solution = _data[\"solution\"] ? SimpleContentBlock.fromJS(_data[\"solution\"]) : undefined;\n if (Array.isArray(_data[\"hints\"])) {\n this.hints = [] as any;\n for (let item of _data[\"hints\"])\n this.hints.push(Hint.fromJS(item));\n }\n this.type = _data[\"type\"];\n }\n }\n\n static fromJS(data: any): ProblemDto {\n data = typeof data === 'object' ? data : {};\n if (data[\"$type\"] === \"MultiChoiceProblemDto\") {\n let result = new MultiChoiceProblemDto();\n result.init(data);\n return result;\n }\n if (data[\"$type\"] === \"MultiEntryProblemDto\") {\n let result = new MultiEntryProblemDto();\n result.init(data);\n return result;\n }\n if (data[\"$type\"] === \"TextInputProblemDto\") {\n let result = new TextInputProblemDto();\n result.init(data);\n return result;\n }\n let result = new ProblemDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"$type\"] = this._discriminator; \n data[\"isReadOnly\"] = this.isReadOnly;\n data[\"solution\"] = this.solution ? this.solution.toJSON() : undefined;\n if (Array.isArray(this.hints)) {\n data[\"hints\"] = [];\n for (let item of this.hints)\n data[\"hints\"].push(item.toJSON());\n }\n data[\"type\"] = this.type;\n return data; \n }\n\n clone(): ProblemDto {\n const json = this.toJSON();\n let result = new ProblemDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface IProblemDto {\n isReadOnly: boolean;\n solution: SimpleContentBlock;\n hints: Hint[] | undefined;\n type: string | undefined;\n}\n\nexport class MultiChoiceProblemDto extends ProblemDto implements IMultiChoiceProblemDto {\n content: SimpleContentBlock;\n choices: ChoiceGroupDto;\n\n constructor(data?: IMultiChoiceProblemDto) {\n super(data);\n this._discriminator = \"MultiChoiceProblemDto\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.content = _data[\"content\"] ? SimpleContentBlock.fromJS(_data[\"content\"]) : undefined;\n this.choices = _data[\"choices\"] ? ChoiceGroupDto.fromJS(_data[\"choices\"]) : undefined;\n }\n }\n\n static fromJS(data: any): MultiChoiceProblemDto {\n data = typeof data === 'object' ? data : {};\n let result = new MultiChoiceProblemDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"content\"] = this.content ? this.content.toJSON() : undefined;\n data[\"choices\"] = this.choices ? this.choices.toJSON() : undefined;\n super.toJSON(data);\n return data; \n }\n\n clone(): MultiChoiceProblemDto {\n const json = this.toJSON();\n let result = new MultiChoiceProblemDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface IMultiChoiceProblemDto extends IProblemDto {\n content: SimpleContentBlock;\n choices: ChoiceGroupDto;\n}\n\nexport enum SegmentKind {\n Text = \"Text\",\n Field = \"Field\",\n}\n\nexport class TextSegment implements ITextSegment {\n text: string | undefined;\n fieldKey: string | undefined;\n segmentType: SegmentKind;\n\n constructor(data?: ITextSegment) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.text = _data[\"text\"];\n this.fieldKey = _data[\"fieldKey\"];\n this.segmentType = _data[\"segmentType\"];\n }\n }\n\n static fromJS(data: any): TextSegment {\n data = typeof data === 'object' ? data : {};\n let result = new TextSegment();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"text\"] = this.text;\n data[\"fieldKey\"] = this.fieldKey;\n data[\"segmentType\"] = this.segmentType;\n return data; \n }\n\n clone(): TextSegment {\n const json = this.toJSON();\n let result = new TextSegment();\n result.init(json);\n return result;\n }\n}\n\nexport interface ITextSegment {\n text: string | undefined;\n fieldKey: string | undefined;\n segmentType: SegmentKind;\n}\n\nexport enum MultiEntryType {\n FillBlank = \"FillBlank\",\n SimpleInput = \"SimpleInput\",\n EntryGridItem = \"EntryGridItem\",\n}\n\nexport enum EntryFieldKind {\n TextInput = \"TextInput\",\n TextArea = \"TextArea\",\n NumericInput = \"NumericInput\",\n Dropdown = \"Dropdown\",\n MultipleChoice = \"MultipleChoice\",\n NoEntry = \"NoEntry\",\n}\n\nexport class EntryAnswer implements IEntryAnswer {\n value: string | undefined;\n\n constructor(data?: IEntryAnswer) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.value = _data[\"value\"];\n }\n }\n\n static fromJS(data: any): EntryAnswer {\n data = typeof data === 'object' ? data : {};\n let result = new EntryAnswer();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"value\"] = this.value;\n return data; \n }\n\n clone(): EntryAnswer {\n const json = this.toJSON();\n let result = new EntryAnswer();\n result.init(json);\n return result;\n }\n}\n\nexport interface IEntryAnswer {\n value: string | undefined;\n}\n\nexport class EntryFieldDto implements IEntryFieldDto {\n textSegments: TextSegment[] | undefined;\n key: string | undefined;\n value: string | undefined;\n displayWidth: number;\n entryType: EntryFieldKind;\n layoutTemplate: string | undefined;\n text: string | undefined;\n image: ImageField;\n textFormat: TextFormatKind;\n choices: ChoiceGroupDto;\n answer: string | undefined;\n answers: EntryAnswer[] | undefined;\n index: number;\n hasSegments: boolean;\n\n constructor(data?: IEntryFieldDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"textSegments\"])) {\n this.textSegments = [] as any;\n for (let item of _data[\"textSegments\"])\n this.textSegments.push(TextSegment.fromJS(item));\n }\n this.key = _data[\"key\"];\n this.value = _data[\"value\"];\n this.displayWidth = _data[\"displayWidth\"];\n this.entryType = _data[\"entryType\"];\n this.layoutTemplate = _data[\"layoutTemplate\"];\n this.text = _data[\"text\"];\n this.image = _data[\"image\"] ? ImageField.fromJS(_data[\"image\"]) : undefined;\n this.textFormat = _data[\"textFormat\"];\n this.choices = _data[\"choices\"] ? ChoiceGroupDto.fromJS(_data[\"choices\"]) : undefined;\n this.answer = _data[\"answer\"];\n if (Array.isArray(_data[\"answers\"])) {\n this.answers = [] as any;\n for (let item of _data[\"answers\"])\n this.answers.push(EntryAnswer.fromJS(item));\n }\n this.index = _data[\"index\"];\n this.hasSegments = _data[\"hasSegments\"];\n }\n }\n\n static fromJS(data: any): EntryFieldDto {\n data = typeof data === 'object' ? data : {};\n let result = new EntryFieldDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.textSegments)) {\n data[\"textSegments\"] = [];\n for (let item of this.textSegments)\n data[\"textSegments\"].push(item.toJSON());\n }\n data[\"key\"] = this.key;\n data[\"value\"] = this.value;\n data[\"displayWidth\"] = this.displayWidth;\n data[\"entryType\"] = this.entryType;\n data[\"layoutTemplate\"] = this.layoutTemplate;\n data[\"text\"] = this.text;\n data[\"image\"] = this.image ? this.image.toJSON() : undefined;\n data[\"textFormat\"] = this.textFormat;\n data[\"choices\"] = this.choices ? this.choices.toJSON() : undefined;\n data[\"answer\"] = this.answer;\n if (Array.isArray(this.answers)) {\n data[\"answers\"] = [];\n for (let item of this.answers)\n data[\"answers\"].push(item.toJSON());\n }\n data[\"index\"] = this.index;\n data[\"hasSegments\"] = this.hasSegments;\n return data; \n }\n\n clone(): EntryFieldDto {\n const json = this.toJSON();\n let result = new EntryFieldDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface IEntryFieldDto {\n textSegments: TextSegment[] | undefined;\n key: string | undefined;\n value: string | undefined;\n displayWidth: number;\n entryType: EntryFieldKind;\n layoutTemplate: string | undefined;\n text: string | undefined;\n image: ImageField;\n textFormat: TextFormatKind;\n choices: ChoiceGroupDto;\n answer: string | undefined;\n answers: EntryAnswer[] | undefined;\n index: number;\n hasSegments: boolean;\n}\n\nexport class MultiEntryProblemDto extends ProblemDto implements IMultiEntryProblemDto {\n textSegments: TextSegment[] | undefined;\n entryType: MultiEntryType;\n content: SimpleContentBlock;\n fields: EntryFieldDto[] | undefined;\n hasSegments: boolean;\n\n constructor(data?: IMultiEntryProblemDto) {\n super(data);\n this._discriminator = \"MultiEntryProblemDto\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n if (Array.isArray(_data[\"textSegments\"])) {\n this.textSegments = [] as any;\n for (let item of _data[\"textSegments\"])\n this.textSegments.push(TextSegment.fromJS(item));\n }\n this.entryType = _data[\"entryType\"];\n this.content = _data[\"content\"] ? SimpleContentBlock.fromJS(_data[\"content\"]) : undefined;\n if (Array.isArray(_data[\"fields\"])) {\n this.fields = [] as any;\n for (let item of _data[\"fields\"])\n this.fields.push(EntryFieldDto.fromJS(item));\n }\n this.hasSegments = _data[\"hasSegments\"];\n }\n }\n\n static fromJS(data: any): MultiEntryProblemDto {\n data = typeof data === 'object' ? data : {};\n let result = new MultiEntryProblemDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.textSegments)) {\n data[\"textSegments\"] = [];\n for (let item of this.textSegments)\n data[\"textSegments\"].push(item.toJSON());\n }\n data[\"entryType\"] = this.entryType;\n data[\"content\"] = this.content ? this.content.toJSON() : undefined;\n if (Array.isArray(this.fields)) {\n data[\"fields\"] = [];\n for (let item of this.fields)\n data[\"fields\"].push(item.toJSON());\n }\n data[\"hasSegments\"] = this.hasSegments;\n super.toJSON(data);\n return data; \n }\n\n clone(): MultiEntryProblemDto {\n const json = this.toJSON();\n let result = new MultiEntryProblemDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface IMultiEntryProblemDto extends IProblemDto {\n textSegments: TextSegment[] | undefined;\n entryType: MultiEntryType;\n content: SimpleContentBlock;\n fields: EntryFieldDto[] | undefined;\n hasSegments: boolean;\n}\n\nexport class GridColumn implements IGridColumn {\n label: string | undefined;\n image: ImageField;\n choiceName: string | undefined;\n index: number;\n\n constructor(data?: IGridColumn) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.label = _data[\"label\"];\n this.image = _data[\"image\"] ? ImageField.fromJS(_data[\"image\"]) : undefined;\n this.choiceName = _data[\"choiceName\"];\n this.index = _data[\"index\"];\n }\n }\n\n static fromJS(data: any): GridColumn {\n data = typeof data === 'object' ? data : {};\n let result = new GridColumn();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"label\"] = this.label;\n data[\"image\"] = this.image ? this.image.toJSON() : undefined;\n data[\"choiceName\"] = this.choiceName;\n data[\"index\"] = this.index;\n return data; \n }\n\n clone(): GridColumn {\n const json = this.toJSON();\n let result = new GridColumn();\n result.init(json);\n return result;\n }\n}\n\nexport interface IGridColumn {\n label: string | undefined;\n image: ImageField;\n choiceName: string | undefined;\n index: number;\n}\n\nexport class MultiChoiceGrid implements IMultiChoiceGrid {\n content: SimpleContentBlock;\n labelColumn: GridColumn;\n answerColumns: GridColumn[] | undefined;\n colSpan: number;\n type: string | undefined;\n\n constructor(data?: IMultiChoiceGrid) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.content = _data[\"content\"] ? SimpleContentBlock.fromJS(_data[\"content\"]) : undefined;\n this.labelColumn = _data[\"labelColumn\"] ? GridColumn.fromJS(_data[\"labelColumn\"]) : undefined;\n if (Array.isArray(_data[\"answerColumns\"])) {\n this.answerColumns = [] as any;\n for (let item of _data[\"answerColumns\"])\n this.answerColumns.push(GridColumn.fromJS(item));\n }\n this.colSpan = _data[\"colSpan\"];\n this.type = _data[\"type\"];\n }\n }\n\n static fromJS(data: any): MultiChoiceGrid {\n data = typeof data === 'object' ? data : {};\n let result = new MultiChoiceGrid();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"content\"] = this.content ? this.content.toJSON() : undefined;\n data[\"labelColumn\"] = this.labelColumn ? this.labelColumn.toJSON() : undefined;\n if (Array.isArray(this.answerColumns)) {\n data[\"answerColumns\"] = [];\n for (let item of this.answerColumns)\n data[\"answerColumns\"].push(item.toJSON());\n }\n data[\"colSpan\"] = this.colSpan;\n data[\"type\"] = this.type;\n return data; \n }\n\n clone(): MultiChoiceGrid {\n const json = this.toJSON();\n let result = new MultiChoiceGrid();\n result.init(json);\n return result;\n }\n}\n\nexport interface IMultiChoiceGrid {\n content: SimpleContentBlock;\n labelColumn: GridColumn;\n answerColumns: GridColumn[] | undefined;\n colSpan: number;\n type: string | undefined;\n}\n\nexport class TextInputProblemDto extends ProblemDto implements ITextInputProblemDto {\n content: SimpleContentBlock;\n lines: number;\n\n constructor(data?: ITextInputProblemDto) {\n super(data);\n this._discriminator = \"TextInputProblemDto\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.content = _data[\"content\"] ? SimpleContentBlock.fromJS(_data[\"content\"]) : undefined;\n this.lines = _data[\"lines\"];\n }\n }\n\n static fromJS(data: any): TextInputProblemDto {\n data = typeof data === 'object' ? data : {};\n let result = new TextInputProblemDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"content\"] = this.content ? this.content.toJSON() : undefined;\n data[\"lines\"] = this.lines;\n super.toJSON(data);\n return data; \n }\n\n clone(): TextInputProblemDto {\n const json = this.toJSON();\n let result = new TextInputProblemDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface ITextInputProblemDto extends IProblemDto {\n content: SimpleContentBlock;\n lines: number;\n}\n\nexport class ScoreRule implements IScoreRule {\n isScored: boolean;\n points: number;\n weight: number;\n\n constructor(data?: IScoreRule) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isScored = _data[\"isScored\"];\n this.points = _data[\"points\"];\n this.weight = _data[\"weight\"];\n }\n }\n\n static fromJS(data: any): ScoreRule {\n data = typeof data === 'object' ? data : {};\n let result = new ScoreRule();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isScored\"] = this.isScored;\n data[\"points\"] = this.points;\n data[\"weight\"] = this.weight;\n return data; \n }\n\n clone(): ScoreRule {\n const json = this.toJSON();\n let result = new ScoreRule();\n result.init(json);\n return result;\n }\n}\n\nexport interface IScoreRule {\n isScored: boolean;\n points: number;\n weight: number;\n}\n\nexport class SimpleFieldOfString implements ISimpleFieldOfString {\n value: string | undefined;\n\n protected _discriminator: string;\n\n constructor(data?: ISimpleFieldOfString) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n this._discriminator = \"SimpleFieldOfString\";\n }\n\n init(_data?: any) {\n if (_data) {\n this.value = _data[\"value\"];\n }\n }\n\n static fromJS(data: any): SimpleFieldOfString {\n data = typeof data === 'object' ? data : {};\n if (data[\"$type\"] === \"HtmlField\") {\n let result = new HtmlField();\n result.init(data);\n return result;\n }\n if (data[\"$type\"] === \"TextField\") {\n let result = new TextField();\n result.init(data);\n return result;\n }\n let result = new SimpleFieldOfString();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"$type\"] = this._discriminator; \n data[\"value\"] = this.value;\n return data; \n }\n\n clone(): SimpleFieldOfString {\n const json = this.toJSON();\n let result = new SimpleFieldOfString();\n result.init(json);\n return result;\n }\n}\n\nexport interface ISimpleFieldOfString {\n value: string | undefined;\n}\n\nexport class HtmlField extends SimpleFieldOfString implements IHtmlField {\n\n constructor(data?: IHtmlField) {\n super(data);\n this._discriminator = \"HtmlField\";\n }\n\n init(_data?: any) {\n super.init(_data);\n }\n\n static fromJS(data: any): HtmlField {\n data = typeof data === 'object' ? data : {};\n let result = new HtmlField();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n super.toJSON(data);\n return data; \n }\n\n clone(): HtmlField {\n const json = this.toJSON();\n let result = new HtmlField();\n result.init(json);\n return result;\n }\n}\n\nexport interface IHtmlField extends ISimpleFieldOfString {\n}\n\nexport class HtmlBlock extends Block implements IHtmlBlock {\n body: HtmlField;\n\n constructor(data?: IHtmlBlock) {\n super(data);\n this._discriminator = \"HtmlBlock\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.body = _data[\"body\"] ? HtmlField.fromJS(_data[\"body\"]) : undefined;\n }\n }\n\n static fromJS(data: any): HtmlBlock {\n data = typeof data === 'object' ? data : {};\n let result = new HtmlBlock();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"body\"] = this.body ? this.body.toJSON() : undefined;\n super.toJSON(data);\n return data; \n }\n\n clone(): HtmlBlock {\n const json = this.toJSON();\n let result = new HtmlBlock();\n result.init(json);\n return result;\n }\n}\n\nexport interface IHtmlBlock extends IBlock {\n body: HtmlField;\n}\n\nexport class HtmlColumnBlock extends Block implements IHtmlColumnBlock {\n column1: HtmlField;\n column2: HtmlField;\n\n constructor(data?: IHtmlColumnBlock) {\n super(data);\n this._discriminator = \"HtmlColumnBlock\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.column1 = _data[\"column1\"] ? HtmlField.fromJS(_data[\"column1\"]) : undefined;\n this.column2 = _data[\"column2\"] ? HtmlField.fromJS(_data[\"column2\"]) : undefined;\n }\n }\n\n static fromJS(data: any): HtmlColumnBlock {\n data = typeof data === 'object' ? data : {};\n let result = new HtmlColumnBlock();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"column1\"] = this.column1 ? this.column1.toJSON() : undefined;\n data[\"column2\"] = this.column2 ? this.column2.toJSON() : undefined;\n super.toJSON(data);\n return data; \n }\n\n clone(): HtmlColumnBlock {\n const json = this.toJSON();\n let result = new HtmlColumnBlock();\n result.init(json);\n return result;\n }\n}\n\nexport interface IHtmlColumnBlock extends IBlock {\n column1: HtmlField;\n column2: HtmlField;\n}\n\nexport class TextField extends SimpleFieldOfString implements ITextField {\n format: TextFormatKind;\n\n constructor(data?: ITextField) {\n super(data);\n this._discriminator = \"TextField\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.format = _data[\"format\"];\n }\n }\n\n static fromJS(data: any): TextField {\n data = typeof data === 'object' ? data : {};\n let result = new TextField();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"format\"] = this.format;\n super.toJSON(data);\n return data; \n }\n\n clone(): TextField {\n const json = this.toJSON();\n let result = new TextField();\n result.init(json);\n return result;\n }\n}\n\nexport interface ITextField extends ISimpleFieldOfString {\n format: TextFormatKind;\n}\n\nexport class TextBlock extends Block implements ITextBlock {\n body: TextField;\n\n constructor(data?: ITextBlock) {\n super(data);\n this._discriminator = \"TextBlock\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.body = _data[\"body\"] ? TextField.fromJS(_data[\"body\"]) : undefined;\n }\n }\n\n static fromJS(data: any): TextBlock {\n data = typeof data === 'object' ? data : {};\n let result = new TextBlock();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"body\"] = this.body ? this.body.toJSON() : undefined;\n super.toJSON(data);\n return data; \n }\n\n clone(): TextBlock {\n const json = this.toJSON();\n let result = new TextBlock();\n result.init(json);\n return result;\n }\n}\n\nexport interface ITextBlock extends IBlock {\n body: TextField;\n}\n\nexport class BlockGroup extends Block implements IBlockGroup {\n items: ColumnBlock[] | undefined;\n\n protected _discriminator: string;\n\n constructor(data?: IBlockGroup) {\n super(data);\n this._discriminator = \"BlockGroup\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items.push(ColumnBlock.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): BlockGroup {\n data = typeof data === 'object' ? data : {};\n if (data[\"$type\"] === \"ColumnBlock\") {\n let result = new ColumnBlock();\n result.init(data);\n return result;\n }\n let result = new BlockGroup();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"$type\"] = this._discriminator; \n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n super.toJSON(data);\n return data; \n }\n\n clone(): BlockGroup {\n const json = this.toJSON();\n let result = new BlockGroup();\n result.init(json);\n return result;\n }\n}\n\nexport interface IBlockGroup extends IBlock {\n items: ColumnBlock[] | undefined;\n}\n\nexport class ColumnBlock extends BlockGroup implements IColumnBlock {\n items: ColumnBlock[] | undefined;\n colSpan: number;\n type: string | undefined;\n\n constructor(data?: IColumnBlock) {\n super(data);\n this._discriminator = \"ColumnBlock\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items.push(ColumnBlock.fromJS(item));\n }\n this.colSpan = _data[\"colSpan\"];\n this.type = _data[\"type\"];\n }\n }\n\n static fromJS(data: any): ColumnBlock {\n data = typeof data === 'object' ? data : {};\n let result = new ColumnBlock();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n data[\"colSpan\"] = this.colSpan;\n data[\"type\"] = this.type;\n super.toJSON(data);\n return data; \n }\n\n clone(): ColumnBlock {\n const json = this.toJSON();\n let result = new ColumnBlock();\n result.init(json);\n return result;\n }\n}\n\nexport interface IColumnBlock extends IBlockGroup {\n items: ColumnBlock[] | undefined;\n colSpan: number;\n type: string | undefined;\n}\n\nexport class QuizActivityItemDto implements IQuizActivityItemDto {\n multiChoiceProblem: MultiChoiceProblemDto;\n multiEntryProblem: MultiEntryProblemDto;\n multiChoiceGrid: MultiChoiceGrid;\n textInputProblem: TextInputProblemDto;\n id: string;\n quizId: string;\n pageId: string;\n parentId: string | undefined;\n pageIndex: number;\n itemNumber: number;\n itemIndex: number;\n layoutTemplate: string | undefined;\n isProblem: boolean;\n title: string | undefined;\n colSpan: number;\n scoring: ScoreRule;\n isActive: boolean;\n itemType: string | undefined;\n isGroup: boolean;\n simpleContentBlock: SimpleContentBlock;\n columnBlock: ColumnBlock;\n htmlColumnBlock: HtmlColumnBlock;\n htmlBlock: HtmlBlock;\n textBlock: TextBlock;\n\n constructor(data?: IQuizActivityItemDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.multiChoiceProblem = _data[\"multiChoiceProblem\"] ? MultiChoiceProblemDto.fromJS(_data[\"multiChoiceProblem\"]) : undefined;\n this.multiEntryProblem = _data[\"multiEntryProblem\"] ? MultiEntryProblemDto.fromJS(_data[\"multiEntryProblem\"]) : undefined;\n this.multiChoiceGrid = _data[\"multiChoiceGrid\"] ? MultiChoiceGrid.fromJS(_data[\"multiChoiceGrid\"]) : undefined;\n this.textInputProblem = _data[\"textInputProblem\"] ? TextInputProblemDto.fromJS(_data[\"textInputProblem\"]) : undefined;\n this.id = _data[\"id\"];\n this.quizId = _data[\"quizId\"];\n this.pageId = _data[\"pageId\"];\n this.parentId = _data[\"parentId\"];\n this.pageIndex = _data[\"pageIndex\"];\n this.itemNumber = _data[\"itemNumber\"];\n this.itemIndex = _data[\"itemIndex\"];\n this.layoutTemplate = _data[\"layoutTemplate\"];\n this.isProblem = _data[\"isProblem\"];\n this.title = _data[\"title\"];\n this.colSpan = _data[\"colSpan\"];\n this.scoring = _data[\"scoring\"] ? ScoreRule.fromJS(_data[\"scoring\"]) : undefined;\n this.isActive = _data[\"isActive\"];\n this.itemType = _data[\"itemType\"];\n this.isGroup = _data[\"isGroup\"];\n this.simpleContentBlock = _data[\"simpleContentBlock\"] ? SimpleContentBlock.fromJS(_data[\"simpleContentBlock\"]) : undefined;\n this.columnBlock = _data[\"columnBlock\"] ? ColumnBlock.fromJS(_data[\"columnBlock\"]) : undefined;\n this.htmlColumnBlock = _data[\"htmlColumnBlock\"] ? HtmlColumnBlock.fromJS(_data[\"htmlColumnBlock\"]) : undefined;\n this.htmlBlock = _data[\"htmlBlock\"] ? HtmlBlock.fromJS(_data[\"htmlBlock\"]) : undefined;\n this.textBlock = _data[\"textBlock\"] ? TextBlock.fromJS(_data[\"textBlock\"]) : undefined;\n }\n }\n\n static fromJS(data: any): QuizActivityItemDto {\n data = typeof data === 'object' ? data : {};\n let result = new QuizActivityItemDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"multiChoiceProblem\"] = this.multiChoiceProblem ? this.multiChoiceProblem.toJSON() : undefined;\n data[\"multiEntryProblem\"] = this.multiEntryProblem ? this.multiEntryProblem.toJSON() : undefined;\n data[\"multiChoiceGrid\"] = this.multiChoiceGrid ? this.multiChoiceGrid.toJSON() : undefined;\n data[\"textInputProblem\"] = this.textInputProblem ? this.textInputProblem.toJSON() : undefined;\n data[\"id\"] = this.id;\n data[\"quizId\"] = this.quizId;\n data[\"pageId\"] = this.pageId;\n data[\"parentId\"] = this.parentId;\n data[\"pageIndex\"] = this.pageIndex;\n data[\"itemNumber\"] = this.itemNumber;\n data[\"itemIndex\"] = this.itemIndex;\n data[\"layoutTemplate\"] = this.layoutTemplate;\n data[\"isProblem\"] = this.isProblem;\n data[\"title\"] = this.title;\n data[\"colSpan\"] = this.colSpan;\n data[\"scoring\"] = this.scoring ? this.scoring.toJSON() : undefined;\n data[\"isActive\"] = this.isActive;\n data[\"itemType\"] = this.itemType;\n data[\"isGroup\"] = this.isGroup;\n data[\"simpleContentBlock\"] = this.simpleContentBlock ? this.simpleContentBlock.toJSON() : undefined;\n data[\"columnBlock\"] = this.columnBlock ? this.columnBlock.toJSON() : undefined;\n data[\"htmlColumnBlock\"] = this.htmlColumnBlock ? this.htmlColumnBlock.toJSON() : undefined;\n data[\"htmlBlock\"] = this.htmlBlock ? this.htmlBlock.toJSON() : undefined;\n data[\"textBlock\"] = this.textBlock ? this.textBlock.toJSON() : undefined;\n return data; \n }\n\n clone(): QuizActivityItemDto {\n const json = this.toJSON();\n let result = new QuizActivityItemDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface IQuizActivityItemDto {\n multiChoiceProblem: MultiChoiceProblemDto;\n multiEntryProblem: MultiEntryProblemDto;\n multiChoiceGrid: MultiChoiceGrid;\n textInputProblem: TextInputProblemDto;\n id: string;\n quizId: string;\n pageId: string;\n parentId: string | undefined;\n pageIndex: number;\n itemNumber: number;\n itemIndex: number;\n layoutTemplate: string | undefined;\n isProblem: boolean;\n title: string | undefined;\n colSpan: number;\n scoring: ScoreRule;\n isActive: boolean;\n itemType: string | undefined;\n isGroup: boolean;\n simpleContentBlock: SimpleContentBlock;\n columnBlock: ColumnBlock;\n htmlColumnBlock: HtmlColumnBlock;\n htmlBlock: HtmlBlock;\n textBlock: TextBlock;\n}\n\nexport class QuizPageDto implements IQuizPageDto {\n quizId: string;\n title: string | undefined;\n itemIndex: number;\n id: string;\n\n constructor(data?: IQuizPageDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.quizId = _data[\"quizId\"];\n this.title = _data[\"title\"];\n this.itemIndex = _data[\"itemIndex\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): QuizPageDto {\n data = typeof data === 'object' ? data : {};\n let result = new QuizPageDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"quizId\"] = this.quizId;\n data[\"title\"] = this.title;\n data[\"itemIndex\"] = this.itemIndex;\n data[\"id\"] = this.id;\n return data; \n }\n\n clone(): QuizPageDto {\n const json = this.toJSON();\n let result = new QuizPageDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface IQuizPageDto {\n quizId: string;\n title: string | undefined;\n itemIndex: number;\n id: string;\n}\n\nexport enum MarkResultKind {\n NotMarked = \"NotMarked\",\n InCorrect = \"InCorrect\",\n PartiallyCorrect = \"PartiallyCorrect\",\n Correct = \"Correct\",\n NoResponse = \"NoResponse\",\n MarkerNotFound = \"MarkerNotFound\",\n}\n\nexport class Mark implements IMark {\n result: MarkResultKind;\n raw: number;\n weighted: number;\n\n constructor(data?: IMark) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"];\n this.raw = _data[\"raw\"];\n this.weighted = _data[\"weighted\"];\n }\n }\n\n static fromJS(data: any): Mark {\n data = typeof data === 'object' ? data : {};\n let result = new Mark();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result;\n data[\"raw\"] = this.raw;\n data[\"weighted\"] = this.weighted;\n return data; \n }\n\n clone(): Mark {\n const json = this.toJSON();\n let result = new Mark();\n result.init(json);\n return result;\n }\n}\n\nexport interface IMark {\n result: MarkResultKind;\n raw: number;\n weighted: number;\n}\n\nexport enum MarkerModeKind {\n Automatic = \"Automatic\",\n Manual = \"Manual\",\n}\n\nexport enum MarkStatusKind {\n New = \"New\",\n Submitted = \"Submitted\",\n Completed = \"Completed\",\n Error = \"Error\",\n}\n\nexport class ResponseEntry implements IResponseEntry {\n key: string | undefined;\n values: { [key: string]: string; } | undefined;\n readonly hasValue: boolean;\n readonly isCorrect: boolean | undefined;\n mark: MarkResultKind;\n earnedPoints: number;\n\n constructor(data?: IResponseEntry) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.key = _data[\"key\"];\n if (_data[\"values\"]) {\n this.values = {} as any;\n for (let key in _data[\"values\"]) {\n if (_data[\"values\"].hasOwnProperty(key))\n (this.values)[key] = _data[\"values\"][key];\n }\n }\n (this).hasValue = _data[\"hasValue\"];\n (this).isCorrect = _data[\"isCorrect\"];\n this.mark = _data[\"mark\"];\n this.earnedPoints = _data[\"earnedPoints\"];\n }\n }\n\n static fromJS(data: any): ResponseEntry {\n data = typeof data === 'object' ? data : {};\n let result = new ResponseEntry();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"key\"] = this.key;\n if (this.values) {\n data[\"values\"] = {};\n for (let key in this.values) {\n if (this.values.hasOwnProperty(key))\n (data[\"values\"])[key] = this.values[key];\n }\n }\n data[\"hasValue\"] = this.hasValue;\n data[\"isCorrect\"] = this.isCorrect;\n data[\"mark\"] = this.mark;\n data[\"earnedPoints\"] = this.earnedPoints;\n return data; \n }\n\n clone(): ResponseEntry {\n const json = this.toJSON();\n let result = new ResponseEntry();\n result.init(json);\n return result;\n }\n}\n\nexport interface IResponseEntry {\n key: string | undefined;\n values: { [key: string]: string; } | undefined;\n hasValue: boolean;\n isCorrect: boolean | undefined;\n mark: MarkResultKind;\n earnedPoints: number;\n}\n\nexport class ProblemResponseDto implements IProblemResponseDto {\n id: string;\n attemptId: string;\n itemId: string;\n isAnswered: boolean;\n mark: Mark;\n problemType: string | undefined;\n markerMode: MarkerModeKind;\n markStatus: MarkStatusKind;\n entries: { [key: string]: ResponseEntry; } | undefined;\n comments: string | undefined;\n\n constructor(data?: IProblemResponseDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.attemptId = _data[\"attemptId\"];\n this.itemId = _data[\"itemId\"];\n this.isAnswered = _data[\"isAnswered\"];\n this.mark = _data[\"mark\"] ? Mark.fromJS(_data[\"mark\"]) : undefined;\n this.problemType = _data[\"problemType\"];\n this.markerMode = _data[\"markerMode\"];\n this.markStatus = _data[\"markStatus\"];\n if (_data[\"entries\"]) {\n this.entries = {} as any;\n for (let key in _data[\"entries\"]) {\n if (_data[\"entries\"].hasOwnProperty(key))\n (this.entries)[key] = _data[\"entries\"][key] ? ResponseEntry.fromJS(_data[\"entries\"][key]) : new ResponseEntry();\n }\n }\n this.comments = _data[\"comments\"];\n }\n }\n\n static fromJS(data: any): ProblemResponseDto {\n data = typeof data === 'object' ? data : {};\n let result = new ProblemResponseDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"attemptId\"] = this.attemptId;\n data[\"itemId\"] = this.itemId;\n data[\"isAnswered\"] = this.isAnswered;\n data[\"mark\"] = this.mark ? this.mark.toJSON() : undefined;\n data[\"problemType\"] = this.problemType;\n data[\"markerMode\"] = this.markerMode;\n data[\"markStatus\"] = this.markStatus;\n if (this.entries) {\n data[\"entries\"] = {};\n for (let key in this.entries) {\n if (this.entries.hasOwnProperty(key))\n (data[\"entries\"])[key] = this.entries[key] ? this.entries[key].toJSON() : undefined;\n }\n }\n data[\"comments\"] = this.comments;\n return data; \n }\n\n clone(): ProblemResponseDto {\n const json = this.toJSON();\n let result = new ProblemResponseDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface IProblemResponseDto {\n id: string;\n attemptId: string;\n itemId: string;\n isAnswered: boolean;\n mark: Mark;\n problemType: string | undefined;\n markerMode: MarkerModeKind;\n markStatus: MarkStatusKind;\n entries: { [key: string]: ResponseEntry; } | undefined;\n comments: string | undefined;\n}\n\nexport class GetQuizAttemptResponse implements IGetQuizAttemptResponse {\n activityId: string;\n attemptId: string;\n attempt: QuizAttemptDto;\n items: QuizActivityItemDto[] | undefined;\n pages: QuizPageDto[] | undefined;\n responses: ProblemResponseDto[] | undefined;\n\n constructor(data?: IGetQuizAttemptResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.activityId = _data[\"activityId\"];\n this.attemptId = _data[\"attemptId\"];\n this.attempt = _data[\"attempt\"] ? QuizAttemptDto.fromJS(_data[\"attempt\"]) : undefined;\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items.push(QuizActivityItemDto.fromJS(item));\n }\n if (Array.isArray(_data[\"pages\"])) {\n this.pages = [] as any;\n for (let item of _data[\"pages\"])\n this.pages.push(QuizPageDto.fromJS(item));\n }\n if (Array.isArray(_data[\"responses\"])) {\n this.responses = [] as any;\n for (let item of _data[\"responses\"])\n this.responses.push(ProblemResponseDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): GetQuizAttemptResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetQuizAttemptResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"activityId\"] = this.activityId;\n data[\"attemptId\"] = this.attemptId;\n data[\"attempt\"] = this.attempt ? this.attempt.toJSON() : undefined;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n if (Array.isArray(this.pages)) {\n data[\"pages\"] = [];\n for (let item of this.pages)\n data[\"pages\"].push(item.toJSON());\n }\n if (Array.isArray(this.responses)) {\n data[\"responses\"] = [];\n for (let item of this.responses)\n data[\"responses\"].push(item.toJSON());\n }\n return data; \n }\n\n clone(): GetQuizAttemptResponse {\n const json = this.toJSON();\n let result = new GetQuizAttemptResponse();\n result.init(json);\n return result;\n }\n}\n\nexport interface IGetQuizAttemptResponse {\n activityId: string;\n attemptId: string;\n attempt: QuizAttemptDto;\n items: QuizActivityItemDto[] | undefined;\n pages: QuizPageDto[] | undefined;\n responses: ProblemResponseDto[] | undefined;\n}\n\nexport class ResponseEntryDto implements IResponseEntryDto {\n key: string | undefined;\n values: { [key: string]: string; } | undefined;\n\n constructor(data?: IResponseEntryDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.key = _data[\"key\"];\n if (_data[\"values\"]) {\n this.values = {} as any;\n for (let key in _data[\"values\"]) {\n if (_data[\"values\"].hasOwnProperty(key))\n (this.values)[key] = _data[\"values\"][key];\n }\n }\n }\n }\n\n static fromJS(data: any): ResponseEntryDto {\n data = typeof data === 'object' ? data : {};\n let result = new ResponseEntryDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"key\"] = this.key;\n if (this.values) {\n data[\"values\"] = {};\n for (let key in this.values) {\n if (this.values.hasOwnProperty(key))\n (data[\"values\"])[key] = this.values[key];\n }\n }\n return data; \n }\n\n clone(): ResponseEntryDto {\n const json = this.toJSON();\n let result = new ResponseEntryDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface IResponseEntryDto {\n key: string | undefined;\n values: { [key: string]: string; } | undefined;\n}\n\nexport class UpdateProblemResponseDto implements IUpdateProblemResponseDto {\n id: string;\n itemId: string;\n itemNumber: number;\n problemType: string | undefined;\n entries: ResponseEntryDto[] | undefined;\n isAnswered: boolean;\n\n constructor(data?: IUpdateProblemResponseDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.itemId = _data[\"itemId\"];\n this.itemNumber = _data[\"itemNumber\"];\n this.problemType = _data[\"problemType\"];\n if (Array.isArray(_data[\"entries\"])) {\n this.entries = [] as any;\n for (let item of _data[\"entries\"])\n this.entries.push(ResponseEntryDto.fromJS(item));\n }\n this.isAnswered = _data[\"isAnswered\"];\n }\n }\n\n static fromJS(data: any): UpdateProblemResponseDto {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateProblemResponseDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"itemId\"] = this.itemId;\n data[\"itemNumber\"] = this.itemNumber;\n data[\"problemType\"] = this.problemType;\n if (Array.isArray(this.entries)) {\n data[\"entries\"] = [];\n for (let item of this.entries)\n data[\"entries\"].push(item.toJSON());\n }\n data[\"isAnswered\"] = this.isAnswered;\n return data; \n }\n\n clone(): UpdateProblemResponseDto {\n const json = this.toJSON();\n let result = new UpdateProblemResponseDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface IUpdateProblemResponseDto {\n id: string;\n itemId: string;\n itemNumber: number;\n problemType: string | undefined;\n entries: ResponseEntryDto[] | undefined;\n isAnswered: boolean;\n}\n\nexport class SaveAnswersRequest implements ISaveAnswersRequest {\n quizId: string;\n attemptId: string;\n responses: UpdateProblemResponseDto[] | undefined;\n\n constructor(data?: ISaveAnswersRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.quizId = _data[\"quizId\"];\n this.attemptId = _data[\"attemptId\"];\n if (Array.isArray(_data[\"responses\"])) {\n this.responses = [] as any;\n for (let item of _data[\"responses\"])\n this.responses.push(UpdateProblemResponseDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): SaveAnswersRequest {\n data = typeof data === 'object' ? data : {};\n let result = new SaveAnswersRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"quizId\"] = this.quizId;\n data[\"attemptId\"] = this.attemptId;\n if (Array.isArray(this.responses)) {\n data[\"responses\"] = [];\n for (let item of this.responses)\n data[\"responses\"].push(item.toJSON());\n }\n return data; \n }\n\n clone(): SaveAnswersRequest {\n const json = this.toJSON();\n let result = new SaveAnswersRequest();\n result.init(json);\n return result;\n }\n}\n\nexport interface ISaveAnswersRequest {\n quizId: string;\n attemptId: string;\n responses: UpdateProblemResponseDto[] | undefined;\n}\n\nexport class SaveAnswersResponse implements ISaveAnswersResponse {\n problemIds: string[] | undefined;\n\n constructor(data?: ISaveAnswersResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"problemIds\"])) {\n this.problemIds = [] as any;\n for (let item of _data[\"problemIds\"])\n this.problemIds.push(item);\n }\n }\n }\n\n static fromJS(data: any): SaveAnswersResponse {\n data = typeof data === 'object' ? data : {};\n let result = new SaveAnswersResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.problemIds)) {\n data[\"problemIds\"] = [];\n for (let item of this.problemIds)\n data[\"problemIds\"].push(item);\n }\n return data; \n }\n\n clone(): SaveAnswersResponse {\n const json = this.toJSON();\n let result = new SaveAnswersResponse();\n result.init(json);\n return result;\n }\n}\n\nexport interface ISaveAnswersResponse {\n problemIds: string[] | undefined;\n}\n\nexport class SubmitQuizRequest implements ISubmitQuizRequest {\n attemptId: string;\n quizId: string;\n responses: UpdateProblemResponseDto[] | undefined;\n\n constructor(data?: ISubmitQuizRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.attemptId = _data[\"attemptId\"];\n this.quizId = _data[\"quizId\"];\n if (Array.isArray(_data[\"responses\"])) {\n this.responses = [] as any;\n for (let item of _data[\"responses\"])\n this.responses.push(UpdateProblemResponseDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): SubmitQuizRequest {\n data = typeof data === 'object' ? data : {};\n let result = new SubmitQuizRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"attemptId\"] = this.attemptId;\n data[\"quizId\"] = this.quizId;\n if (Array.isArray(this.responses)) {\n data[\"responses\"] = [];\n for (let item of this.responses)\n data[\"responses\"].push(item.toJSON());\n }\n return data; \n }\n\n clone(): SubmitQuizRequest {\n const json = this.toJSON();\n let result = new SubmitQuizRequest();\n result.init(json);\n return result;\n }\n}\n\nexport interface ISubmitQuizRequest {\n attemptId: string;\n quizId: string;\n responses: UpdateProblemResponseDto[] | undefined;\n}\n\nexport class QuizResultDto implements IQuizResultDto {\n totalProblems: number;\n correctProblems: number;\n incorrectProblems: number;\n partiallyCorrectProblems: number;\n notAttempedProblems: number;\n score: ScoreResult;\n feedback: FeedbackResult;\n points: number;\n\n constructor(data?: IQuizResultDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalProblems = _data[\"totalProblems\"];\n this.correctProblems = _data[\"correctProblems\"];\n this.incorrectProblems = _data[\"incorrectProblems\"];\n this.partiallyCorrectProblems = _data[\"partiallyCorrectProblems\"];\n this.notAttempedProblems = _data[\"notAttempedProblems\"];\n this.score = _data[\"score\"] ? ScoreResult.fromJS(_data[\"score\"]) : undefined;\n this.feedback = _data[\"feedback\"] ? FeedbackResult.fromJS(_data[\"feedback\"]) : undefined;\n this.points = _data[\"points\"];\n }\n }\n\n static fromJS(data: any): QuizResultDto {\n data = typeof data === 'object' ? data : {};\n let result = new QuizResultDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalProblems\"] = this.totalProblems;\n data[\"correctProblems\"] = this.correctProblems;\n data[\"incorrectProblems\"] = this.incorrectProblems;\n data[\"partiallyCorrectProblems\"] = this.partiallyCorrectProblems;\n data[\"notAttempedProblems\"] = this.notAttempedProblems;\n data[\"score\"] = this.score ? this.score.toJSON() : undefined;\n data[\"feedback\"] = this.feedback ? this.feedback.toJSON() : undefined;\n data[\"points\"] = this.points;\n return data; \n }\n\n clone(): QuizResultDto {\n const json = this.toJSON();\n let result = new QuizResultDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface IQuizResultDto {\n totalProblems: number;\n correctProblems: number;\n incorrectProblems: number;\n partiallyCorrectProblems: number;\n notAttempedProblems: number;\n score: ScoreResult;\n feedback: FeedbackResult;\n points: number;\n}\n\nexport class SubmitQuizResponse implements ISubmitQuizResponse {\n markStatus: MarkStatusKind;\n isCompleted: boolean;\n result: QuizResultDto;\n results: ProblemResponseDto[] | undefined;\n\n constructor(data?: ISubmitQuizResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.markStatus = _data[\"markStatus\"];\n this.isCompleted = _data[\"isCompleted\"];\n this.result = _data[\"result\"] ? QuizResultDto.fromJS(_data[\"result\"]) : undefined;\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results.push(ProblemResponseDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): SubmitQuizResponse {\n data = typeof data === 'object' ? data : {};\n let result = new SubmitQuizResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"markStatus\"] = this.markStatus;\n data[\"isCompleted\"] = this.isCompleted;\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n return data; \n }\n\n clone(): SubmitQuizResponse {\n const json = this.toJSON();\n let result = new SubmitQuizResponse();\n result.init(json);\n return result;\n }\n}\n\nexport interface ISubmitQuizResponse {\n markStatus: MarkStatusKind;\n isCompleted: boolean;\n result: QuizResultDto;\n results: ProblemResponseDto[] | undefined;\n}\n\nexport class ApiException extends Error {\n message: string;\n status: number;\n response: string;\n headers: { [key: string]: any; };\n result: any;\n\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\n super();\n\n this.message = message;\n this.status = status;\n this.response = response;\n this.headers = headers;\n this.result = result;\n }\n\n protected isApiException = true;\n\n static isApiException(obj: any): obj is ApiException {\n return obj.isApiException === true;\n }\n}\n\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): Observable {\n if (result !== null && result !== undefined)\n return _observableThrow(result);\n else\n return _observableThrow(new ApiException(message, status, response, headers, null));\n}\n\nfunction blobToText(blob: any): Observable {\n return new Observable((observer: any) => {\n if (!blob) {\n observer.next(\"\");\n observer.complete();\n } else {\n let reader = new FileReader();\n reader.onload = event => {\n observer.next((event.target).result);\n observer.complete();\n };\n reader.readAsText(blob);\n }\n });\n}","/* tslint:disable */\n/* eslint-disable */\n//----------------------\n// \n// Generated using the NSwag toolchain v13.11.3.0 (NJsonSchema v10.4.4.0 (Newtonsoft.Json v11.0.0.0)) (http://NSwag.org)\n// \n//----------------------\n// ReSharper disable InconsistentNaming\n\nimport { mergeMap as _observableMergeMap, catchError as _observableCatch } from 'rxjs/operators';\nimport { Observable, throwError as _observableThrow, of as _observableOf } from 'rxjs';\nimport { Injectable, Inject, Optional, InjectionToken } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpResponse, HttpResponseBase } from '@angular/common/http';\n\nimport * as moment from 'moment';\n\nexport const COURSE_API_BASE_URL = new InjectionToken('COURSE_API_BASE_URL');\n\n@Injectable()\nexport class AchievementsAppService {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(COURSE_API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param activityId (optional) \n * @param userId (optional) \n * @return Success\n */\n getActivityRewards(activityId: string | undefined, userId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/workbook/course/achievements/get-activity-rewards?\";\n if (activityId === null)\n throw new Error(\"The parameter 'activityId' cannot be null.\");\n else if (activityId !== undefined)\n url_ += \"activityId=\" + encodeURIComponent(\"\" + activityId) + \"&\";\n if (userId === null)\n throw new Error(\"The parameter 'userId' cannot be null.\");\n else if (userId !== undefined)\n url_ += \"userId=\" + encodeURIComponent(\"\" + userId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetActivityRewards(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetActivityRewards(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processGetActivityRewards(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ActivityRewardsDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @param studentId (optional) \n * @return Success\n */\n getAchievements(studentId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/workbook/course/achievements/get-achievements?\";\n if (studentId === null)\n throw new Error(\"The parameter 'studentId' cannot be null.\");\n else if (studentId !== undefined)\n url_ += \"studentId=\" + encodeURIComponent(\"\" + studentId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAchievements(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAchievements(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processGetAchievements(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200.push(AchievementInfo.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n}\n\n@Injectable()\nexport class ActivityAppService {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(COURSE_API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param studentId (optional) \n * @param courseId (optional) \n * @param subjectId (optional) \n * @return Success\n */\n getRecentActivities(studentId: number | undefined, courseId: number | undefined, subjectId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/workbook/course/activity/get-recent-activities?\";\n if (studentId === null)\n throw new Error(\"The parameter 'studentId' cannot be null.\");\n else if (studentId !== undefined)\n url_ += \"studentId=\" + encodeURIComponent(\"\" + studentId) + \"&\";\n if (courseId === null)\n throw new Error(\"The parameter 'courseId' cannot be null.\");\n else if (courseId !== undefined)\n url_ += \"courseId=\" + encodeURIComponent(\"\" + courseId) + \"&\";\n if (subjectId === null)\n throw new Error(\"The parameter 'subjectId' cannot be null.\");\n else if (subjectId !== undefined)\n url_ += \"subjectId=\" + encodeURIComponent(\"\" + subjectId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetRecentActivities(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetRecentActivities(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processGetRecentActivities(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetActivitiesResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @param courseId (optional) \n * @return Success\n */\n getCourseSegments(courseId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/workbook/course/activity/get-course-segments?\";\n if (courseId === null)\n throw new Error(\"The parameter 'courseId' cannot be null.\");\n else if (courseId !== undefined)\n url_ += \"courseId=\" + encodeURIComponent(\"\" + courseId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetCourseSegments(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetCourseSegments(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processGetCourseSegments(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetCourseSegmentsResult.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @param studentId (optional) \n * @param activityId (optional) \n * @return Success\n */\n getActivity(studentId: number | undefined, activityId: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/workbook/course/activity/get-activity?\";\n if (studentId === null)\n throw new Error(\"The parameter 'studentId' cannot be null.\");\n else if (studentId !== undefined)\n url_ += \"studentId=\" + encodeURIComponent(\"\" + studentId) + \"&\";\n if (activityId === null)\n throw new Error(\"The parameter 'activityId' cannot be null.\");\n else if (activityId !== undefined)\n url_ += \"activityId=\" + encodeURIComponent(\"\" + activityId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetActivity(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetActivity(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processGetActivity(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = StudentActivityDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @return Success\n */\n getNinetiesClub(): Observable {\n let url_ = this.baseUrl + \"/api/workbook/course/activity/get-nineties-club\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetNinetiesClub(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetNinetiesClub(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processGetNinetiesClub(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200.push(NinetiesClubMemberDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @param courseId (optional) \n * @return Success\n */\n getNinetiesClubSections(courseId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/workbook/course/activity/get-nineties-club-sections?\";\n if (courseId === null)\n throw new Error(\"The parameter 'courseId' cannot be null.\");\n else if (courseId !== undefined)\n url_ += \"courseId=\" + encodeURIComponent(\"\" + courseId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetNinetiesClubSections(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetNinetiesClubSections(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processGetNinetiesClubSections(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200.push(ClubSectionDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @param studentId (optional) \n * @param courseId (optional) \n * @return Success\n */\n getSubjectProgress(studentId: number | undefined, courseId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/workbook/course/activity/get-subject-progress?\";\n if (studentId === null)\n throw new Error(\"The parameter 'studentId' cannot be null.\");\n else if (studentId !== undefined)\n url_ += \"studentId=\" + encodeURIComponent(\"\" + studentId) + \"&\";\n if (courseId === null)\n throw new Error(\"The parameter 'courseId' cannot be null.\");\n else if (courseId !== undefined)\n url_ += \"courseId=\" + encodeURIComponent(\"\" + courseId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetSubjectProgress(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetSubjectProgress(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processGetSubjectProgress(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200.push(SubjectProgressDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @param studentId (optional) \n * @param subjectId (optional) \n * @return Success\n */\n getTopicProgress(studentId: number | undefined, subjectId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/workbook/course/activity/get-topic-progress?\";\n if (studentId === null)\n throw new Error(\"The parameter 'studentId' cannot be null.\");\n else if (studentId !== undefined)\n url_ += \"studentId=\" + encodeURIComponent(\"\" + studentId) + \"&\";\n if (subjectId === null)\n throw new Error(\"The parameter 'subjectId' cannot be null.\");\n else if (subjectId !== undefined)\n url_ += \"subjectId=\" + encodeURIComponent(\"\" + subjectId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetTopicProgress(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetTopicProgress(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processGetTopicProgress(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200.push(TopicProgressDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n}\n\n@Injectable()\nexport class ClassAppService {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(COURSE_API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param studentId (optional) \n * @param courseId (optional) \n * @return Success\n */\n getStudentClasses(studentId: number | undefined, courseId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/workbook/course/class/get-student-classes?\";\n if (studentId === null)\n throw new Error(\"The parameter 'studentId' cannot be null.\");\n else if (studentId !== undefined)\n url_ += \"studentId=\" + encodeURIComponent(\"\" + studentId) + \"&\";\n if (courseId === null)\n throw new Error(\"The parameter 'courseId' cannot be null.\");\n else if (courseId !== undefined)\n url_ += \"courseId=\" + encodeURIComponent(\"\" + courseId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetStudentClasses(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetStudentClasses(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processGetStudentClasses(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200.push(ClassDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @param studentId (optional) \n * @param classId (optional) \n * @return Success\n */\n attendClass(studentId: number | undefined, classId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/workbook/course/class/attend-class?\";\n if (studentId === null)\n throw new Error(\"The parameter 'studentId' cannot be null.\");\n else if (studentId !== undefined)\n url_ += \"studentId=\" + encodeURIComponent(\"\" + studentId) + \"&\";\n if (classId === null)\n throw new Error(\"The parameter 'classId' cannot be null.\");\n else if (classId !== undefined)\n url_ += \"classId=\" + encodeURIComponent(\"\" + classId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processAttendClass(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAttendClass(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processAttendClass(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = resultData200 !== undefined ? resultData200 : null;\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @param activityId (optional) \n * @return Success\n */\n getClassRecording(activityId: string | undefined): Observable {\n let url_ = this.baseUrl + \"/api/workbook/course/class/get-class-recording?\";\n if (activityId === null)\n throw new Error(\"The parameter 'activityId' cannot be null.\");\n else if (activityId !== undefined)\n url_ += \"activityId=\" + encodeURIComponent(\"\" + activityId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetClassRecording(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetClassRecording(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processGetClassRecording(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ClassRecordingDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n}\n\nexport class AchievementInfo implements IAchievementInfo {\n studentId: number;\n courseId: number;\n itemId: string | undefined;\n itemType: string | undefined;\n item: string | undefined;\n rewardType: string | undefined;\n rewardId: number;\n title: string | undefined;\n message: string | undefined;\n imageId: number;\n imageUrl: string | undefined;\n achievedAt: moment.Moment | undefined;\n\n constructor(data?: IAchievementInfo) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.studentId = _data[\"studentId\"];\n this.courseId = _data[\"courseId\"];\n this.itemId = _data[\"itemId\"];\n this.itemType = _data[\"itemType\"];\n this.item = _data[\"item\"];\n this.rewardType = _data[\"rewardType\"];\n this.rewardId = _data[\"rewardId\"];\n this.title = _data[\"title\"];\n this.message = _data[\"message\"];\n this.imageId = _data[\"imageId\"];\n this.imageUrl = _data[\"imageUrl\"];\n this.achievedAt = _data[\"achievedAt\"] ? moment(_data[\"achievedAt\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): AchievementInfo {\n data = typeof data === 'object' ? data : {};\n let result = new AchievementInfo();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"studentId\"] = this.studentId;\n data[\"courseId\"] = this.courseId;\n data[\"itemId\"] = this.itemId;\n data[\"itemType\"] = this.itemType;\n data[\"item\"] = this.item;\n data[\"rewardType\"] = this.rewardType;\n data[\"rewardId\"] = this.rewardId;\n data[\"title\"] = this.title;\n data[\"message\"] = this.message;\n data[\"imageId\"] = this.imageId;\n data[\"imageUrl\"] = this.imageUrl;\n data[\"achievedAt\"] = this.achievedAt ? this.achievedAt.toISOString() : undefined;\n return data; \n }\n\n clone(): AchievementInfo {\n const json = this.toJSON();\n let result = new AchievementInfo();\n result.init(json);\n return result;\n }\n}\n\nexport interface IAchievementInfo {\n studentId: number;\n courseId: number;\n itemId: string | undefined;\n itemType: string | undefined;\n item: string | undefined;\n rewardType: string | undefined;\n rewardId: number;\n title: string | undefined;\n message: string | undefined;\n imageId: number;\n imageUrl: string | undefined;\n achievedAt: moment.Moment | undefined;\n}\n\nexport class ActivityRewardsDto implements IActivityRewardsDto {\n userId: number;\n activityId: string | undefined;\n actionType: string | undefined;\n points: number | undefined;\n achievements: AchievementInfo[] | undefined;\n\n constructor(data?: IActivityRewardsDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userId = _data[\"userId\"];\n this.activityId = _data[\"activityId\"];\n this.actionType = _data[\"actionType\"];\n this.points = _data[\"points\"];\n if (Array.isArray(_data[\"achievements\"])) {\n this.achievements = [] as any;\n for (let item of _data[\"achievements\"])\n this.achievements.push(AchievementInfo.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ActivityRewardsDto {\n data = typeof data === 'object' ? data : {};\n let result = new ActivityRewardsDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userId\"] = this.userId;\n data[\"activityId\"] = this.activityId;\n data[\"actionType\"] = this.actionType;\n data[\"points\"] = this.points;\n if (Array.isArray(this.achievements)) {\n data[\"achievements\"] = [];\n for (let item of this.achievements)\n data[\"achievements\"].push(item.toJSON());\n }\n return data; \n }\n\n clone(): ActivityRewardsDto {\n const json = this.toJSON();\n let result = new ActivityRewardsDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface IActivityRewardsDto {\n userId: number;\n activityId: string | undefined;\n actionType: string | undefined;\n points: number | undefined;\n achievements: AchievementInfo[] | undefined;\n}\n\nexport enum PublishStatusKind {\n New = \"New\",\n Draft = \"Draft\",\n Review = \"Review\",\n Published = \"Published\",\n Archived = \"Archived\",\n}\n\nexport enum ActivityStatusKind {\n Upcoming = \"Upcoming\",\n Due = \"Due\",\n InProgress = \"InProgress\",\n Completed = \"Completed\",\n Closed = \"Closed\",\n Submitted = \"Submitted\",\n}\n\nexport class StudentActivityDto implements IStudentActivityDto {\n courseId: number;\n activityId: string;\n activityType: string | undefined;\n title: string | undefined;\n subject: string | undefined;\n subjectId: number;\n topic: string | undefined;\n topicId: number;\n previewImageId: number;\n previewImageUrl: string | undefined;\n releaseDate: moment.Moment | undefined;\n dueDate: moment.Moment | undefined;\n startTime: moment.Moment | undefined;\n completedTime: moment.Moment | undefined;\n publishingStatus: PublishStatusKind;\n itemIndex: number;\n activityStatus: ActivityStatusKind;\n status: string | undefined;\n studentId: number;\n isAvailable: boolean;\n hasAccess: boolean;\n score: number;\n readonly isCompleted: boolean;\n assignmentType: string | undefined;\n assignmentTypeId: number;\n courseSegmentId: number;\n sequenceNumber: number;\n isGraded: boolean;\n isAssignment: boolean;\n segmentId: number;\n subjectSequenceNumber: number;\n indexNumber: number;\n readonly starRating: number;\n id: string;\n\n constructor(data?: IStudentActivityDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.courseId = _data[\"courseId\"];\n this.activityId = _data[\"activityId\"];\n this.activityType = _data[\"activityType\"];\n this.title = _data[\"title\"];\n this.subject = _data[\"subject\"];\n this.subjectId = _data[\"subjectId\"];\n this.topic = _data[\"topic\"];\n this.topicId = _data[\"topicId\"];\n this.previewImageId = _data[\"previewImageId\"];\n this.previewImageUrl = _data[\"previewImageUrl\"];\n this.releaseDate = _data[\"releaseDate\"] ? moment(_data[\"releaseDate\"].toString()) : undefined;\n this.dueDate = _data[\"dueDate\"] ? moment(_data[\"dueDate\"].toString()) : undefined;\n this.startTime = _data[\"startTime\"] ? moment(_data[\"startTime\"].toString()) : undefined;\n this.completedTime = _data[\"completedTime\"] ? moment(_data[\"completedTime\"].toString()) : undefined;\n this.publishingStatus = _data[\"publishingStatus\"];\n this.itemIndex = _data[\"itemIndex\"];\n this.activityStatus = _data[\"activityStatus\"];\n this.status = _data[\"status\"];\n this.studentId = _data[\"studentId\"];\n this.isAvailable = _data[\"isAvailable\"];\n this.hasAccess = _data[\"hasAccess\"];\n this.score = _data[\"score\"];\n (this).isCompleted = _data[\"isCompleted\"];\n this.assignmentType = _data[\"assignmentType\"];\n this.assignmentTypeId = _data[\"assignmentTypeId\"];\n this.courseSegmentId = _data[\"courseSegmentId\"];\n this.sequenceNumber = _data[\"sequenceNumber\"];\n this.isGraded = _data[\"isGraded\"];\n this.isAssignment = _data[\"isAssignment\"];\n this.segmentId = _data[\"segmentId\"];\n this.subjectSequenceNumber = _data[\"subjectSequenceNumber\"];\n this.indexNumber = _data[\"indexNumber\"];\n (this).starRating = _data[\"starRating\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): StudentActivityDto {\n data = typeof data === 'object' ? data : {};\n let result = new StudentActivityDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"courseId\"] = this.courseId;\n data[\"activityId\"] = this.activityId;\n data[\"activityType\"] = this.activityType;\n data[\"title\"] = this.title;\n data[\"subject\"] = this.subject;\n data[\"subjectId\"] = this.subjectId;\n data[\"topic\"] = this.topic;\n data[\"topicId\"] = this.topicId;\n data[\"previewImageId\"] = this.previewImageId;\n data[\"previewImageUrl\"] = this.previewImageUrl;\n data[\"releaseDate\"] = this.releaseDate ? this.releaseDate.toISOString() : undefined;\n data[\"dueDate\"] = this.dueDate ? this.dueDate.toISOString() : undefined;\n data[\"startTime\"] = this.startTime ? this.startTime.toISOString() : undefined;\n data[\"completedTime\"] = this.completedTime ? this.completedTime.toISOString() : undefined;\n data[\"publishingStatus\"] = this.publishingStatus;\n data[\"itemIndex\"] = this.itemIndex;\n data[\"activityStatus\"] = this.activityStatus;\n data[\"status\"] = this.status;\n data[\"studentId\"] = this.studentId;\n data[\"isAvailable\"] = this.isAvailable;\n data[\"hasAccess\"] = this.hasAccess;\n data[\"score\"] = this.score;\n data[\"isCompleted\"] = this.isCompleted;\n data[\"assignmentType\"] = this.assignmentType;\n data[\"assignmentTypeId\"] = this.assignmentTypeId;\n data[\"courseSegmentId\"] = this.courseSegmentId;\n data[\"sequenceNumber\"] = this.sequenceNumber;\n data[\"isGraded\"] = this.isGraded;\n data[\"isAssignment\"] = this.isAssignment;\n data[\"segmentId\"] = this.segmentId;\n data[\"subjectSequenceNumber\"] = this.subjectSequenceNumber;\n data[\"indexNumber\"] = this.indexNumber;\n data[\"starRating\"] = this.starRating;\n data[\"id\"] = this.id;\n return data; \n }\n\n clone(): StudentActivityDto {\n const json = this.toJSON();\n let result = new StudentActivityDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface IStudentActivityDto {\n courseId: number;\n activityId: string;\n activityType: string | undefined;\n title: string | undefined;\n subject: string | undefined;\n subjectId: number;\n topic: string | undefined;\n topicId: number;\n previewImageId: number;\n previewImageUrl: string | undefined;\n releaseDate: moment.Moment | undefined;\n dueDate: moment.Moment | undefined;\n startTime: moment.Moment | undefined;\n completedTime: moment.Moment | undefined;\n publishingStatus: PublishStatusKind;\n itemIndex: number;\n activityStatus: ActivityStatusKind;\n status: string | undefined;\n studentId: number;\n isAvailable: boolean;\n hasAccess: boolean;\n score: number;\n isCompleted: boolean;\n assignmentType: string | undefined;\n assignmentTypeId: number;\n courseSegmentId: number;\n sequenceNumber: number;\n isGraded: boolean;\n isAssignment: boolean;\n segmentId: number;\n subjectSequenceNumber: number;\n indexNumber: number;\n starRating: number;\n id: string;\n}\n\nexport class GetActivitiesResponse implements IGetActivitiesResponse {\n assignments: StudentActivityDto[] | undefined;\n\n constructor(data?: IGetActivitiesResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"assignments\"])) {\n this.assignments = [] as any;\n for (let item of _data[\"assignments\"])\n this.assignments.push(StudentActivityDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): GetActivitiesResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetActivitiesResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.assignments)) {\n data[\"assignments\"] = [];\n for (let item of this.assignments)\n data[\"assignments\"].push(item.toJSON());\n }\n return data; \n }\n\n clone(): GetActivitiesResponse {\n const json = this.toJSON();\n let result = new GetActivitiesResponse();\n result.init(json);\n return result;\n }\n}\n\nexport interface IGetActivitiesResponse {\n assignments: StudentActivityDto[] | undefined;\n}\n\nexport class CourseSegmentDto implements ICourseSegmentDto {\n courseId: number;\n title: string | undefined;\n sectionId: number;\n segmentNumber: number;\n segmentOrder: number;\n startDate: moment.Moment | undefined;\n endDate: moment.Moment | undefined;\n publishStatus: PublishStatusKind;\n activities: StudentActivityDto[] | undefined;\n id: number;\n\n constructor(data?: ICourseSegmentDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.courseId = _data[\"courseId\"];\n this.title = _data[\"title\"];\n this.sectionId = _data[\"sectionId\"];\n this.segmentNumber = _data[\"segmentNumber\"];\n this.segmentOrder = _data[\"segmentOrder\"];\n this.startDate = _data[\"startDate\"] ? moment(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? moment(_data[\"endDate\"].toString()) : undefined;\n this.publishStatus = _data[\"publishStatus\"];\n if (Array.isArray(_data[\"activities\"])) {\n this.activities = [] as any;\n for (let item of _data[\"activities\"])\n this.activities.push(StudentActivityDto.fromJS(item));\n }\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): CourseSegmentDto {\n data = typeof data === 'object' ? data : {};\n let result = new CourseSegmentDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"courseId\"] = this.courseId;\n data[\"title\"] = this.title;\n data[\"sectionId\"] = this.sectionId;\n data[\"segmentNumber\"] = this.segmentNumber;\n data[\"segmentOrder\"] = this.segmentOrder;\n data[\"startDate\"] = this.startDate ? this.startDate.toISOString() : undefined;\n data[\"endDate\"] = this.endDate ? this.endDate.toISOString() : undefined;\n data[\"publishStatus\"] = this.publishStatus;\n if (Array.isArray(this.activities)) {\n data[\"activities\"] = [];\n for (let item of this.activities)\n data[\"activities\"].push(item.toJSON());\n }\n data[\"id\"] = this.id;\n return data; \n }\n\n clone(): CourseSegmentDto {\n const json = this.toJSON();\n let result = new CourseSegmentDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface ICourseSegmentDto {\n courseId: number;\n title: string | undefined;\n sectionId: number;\n segmentNumber: number;\n segmentOrder: number;\n startDate: moment.Moment | undefined;\n endDate: moment.Moment | undefined;\n publishStatus: PublishStatusKind;\n activities: StudentActivityDto[] | undefined;\n id: number;\n}\n\nexport class CourseSectionDto implements ICourseSectionDto {\n courseId: number;\n sectionNumber: number;\n title: string | undefined;\n id: number;\n\n constructor(data?: ICourseSectionDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.courseId = _data[\"courseId\"];\n this.sectionNumber = _data[\"sectionNumber\"];\n this.title = _data[\"title\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): CourseSectionDto {\n data = typeof data === 'object' ? data : {};\n let result = new CourseSectionDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"courseId\"] = this.courseId;\n data[\"sectionNumber\"] = this.sectionNumber;\n data[\"title\"] = this.title;\n data[\"id\"] = this.id;\n return data; \n }\n\n clone(): CourseSectionDto {\n const json = this.toJSON();\n let result = new CourseSectionDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface ICourseSectionDto {\n courseId: number;\n sectionNumber: number;\n title: string | undefined;\n id: number;\n}\n\nexport class GetCourseSegmentsResult implements IGetCourseSegmentsResult {\n segments: CourseSegmentDto[] | undefined;\n sections: CourseSectionDto[] | undefined;\n\n constructor(data?: IGetCourseSegmentsResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"segments\"])) {\n this.segments = [] as any;\n for (let item of _data[\"segments\"])\n this.segments.push(CourseSegmentDto.fromJS(item));\n }\n if (Array.isArray(_data[\"sections\"])) {\n this.sections = [] as any;\n for (let item of _data[\"sections\"])\n this.sections.push(CourseSectionDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): GetCourseSegmentsResult {\n data = typeof data === 'object' ? data : {};\n let result = new GetCourseSegmentsResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.segments)) {\n data[\"segments\"] = [];\n for (let item of this.segments)\n data[\"segments\"].push(item.toJSON());\n }\n if (Array.isArray(this.sections)) {\n data[\"sections\"] = [];\n for (let item of this.sections)\n data[\"sections\"].push(item.toJSON());\n }\n return data; \n }\n\n clone(): GetCourseSegmentsResult {\n const json = this.toJSON();\n let result = new GetCourseSegmentsResult();\n result.init(json);\n return result;\n }\n}\n\nexport interface IGetCourseSegmentsResult {\n segments: CourseSegmentDto[] | undefined;\n sections: CourseSectionDto[] | undefined;\n}\n\nexport class NinetiesClubMemberDto implements INinetiesClubMemberDto {\n courseId: number;\n studentId: number;\n studentNumber: string | undefined;\n examTitle: string | undefined;\n grade: number;\n fullName: string | undefined;\n sectionId: number;\n avatarImageId: number;\n avatarImageUrl: string | undefined;\n\n constructor(data?: INinetiesClubMemberDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.courseId = _data[\"courseId\"];\n this.studentId = _data[\"studentId\"];\n this.studentNumber = _data[\"studentNumber\"];\n this.examTitle = _data[\"examTitle\"];\n this.grade = _data[\"grade\"];\n this.fullName = _data[\"fullName\"];\n this.sectionId = _data[\"sectionId\"];\n this.avatarImageId = _data[\"avatarImageId\"];\n this.avatarImageUrl = _data[\"avatarImageUrl\"];\n }\n }\n\n static fromJS(data: any): NinetiesClubMemberDto {\n data = typeof data === 'object' ? data : {};\n let result = new NinetiesClubMemberDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"courseId\"] = this.courseId;\n data[\"studentId\"] = this.studentId;\n data[\"studentNumber\"] = this.studentNumber;\n data[\"examTitle\"] = this.examTitle;\n data[\"grade\"] = this.grade;\n data[\"fullName\"] = this.fullName;\n data[\"sectionId\"] = this.sectionId;\n data[\"avatarImageId\"] = this.avatarImageId;\n data[\"avatarImageUrl\"] = this.avatarImageUrl;\n return data; \n }\n\n clone(): NinetiesClubMemberDto {\n const json = this.toJSON();\n let result = new NinetiesClubMemberDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface INinetiesClubMemberDto {\n courseId: number;\n studentId: number;\n studentNumber: string | undefined;\n examTitle: string | undefined;\n grade: number;\n fullName: string | undefined;\n sectionId: number;\n avatarImageId: number;\n avatarImageUrl: string | undefined;\n}\n\nexport class ClubSectionDto implements IClubSectionDto {\n name: string | undefined;\n sectionDate: moment.Moment;\n members: NinetiesClubMemberDto[] | undefined;\n id: number;\n\n constructor(data?: IClubSectionDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.sectionDate = _data[\"sectionDate\"] ? moment(_data[\"sectionDate\"].toString()) : undefined;\n if (Array.isArray(_data[\"members\"])) {\n this.members = [] as any;\n for (let item of _data[\"members\"])\n this.members.push(NinetiesClubMemberDto.fromJS(item));\n }\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): ClubSectionDto {\n data = typeof data === 'object' ? data : {};\n let result = new ClubSectionDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"sectionDate\"] = this.sectionDate ? this.sectionDate.toISOString() : undefined;\n if (Array.isArray(this.members)) {\n data[\"members\"] = [];\n for (let item of this.members)\n data[\"members\"].push(item.toJSON());\n }\n data[\"id\"] = this.id;\n return data; \n }\n\n clone(): ClubSectionDto {\n const json = this.toJSON();\n let result = new ClubSectionDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface IClubSectionDto {\n name: string | undefined;\n sectionDate: moment.Moment;\n members: NinetiesClubMemberDto[] | undefined;\n id: number;\n}\n\nexport class SubjectProgressDto implements ISubjectProgressDto {\n id: number;\n name: string | undefined;\n readonly key: string | undefined;\n completedAssignments: number;\n totalAssignments: number;\n completedPercent: number;\n averageScore: number;\n\n constructor(data?: ISubjectProgressDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n (this).key = _data[\"key\"];\n this.completedAssignments = _data[\"completedAssignments\"];\n this.totalAssignments = _data[\"totalAssignments\"];\n this.completedPercent = _data[\"completedPercent\"];\n this.averageScore = _data[\"averageScore\"];\n }\n }\n\n static fromJS(data: any): SubjectProgressDto {\n data = typeof data === 'object' ? data : {};\n let result = new SubjectProgressDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"key\"] = this.key;\n data[\"completedAssignments\"] = this.completedAssignments;\n data[\"totalAssignments\"] = this.totalAssignments;\n data[\"completedPercent\"] = this.completedPercent;\n data[\"averageScore\"] = this.averageScore;\n return data; \n }\n\n clone(): SubjectProgressDto {\n const json = this.toJSON();\n let result = new SubjectProgressDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface ISubjectProgressDto {\n id: number;\n name: string | undefined;\n key: string | undefined;\n completedAssignments: number;\n totalAssignments: number;\n completedPercent: number;\n averageScore: number;\n}\n\nexport class TopicProgressDto implements ITopicProgressDto {\n id: number;\n title: string | undefined;\n indexNumber: number;\n subject: string | undefined;\n subjectId: number;\n completedActivities: number;\n totalActivities: number;\n readonly progressPercent: number;\n studentGrade: number;\n rating: number;\n activities: StudentActivityDto[] | undefined;\n\n constructor(data?: ITopicProgressDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.title = _data[\"title\"];\n this.indexNumber = _data[\"indexNumber\"];\n this.subject = _data[\"subject\"];\n this.subjectId = _data[\"subjectId\"];\n this.completedActivities = _data[\"completedActivities\"];\n this.totalActivities = _data[\"totalActivities\"];\n (this).progressPercent = _data[\"progressPercent\"];\n this.studentGrade = _data[\"studentGrade\"];\n this.rating = _data[\"rating\"];\n if (Array.isArray(_data[\"activities\"])) {\n this.activities = [] as any;\n for (let item of _data[\"activities\"])\n this.activities.push(StudentActivityDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): TopicProgressDto {\n data = typeof data === 'object' ? data : {};\n let result = new TopicProgressDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"title\"] = this.title;\n data[\"indexNumber\"] = this.indexNumber;\n data[\"subject\"] = this.subject;\n data[\"subjectId\"] = this.subjectId;\n data[\"completedActivities\"] = this.completedActivities;\n data[\"totalActivities\"] = this.totalActivities;\n data[\"progressPercent\"] = this.progressPercent;\n data[\"studentGrade\"] = this.studentGrade;\n data[\"rating\"] = this.rating;\n if (Array.isArray(this.activities)) {\n data[\"activities\"] = [];\n for (let item of this.activities)\n data[\"activities\"].push(item.toJSON());\n }\n return data; \n }\n\n clone(): TopicProgressDto {\n const json = this.toJSON();\n let result = new TopicProgressDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface ITopicProgressDto {\n id: number;\n title: string | undefined;\n indexNumber: number;\n subject: string | undefined;\n subjectId: number;\n completedActivities: number;\n totalActivities: number;\n progressPercent: number;\n studentGrade: number;\n rating: number;\n activities: StudentActivityDto[] | undefined;\n}\n\nexport enum MeetingStatusKind {\n Scheduled = \"Scheduled\",\n Available = \"Available\",\n InProgress = \"InProgress\",\n Completed = \"Completed\",\n}\n\nexport class ClassDto implements IClassDto {\n liveClassId: number;\n title: string | undefined;\n description: string | undefined;\n startTime: moment.Moment;\n endTime: moment.Moment;\n status: MeetingStatusKind;\n meetingType: string | undefined;\n meetingLink: string | undefined;\n readonly time: string | undefined;\n id: number;\n\n constructor(data?: IClassDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.liveClassId = _data[\"liveClassId\"];\n this.title = _data[\"title\"];\n this.description = _data[\"description\"];\n this.startTime = _data[\"startTime\"] ? moment(_data[\"startTime\"].toString()) : undefined;\n this.endTime = _data[\"endTime\"] ? moment(_data[\"endTime\"].toString()) : undefined;\n this.status = _data[\"status\"];\n this.meetingType = _data[\"meetingType\"];\n this.meetingLink = _data[\"meetingLink\"];\n (this).time = _data[\"time\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): ClassDto {\n data = typeof data === 'object' ? data : {};\n let result = new ClassDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"liveClassId\"] = this.liveClassId;\n data[\"title\"] = this.title;\n data[\"description\"] = this.description;\n data[\"startTime\"] = this.startTime ? this.startTime.toISOString() : undefined;\n data[\"endTime\"] = this.endTime ? this.endTime.toISOString() : undefined;\n data[\"status\"] = this.status;\n data[\"meetingType\"] = this.meetingType;\n data[\"meetingLink\"] = this.meetingLink;\n data[\"time\"] = this.time;\n data[\"id\"] = this.id;\n return data; \n }\n\n clone(): ClassDto {\n const json = this.toJSON();\n let result = new ClassDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface IClassDto {\n liveClassId: number;\n title: string | undefined;\n description: string | undefined;\n startTime: moment.Moment;\n endTime: moment.Moment;\n status: MeetingStatusKind;\n meetingType: string | undefined;\n meetingLink: string | undefined;\n time: string | undefined;\n id: number;\n}\n\nexport class ClassRecordingDto implements IClassRecordingDto {\n title: string | undefined;\n description: string | undefined;\n courseId: number;\n subjectId: number | undefined;\n subject: string | undefined;\n activityId: string;\n url: string | undefined;\n videoId: string | undefined;\n\n constructor(data?: IClassRecordingDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.title = _data[\"title\"];\n this.description = _data[\"description\"];\n this.courseId = _data[\"courseId\"];\n this.subjectId = _data[\"subjectId\"];\n this.subject = _data[\"subject\"];\n this.activityId = _data[\"activityId\"];\n this.url = _data[\"url\"];\n this.videoId = _data[\"videoId\"];\n }\n }\n\n static fromJS(data: any): ClassRecordingDto {\n data = typeof data === 'object' ? data : {};\n let result = new ClassRecordingDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"title\"] = this.title;\n data[\"description\"] = this.description;\n data[\"courseId\"] = this.courseId;\n data[\"subjectId\"] = this.subjectId;\n data[\"subject\"] = this.subject;\n data[\"activityId\"] = this.activityId;\n data[\"url\"] = this.url;\n data[\"videoId\"] = this.videoId;\n return data; \n }\n\n clone(): ClassRecordingDto {\n const json = this.toJSON();\n let result = new ClassRecordingDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface IClassRecordingDto {\n title: string | undefined;\n description: string | undefined;\n courseId: number;\n subjectId: number | undefined;\n subject: string | undefined;\n activityId: string;\n url: string | undefined;\n videoId: string | undefined;\n}\n\nexport class ApiException extends Error {\n message: string;\n status: number;\n response: string;\n headers: { [key: string]: any; };\n result: any;\n\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\n super();\n\n this.message = message;\n this.status = status;\n this.response = response;\n this.headers = headers;\n this.result = result;\n }\n\n protected isApiException = true;\n\n static isApiException(obj: any): obj is ApiException {\n return obj.isApiException === true;\n }\n}\n\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): Observable {\n if (result !== null && result !== undefined)\n return _observableThrow(result);\n else\n return _observableThrow(new ApiException(message, status, response, headers, null));\n}\n\nfunction blobToText(blob: any): Observable {\n return new Observable((observer: any) => {\n if (!blob) {\n observer.next(\"\");\n observer.complete();\n } else {\n let reader = new FileReader();\n reader.onload = event => {\n observer.next((event.target).result);\n observer.complete();\n };\n reader.readAsText(blob);\n }\n });\n}","/* tslint:disable */\n/* eslint-disable */\n//----------------------\n// \n// Generated using the NSwag toolchain v13.11.3.0 (NJsonSchema v10.4.4.0 (Newtonsoft.Json v11.0.0.0)) (http://NSwag.org)\n// \n//----------------------\n// ReSharper disable InconsistentNaming\n\nimport { mergeMap as _observableMergeMap, catchError as _observableCatch } from 'rxjs/operators';\nimport { Observable, throwError as _observableThrow, of as _observableOf } from 'rxjs';\nimport { Injectable, Inject, Optional, InjectionToken } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpResponse, HttpResponseBase } from '@angular/common/http';\n\nimport * as moment from 'moment';\n\nexport const PROFILE_API_BASE_URL = new InjectionToken('PROFILE_API_BASE_URL');\n\n@Injectable()\nexport class ProfileAppService {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(PROFILE_API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param studentId (optional) \n * @return Success\n */\n getStudentProfile(studentId: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/workbook/profile/profile/get-student-profile?\";\n if (studentId === null)\n throw new Error(\"The parameter 'studentId' cannot be null.\");\n else if (studentId !== undefined)\n url_ += \"studentId=\" + encodeURIComponent(\"\" + studentId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetStudentProfile(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetStudentProfile(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processGetStudentProfile(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetStudentProfileResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n saveStudentAvatar(body: SaveStudentAvatarRequest | undefined): Observable {\n let url_ = this.baseUrl + \"/api/workbook/profile/profile/save-student-avatar\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json;odata.metadata=minimal;odata.streaming=true\",\n \"Accept\": \"application/json;odata.metadata=minimal;odata.streaming=true\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processSaveStudentAvatar(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processSaveStudentAvatar(response_);\n } catch (e) {\n return >_observableThrow(e);\n }\n } else\n return >_observableThrow(response_);\n }));\n }\n\n protected processSaveStudentAvatar(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response).error instanceof Blob ? (response).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = SaveStudentAvatarResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null);\n }\n}\n\nexport enum AccessModeKind {\n Preview = \"Preview\",\n Full = \"Full\",\n}\n\nexport enum SubscriptionStatusKind {\n Active = \"Active\",\n Trial = \"Trial\",\n TrialExpired = \"TrialExpired\",\n Expired = \"Expired\",\n Cancelled = \"Cancelled\",\n InActive = \"InActive\",\n Completed = \"Completed\",\n Preview = \"Preview\",\n}\n\nexport enum RunStatus {\n Scheduled = \"Scheduled\",\n Started = \"Started\",\n Completed = \"Completed\",\n}\n\nexport class MediaFieldBaseOfImageField implements IMediaFieldBaseOfImageField {\n id: number;\n url: string | undefined;\n readonly hasValue: boolean;\n\n protected _discriminator: string;\n\n constructor(data?: IMediaFieldBaseOfImageField) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n this._discriminator = \"MediaFieldBaseOfImageField\";\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.url = _data[\"url\"];\n (this).hasValue = _data[\"hasValue\"];\n }\n }\n\n static fromJS(data: any): MediaFieldBaseOfImageField {\n data = typeof data === 'object' ? data : {};\n if (data[\"$type\"] === \"ImageField\") {\n let result = new ImageField();\n result.init(data);\n return result;\n }\n let result = new MediaFieldBaseOfImageField();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"$type\"] = this._discriminator; \n data[\"id\"] = this.id;\n data[\"url\"] = this.url;\n data[\"hasValue\"] = this.hasValue;\n return data; \n }\n\n clone(): MediaFieldBaseOfImageField {\n const json = this.toJSON();\n let result = new MediaFieldBaseOfImageField();\n result.init(json);\n return result;\n }\n}\n\nexport interface IMediaFieldBaseOfImageField {\n id: number;\n url: string | undefined;\n hasValue: boolean;\n}\n\nexport class ImageField extends MediaFieldBaseOfImageField implements IImageField {\n\n constructor(data?: IImageField) {\n super(data);\n this._discriminator = \"ImageField\";\n }\n\n init(_data?: any) {\n super.init(_data);\n }\n\n static fromJS(data: any): ImageField {\n data = typeof data === 'object' ? data : {};\n let result = new ImageField();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n super.toJSON(data);\n return data; \n }\n\n clone(): ImageField {\n const json = this.toJSON();\n let result = new ImageField();\n result.init(json);\n return result;\n }\n}\n\nexport interface IImageField extends IMediaFieldBaseOfImageField {\n}\n\nexport class SubjectDto implements ISubjectDto {\n name: string | undefined;\n description: string | undefined;\n previewImage: ImageField;\n iconImage: ImageField;\n tenantId: number;\n id: number;\n\n constructor(data?: ISubjectDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.description = _data[\"description\"];\n this.previewImage = _data[\"previewImage\"] ? ImageField.fromJS(_data[\"previewImage\"]) : undefined;\n this.iconImage = _data[\"iconImage\"] ? ImageField.fromJS(_data[\"iconImage\"]) : undefined;\n this.tenantId = _data[\"tenantId\"];\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): SubjectDto {\n data = typeof data === 'object' ? data : {};\n let result = new SubjectDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"description\"] = this.description;\n data[\"previewImage\"] = this.previewImage ? this.previewImage.toJSON() : undefined;\n data[\"iconImage\"] = this.iconImage ? this.iconImage.toJSON() : undefined;\n data[\"tenantId\"] = this.tenantId;\n data[\"id\"] = this.id;\n return data; \n }\n\n clone(): SubjectDto {\n const json = this.toJSON();\n let result = new SubjectDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface ISubjectDto {\n name: string | undefined;\n description: string | undefined;\n previewImage: ImageField;\n iconImage: ImageField;\n tenantId: number;\n id: number;\n}\n\nexport class StudentEnrollmentDto implements IStudentEnrollmentDto {\n courseId: number;\n course: string | undefined;\n studentId: number;\n accessLevelId: number;\n accessLevel: string | undefined;\n accessMode: AccessModeKind;\n parentUserId: number;\n isTrial: boolean;\n subscriptionTermStartDate: moment.Moment;\n subscriptionTermEndDate: moment.Moment | undefined;\n subscriptionStatus: SubscriptionStatusKind;\n grade: string | undefined;\n courseStartDate: moment.Moment | undefined;\n courseEndDate: moment.Moment | undefined;\n isCourseActive: boolean;\n courseRunStatus: RunStatus;\n subjects: SubjectDto[] | undefined;\n id: string;\n\n constructor(data?: IStudentEnrollmentDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.courseId = _data[\"courseId\"];\n this.course = _data[\"course\"];\n this.studentId = _data[\"studentId\"];\n this.accessLevelId = _data[\"accessLevelId\"];\n this.accessLevel = _data[\"accessLevel\"];\n this.accessMode = _data[\"accessMode\"];\n this.parentUserId = _data[\"parentUserId\"];\n this.isTrial = _data[\"isTrial\"];\n this.subscriptionTermStartDate = _data[\"subscriptionTermStartDate\"] ? moment(_data[\"subscriptionTermStartDate\"].toString()) : undefined;\n this.subscriptionTermEndDate = _data[\"subscriptionTermEndDate\"] ? moment(_data[\"subscriptionTermEndDate\"].toString()) : undefined;\n this.subscriptionStatus = _data[\"subscriptionStatus\"];\n this.grade = _data[\"grade\"];\n this.courseStartDate = _data[\"courseStartDate\"] ? moment(_data[\"courseStartDate\"].toString()) : undefined;\n this.courseEndDate = _data[\"courseEndDate\"] ? moment(_data[\"courseEndDate\"].toString()) : undefined;\n this.isCourseActive = _data[\"isCourseActive\"];\n this.courseRunStatus = _data[\"courseRunStatus\"];\n if (Array.isArray(_data[\"subjects\"])) {\n this.subjects = [] as any;\n for (let item of _data[\"subjects\"])\n this.subjects.push(SubjectDto.fromJS(item));\n }\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): StudentEnrollmentDto {\n data = typeof data === 'object' ? data : {};\n let result = new StudentEnrollmentDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"courseId\"] = this.courseId;\n data[\"course\"] = this.course;\n data[\"studentId\"] = this.studentId;\n data[\"accessLevelId\"] = this.accessLevelId;\n data[\"accessLevel\"] = this.accessLevel;\n data[\"accessMode\"] = this.accessMode;\n data[\"parentUserId\"] = this.parentUserId;\n data[\"isTrial\"] = this.isTrial;\n data[\"subscriptionTermStartDate\"] = this.subscriptionTermStartDate ? this.subscriptionTermStartDate.toISOString() : undefined;\n data[\"subscriptionTermEndDate\"] = this.subscriptionTermEndDate ? this.subscriptionTermEndDate.toISOString() : undefined;\n data[\"subscriptionStatus\"] = this.subscriptionStatus;\n data[\"grade\"] = this.grade;\n data[\"courseStartDate\"] = this.courseStartDate ? this.courseStartDate.toISOString() : undefined;\n data[\"courseEndDate\"] = this.courseEndDate ? this.courseEndDate.toISOString() : undefined;\n data[\"isCourseActive\"] = this.isCourseActive;\n data[\"courseRunStatus\"] = this.courseRunStatus;\n if (Array.isArray(this.subjects)) {\n data[\"subjects\"] = [];\n for (let item of this.subjects)\n data[\"subjects\"].push(item.toJSON());\n }\n data[\"id\"] = this.id;\n return data; \n }\n\n clone(): StudentEnrollmentDto {\n const json = this.toJSON();\n let result = new StudentEnrollmentDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface IStudentEnrollmentDto {\n courseId: number;\n course: string | undefined;\n studentId: number;\n accessLevelId: number;\n accessLevel: string | undefined;\n accessMode: AccessModeKind;\n parentUserId: number;\n isTrial: boolean;\n subscriptionTermStartDate: moment.Moment;\n subscriptionTermEndDate: moment.Moment | undefined;\n subscriptionStatus: SubscriptionStatusKind;\n grade: string | undefined;\n courseStartDate: moment.Moment | undefined;\n courseEndDate: moment.Moment | undefined;\n isCourseActive: boolean;\n courseRunStatus: RunStatus;\n subjects: SubjectDto[] | undefined;\n id: string;\n}\n\nexport class StudentProfileDto implements IStudentProfileDto {\n fullName: string | undefined;\n username: string | undefined;\n avatarImageId: number;\n avatarImageUrl: string | undefined;\n pointsEarned: number;\n awardsEarned: number;\n currentEnrollment: StudentEnrollmentDto;\n id: number;\n\n constructor(data?: IStudentProfileDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.fullName = _data[\"fullName\"];\n this.username = _data[\"username\"];\n this.avatarImageId = _data[\"avatarImageId\"];\n this.avatarImageUrl = _data[\"avatarImageUrl\"];\n this.pointsEarned = _data[\"pointsEarned\"];\n this.awardsEarned = _data[\"awardsEarned\"];\n this.currentEnrollment = _data[\"currentEnrollment\"] ? StudentEnrollmentDto.fromJS(_data[\"currentEnrollment\"]) : undefined;\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): StudentProfileDto {\n data = typeof data === 'object' ? data : {};\n let result = new StudentProfileDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"fullName\"] = this.fullName;\n data[\"username\"] = this.username;\n data[\"avatarImageId\"] = this.avatarImageId;\n data[\"avatarImageUrl\"] = this.avatarImageUrl;\n data[\"pointsEarned\"] = this.pointsEarned;\n data[\"awardsEarned\"] = this.awardsEarned;\n data[\"currentEnrollment\"] = this.currentEnrollment ? this.currentEnrollment.toJSON() : undefined;\n data[\"id\"] = this.id;\n return data; \n }\n\n clone(): StudentProfileDto {\n const json = this.toJSON();\n let result = new StudentProfileDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface IStudentProfileDto {\n fullName: string | undefined;\n username: string | undefined;\n avatarImageId: number;\n avatarImageUrl: string | undefined;\n pointsEarned: number;\n awardsEarned: number;\n currentEnrollment: StudentEnrollmentDto;\n id: number;\n}\n\nexport class StudentAwardDto implements IStudentAwardDto {\n courseId: number;\n awardType: string | undefined;\n awardDate: moment.Moment;\n awardImageUrl: string | undefined;\n awardImageId: number;\n awardTitle: string | undefined;\n lessonTitle: string | undefined;\n lessonType: string | undefined;\n subject: string | undefined;\n reason: string | undefined;\n learningActivityId: number;\n\n constructor(data?: IStudentAwardDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.courseId = _data[\"courseId\"];\n this.awardType = _data[\"awardType\"];\n this.awardDate = _data[\"awardDate\"] ? moment(_data[\"awardDate\"].toString()) : undefined;\n this.awardImageUrl = _data[\"awardImageUrl\"];\n this.awardImageId = _data[\"awardImageId\"];\n this.awardTitle = _data[\"awardTitle\"];\n this.lessonTitle = _data[\"lessonTitle\"];\n this.lessonType = _data[\"lessonType\"];\n this.subject = _data[\"subject\"];\n this.reason = _data[\"reason\"];\n this.learningActivityId = _data[\"learningActivityId\"];\n }\n }\n\n static fromJS(data: any): StudentAwardDto {\n data = typeof data === 'object' ? data : {};\n let result = new StudentAwardDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"courseId\"] = this.courseId;\n data[\"awardType\"] = this.awardType;\n data[\"awardDate\"] = this.awardDate ? this.awardDate.toISOString() : undefined;\n data[\"awardImageUrl\"] = this.awardImageUrl;\n data[\"awardImageId\"] = this.awardImageId;\n data[\"awardTitle\"] = this.awardTitle;\n data[\"lessonTitle\"] = this.lessonTitle;\n data[\"lessonType\"] = this.lessonType;\n data[\"subject\"] = this.subject;\n data[\"reason\"] = this.reason;\n data[\"learningActivityId\"] = this.learningActivityId;\n return data; \n }\n\n clone(): StudentAwardDto {\n const json = this.toJSON();\n let result = new StudentAwardDto();\n result.init(json);\n return result;\n }\n}\n\nexport interface IStudentAwardDto {\n courseId: number;\n awardType: string | undefined;\n awardDate: moment.Moment;\n awardImageUrl: string | undefined;\n awardImageId: number;\n awardTitle: string | undefined;\n lessonTitle: string | undefined;\n lessonType: string | undefined;\n subject: string | undefined;\n reason: string | undefined;\n learningActivityId: number;\n}\n\nexport class GetStudentProfileResponse implements IGetStudentProfileResponse {\n profile: StudentProfileDto;\n awards: StudentAwardDto[] | undefined;\n\n constructor(data?: IGetStudentProfileResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.profile = _data[\"profile\"] ? StudentProfileDto.fromJS(_data[\"profile\"]) : undefined;\n if (Array.isArray(_data[\"awards\"])) {\n this.awards = [] as any;\n for (let item of _data[\"awards\"])\n this.awards.push(StudentAwardDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): GetStudentProfileResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetStudentProfileResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"profile\"] = this.profile ? this.profile.toJSON() : undefined;\n if (Array.isArray(this.awards)) {\n data[\"awards\"] = [];\n for (let item of this.awards)\n data[\"awards\"].push(item.toJSON());\n }\n return data; \n }\n\n clone(): GetStudentProfileResponse {\n const json = this.toJSON();\n let result = new GetStudentProfileResponse();\n result.init(json);\n return result;\n }\n}\n\nexport interface IGetStudentProfileResponse {\n profile: StudentProfileDto;\n awards: StudentAwardDto[] | undefined;\n}\n\nexport class SaveStudentAvatarRequest implements ISaveStudentAvatarRequest {\n imgData: string | undefined;\n title: string | undefined;\n\n constructor(data?: ISaveStudentAvatarRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.imgData = _data[\"imgData\"];\n this.title = _data[\"title\"];\n }\n }\n\n static fromJS(data: any): SaveStudentAvatarRequest {\n data = typeof data === 'object' ? data : {};\n let result = new SaveStudentAvatarRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"imgData\"] = this.imgData;\n data[\"title\"] = this.title;\n return data; \n }\n\n clone(): SaveStudentAvatarRequest {\n const json = this.toJSON();\n let result = new SaveStudentAvatarRequest();\n result.init(json);\n return result;\n }\n}\n\nexport interface ISaveStudentAvatarRequest {\n imgData: string | undefined;\n title: string | undefined;\n}\n\nexport class SaveStudentAvatarResponse implements ISaveStudentAvatarResponse {\n message: string | undefined;\n imageId: number;\n imageUrl: string | undefined;\n\n constructor(data?: ISaveStudentAvatarResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.message = _data[\"message\"];\n this.imageId = _data[\"imageId\"];\n this.imageUrl = _data[\"imageUrl\"];\n }\n }\n\n static fromJS(data: any): SaveStudentAvatarResponse {\n data = typeof data === 'object' ? data : {};\n let result = new SaveStudentAvatarResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"message\"] = this.message;\n data[\"imageId\"] = this.imageId;\n data[\"imageUrl\"] = this.imageUrl;\n return data; \n }\n\n clone(): SaveStudentAvatarResponse {\n const json = this.toJSON();\n let result = new SaveStudentAvatarResponse();\n result.init(json);\n return result;\n }\n}\n\nexport interface ISaveStudentAvatarResponse {\n message: string | undefined;\n imageId: number;\n imageUrl: string | undefined;\n}\n\nexport class ApiException extends Error {\n message: string;\n status: number;\n response: string;\n headers: { [key: string]: any; };\n result: any;\n\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\n super();\n\n this.message = message;\n this.status = status;\n this.response = response;\n this.headers = headers;\n this.result = result;\n }\n\n protected isApiException = true;\n\n static isApiException(obj: any): obj is ApiException {\n return obj.isApiException === true;\n }\n}\n\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): Observable {\n if (result !== null && result !== undefined)\n return _observableThrow(result);\n else\n return _observableThrow(new ApiException(message, status, response, headers, null));\n}\n\nfunction blobToText(blob: any): Observable {\n return new Observable((observer: any) => {\n if (!blob) {\n observer.next(\"\");\n observer.complete();\n } else {\n let reader = new FileReader();\n reader.onload = event => {\n observer.next((event.target).result);\n observer.complete();\n };\n reader.readAsText(blob);\n }\n });\n}","import { Injectable } from '@angular/core';\nimport {\n ApplicationInfoDto,\n GetCurrentLoginInformationsOutput,\n SessionAppService,\n TenantLoginInfoDto,\n UserLoginInfoDto,\n UserDto,\n ConfigurationAppService\n} from '../app-services/app-services';\n//import { AbpMultiTenancyService } from '@abp/multi-tenancy/abp-multi-tenancy.service';\nimport { AbpMultiTenancyService } from 'abp-ng2-module';\n\n@Injectable()\nexport class AppSessionService {\n\n private _user: UserLoginInfoDto;\n private _tenant: TenantLoginInfoDto;\n private _application: ApplicationInfoDto;\n\n constructor(\n private _sessionService: SessionAppService,\n private _abpMultiTenancyService: AbpMultiTenancyService) {\n }\n\n get application(): ApplicationInfoDto {\n return this._application;\n }\n\n get user(): UserLoginInfoDto {\n return this._user;\n }\n\n get userId(): number {\n return this.user ? this.user.id : null;\n }\n\n get tenant(): TenantLoginInfoDto {\n return this._tenant;\n }\n\n get tenantId(): number {\n return this.tenant ? this.tenant.id : null;\n }\n\n getShownLoginName(): string {\n const userName = this._user.userName;\n if (!this._abpMultiTenancyService.isEnabled) {\n return userName;\n }\n\n return (this._tenant ? this._tenant.tenancyName : '.') + '\\\\' + userName;\n }\n\n getFullUserName(): string {\n if(this._user === undefined || this._user === null){\n return \"\";\n }\n let fullName = `${this._user.name} ${this._user.surname}`;\n return fullName;\n }\n\n init(): Promise {\n return new Promise((resolve, reject) => {\n this._sessionService.getCurrentLoginInformations().toPromise().then((result: GetCurrentLoginInformationsOutput) => {\n this._application = result.application;\n this._user = result.user;\n this._tenant = result.tenant;\n\n resolve(true);\n }, (err) => {\n reject(err);\n });\n });\n }\n\n changeTenantIfNeeded(tenantId?: number): boolean {\n if (this.isCurrentTenant(tenantId)) {\n return false;\n }\n\n abp.multiTenancy.setTenantIdCookie(tenantId);\n location.reload();\n return true;\n }\n\n\n \n\n private isCurrentTenant(tenantId?: number) {\n if (!tenantId && this.tenant) {\n return false;\n } else if (tenantId && (!this.tenant || this.tenant.id !== tenantId)) {\n return false;\n }\n\n return true;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AppConsts } from '@app/shared/app-consts';\nimport { AppSessionService } from '@app/core/auth/app-session.service';\n\n@Injectable()\nexport class AppUrlService {\n\n static tenancyNamePlaceHolder = '{TENANCY_NAME}';\n\n constructor(\n private readonly _appSessionService: AppSessionService\n ) {\n\n }\n\n get appRootUrl(): string {\n if (this._appSessionService.tenant) {\n return this.getAppRootUrlOfTenant(this._appSessionService.tenant.tenancyName);\n } else {\n return this.getAppRootUrlOfTenant(null);\n }\n }\n\n /**\n * Returning url ends with '/'.\n */\n getAppRootUrlOfTenant(tenancyName?: string): string {\n let baseUrl = this.ensureEndsWith(AppConsts.appBaseUrl, '/');\n\n if (baseUrl.indexOf(AppUrlService.tenancyNamePlaceHolder) < 0) {\n return baseUrl;\n }\n\n if (baseUrl.indexOf(AppUrlService.tenancyNamePlaceHolder + '.') >= 0) {\n baseUrl = baseUrl.replace(AppUrlService.tenancyNamePlaceHolder + '.', AppUrlService.tenancyNamePlaceHolder);\n if (tenancyName) {\n tenancyName = tenancyName + '.';\n }\n }\n\n if (!tenancyName) {\n return baseUrl.replace(AppUrlService.tenancyNamePlaceHolder, '');\n }\n\n return baseUrl.replace(AppUrlService.tenancyNamePlaceHolder, tenancyName);\n }\n\n private ensureEndsWith(str: string, c: string) {\n if (str.charAt(str.length - 1) !== c) {\n str = str + c;\n }\n\n return str;\n }\n\n private removeFromEnd(str: string, c: string) {\n if (str.charAt(str.length - 1) === c) {\n str = str.substr(0, str.length - 1);\n }\n\n return str;\n }\n}\n","import { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router';\nimport { Injectable } from '@angular/core';\nimport { AuthService } from './auth.service';\n\n@Injectable()\nexport class AuthGuard implements CanActivate {\n\n constructor(private authService: AuthService, private _router: Router) {}\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise | boolean {\n let redirectUrl = state.url;\n\n if ( redirectUrl === '/sign-out' )\n {\n redirectUrl = '/';\n }\n if (!this.authService.isAuthenticated()) {\n // Redirect to the sign-in page\n this._router.navigate(['sign-in'], {queryParams: {redirectUrl}});\n return false;\n //window.location.href = '/sign-in';\n }\n return this.authService.isAuthenticated();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { RefreshTokenResult, TokenAuthAppService } from '@app/core/app-services/app-services';\nimport { AppConsts } from '@app/shared/app-consts';\nimport { LocalStorageService } from '@app/shared/utils/local-storage.service';\n\n\n\nimport { RefreshTokenService, TokenService } from 'abp-ng2-module';\nimport { Observable, Subject, of } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthRefreshTokenService implements RefreshTokenService {\n constructor(\n private _tokenAuthService: TokenAuthAppService,\n private _tokenService: TokenService,\n private _localStorageService: LocalStorageService\n ) { }\n\n tryAuthWithRefreshToken(): Observable {\n let refreshTokenObservable = new Subject();\n\n let token = this._tokenService.getRefreshToken();\n if (!token || token.trim() === '') {\n return of(false);\n }\n\n this._tokenAuthService.refreshToken(token)\n .subscribe(\n (tokenResult: RefreshTokenResult) => {\n if (tokenResult && tokenResult.accessToken) {\n let tokenExpireDate = (new Date(new Date().getTime() + 1000 * tokenResult.expireInSeconds));\n this._tokenService.setToken(tokenResult.accessToken, tokenExpireDate);\n\n this._localStorageService.setItem(AppConsts.authorization.encryptedAuthTokenName,\n {\n token: tokenResult.encryptedAccessToken,\n expireDate: tokenExpireDate\n });\n\n refreshTokenObservable.next(true);\n } else {\n refreshTokenObservable.next(false);\n }\n },\n (error: any) => {\n refreshTokenObservable.next(false);\n }\n );\n return refreshTokenObservable;\n }\n \n}","import {NgModule, ModuleWithProviders} from '@angular/core';\nimport {AppSessionService} from '@app/core/auth/app-session.service';\nimport { AuthGuard } from './auth-guard.service';\nimport { AuthService } from './auth.service';\nimport { AppUrlService } from './app-url.service';\n\n\n\n@NgModule({\n providers: []\n})\nexport class AuthCoreModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: AuthCoreModule,\n providers: [\n AppSessionService,\n AppUrlService,\n AuthService,\n AuthGuard\n\n\n ]\n };\n }\n}","import {Router} from '@angular/router';\nimport {Injectable} from '@angular/core';\nimport {AppSessionService} from '@app/core/auth/app-session.service';\nimport {AuthenticateModel, AuthenticateResultModel, TokenAuthAppService, UserDto} from '@core/app-services/app-services';\nimport {LogService, TokenService, UtilsService} from 'abp-ng2-module';\nimport {AppConsts} from '@app/shared/app-consts';\nimport {UrlHelper} from '@core/helpers/url-helper';\nimport { Token } from '@angular/compiler';\nimport { LocalStorageService } from '@app/shared/utils/local-storage.service';\n\n@Injectable()\nexport class AuthService {\n token: string;\n private authenticateModel: AuthenticateModel;\n\n constructor(private _sessionService: AppSessionService,\n private _tokenService: TokenService,\n private _utilsService: UtilsService,\n private _logService: LogService,\n private _router: Router,\n private _tokenAuthService: TokenAuthAppService,\n private _localStorageService: LocalStorageService) {\n }\n\n signupUser(email: string, password: string) {\n // your code for signing up the new user\n }\n\n async signinUser(email: string, password: string): Promise {\n const model = new AuthenticateModel({\n userNameOrEmailAddress: email,\n password: password,\n rememberClient: true\n });\n const result = await this._tokenAuthService\n .authenticate(model).toPromise();\n\n\n if(!result.isSuccessful) {\n return result;\n } \n\n const user = new UserDto();\n user.id = result.user.id;\n user.fullName = result.user.fullName;\n user.emailAddress = result.user.emailAddress;\n user.userName = result.user.userName;\n localStorage.setItem('user', JSON.stringify(user));\n this.processAuthenticateResult(result);\n await this._sessionService.init();\n return result;\n\n }\n\n logout() {\n this.token = null;\n abp.auth.clearToken();\n localStorage.removeItem('user');\n this._router.navigate([AppConsts.signInRoute]);\n }\n\n getToken() {\n return this.token;\n }\n\n getUser() {\n return this._sessionService.user;\n }\n\n isAuthenticated() {\n // here you can check if user is authenticated or not through his token\n return this._sessionService.user !== null && this._sessionService.user !== undefined;\n }\n\n private processAuthenticateResult(result: AuthenticateResultModel): void {\n if (result.accessToken) {\n // Successfully logged in\n this.login(result.accessToken, \n result.encryptedAccessToken, \n result.expireInSeconds, result.refreshToken, result.refreshTokenExpireInSeconds, true);\n\n } else {\n // Unexpected result!\n\n this._logService.warn('Unexpected authenticateResult!');\n this._router.navigate([AppConsts.signInRoute]);\n }\n }\n\n\n private login( accessToken: string,\n encryptedAccessToken: string,\n expireInSeconds: number,\n refreshToken: string,\n refreshTokenExpireInSeconds: number,\n rememberMe?: boolean,\n redirectUrl?: string): void {\n\n const tokenExpireDate = rememberMe ? (new Date(new Date().getTime() + 1000 * expireInSeconds)) : undefined;\n\n this._tokenService.setToken(\n accessToken,\n tokenExpireDate\n );\n\n if (refreshToken && rememberMe) {\n let refreshTokenExpireDate = rememberMe\n ? new Date(\n new Date().getTime() + 1000 * refreshTokenExpireInSeconds\n )\n : undefined;\n this._tokenService.setRefreshToken(\n refreshToken,\n refreshTokenExpireDate\n );\n }\n\n this._utilsService.setCookieValue(\n AppConsts.authorization.encryptedAuthTokenName,\n encryptedAccessToken,\n tokenExpireDate,\n abp.appPath\n );\n\n let self = this;\n this._localStorageService.setItem(\n AppConsts.authorization.encryptedAuthTokenName,\n {\n token: encryptedAccessToken,\n expireDate: tokenExpireDate,\n }, ()=>{\n \n }\n );\n }\n\n private redirectToLoginResult(redirectUrl?: string): void {\n if (redirectUrl) {\n location.href = redirectUrl;\n } else {\n let initialUrl = UrlHelper.initialUrl;\n\n if (initialUrl.indexOf('/auth/sign-in') > 0) {\n initialUrl = AppConsts.appBaseUrl;\n }\n\n location.href = initialUrl;\n }\n}\n}\n","export class UrlHelper {\n /**\n * The URL requested, before initial routing.\n */\n static readonly initialUrl = location.href;\n\n static getQueryParameters(): any {\n return document.location.search\n .replace(/(^\\?)/, '')\n .split('&')\n .map(function (n) { return n = n.split('='), this[n[0]] = n[1], this; }.bind({}))[0];\n }\n}\n","export class ScoreModel {\n points: number = 0;\n awards: number = 0;\n\n}","import { Injectable } from '@angular/core';\nimport { Resolve, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\nimport { Observable, Subject, BehaviorSubject } from 'rxjs';\nimport { AppSessionService } from '../auth/app-session.service';\nimport { UserDto, UserAppService } from '../app-services/app-services';\nimport { ScoreModel } from './score.model';\nimport { AccessModeKind, ProfileAppService, StudentEnrollmentDto, SubscriptionStatusKind } from '../app-services/profile-services';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class StudentProfileService implements Resolve {\n\n\n private _userId = 0;\n private _user: BehaviorSubject = new BehaviorSubject(null);\n defaultAvatarUrl: string = 'assets/images/profile/avatar.png'\n get studentId() : number {\n return this._userId;\n }\n\n get user$(): Observable {\n return this._user.asObservable()\n }\n\n\n get user(): UserDto {\n return this._user.getValue();\n }\n\n\n get subscriptionActive(): boolean {\n return this.currentEnrollment.subscriptionStatus == SubscriptionStatusKind.Active;\n }\n\n get isTrial(): boolean {\n \n if(!this.currentEnrollment) return true;\n\n return this.currentEnrollment.isTrial;\n }\n\n get isPreview(): boolean {\n if(!this.currentEnrollment) return true;\n return this.currentEnrollment.accessMode == AccessModeKind.Preview;\n }\n \n get isCourseActive(): boolean {\n return this.currentEnrollment && this.currentEnrollment.isCourseActive;\n }\n\n\n private _avatarImage: BehaviorSubject = new BehaviorSubject(null);\n public readonly avatarImage$ = this._avatarImage.asObservable();\n\n private _gameScore: BehaviorSubject = new BehaviorSubject(null);\n public readonly gameScore$ = this._gameScore.asObservable();\n\n\n\n private _currentEnrollment: BehaviorSubject = new BehaviorSubject(null);\n \n\n get currentEnrollment$(): Observable {\n return this._currentEnrollment.asObservable();\n }\n\n get currentEnrollment(): StudentEnrollmentDto {\n return this._currentEnrollment.getValue();\n }\n\n\n constructor(private _userService: UserAppService, private _profileApi: ProfileAppService, private _sessionService: AppSessionService) {\n\n }\n\n\n\n async resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) : Promise {\n if(this._sessionService.user && this._sessionService.user.id != this._userId){\n await this.loadUser(this._sessionService.user.id);\n }\n }\n\n \n\n async loadUser(userId: number): Promise{\n this._userId = userId;\n var result= await this._userService.get(userId).toPromise();\n var profileResult = await this.loadProfile(result);\n this._user.next(result);\n\n }\n\n async loadProfile(user: UserDto): Promise {\n this._userId = user.id;\n this._user.next(user);\n var result = await this._profileApi.getStudentProfile(this._userId).toPromise();\n var avatarUrl = this.defaultAvatarUrl;\n if(result.profile && result.profile.avatarImageUrl && result.profile.avatarImageUrl != \"\") {\n avatarUrl = result.profile.avatarImageUrl;\n }\n this._avatarImage.next(avatarUrl);\n\n const score = new ScoreModel();\n score.points = result.profile.pointsEarned;\n score.awards= result.profile.awardsEarned;\n\n \n\n this._currentEnrollment.next(result.profile.currentEnrollment);\n\n this._gameScore.next(score);\n\n\n }\n\n\n updateAvatar(imageUrl: string) {\n this._avatarImage.next(imageUrl);\n }\n\n \n}","export class AppConsts {\n\n static remoteServiceBaseUrl: string;\n static appBaseUrl: string;\n static appBaseHref: string; // returns angular's base-href parameter answer if used during the publish\n static logoUrl: string;\n static localeMappings: any = [];\n static title: string = \"Extracademy\"\n\n static allowedOrigins: string[] = [];\n\n static readonly userManagement = {\n defaultAdminUserName: 'admin'\n };\n\n static readonly localization = {\n defaultLocalizationSourceName: 'Unify'\n };\n\n static readonly authorization = {\n encryptedAuthTokenName: 'enc_auth_token'\n };\n\n\n static readonly signInRoute = '/sign-in'\n\n static readonly AppName = 'Workbook';\n}\n","import {\n Directive,\n ElementRef,\n HostListener,\n AfterViewInit,\n OnInit,\n ChangeDetectorRef,\n Output,\n EventEmitter,\n Renderer2\n} from \"@angular/core\";\nimport { SidebarLinkDirective } from \"./sidebarlink.directive\";\nimport { Router } from \"@angular/router\";\nimport { filter } from \"rxjs/operators\";\n\n@Directive({ selector: \"[appSidebar]\" })\nexport class SidebarDirective implements OnInit, AfterViewInit {\n public navlinks: Array = [];\n activeLinks: string[] = [];\n protected $wrapper: Element;\n private activeRoute: string;\n protected innerWidth: any;\n\n @Output()\n toggleHideSidebar = new EventEmitter();\n\n constructor(\n private el: ElementRef,\n private renderer: Renderer2,\n private router: Router,\n private cd: ChangeDetectorRef\n ) {}\n\n ngOnInit() {\n this.activeRoute = this.router.url;\n this.innerWidth = window.innerWidth;\n }\n\n ngAfterViewInit() {\n const element: HTMLElement = this.el.nativeElement;\n this.$wrapper = this.renderer.parentNode(this.el.nativeElement) ;// document.getElementsByClassName(\"wrapper\")[0];\n\n const $sidebar_img_container = this.el.nativeElement.querySelector('.sidebar-background');\n const $sidebar_img = element.getAttribute(\"data-image\");\n\n if ($sidebar_img_container.length !== 0 && $sidebar_img !== undefined) {\n this.renderer.setAttribute($sidebar_img_container, 'style','background-image: url(\"' + $sidebar_img + '\")' );\n }\n\n if (!this.$wrapper.classList.contains(\"nav-collapsed\")) {\n this.expandActive();\n }\n if (this.innerWidth < 992) {\n this.renderer.removeClass(this.$wrapper, 'nav-collapsed');\n this.renderer.removeClass(this.$wrapper, 'menu-collapsed');\n this.toggleHideSidebar.emit(true);\n }\n this.cd.detectChanges();\n }\n\n @HostListener(\"mouseenter\", [\"$event\"])\n onMouseOver(e: any) {\n if (this.$wrapper.classList.contains(\"nav-collapsed\")) {\n this.renderer.removeClass(this.$wrapper, 'menu-collapsed');\n\n this.navlinks\n .filter(_ => _.navCollapsedOpen === true)\n .forEach((link: SidebarLinkDirective) => {\n link.open = true;\n link.navCollapsedOpen = false;\n });\n }\n }\n\n @HostListener(\"mouseleave\", [\"$event\"])\n onMouseOut(e: any) {\n if (this.$wrapper.classList.contains(\"nav-collapsed\")) {\n this.renderer.addClass(this.$wrapper, 'menu-collapsed');\n\n this.navlinks\n .filter(_ => _.open === true)\n .forEach((link: SidebarLinkDirective) => {\n link.open = false;\n link.navCollapsedOpen = true;\n });\n }\n }\n\n @HostListener(\"click\", [\"$event\"])\n onClick(e: any) {\n if (\n e.target.parentElement.classList.contains(\"logo-text\") ||\n e.target.parentElement.classList.contains(\"logo-img\")\n ) {\n this.activeLinks = [];\n this.activeRoute = this.router.url;\n this.expandActive();\n this.hideSidebar();\n } else if (\n e.target.parentElement.classList.contains(\"nav-close\") ||\n e.target.classList.contains(\"nav-close\")\n ) {\n this.toggleHideSidebar.emit(true);\n }\n }\n\n @HostListener(\"window:resize\", [\"$event\"])\n onResize(event) {\n this.innerWidth = window.innerWidth;\n if (event.target.innerWidth < 992) {\n this.renderer.removeClass(this.$wrapper, 'nav-collapsed');\n this.renderer.removeClass(this.$wrapper, 'menu-collapsed');\n this.toggleHideSidebar.emit(true);\n }\n if (event.target.innerWidth > 992) {\n const toggleStatus = this.el.nativeElement\n this.el.nativeElement.querySelector('.toggle-icon')\n .getAttribute(\"data-toggle\");\n if (\n toggleStatus === \"collapsed\" &&\n !this.$wrapper.classList.contains(\"nav-collapsed\") &&\n !this.$wrapper.classList.contains(\"menu-collapsed\")\n ) {\n this.$wrapper.classList.add(\"nav-collapsed\");\n this.$wrapper.classList.add(\"menu-collapsed\");\n }\n this.toggleHideSidebar.emit(false);\n }\n }\n\n // check outside click and close sidebar for smaller screen <992\n @HostListener(\"document:click\", [\"$event\"])\n onOutsideClick(event) {\n if (this.innerWidth < 992) {\n let clickedComponent = event.target;\n let inside = false;\n do {\n if (clickedComponent === this.el.nativeElement) {\n inside = true;\n }\n clickedComponent = clickedComponent.parentNode;\n } while (clickedComponent);\n\n if (\n !this.el.nativeElement.classList.contains(\"hide-sidebar\") &&\n !inside &&\n !event.target.classList.contains(\"navbar-toggle\")\n ) {\n this.toggleHideSidebar.emit(true);\n }\n }\n }\n\n\n\n addLink(link: SidebarLinkDirective): void {\n this.navlinks.push(link);\n }\n\n getLinks() {\n return this.navlinks;\n }\n\n hideSidebar() {\n if (this.innerWidth < 992) {\n this.toggleHideSidebar.emit(true);\n }\n }\n\n expandActive(): void {\n this.navlinks\n .filter(_ => _.routePath === this.activeRoute)\n .forEach((link: SidebarLinkDirective) => {\n link.isShown = true;\n if (link.level.toString().trim() === \"3\") {\n this.navlinks\n .filter(\n _ => _.level.toString().trim() === \"2\" && _.title === link.parent\n )\n .forEach((parentLink: SidebarLinkDirective) => {\n parentLink.open = true;\n this.activeLinks.push(parentLink.title);\n this.navlinks\n .filter(\n _ =>\n _.level.toString().trim() === \"1\" &&\n _.title === parentLink.parent\n )\n .forEach((superParentLink: SidebarLinkDirective) => {\n superParentLink.open = true;\n this.activeLinks.push(superParentLink.title);\n superParentLink.toggleEmit.emit(this.activeLinks);\n });\n });\n } else if (link.level.toString().trim() === \"2\") {\n this.navlinks\n .filter(\n _ => _.level.toString().trim() === \"1\" && _.title === link.parent\n )\n .forEach((parentLink: SidebarLinkDirective) => {\n parentLink.open = true;\n this.activeLinks.push(parentLink.title);\n parentLink.toggleEmit.emit(this.activeLinks);\n });\n }\n });\n }\n\n toggleActiveList() {\n this.navlinks\n .filter(\n _ =>\n _.level.toString().trim() === \"3\" && _.routePath !== this.activeRoute\n )\n .forEach((link: SidebarLinkDirective) => {\n link.active = false;\n });\n }\n\n setIsShown(parentLink: SidebarLinkDirective): void {\n const childLevel = Number(parentLink.level) + 1;\n this.navlinks\n .filter(\n _ =>\n _.level.toString().trim() === childLevel.toString().trim() &&\n _.parent === parentLink.title\n )\n .forEach((link: SidebarLinkDirective) => {\n link.isShown = true;\n link.isHidden = false;\n });\n }\n\n setIsHidden(parentLink: SidebarLinkDirective): void {\n const childLevel = Number(parentLink.level) + 1;\n this.navlinks\n .filter(\n _ =>\n _.level.toString().trim() === childLevel.toString().trim() &&\n _.parent === parentLink.title\n )\n .forEach((link: SidebarLinkDirective) => {\n link.isShown = false;\n link.isHidden = true;\n });\n }\n}\n","import { Directive, HostListener, Inject } from '@angular/core';\n\nimport { SidebarLinkDirective } from \"./sidebarlink.directive\";\n\n@Directive({\n selector: \"[appSidebarAnchorToggle]\"\n})\nexport class SidebarAnchorToggleDirective {\n protected navlink: SidebarLinkDirective;\n\n constructor(\n @Inject(SidebarLinkDirective) navlink: SidebarLinkDirective\n ) {\n this.navlink = navlink;\n }\n\n @HostListener(\"click\", [\"$event\"])\n onClick() {\n this.navlink.toggle();\n }\n}\n","import {\n Directive,\n HostListener,\n Input,\n Inject,\n HostBinding,\n Output,\n EventEmitter,\n OnInit,\n ElementRef\n} from \"@angular/core\";\nimport { SidebarListDirective } from \"./sidebarlist.directive\";\nimport { SidebarDirective } from \"./sidebar.directive\";\n\n@Directive({ selector: \"[appSidebarlink]\" })\nexport class SidebarLinkDirective implements OnInit {\n @Input()\n public level: number;\n\n @Input()\n public classes: string;\n\n @Input()\n public parent: string;\n\n @Input()\n public title: string;\n\n @Input()\n public routePath: string;\n\n @Output()\n toggleEmit = new EventEmitter();\n\n @HostBinding(\"class.open\")\n @Input()\n get open(): boolean {\n return this._open;\n }\n set open(value: boolean) {\n this._open = value;\n }\n\n @HostBinding(\"class.nav-collapsed-open\")\n @Input()\n get navCollapsedOpen(): boolean {\n return this._navCollapsedOpen;\n }\n set navCollapsedOpen(value: boolean) {\n this._navCollapsedOpen = value;\n }\n\n @HostBinding(\"class.active\")\n @Input()\n get active(): boolean {\n return this._active;\n }\n set active(value: boolean) {\n this._active = value;\n }\n\n @HostBinding(\"class.is-shown\")\n @Input()\n get isShown(): boolean {\n return this._isShown;\n }\n set isShown(value: boolean) {\n this._isShown = value;\n }\n\n @HostBinding(\"class.is-hidden\")\n @Input()\n get isHidden(): boolean {\n return this._isHidden;\n }\n set isHidden(value: boolean) {\n this._isHidden = value;\n }\n protected _open: boolean;\n protected _navCollapsedOpen: boolean;\n protected _active: boolean;\n protected _isShown: boolean;\n protected _isHidden: boolean;\n protected sidebarList: SidebarListDirective;\n protected sidebar: SidebarDirective;\n\n constructor(\n @Inject(SidebarListDirective) sidebarList: SidebarListDirective,\n @Inject(SidebarDirective) sidebar: SidebarDirective,\n private el: ElementRef\n ) {\n this.sidebarList = sidebarList;\n this.sidebar = sidebar;\n }\n\n ngOnInit(): any {\n this.sidebar.addLink(this);\n }\n\n toggle(): any {\n this.sidebarList.activeLinks = [];\n this.sidebarList.setList(this.sidebar.getLinks());\n\n const classList = this.el.nativeElement.classList;\n\n if (this.level.toString().trim() === \"3\") {\n this.active = true;\n this.sidebarList.toggleActiveList(this);\n this.sidebar.hideSidebar();\n }\n\n if (this.level.toString().trim() === \"1\" && !classList.contains(\"has-sub\")) {\n this.sidebarList.collapseOtherLinks(this);\n }\n\n if (classList.contains(\"has-sub\") && classList.contains(\"open\")) {\n this.sidebarList.collapse(this);\n } else {\n if (classList.contains(\"has-sub\")) {\n this.sidebarList.expand(this);\n }\n }\n }\n}\n","import { Directive } from \"@angular/core\";\nimport { SidebarLinkDirective } from \"./sidebarlink.directive\";\n\n@Directive({ selector: \"[appSidebarList]\" })\nexport class SidebarListDirective {\n protected navlinks: Array = [];\n public activeLinks: string[] = [];\n\n setList(list: Array) {\n this.navlinks = list;\n }\n\n collapse(link: SidebarLinkDirective): void {\n link.open = false;\n this.setIsHidden(link);\n if (link.level.toString().trim() === \"2\") {\n this.activeLinks.push(this.navlinks\n .filter(_ => _.level.toString().trim() === \"1\" && _.open === true)[0].title);\n }\n link.toggleEmit.emit(this.activeLinks);\n }\n\n expand(link: SidebarLinkDirective): void {\n link.open = true;\n this.activeLinks.push(link.title);\n this.collapseOtherLinks(link);\n this.setIsShown(link);\n link.toggleEmit.emit(this.activeLinks);\n }\n\n toggleActiveList(openLink: SidebarLinkDirective) {\n this.navlinks\n .filter(_ => _.level.toString().trim() === \"3\")\n .forEach((link: SidebarLinkDirective) => {\n if (link !== openLink) {\n link.active = false;\n }\n });\n }\n\n collapseOtherLinks(openLink: SidebarLinkDirective): void {\n if (openLink.level.toString().trim() === \"1\") {\n this.navlinks\n .filter(\n _ =>\n (_.level.toString().trim() === openLink.level.toString().trim() ||\n _.level.toString().trim() === \"2\") &&\n _.open === true\n )\n .forEach((link: SidebarLinkDirective) => {\n if (link !== openLink) {\n link.open = false;\n this.setIsHidden(link);\n }\n });\n } else if (openLink.level.toString().trim() === \"2\") {\n this.activeLinks.push(this.navlinks\n .filter(_ => _.level.toString().trim() === \"1\" && _.open === true)[0].title);\n this.navlinks\n .filter(\n _ =>\n _.level.toString().trim() === openLink.level.toString().trim() &&\n _.parent === openLink.parent &&\n _.open === true\n )\n .forEach((link: SidebarLinkDirective) => {\n if (link !== openLink) {\n link.open = false;\n this.setIsHidden(link);\n }\n });\n }\n }\n\n setIsShown(parentLink: SidebarLinkDirective): void {\n const childLevel = Number(parentLink.level) + 1;\n this.navlinks\n .filter(\n _ =>\n _.level.toString().trim() === childLevel.toString().trim() &&\n _.parent === parentLink.title\n )\n .forEach((link: SidebarLinkDirective) => {\n link.isShown = true;\n link.isHidden = false;\n });\n }\n\n setIsHidden(parentLink: SidebarLinkDirective): void {\n const childLevel = Number(parentLink.level) + 1;\n this.navlinks\n .filter(\n _ =>\n _.level.toString().trim() === childLevel.toString().trim() &&\n _.parent === parentLink.title\n )\n .forEach((link: SidebarLinkDirective) => {\n link.isShown = false;\n link.isHidden = true;\n });\n }\n}\n","import { Directive, HostBinding, Input, HostListener, AfterViewInit, ElementRef, Renderer2 } from '@angular/core';\n\n@Directive({ selector: \"[appSidebarToggle]\" })\nexport class SidebarToggleDirective implements AfterViewInit {\n @HostBinding(\"attr.data-toggle\")\n @Input()\n get dataToggle(): string {\n return this._dataToggle;\n }\n set dataToggle(value: string) {\n this._dataToggle = value;\n }\n\n @HostBinding(\"class.ft-toggle-right\")\n @Input()\n get toggleRight(): boolean {\n return this._toggleRight;\n }\n set toggleRight(value: boolean) {\n this._toggleRight = value;\n }\n\n @HostBinding(\"class.ft-toggle-left\")\n @Input()\n get toggleLeft(): boolean {\n return this._toggleLeft;\n }\n set toggleLeft(value: boolean) {\n this._toggleLeft = value;\n }\n\n protected _dataToggle = \"expanded\";\n protected _toggleRight = true;\n protected _toggleLeft = false;\n protected $wrapper: Element;\n protected compact_menu_checkbox;\n\n constructor(private el: ElementRef,\n private renderer: Renderer2) {}\n\n ngAfterViewInit() {\n this.$wrapper = document.getElementsByClassName(\"wrapper\")[0];\n this.compact_menu_checkbox = this.$wrapper.querySelector('.cz-compact-menu');\n }\n\n @HostListener(\"click\", [\"$event\"])\n onClick(e: any) {\n if (this.dataToggle === \"expanded\") {\n this.dataToggle = \"collapsed\";\n this.renderer.addClass(this.$wrapper, 'nav-collapsed');\n if (this.compact_menu_checkbox) {\n this.compact_menu_checkbox.checked = true;\n }\n } else {\n this.dataToggle = \"expanded\";\n this.renderer.removeClass(this.$wrapper, 'nav-collapsed');\n this.renderer.removeClass(this.$wrapper, 'menu-collapsed');\n if (this.compact_menu_checkbox) {\n this.compact_menu_checkbox.checked = false;\n }\n }\n this.toggleLeft = !this.toggleLeft;\n this.toggleRight = !this.toggleRight;\n\n setTimeout(() => {\n this.fireRefreshEventOnWindow();\n }, 300);\n }\n\n fireRefreshEventOnWindow = function() {\n const evt = document.createEvent(\"HTMLEvents\");\n evt.initEvent(\"resize\", true, false);\n window.dispatchEvent(evt);\n };\n}\n","import { Directive, HostListener } from '@angular/core';\n\nimport * as screenfull from 'screenfull';\n\n@Directive({\n selector: '[appToggleFullscreen]'\n})\nexport class ToggleFullscreenDirective {\n\n @HostListener('click') onClick() {\n if (screenfull.isEnabled) {\n screenfull.toggle();\n }\n }\n}\n","import { Injector, Pipe, PipeTransform } from '@angular/core';\nimport { AppComponentBase } from 'shared/abp/app-component-base';\n\n\n@Pipe({\n name: 'localize'\n})\nexport class LocalizePipe extends AppComponentBase implements PipeTransform {\n\n constructor(injector: Injector) {\n super(injector);\n }\n\n transform(key: string, ...args: any[]): string {\n return this.l(key, args);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { TemplateConfig } from '../template-config/config.interface';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ConfigService {\n\n public templateConf: TemplateConfig;\n\n constructor( ) {\n this.setConfigValue();\n }\n\n setConfigValue() {\n this.templateConf = {\n layout: {\n variant: 'Transparent', // options: Dark, Light & Transparent\n dir: 'ltr', // Options: ltr, rtl\n sidebar: {\n collapsed: true, // options: true, false\n size: 'sidebar-sm', // Options: 'sidebar-lg', 'sidebar-md', 'sidebar-sm'\n backgroundColor: 'custom', // Options: 'black', 'pomegranate', 'king-yna', 'ibiza-sunset', 'flickr', 'purple-bliss', 'man-of-steel', 'purple-love'\n backgroundImage: false, // Options: true, false | Set true to show background image\n backgroundImageURL: 'assets/img/sidebar-bg/01.jpg'\n }\n }\n } as TemplateConfig;\n }\n\n\n\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LayoutService {\n\n private emitChangeSource = new Subject();\n changeEmitted$ = this.emitChangeSource.asObservable();\n emitChange(change: any) {\n this.emitChangeSource.next(change);\n }\n\n}","import { NgModule } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { RouterModule } from \"@angular/router\";\n\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { PerfectScrollbarModule } from \"ngx-perfect-scrollbar\";\n\n\n\n\n//DIRECTIVES\nimport { ToggleFullscreenDirective } from \"./directives/toggle-fullscreen.directive\";\nimport { SidebarDirective } from './directives/sidebar.directive';\nimport { SidebarLinkDirective } from './directives/sidebarlink.directive';\nimport { SidebarListDirective } from './directives/sidebarlist.directive';\nimport { SidebarAnchorToggleDirective } from './directives/sidebaranchortoggle.directive';\nimport { SidebarToggleDirective } from './directives/sidebartoggle.directive';\n\n@NgModule({\n exports: [\n CommonModule,\n\n\n ToggleFullscreenDirective,\n SidebarDirective,\n NgbModule,\n TranslateModule,\n SidebarToggleDirective\n ],\n imports: [\n RouterModule,\n CommonModule,\n NgbModule,\n TranslateModule,\n PerfectScrollbarModule\n ],\n declarations: [\n ToggleFullscreenDirective,\n SidebarDirective,\n SidebarLinkDirective,\n SidebarListDirective,\n SidebarAnchorToggleDirective,\n SidebarToggleDirective\n ]\n})\nexport class AppSharedModule { }\n","import { Injectable } from '@angular/core';\nimport * as localForage from 'localforage';\n\n@Injectable()\nexport class LocalStorageService {\n\n getItem(key: string, callback: any): void {\n if (!localForage) {\n return;\n }\n\n localForage.getItem(key, callback);\n }\n\n\n setItem(key, value, callback?: any): void {\n if (!localForage) {\n return;\n }\n\n if (value === null) {\n value = undefined;\n }\n\n localForage.setItem(key, value, callback);\n }\n\n removeItem(key, callback?: any): void {\n if (!localForage) {\n return;\n }\n\n localForage.removeItem(key, callback);\n }\n\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { LocalStorageService } from \"./local-storage.service\";\n\n@NgModule({\n imports: [\n CommonModule\n ],\n providers: [\n \n LocalStorageService,\n \n ]\n})\nexport class UtilsModule { }\n","import { Component, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'shell-footer',\n templateUrl: './footer.component.html',\n styleUrls: ['./footer.component.scss']\n})\n\nexport class FooterComponent{\n //Variables\n currentDate : Date = new Date();\n}\n","\n
\n
\n

\n Copyright © {{currentDate | date: 'yyyy'}} PIXINVENT, All rights reserved. \n

\n \n
\n
\n","import { Component, Output, EventEmitter, OnInit, AfterViewInit } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { LayoutService } from '../../../shared/services/layout.service';\nimport { ConfigService } from '../../../shared/services/config.service';\nimport { ShellService } from '@shell/shell.service';\nimport { StudentProfileService } from '@app/core/profile/student-profile.service';\nimport { AuthService } from '@app/core/auth/auth.service';\nimport { AppConfig } from '@app/app-config';\nimport { AppConsts } from '../../../shared/app-consts';\n\n@Component({\n selector: \"shell-navbar\",\n templateUrl: \"./navbar.component.html\",\n styleUrls: [\"./navbar.component.scss\"]\n})\nexport class NavbarComponent implements OnInit, AfterViewInit {\n currentLang = \"en\";\n toggleClass = \"ft-maximize\";\n placement = \"bottom-left\";\n public isCollapsed = true;\n @Output()\n toggleHideSidebar = new EventEmitter();\n\n public config: any = {};\n public logoUrl = AppConsts.logoUrl;\n constructor(public translate: TranslateService, private layoutService: LayoutService, public appConfig: AppConfig,\n private configService:ConfigService, private _shellServie: ShellService, \n private _profileService: StudentProfileService, private _authService: AuthService) {\n const browserLang: string = translate.getBrowserLang();\n translate.use(browserLang.match(/en|es|pt|de/) ? browserLang : \"en\");\n\n }\n\n async ngOnInit(): Promise {\n this.config = this.configService.templateConf;\n await this.appConfig.checkVersion();\n }\n\n ngAfterViewInit() {\n if(this.config.layout.dir) {\n const dir = this.config.layout.dir;\n if (dir === \"rtl\") {\n this.placement = \"bottom-left\";\n } else if (dir === \"ltr\") {\n this.placement = \"bottom-left\";\n }\n }\n }\n\n\n get shell(): ShellService {\n return this._shellServie;\n }\n\n get profile(): StudentProfileService {\n return this._profileService;\n }\n\n ChangeLanguage(language: string) {\n this.translate.use(language);\n }\n\n ToggleClass() {\n if (this.toggleClass === \"ft-maximize\") {\n this.toggleClass = \"ft-minimize\";\n } else {\n this.toggleClass = \"ft-maximize\";\n }\n }\n\n toggleNotificationSidebar() {\n this.layoutService.emitChange(true);\n }\n\n toggleSidebar() {\n const appSidebar = document.getElementsByClassName(\"app-sidebar\")[0];\n if (appSidebar.classList.contains(\"hide-sidebar\")) {\n this.toggleHideSidebar.emit(false);\n } else {\n this.toggleHideSidebar.emit(true);\n }\n }\n\n logout() {\n this._authService.logout()\n }\n}\n","\n\n\n","import { Component, OnInit, ElementRef, Renderer2, ViewChild, OnDestroy } from '@angular/core';\nimport { LayoutService } from '../../../shared/services/layout.service';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'shell-notification-sidebar',\n templateUrl: './notification-sidebar.component.html',\n styleUrls: ['./notification-sidebar.component.scss']\n})\nexport class NotificationSidebarComponent implements OnInit, OnDestroy {\n\n layoutSub: Subscription;\n isOpen = false;\n\n @ViewChild('sidebar') sidebar: ElementRef;\n\n ngOnInit() {\n\n }\n\n constructor(private elRef: ElementRef,\n private renderer: Renderer2,\n private layoutService: LayoutService) {\n\n this.layoutSub = layoutService.changeEmitted$.subscribe(\n value => {\n if (this.isOpen) {\n this.renderer.removeClass(this.sidebar.nativeElement, 'open');\n this.isOpen = false;\n }\n else {\n this.renderer.addClass(this.sidebar.nativeElement, 'open');\n this.isOpen = true;\n }\n });\n }\n\n ngOnDestroy() {\n if(this.layoutSub) {\n this.layoutSub.unsubscribe();\n }\n }\n\n\n\n onClose() {\n this.renderer.removeClass(this.sidebar.nativeElement, 'open');\n this.isOpen = false;\n }\n\n}\n","\n\n\n","import { Component, OnInit } from '@angular/core';\nimport {MenuItem} from \"@shared/common/menu-item\";\n\n@Component({\n selector: 'shell-side-bar',\n templateUrl: './side-bar.component.html',\n styleUrls: ['./side-bar.component.scss']\n})\nexport class SideBarComponent implements OnInit {\n\n menuItems: MenuItem[] = [\n {\n icon: 'assets/images/sidebar/home.png',\n name: 'Home',\n items: [],\n permissionName: '',\n route: '/guide/dashboard'\n },\n {\n icon: 'assets/images/sidebar/profile.png',\n name: 'Avatar',\n items: [],\n permissionName: '',\n route: '/profile'\n },\n {\n icon: 'assets/images/sidebar/timeline.png',\n name: 'Schedule',\n items: [],\n permissionName: '',\n route: '/guide/schedule'\n },\n // {\n // icon: 'assets/images/sidebar/timeline.png',\n // name: 'Schedule',\n // items: [],\n // permissionName: '',\n // route: '/guide/achievements'\n // },\n // {\n // icon: 'assets/images/sidebar/timeline.png',\n // name: 'Syllabus',\n // items: [],\n // permissionName: '',\n // route: '/syllabus'\n // },\n {\n icon: 'assets/images/sidebar/club.png',\n name: 'Nineties Club',\n items: [],\n permissionName: '',\n route: '/guide/nineties-club'\n }\n ];\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\n","import {\n Component,\n OnInit,\n ElementRef,\n Inject,\n Renderer2,\n AfterViewInit,\n ViewChild,\n HostBinding,\n OnDestroy\n} from '@angular/core';\nimport {TranslateService} from '@ngx-translate/core';\nimport {ConfigService} from 'app/shared/services/config.service';\nimport {DOCUMENT} from '@angular/common';\nimport {ShellService} from \"@shell/shell.service\";\nimport {Subject} from \"rxjs\";\nimport {takeUntil} from \"rxjs/operators\";\n\n\n@Component({\n selector: 'shell-content-layout',\n templateUrl: './content-layout.component.html',\n styleUrls: ['./content-layout.component.scss']\n})\n\nexport class ContentLayoutComponent implements OnInit, AfterViewInit, OnDestroy {\n @ViewChild('sidebarBgImage') sidebarBgImage: ElementRef;\n @ViewChild('appSidebar') appSidebar: ElementRef;\n @ViewChild('wrapper') wrapper: ElementRef;\n\n @HostBinding('class.hide-navbar') hideNavBar: boolean;\n\n options = {\n direction: 'ltr',\n bgColor: 'black',\n bgImage: 'assets/img/sidebar-bg/01.jpg'\n };\n\n hideTopbar: boolean;\n hideSidebar: boolean;\n iscollapsed = false;\n isSidebar_sm = false;\n isSidebar_lg = false;\n bgColor = 'black';\n bgImage = 'assets/img/sidebar-bg/01.jpg';\n\n public config: any = {};\n\n private _unsubscribeAll: Subject;\n\n\n constructor(private elementRef: ElementRef, private configService: ConfigService,\n @Inject(DOCUMENT) private document: Document,\n private renderer: Renderer2,\n private shellService: ShellService) {\n this._unsubscribeAll = new Subject();\n\n this.shellService.showNavBar();\n this.shellService.showSidebar();\n\n this.shellService.onNavBarStateChanged\n .pipe(takeUntil(this._unsubscribeAll))\n .subscribe((visible) => this.hideNavBar = !visible);\n\n this.shellService.onSidebarStateChanged\n .pipe(takeUntil(this._unsubscribeAll))\n .subscribe((visible) => this.hideSidebar = !visible);\n }\n\n ngOnInit() {\n this.config = this.configService.templateConf;\n this.bgColor = this.config.layout.sidebar.backgroundColor;\n\n if (!this.config.layout.sidebar.backgroundImage) {\n this.bgImage = '';\n } else {\n this.bgImage = this.config.layout.sidebar.backgroundImageURL;\n }\n\n if (this.config.layout.variant === \"Transparent\") {\n if (this.config.layout.sidebar.backgroundColor.toString().trim() === '') {\n this.bgColor = 'bg-glass-1';\n }\n } else {\n if (this.config.layout.sidebar.backgroundColor.toString().trim() === '') {\n this.bgColor = 'black';\n }\n }\n\n setTimeout(() => {\n if (this.config.layout.sidebar.size === 'sidebar-lg') {\n this.isSidebar_sm = false;\n this.isSidebar_lg = true;\n } else if (this.config.layout.sidebar.size === 'sidebar-sm') {\n this.isSidebar_sm = true;\n this.isSidebar_lg = false;\n } else {\n this.isSidebar_sm = false;\n this.isSidebar_lg = false;\n }\n this.iscollapsed = this.config.layout.sidebar.collapsed;\n }, 0);\n\n\n }\n\n ngAfterViewInit() {\n setTimeout(() => {\n if (this.config.layout.dir) {\n this.options.direction = this.config.layout.dir;\n }\n\n this.renderer.removeClass(this.document.body, 'layout-dark');\n this.renderer.removeClass(this.document.body, 'layout-transparent');\n\n\n // if (this.config.layout.variant === \"Dark\") {\n // this.renderer.addClass(this.document.body, 'layout-dark');\n // } else if (this.config.layout.variant === \"Transparent\") {\n // this.renderer.addClass(this.document.body, 'layout-dark');\n // this.renderer.addClass(this.document.body, 'layout-transparent');\n // if (this.config.layout.sidebar.backgroundColor) {\n // this.renderer.addClass(this.document.body, this.config.layout.sidebar.backgroundColor);\n // } else {\n // this.renderer.addClass(this.document.body, 'bg-glass-1');\n // }\n // this.bgColor = 'black';\n // this.options.bgColor = 'black';\n // this.bgImage = '';\n // this.options.bgImage = '';\n // this.bgImage = '';\n // this.renderer.setAttribute(this.sidebarBgImage.nativeElement, 'style', 'display: none');\n\n // }\n\n\n }, 0);\n\n }\n\n ngOnDestroy(): void {\n this._unsubscribeAll.unsubscribe();\n }\n\n toggleHideSidebar($event: boolean): void {\n setTimeout(() => {\n this.hideSidebar = $event;\n }, 0);\n }\n\n getOptions($event): void {\n this.options = $event;\n }\n\n}\n","\n\n\n
\n
\n \n
\n\n
\n \n
\n
\n","import { Component, OnInit, AfterViewInit, ElementRef, Inject, Renderer2, ViewChild } from '@angular/core';\nimport { ConfigService } from 'app/shared/services/config.service';\nimport { DOCUMENT } from '@angular/common';\n\n@Component({\n selector: 'shell-empty-layout',\n templateUrl: './empty-layout.component.html',\n styleUrls: ['./empty-layout.component.scss']\n})\n\nexport class EmptyLayoutComponent implements OnInit, AfterViewInit {\n public config: any = {};\n direction: 'ltr';\n @ViewChild('content-wrapper') wrapper: ElementRef;\n\n\n constructor(private configService: ConfigService,\n @Inject(DOCUMENT) private document: Document,\n private renderer: Renderer2) { }\n\n ngOnInit() {\n this.config = this.configService.templateConf;\n }\n\n ngAfterViewInit() {\n setTimeout(() => {\n if (this.config.layout.dir) {\n this.direction = this.config.layout.dir;\n }\n\n this.renderer.removeClass(this.document.body, 'layout-dark');\n this.renderer.removeClass(this.document.body, 'layout-transparent');\n // if (this.config.layout.variant === \"Dark\") {\n // this.renderer.addClass(this.document.body, 'layout-dark');\n // }\n // else if (this.config.layout.variant === \"Transparent\") {\n // this.renderer.addClass(this.document.body, 'layout-dark');\n // this.renderer.addClass(this.document.body, 'layout-transparent');\n // if (this.config.layout.sidebar.backgroundColor) {\n // this.renderer.addClass(this.document.body, this.config.layout.sidebar.backgroundColor);\n // }\n // else {\n // this.renderer.addClass(this.document.body, 'bg-glass-1');\n // }\n // }\n }, 0);\n\n }\n\n}\n","
\n \n \n
\n\n","import {\n Component,\n OnInit,\n ElementRef,\n Inject,\n Renderer2,\n AfterViewInit,\n ViewChild,\n HostBinding,\n OnDestroy\n} from '@angular/core';\nimport {TranslateService} from '@ngx-translate/core';\nimport {ConfigService} from 'app/shared/services/config.service';\nimport {DOCUMENT} from '@angular/common';\nimport {ShellService} from \"@shell/shell.service\";\nimport {Subject} from \"rxjs\";\nimport {takeUntil} from \"rxjs/operators\";\n\n\n@Component({\n selector: 'shell-full-layout',\n templateUrl: './full-layout.component.html',\n styleUrls: ['./full-layout.component.scss']\n})\n\nexport class FullLayoutComponent implements OnInit, AfterViewInit, OnDestroy {\n //@ViewChild('sidebarBgImage') sidebarBgImage: ElementRef;\n @ViewChild('appSidebar') appSidebar: ElementRef;\n //@ViewChild('wrapper') wrapper: ElementRef;\n\n @HostBinding('class.hide-navbar') hideNavBar: boolean;\n\n options = {\n direction: 'ltr',\n bgColor: 'black',\n bgImage: 'assets/img/sidebar-bg/01.jpg'\n };\n\n hideSidebar: boolean;\n iscollapsed = false;\n isSidebar_sm = false;\n isSidebar_lg = false;\n bgColor = 'black';\n bgImage = 'assets/img/sidebar-bg/01.jpg';\n\n public config: any = {};\n\n private _unsubscribeAll: Subject;\n\n\n constructor(private elementRef: ElementRef, private configService: ConfigService,\n @Inject(DOCUMENT) private document: Document,\n private renderer: Renderer2,\n private shellService: ShellService) {\n this._unsubscribeAll = new Subject();\n\n this.shellService.showNavBar();\n this.shellService.showSidebar();\n\n this.shellService.onNavBarStateChanged\n .pipe(takeUntil(this._unsubscribeAll))\n .subscribe((visible) => this.hideNavBar = !visible);\n\n this.shellService.onSidebarStateChanged\n .pipe(takeUntil(this._unsubscribeAll))\n .subscribe((visible) => this.hideSidebar = !visible);\n }\n\n ngOnInit() {\n this.config = this.configService.templateConf;\n this.bgColor = this.config.layout.sidebar.backgroundColor;\n\n if (!this.config.layout.sidebar.backgroundImage) {\n this.bgImage = '';\n } else {\n this.bgImage = this.config.layout.sidebar.backgroundImageURL;\n }\n\n if (this.config.layout.variant === \"Transparent\") {\n if (this.config.layout.sidebar.backgroundColor.toString().trim() === '') {\n this.bgColor = 'bg-glass-1';\n }\n } else {\n if (this.config.layout.sidebar.backgroundColor.toString().trim() === '') {\n this.bgColor = 'black';\n }\n }\n\n setTimeout(() => {\n if (this.config.layout.sidebar.size === 'sidebar-lg') {\n this.isSidebar_sm = false;\n this.isSidebar_lg = true;\n } else if (this.config.layout.sidebar.size === 'sidebar-sm') {\n this.isSidebar_sm = true;\n this.isSidebar_lg = false;\n } else {\n this.isSidebar_sm = false;\n this.isSidebar_lg = false;\n }\n this.iscollapsed = this.config.layout.sidebar.collapsed;\n }, 0);\n\n\n }\n\n ngAfterViewInit() {\n setTimeout(() => {\n if (this.config.layout.dir) {\n this.options.direction = this.config.layout.dir;\n }\n\n\n if (this.config.layout.variant === \"Dark\") {\n this.renderer.addClass(this.document.body, 'layout-dark');\n } else if (this.config.layout.variant === \"Transparent\") {\n this.renderer.addClass(this.document.body, 'layout-dark');\n this.renderer.addClass(this.document.body, 'layout-transparent');\n if (this.config.layout.sidebar.backgroundColor) {\n this.renderer.addClass(this.document.body, this.config.layout.sidebar.backgroundColor);\n } else {\n this.renderer.addClass(this.document.body, 'bg-glass-1');\n }\n this.bgColor = 'black';\n this.options.bgColor = 'black';\n this.bgImage = '';\n this.options.bgImage = '';\n this.bgImage = '';\n //this.renderer.setAttribute(this.sidebarBgImage.nativeElement, 'style', 'display: none');\n\n }\n\n\n }, 0);\n\n }\n\n ngOnDestroy(): void {\n this._unsubscribeAll.unsubscribe();\n }\n\n toggleHideSidebar($event: boolean): void {\n setTimeout(() => {\n this.hideSidebar = $event;\n }, 0);\n }\n\n getOptions($event): void {\n this.options = $event;\n }\n\n}\n","\n\n
\n
\n \n
\n\n
\n \n
\n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { RouterModule } from \"@angular/router\";\n\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\nimport { PerfectScrollbarModule } from \"ngx-perfect-scrollbar\";\n\n//COMPONENTS\nimport { FooterComponent } from \"./common/footer/footer.component\";\nimport { NavbarComponent } from \"./common/navbar/navbar.component\";\nimport { NotificationSidebarComponent } from './common/notification-sidebar/notification-sidebar.component';\nimport { SideBarComponent } from './common/side-bar/side-bar.component';\nimport { ContentLayoutComponent } from './layouts/content/content-layout.component';\nimport { FullLayoutComponent } from './layouts/full/full-layout.component';\nimport { EmptyLayoutComponent } from './layouts/empty/empty-layout.component';\nimport { SharedModule } from 'shared/shared.module';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { NgxSpinnerModule } from 'ngx-spinner';\n\n\n\n\n@NgModule({\n exports: [\n FooterComponent,\n NavbarComponent,\n NotificationSidebarComponent,\n SideBarComponent,\n FullLayoutComponent,\n EmptyLayoutComponent,\n ContentLayoutComponent,\n\n ],\n imports: [\n RouterModule,\n CommonModule,\n NgbModule,\n TranslateModule,\n PerfectScrollbarModule,\n SharedModule,\n NgxSpinnerModule\n ],\n declarations: [\n FooterComponent,\n NavbarComponent,\n NotificationSidebarComponent,\n SideBarComponent,\n FullLayoutComponent,\n ContentLayoutComponent,\n EmptyLayoutComponent\n\n ]\n})\nexport class ShellModule { }\n","import { Injectable } from '@angular/core';\nimport {BehaviorSubject} from \"rxjs\";\nimport { NgxSpinnerService } from 'ngx-spinner';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ShellService {\n\n onNavBarStateChanged: BehaviorSubject = new BehaviorSubject(true);\n onSidebarStateChanged: BehaviorSubject = new BehaviorSubject(true);\n\n private readonly _fullUserName: BehaviorSubject = new BehaviorSubject('');\n fullUserName$ = this._fullUserName.asObservable();\n\n\n private readonly _title: BehaviorSubject = new BehaviorSubject('');\n title$ = this._title.asObservable();\n\n set title(value: string) {\n this._title.next(value);\n }\n\n constructor(private spinner: NgxSpinnerService) { }\n\n showNavBar(): void {\n this.onNavBarStateChanged.next(true);\n }\n\n hideNavBar(): void {\n this.onNavBarStateChanged.next(false);\n }\n\n toggleNavBar(): void {\n this.onNavBarStateChanged.next(!this.onNavBarStateChanged.value);\n }\n\n showSidebar(): void {\n this.onSidebarStateChanged.next(true);\n }\n\n hideSidebar(): void {\n this.onSidebarStateChanged.next(false);\n }\n\n toggleSidebar(): void {\n this.onSidebarStateChanged.next(!this.onSidebarStateChanged.value);\n }\n\n\n showBusy(){\n this.spinner.show(undefined,\n {\n type: 'ball-triangle-path',\n size: 'large',\n bdColor: 'rgba(0, 0, 0, 0.8)',\n color: '#fff',\n fullScreen: true\n });\n }\n\n hideBusy(){\n this.spinner.hide();\n }\n\n}\n","// The file contents for the current environment will overwrite these during build.\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\n// The list of which env maps to which file can be found in `.angular-cli.json`.\n\nexport const environment = {\n production: false,\n hmr : false,\n appConfig: 'appconfig.json',\n agora: {\n appId: '0b6f5618cd784b42ac7779c26fbfcb8b'\n }\n};\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule);\n","import { Injector, ElementRef } from '@angular/core';\nimport { AppConsts } from '@app/shared/app-consts';\n// import { LocalizationService } from '@abp/localization/localization.service';\n// import { PermissionCheckerService } from '@abp/auth/permission-checker.service';\n// import { FeatureCheckerService } from '@abp/features/feature-checker.service';\n// import { NotifyService } from '@abp/notify/notify.service';\n// import { SettingService } from '@abp/settings/setting.service';\n// import { MessageService } from '@abp/message/message.service';\n// import { AbpMultiTenancyService } from '@abp/multi-tenancy/abp-multi-tenancy.service';\nimport { AppSessionService } from '@app/core/auth/app-session.service';\nimport { NotifyService, LocalizationService, PermissionCheckerService, FeatureCheckerService, SettingService, MessageService, AbpMultiTenancyService } from 'abp-ng2-module';\n\nexport abstract class AppComponentBase {\n\n localizationSourceName = AppConsts.localization.defaultLocalizationSourceName;\n\n localization: LocalizationService;\n permission: PermissionCheckerService;\n feature: FeatureCheckerService;\n notify: NotifyService;\n setting: SettingService;\n message: MessageService;\n multiTenancy: AbpMultiTenancyService;\n appSession: AppSessionService;\n elementRef: ElementRef;\n\n constructor(injector: Injector) {\n this.localization = injector.get(LocalizationService);\n this.permission = injector.get(PermissionCheckerService);\n this.feature = injector.get(FeatureCheckerService);\n this.notify = injector.get(NotifyService);\n this.setting = injector.get(SettingService);\n this.message = injector.get(MessageService);\n this.multiTenancy = injector.get(AbpMultiTenancyService);\n this.appSession = injector.get(AppSessionService);\n this.elementRef = injector.get(ElementRef);\n }\n\n l(key: string, ...args: any[]): string {\n let localizedText = this.localization.localize(key, this.localizationSourceName);\n\n if (!localizedText) {\n localizedText = key;\n }\n\n if (!args || !args.length) {\n return localizedText;\n }\n\n args.unshift(localizedText);\n return abp.utils.formatString.apply(this, args);\n }\n\n isGranted(permissionName: string): boolean {\n return this.permission.isGranted(permissionName);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AppConsts } from '@app/shared/app-consts';\n\n@Injectable()\nexport class AppAuthService {\n\n logout(reload?: boolean): void {\n abp.auth.clearToken();\n abp.utils.setCookieValue(AppConsts.authorization.encryptedAuthTokenName, undefined, undefined, abp.appPath);\n if (reload !== false) {\n location.href = AppConsts.appBaseUrl;\n }\n }\n}\n","import { Injectable } from '@angular/core';\n//import { PermissionCheckerService } from '@abp/auth/permission-checker.service';\nimport { AppSessionService } from '@app/core/auth/app-session.service';\n\nimport {\n CanActivate, Router,\n ActivatedRouteSnapshot,\n RouterStateSnapshot,\n CanActivateChild\n} from '@angular/router';\nimport { PermissionCheckerService } from 'abp-ng2-module';\n\n@Injectable()\nexport class AppRouteGuard implements CanActivate, CanActivateChild {\n\n constructor(\n private _permissionChecker: PermissionCheckerService,\n private _router: Router,\n private _sessionService: AppSessionService,\n ) { }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\n if (!this._sessionService.user) {\n this._router.navigate(['/auth/login']);\n return false;\n }\n\n if (!route.data || !route.data['permission']) {\n return true;\n }\n\n if (this._permissionChecker.isGranted(route.data['permission'])) {\n return true;\n }\n\n this._router.navigate([this.selectBestRoute()]);\n return false;\n }\n\n canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\n return this.canActivate(route, state);\n }\n\n selectBestRoute(): string {\n if (!this._sessionService.user) {\n return '/auth/login';\n }\n\n if (this._permissionChecker.isGranted('Pages.Users')) {\n return '/app/admin/users';\n }\n\n return '/apps';\n }\n}\n","import {\n AfterViewInit,\n Directive,\n ElementRef,\n Injectable,\n HostListener,\n Input,\n SimpleChanges,\n OnChanges\n} from '@angular/core';\n\n@Directive({\n selector: '[block]'\n})\n@Injectable()\nexport class BlockDirective implements AfterViewInit, OnChanges {\n @Input('block') loading: boolean;\n private $element: JQuery;\n\n constructor(private _element: ElementRef) { }\n\n ngAfterViewInit(): void {\n this.$element = $(this._element.nativeElement);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n $.blockUI.defaults.overlayCSS.cursor = 'not-allowed';\n if (changes['loading'].currentValue) {\n abp.ui.block(this._element.nativeElement);\n } else {\n abp.ui.unblock(this._element.nativeElement);\n }\n }\n}\n","import {\n AfterViewInit,\n Directive,\n ElementRef,\n Injectable,\n HostListener,\n Input,\n SimpleChanges,\n OnChanges\n} from '@angular/core';\n\n@Directive({\n selector: '[busy]'\n})\n@Injectable()\nexport class BusyDirective implements AfterViewInit, OnChanges {\n @Input('busy') loading: boolean;\n private $element: JQuery;\n\n constructor(private _element: ElementRef) { }\n\n ngAfterViewInit(): void {\n this.$element = $(this._element.nativeElement);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n\n if (changes['loading'].currentValue) {\n abp.ui.setBusy(this._element.nativeElement);\n } else {\n abp.ui.clearBusy(this._element.nativeElement);\n }\n }\n}\n","import { Directive, forwardRef, Attribute } from '@angular/core';\nimport { Validator, AbstractControl, NG_VALIDATORS } from '@angular/forms';\n\n@Directive({\n selector:\n // tslint:disable-next-line:directive-selector\n '[validateEqual][formControlName],[validateEqual][formControl],[validateEqual][ngModel]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => EqualValidator),\n multi: true\n }\n ]\n})\nexport class EqualValidator implements Validator {\n constructor(\n @Attribute('validateEqual') public validateEqual: string,\n @Attribute('reverse') public reverse: string\n ) {}\n\n private get isReverse() {\n if (!this.reverse) {\n return false;\n }\n return this.reverse === 'true' ? true : false;\n }\n\n validate(control: AbstractControl): { [key: string]: any } {\n // self answer\n const value = control.value;\n\n // second control\n const control2 = control.root.get(this.validateEqual);\n\n // answer not equal\n if (control2 && value !== control2.value && !this.isReverse) {\n return {\n validateEqual: false\n };\n }\n\n // answer equal and reverse\n if (control2 && value === control2.value && this.isReverse) {\n delete control2.errors['validateEqual'];\n if (!Object.keys(control2.errors).length) {\n control2.setErrors(null);\n }\n }\n\n // answer not equal and reverse\n if (control2 && value !== control2.value && this.isReverse) {\n control2.setErrors({ validateEqual: false });\n }\n\n return null;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\n\nimport { AppSessionService } from '@app/core/auth/app-session.service';\nimport { AppUrlService } from '../app/core/auth/app-url.service';\nimport { AppAuthService } from './abp/auth/app-auth.service';\nimport { AppRouteGuard } from './abp/auth/auth-route-guard';\nimport { LocalizePipe } from '@app/shared/pipes/localize.pipe';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { CdkTableModule } from '@angular/cdk/table';\nimport { CdkTreeModule } from '@angular/cdk/tree';\n\nimport { BlockDirective } from './abp/directives/block.directive';\nimport { BusyDirective } from './abp/directives/busy.directive';\nimport { EqualValidator } from './abp/directives/equal-validator.directive';\n//import { AbpSharedModule } from './abp/abp-shared.module';\n@NgModule({\n imports: [\n CommonModule,\n //AbpSharedModule,\n RouterModule,\n \n ],\n declarations: [\n LocalizePipe,\n BlockDirective,\n BusyDirective,\n EqualValidator\n ],\n exports: [\n LocalizePipe,\n BlockDirective,\n BusyDirective,\n EqualValidator,\n CdkTableModule,\n CdkTreeModule,\n DragDropModule,\n ScrollingModule\n ]\n})\nexport class SharedModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: SharedModule,\n providers: [\n AppSessionService,\n AppUrlService,\n AppAuthService,\n AppRouteGuard\n ]\n };\n }\n}\n"],"sourceRoot":"webpack:///"}