@volosoft/abp.ng.theme.lepton-x
Version:
ABP Framework is a complete open-source infrastructure to create modern web applications by following the best practices and conventions of software development. This package is a part of the [ABP Framework](https://abp.io) and contains client-side files.
1 lines • 48.1 kB
Source Map (JSON)
{"version":3,"file":"volosoft-abp.ng.theme.lepton-x.mjs","sources":["../../../../libs/volo-lepton-x/src/lib/components/abp-validation-error/abp-validation-error.component.ts","../../../../libs/volo-lepton-x/src/lib/services/abp-settings.service.ts","../../../../libs/volo-lepton-x/src/lib/tokens/http-error-path.token.ts","../../../../libs/volo-lepton-x/src/lib/tokens/translate-key-map.ts","../../../../libs/volo-lepton-x/src/lib/services/abp-create-error-component.service.ts","../../../../libs/volo-lepton-x/src/lib/services/abp-translate.service.ts","../../../../libs/volo-lepton-x/src/lib/services/abp-auth.service.ts","../../../../libs/volo-lepton-x/src/lib/providers/init-service.provider.ts","../../../../libs/volo-lepton-x/src/lib/providers/style.provider.ts","../../../../libs/volo-lepton-x/src/lib/providers/translate.provider.ts","../../../../libs/volo-lepton-x/src/lib/providers/account-layout.provider.ts","../../../../libs/volo-lepton-x/src/lib/providers/lepton-x.routes.ts","../../../../libs/volo-lepton-x/src/lib/providers/http-error.provider.ts","../../../../libs/volo-lepton-x/src/lib/enums/user-menu-items.ts","../../../../libs/volo-lepton-x/src/lib/providers/user-menu-service.provider.ts","../../../../libs/volo-lepton-x/src/lib/providers/theme-lepton-x.provider.ts","../../../../libs/volo-lepton-x/src/lib/components/abp-validation-error/abp-validation-error.module.ts","../../../../libs/volo-lepton-x/src/lib/components/http-error/http-error.component.ts","../../../../libs/volo-lepton-x/src/lib/components/http-error/http-error.component.html","../../../../libs/volo-lepton-x/src/lib/lepton-x.module.ts","../../../../libs/volo-lepton-x/src/volosoft-abp.ng.theme.lepton-x.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { Validation, ValidationErrorComponent } from '@ngx-validate/core';\r\nimport { LocalizationPipe } from '@abp/ng.core';\r\n@Component({\r\n selector: 'abp-validation-error',\r\n // TODO: add validation error class to span\r\n template: `\r\n <span\r\n class=\"text-danger\"\r\n data-valmsg-for=\"Role.Name\"\r\n data-valmsg-replace=\"true\"\r\n >\r\n @for (error of abpErrors; track $index) {\r\n <span>\r\n {{ error.message | abpLocalization: error.interpoliteParams }}\r\n </span>\r\n }\r\n </span>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n styles: [\r\n `\r\n :host-context {\r\n order: 3;\r\n }\r\n `,\r\n ],\r\n imports: [LocalizationPipe],\r\n})\r\nexport class AbpValidationErrorComponent extends ValidationErrorComponent {\r\n get abpErrors(): Validation.Error[] & { interpoliteParams?: string[] } {\r\n if (!this.errors || !this.errors.length) {\r\n return [];\r\n }\r\n\r\n return this.errors.map((error) => {\r\n if (!error.message) {\r\n return error;\r\n }\r\n\r\n const index = error.message.indexOf('[');\r\n\r\n if (index > -1) {\r\n return {\r\n ...error,\r\n message: error.message.slice(0, index),\r\n interpoliteParams: error.message\r\n .slice(index + 1, error.message.length - 1)\r\n .split(','),\r\n };\r\n }\r\n\r\n return error;\r\n });\r\n }\r\n}\r\n","import { Injectable, inject } from '@angular/core';\r\nimport { filter, map, switchMap } from 'rxjs/operators';\r\nimport { BehaviorSubject, combineLatest, of } from 'rxjs';\r\nimport {\r\n LanguageService,\r\n LpxLanguage,\r\n UserProfileService,\r\n} from '@volo/ngx-lepton-x.core';\r\nimport {\r\n ConfigStateService,\r\n CurrentUserDto,\r\n CurrentTenantDto,\r\n getLocaleDirection,\r\n LanguageInfo,\r\n NAVIGATE_TO_MANAGE_PROFILE,\r\n SessionStateService,\r\n RouteBasedCultureUrlService,\r\n} from '@abp/ng.core';\r\n\r\nimport {\r\n NAVIGATE_TO_MY_SECURITY_LOGS,\r\n OPEN_MY_LINK_USERS_MODAL,\r\n PROFILE_PICTURE,\r\n ProfilePictureImage,\r\n} from '@volo/abp.commercial.ng.ui/config';\r\nimport { UserMenuService } from '@abp/ng.theme.shared';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AbpSettingsService {\r\n private sessionService = inject(SessionStateService);\r\n private configStateService = inject(ConfigStateService);\r\n private languageService = inject(LanguageService);\r\n private userProfileService = inject(UserProfileService);\r\n private profilePicture$ =\r\n inject<BehaviorSubject<ProfilePictureImage>>(PROFILE_PICTURE);\r\n navigateToManageProfile = inject(NAVIGATE_TO_MANAGE_PROFILE);\r\n navigateToMySecurityLogs = inject(NAVIGATE_TO_MY_SECURITY_LOGS);\r\n openMyLinkUsersModal = inject(OPEN_MY_LINK_USERS_MODAL, { optional: true })!;\r\n private userMenuService = inject(UserMenuService);\r\n\r\n protected readonly routeCultureUrl = inject(RouteBasedCultureUrlService);\r\n\r\n setUpListeners() {\r\n this.listenToLangChange();\r\n this.setLanguageOptions();\r\n this.setUserProfile();\r\n this.setProfilePicture();\r\n this.setUserMenuGroups();\r\n }\r\n\r\n setUserProfile() {\r\n const emptyStringOnNull = (value?: string) => value || '';\r\n\r\n const currentUser$ = this.configStateService\r\n .getOne$('currentUser')\r\n .pipe(filter<CurrentUserDto>(Boolean));\r\n\r\n const currentTenant$ = this.configStateService\r\n .getOne$('currentTenant')\r\n .pipe(filter<CurrentTenantDto>(Boolean));\r\n\r\n combineLatest([currentUser$, currentTenant$]).subscribe(\r\n ([currentUser, currentTenant]) => {\r\n this.userProfileService.patchUser({\r\n id: currentUser.id,\r\n isAuthenticated: currentUser.isAuthenticated,\r\n userName: currentUser.userName,\r\n fullName:\r\n emptyStringOnNull(currentUser.name) +\r\n ' ' +\r\n emptyStringOnNull(currentUser.surName),\r\n email: currentUser.email,\r\n tenant: currentTenant,\r\n });\r\n },\r\n );\r\n }\r\n\r\n setUserMenuGroups() {\r\n this.userMenuService.items$.subscribe((userMenu) => {\r\n const userActionGroups = userMenu.reduce(\r\n (acc, curr, index) => {\r\n const menuItem = {\r\n icon: curr.textTemplate?.icon,\r\n text: curr.textTemplate?.text,\r\n component: curr?.component,\r\n action: () => {\r\n curr.action();\r\n return of(true);\r\n },\r\n visible: curr.visible,\r\n };\r\n const setIndex = index === userMenu.length - 1 ? 1 : 0;\r\n acc[setIndex].push(menuItem);\r\n return acc;\r\n },\r\n [[], []],\r\n );\r\n\r\n this.userProfileService.patchUser({\r\n userActionGroups,\r\n });\r\n });\r\n }\r\n\r\n setProfilePicture() {\r\n this.profilePicture$\r\n .pipe(filter<ProfilePictureImage>(Boolean))\r\n .subscribe((avatar) =>\r\n this.userProfileService.patchUser({\r\n avatar: {\r\n type: avatar.type,\r\n source: avatar.source || '',\r\n },\r\n }),\r\n );\r\n }\r\n\r\n setLanguageOptions() {\r\n this.sessionService\r\n .getLanguage$()\r\n .pipe(\r\n switchMap((currentLang) =>\r\n this.configStateService.getDeep$('localization.languages').pipe(\r\n filter<LanguageInfo[]>(Boolean),\r\n map((languages: LanguageInfo[]) =>\r\n languages.map<LpxLanguage>(({ cultureName, ...rest }) => ({\r\n ...rest,\r\n cultureName,\r\n selected: cultureName === currentLang,\r\n isRTL: getLocaleDirection(cultureName) === 'rtl',\r\n })),\r\n ),\r\n ),\r\n ),\r\n )\r\n .subscribe((settings) => {\r\n this.languageService.setLanguages(settings);\r\n });\r\n }\r\n\r\n listenToLangChange() {\r\n this.languageService.selectedLanguage$\r\n .pipe(filter<LpxLanguage | undefined>(Boolean))\r\n .subscribe((lang) => {\r\n this.routeCultureUrl.applyLanguageSelection(lang?.cultureName || '');\r\n });\r\n }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const HTTP_ERROR_PATH = new InjectionToken<string>('HTTP_ERROR_PATH');\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const LPX_TRANSLATE_KEY_MAP_TOKEN = new InjectionToken<{\r\n [key: string]: string;\r\n}>('LPX_TRANSLATE_KEY_MAP_TOKEN');\r\n","import { Injectable, inject } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport {\r\n CreateErrorComponentService,\r\n ErrorScreenErrorCodes,\r\n HttpErrorWrapperComponent,\r\n} from '@abp/ng.theme.shared';\r\nimport { HTTP_ERROR_PATH } from '../tokens';\r\n\r\n@Injectable()\r\nexport class AbpCreateErrorComponentService extends CreateErrorComponentService {\r\n protected readonly router: Router;\r\n protected readonly httpErrorPath: string;\r\n\r\n constructor() {\r\n super();\r\n this.router = inject(Router);\r\n this.httpErrorPath = inject(HTTP_ERROR_PATH);\r\n }\r\n\r\n override execute(instance: Partial<HttpErrorWrapperComponent>): void {\r\n if (this.canCreateCustomError(instance.status as ErrorScreenErrorCodes)) {\r\n super.execute(instance);\r\n return;\r\n }\r\n\r\n const queryParams = { status: instance.status };\r\n this.router.navigate([this.httpErrorPath], { queryParams });\r\n }\r\n}\r\n","import { Injectable, inject } from '@angular/core';\r\nimport { LocalizationService } from '@abp/ng.core';\r\nimport {\r\n flatArrayDeepToObject,\r\n TranslateService,\r\n} from '@volo/ngx-lepton-x.core';\r\nimport { Observable, of } from 'rxjs';\r\nimport { LPX_TRANSLATE_KEY_MAP_TOKEN } from '../tokens/translate-key-map';\r\n\r\n@Injectable()\r\nexport class AbpTranslateService implements TranslateService {\r\n private localization = inject(LocalizationService);\r\n private translateKeys = inject<Array<any>>(LPX_TRANSLATE_KEY_MAP_TOKEN);\r\n\r\n\r\n get(key: string, defaultValue: string | undefined): string {\r\n const keyToTranslate = this.getKey(key);\r\n if (keyToTranslate) {\r\n return this.localization.instant({\r\n key: keyToTranslate,\r\n defaultValue,\r\n });\r\n }\r\n\r\n return defaultValue || key;\r\n }\r\n\r\n get$(key: string, defaultValue: string | undefined): Observable<string> {\r\n const keyToTranslate = this.getKey(key);\r\n if (keyToTranslate) {\r\n return this.localization.get({\r\n key: keyToTranslate,\r\n defaultValue,\r\n });\r\n }\r\n\r\n return of(defaultValue || key);\r\n }\r\n\r\n private getKey(key: string): string | undefined {\r\n const keys = flatArrayDeepToObject(this.translateKeys);\r\n return keys[key] ? keys[key] : key.includes('::') ? key : undefined;\r\n }\r\n}\r\n","import { Injectable, inject } from '@angular/core';\r\nimport { AuthService, UserProfileService } from '@volo/ngx-lepton-x.core';\r\nimport { map } from 'rxjs/operators';\r\nimport { AuthService as AuthCoreService } from '@abp/ng.core';\r\n\r\n@Injectable()\r\nexport class AbpAuthService implements AuthService {\r\n private userProfileService = inject(UserProfileService);\r\n private authService = inject(AuthCoreService);\r\n\r\n\r\n isUserExists$ = this.userProfileService.user$.pipe(\r\n map((user) => user && !!user.userName)\r\n );\r\n\r\n navigateToLogin(): void {\r\n this.authService.navigateToLogin();\r\n }\r\n}\r\n","import { inject, provideAppInitializer } from '@angular/core';\r\nimport {\r\n AbpNavbarService,\r\n AbpToolbarService,\r\n} from '@volo/abp.ng.lepton-x.core';\r\nimport { AbpSettingsService } from '../services';\r\n\r\nexport const INIT_SERVICE_PROVIDER = provideAppInitializer(() => {\r\n initServices();\r\n});\r\n\r\nexport function initServices() {\r\n const navbar = inject(AbpNavbarService);\r\n const abpToolbar = inject(AbpToolbarService);\r\n const setting = inject(AbpSettingsService);\r\n\r\n abpToolbar.listenNavItems();\r\n setting.setUpListeners();\r\n navbar.initRoutes();\r\n}\r\n","import { inject, PLATFORM_ID, provideAppInitializer } from '@angular/core';\r\nimport { isPlatformServer } from '@angular/common';\r\n\r\nexport const LPX_STYLE_PROVIDER = provideAppInitializer(() => {\r\n const platformId = inject(PLATFORM_ID);\r\n if (isPlatformServer(platformId)) {\r\n return Promise.resolve();\r\n }\r\n const loader = document.querySelector('#lp-page-loader') as HTMLElement;\r\n if (loader) {\r\n loader.style.background = 'var(--background)';\r\n setTimeout(() => loader.parentNode?.removeChild(loader), 500);\r\n }\r\n return Promise.resolve();\r\n});\r\n","import { Provider } from '@angular/core';\r\nimport {\r\n LanguageTranslateKeys,\r\n LanguageTranslateValues,\r\n LPX_TRANSLATE_SERVICE_TOKEN,\r\n} from '@volo/ngx-lepton-x.core';\r\nimport { LocalizationService } from '@abp/ng.core';\r\nimport { AbpTranslateService } from '../services/abp-translate.service';\r\nimport { LPX_TRANSLATE_KEY_MAP_TOKEN } from '../tokens/translate-key-map';\r\nimport {\r\n ThemeTranslateKeys,\r\n ThemeTranslateValues,\r\n} from '@volosoft/ngx-lepton-x';\r\n\r\nexport const LPX_TRANSLATE_PROVIDER: Provider = {\r\n provide: LPX_TRANSLATE_SERVICE_TOKEN,\r\n useFactory: () => {\r\n return new AbpTranslateService();\r\n },\r\n deps: [LocalizationService, LPX_TRANSLATE_KEY_MAP_TOKEN],\r\n};\r\nexport const translateKeys: ThemeTranslateValues & LanguageTranslateValues = {\r\n [LanguageTranslateKeys.SettingsTitle]: 'LeptonX::Language',\r\n [ThemeTranslateKeys.AppearanceTitle]: 'LeptonX::Appearance',\r\n [ThemeTranslateKeys.DarkMode]: 'LeptonX::Theme:dark',\r\n [ThemeTranslateKeys.LightMode]: 'LeptonX::Theme:light',\r\n [ThemeTranslateKeys.SemiDarkMode]: 'LeptonX::Theme:dim',\r\n [ThemeTranslateKeys.System]: 'LeptonX::Theme:system',\r\n};\r\nexport const LPX_TRANSLATE_KEYS_PROVIDER: Provider = {\r\n provide: LPX_TRANSLATE_KEY_MAP_TOKEN,\r\n multi: true,\r\n useValue: translateKeys,\r\n};\r\n","import { ReplaceableComponentsService } from '@abp/ng.core';\r\nimport { inject, provideAppInitializer } from '@angular/core';\r\nimport { eThemeLeptonXComponents } from '../enums';\r\nimport { AccountLayoutComponent } from '@volosoft/abp.ng.theme.lepton-x/account';\r\n\r\nexport const ACCOUNT_LAYOUT_PROVIDER = provideAppInitializer(() => {\r\n initAccountLayout();\r\n});\r\n\r\nexport function initAccountLayout() {\r\n const replaceableComponents = inject(ReplaceableComponentsService);\r\n replaceableComponents.add({\r\n key: eThemeLeptonXComponents.AccountLayout,\r\n component: AccountLayoutComponent,\r\n });\r\n}\r\n","import { EnvironmentProviders } from '@angular/core';\r\nimport { provideRouter } from '@angular/router';\r\nimport { ThemeLeptonXModuleOptions } from './theme-lepton-x.provider';\r\n\r\nexport function leptonXRoutes(\r\n options: ThemeLeptonXModuleOptions,\r\n): EnvironmentProviders {\r\n const { httpError } = options || {};\r\n\r\n return provideRouter([\r\n {\r\n pathMatch: 'full',\r\n path: httpError?.errorPath || 'error',\r\n loadComponent: () =>\r\n import('./../components/http-error/http-error.component').then(\r\n (c) => c.HttpErrorComponent,\r\n ),\r\n },\r\n ]);\r\n}\r\n","import { EnvironmentProviders, Provider } from '@angular/core';\r\nimport { CreateErrorComponentService } from '@abp/ng.theme.shared';\r\nimport { AbpCreateErrorComponentService } from '../services';\r\nimport { HTTP_ERROR_PATH } from '../tokens';\r\nimport { leptonXRoutes } from './lepton-x.routes';\r\nimport { ThemeLeptonXModuleOptions } from './theme-lepton-x.provider';\r\n\r\nexport function httpErrorProvider(\r\n options: ThemeLeptonXModuleOptions,\r\n): (Provider | EnvironmentProviders)[] {\r\n const { httpError } = options || {};\r\n\r\n return [\r\n {\r\n provide: HTTP_ERROR_PATH,\r\n useValue: httpError?.errorPath || 'error',\r\n },\r\n {\r\n provide: CreateErrorComponentService,\r\n useClass: AbpCreateErrorComponentService,\r\n },\r\n leptonXRoutes(options),\r\n ];\r\n}\r\n","export enum eUserMenuItems {\r\n Sessions = 'Sessions',\r\n SwitchTenant = 'SwitchTenant',\r\n ExternalLogins = 'ExternalLogins',\r\n LinkedAccounts = 'LinkedAccounts',\r\n MyAccount = 'MyAccount',\r\n SecurityLogs = 'SecurityLogs',\r\n BackToImpersonator = 'BackToImpersonator',\r\n AuthorityDelegation = 'AuthorityDelegation',\r\n Logout = 'Logout',\r\n}\r\n","import { inject, provideAppInitializer } from '@angular/core';\r\nimport { map } from 'rxjs';\r\nimport {\r\n AuthService,\r\n ConfigStateService,\r\n EnvironmentService,\r\n NAVIGATE_TO_MANAGE_PROFILE,\r\n TenantUserSharingStrategy,\r\n} from '@abp/ng.core';\r\nimport { UserMenuService } from '@abp/ng.theme.shared';\r\nimport {\r\n NAVIGATE_TO_MY_SESSIONS,\r\n NAVIGATE_TO_MY_SECURITY_LOGS,\r\n OPEN_MY_LINK_USERS_MODAL,\r\n OPEN_AUTHORITY_DELEGATION_MODAL,\r\n NAVIGATE_TO_MY_EXTERNAL_LOGINS,\r\n OPEN_SWITCH_TENANT_MODAL,\r\n} from '@volo/abp.commercial.ng.ui/config';\r\nimport { eUserMenuItems } from '../enums/user-menu-items';\r\n\r\nexport const LEPTON_X_USER_MENU_PROVIDERS = [\r\n provideAppInitializer(() => {\r\n configureUserMenu();\r\n }),\r\n];\r\n\r\nexport function configureUserMenu() {\r\n const userMenu = inject(UserMenuService);\r\n const authService = inject(AuthService);\r\n const configState = inject(ConfigStateService);\r\n const environment = inject(EnvironmentService);\r\n\r\n const navigateToMySessions = inject(NAVIGATE_TO_MY_SESSIONS);\r\n const navigateToMyExternalLogins = inject(NAVIGATE_TO_MY_EXTERNAL_LOGINS);\r\n const navigateToManageProfile = inject(NAVIGATE_TO_MANAGE_PROFILE);\r\n const navigateToMySecurityLogs = inject(NAVIGATE_TO_MY_SECURITY_LOGS);\r\n\r\n const openMyLinkUsersModal = inject(OPEN_MY_LINK_USERS_MODAL, {\r\n optional: true,\r\n }) as () => void;\r\n\r\n const openAuthorityDelegationModal = inject(OPEN_AUTHORITY_DELEGATION_MODAL, {\r\n optional: true,\r\n }) as () => void;\r\n\r\n const openSwitchTenantModal = inject(OPEN_SWITCH_TENANT_MODAL, {\r\n optional: true,\r\n }) as (() => void) | null;\r\n\r\n userMenu.addItems([\r\n {\r\n id: eUserMenuItems.Sessions,\r\n order: 100,\r\n textTemplate: {\r\n icon: 'bi bi-clock-fill',\r\n text: 'AbpAccount::Sessions',\r\n },\r\n action: () => navigateToMySessions(),\r\n },\r\n {\r\n id: eUserMenuItems.SwitchTenant,\r\n order: 101,\r\n textTemplate: {\r\n icon: 'bi bi-arrow-left-right',\r\n text: 'AbpAccount::SwitchTenant',\r\n },\r\n visible: () => {\r\n if (!openSwitchTenantModal) return false;\r\n return configState.getOne$('multiTenancy').pipe(\r\n map(\r\n multiTenancy =>\r\n multiTenancy?.isEnabled &&\r\n multiTenancy?.userSharingStrategy === TenantUserSharingStrategy.Shared,\r\n ),\r\n );\r\n },\r\n action: () => openSwitchTenantModal?.(),\r\n },\r\n {\r\n id: eUserMenuItems.ExternalLogins,\r\n order: 102,\r\n textTemplate: {\r\n icon: 'bi bi-person-circle',\r\n text: 'AbpAccount::ExternalLogins',\r\n },\r\n action: () => navigateToMyExternalLogins(),\r\n visible: () => {\r\n return environment.getEnvironment$().pipe(\r\n map(({ oAuthConfig }) => {\r\n return oAuthConfig?.responseType === 'code';\r\n }),\r\n );\r\n },\r\n },\r\n {\r\n id: eUserMenuItems.LinkedAccounts,\r\n order: 103,\r\n textTemplate: {\r\n icon: 'bi bi-link',\r\n text: 'AbpAccount::LinkedAccounts',\r\n },\r\n action: () => openMyLinkUsersModal(),\r\n visible: () => !!openMyLinkUsersModal,\r\n },\r\n {\r\n id: eUserMenuItems.AuthorityDelegation,\r\n order: 104,\r\n textTemplate: {\r\n text: 'AbpAccount::AuthorityDelegation',\r\n icon: 'fa fa-users',\r\n },\r\n visible: () => {\r\n return configState\r\n .getOne$('currentUser')\r\n .pipe(map(({ impersonatorUserId }) => !Boolean(impersonatorUserId)));\r\n },\r\n action: () => openAuthorityDelegationModal(),\r\n },\r\n {\r\n id: eUserMenuItems.MyAccount,\r\n order: 105,\r\n textTemplate: {\r\n icon: 'bi bi-sliders',\r\n text: 'AbpAccount::MyAccount',\r\n },\r\n action: () => navigateToManageProfile(),\r\n },\r\n {\r\n id: eUserMenuItems.SecurityLogs,\r\n order: 106,\r\n textTemplate: {\r\n icon: 'bi bi-list-ul',\r\n text: 'AbpAccount::MySecurityLogs',\r\n },\r\n action: () => navigateToMySecurityLogs(),\r\n },\r\n {\r\n id: eUserMenuItems.Logout,\r\n order: 108, // The order has taken to 108 deliberately since we moved the back to impersonator item to the end of the menu\r\n textTemplate: {\r\n icon: 'bi bi-box-arrow-right',\r\n text: 'AbpUi::Logout',\r\n },\r\n action: () => {\r\n authService.logout().subscribe();\r\n },\r\n },\r\n ]);\r\n}\r\n","import {\r\n Provider,\r\n EnvironmentProviders,\r\n makeEnvironmentProviders,\r\n} from '@angular/core';\r\nimport {\r\n VALIDATION_ERROR_TEMPLATE,\r\n VALIDATION_INVALID_CLASSES,\r\n VALIDATION_TARGET_SELECTOR,\r\n} from '@ngx-validate/core';\r\nimport { LpxStyles } from '@volo/ngx-lepton-x.core';\r\nimport { LpxOptions, provideLpx, withLpxOptions } from '@volosoft/ngx-lepton-x';\r\nimport { PROFILE_PICTURE_PROVIDERS } from '@volo/abp.commercial.ng.ui/config';\r\nimport { provideLeptonXAbpCore } from '@volo/abp.ng.lepton-x.core';\r\nimport { AbpValidationErrorComponent } from '../components';\r\nimport {\r\n LPX_TRANSLATE_KEYS_PROVIDER,\r\n LPX_TRANSLATE_PROVIDER,\r\n httpErrorProvider,\r\n INIT_SERVICE_PROVIDER,\r\n LPX_STYLE_PROVIDER,\r\n LEPTON_X_USER_MENU_PROVIDERS,\r\n ACCOUNT_LAYOUT_PROVIDER,\r\n} from './';\r\n\r\nexport type ThemeLeptonXModuleOptions = LpxOptions;\r\n\r\nexport enum ThemeLeptonXFeatureKind {\r\n Options,\r\n}\r\n\r\nexport interface ThemeLeptonXFeature<KindT extends ThemeLeptonXFeatureKind> {\r\n ɵkind: KindT;\r\n ɵproviders: (Provider | EnvironmentProviders)[];\r\n}\r\n\r\nfunction makeThemeLeptonXFeature<KindT extends ThemeLeptonXFeatureKind>(\r\n kind: KindT,\r\n providers: (Provider | EnvironmentProviders)[],\r\n): ThemeLeptonXFeature<KindT> {\r\n return {\r\n ɵkind: kind,\r\n ɵproviders: providers,\r\n };\r\n}\r\n\r\nexport function withThemeLeptonXOptions(\r\n options = {} as ThemeLeptonXModuleOptions,\r\n): ThemeLeptonXFeature<ThemeLeptonXFeatureKind.Options> {\r\n const lpxModuleOptions: LpxOptions = {\r\n ...options,\r\n styleFactory: (styles: LpxStyles) => {\r\n styles.push({\r\n bundleName: 'abp-bundle',\r\n });\r\n if (options?.styleFactory) {\r\n return options.styleFactory(styles);\r\n }\r\n return styles;\r\n },\r\n };\r\n return makeThemeLeptonXFeature(ThemeLeptonXFeatureKind.Options, [\r\n provideLpx(withLpxOptions(lpxModuleOptions)),\r\n httpErrorProvider(options),\r\n ]);\r\n}\r\n\r\nexport function provideAbpValidationError(): EnvironmentProviders {\r\n const providers = [\r\n {\r\n provide: VALIDATION_ERROR_TEMPLATE,\r\n useValue: AbpValidationErrorComponent,\r\n },\r\n {\r\n provide: VALIDATION_INVALID_CLASSES,\r\n useValue: 'is-invalid',\r\n },\r\n {\r\n provide: VALIDATION_TARGET_SELECTOR,\r\n useValue: '.form-group',\r\n },\r\n ];\r\n\r\n return makeEnvironmentProviders(providers);\r\n}\r\n\r\nexport function provideThemeLeptonX(\r\n ...features: ThemeLeptonXFeature<ThemeLeptonXFeatureKind>[]\r\n): EnvironmentProviders {\r\n const providers: (Provider | EnvironmentProviders)[] = [\r\n LPX_STYLE_PROVIDER,\r\n PROFILE_PICTURE_PROVIDERS,\r\n LEPTON_X_USER_MENU_PROVIDERS,\r\n INIT_SERVICE_PROVIDER,\r\n provideAbpValidationError(),\r\n provideLeptonXAbpCore(),\r\n ACCOUNT_LAYOUT_PROVIDER,\r\n provideLpx(),\r\n LPX_TRANSLATE_KEYS_PROVIDER,\r\n LPX_TRANSLATE_PROVIDER,\r\n ];\r\n\r\n features.forEach(({ ɵproviders }) => providers.push(...ɵproviders));\r\n\r\n return makeEnvironmentProviders(providers);\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\r\nimport { CoreModule } from '@abp/ng.core';\r\nimport { AbpValidationErrorComponent } from './abp-validation-error.component';\r\nimport { provideAbpValidationError } from '../../providers';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n NgxValidateCoreModule,\r\n AbpValidationErrorComponent,\r\n ],\r\n exports: [AbpValidationErrorComponent, NgxValidateCoreModule],\r\n})\r\nexport class AbpValidationErrorModule {\r\n /**\r\n * @deprecated `AbpValidationErrorModule.forRoot()` is deprecated. You can use `provideAbpValidationError` **function** instead.\r\n */\r\n static forRoot(): ModuleWithProviders<AbpValidationErrorModule> {\r\n return {\r\n ngModule: AbpValidationErrorModule,\r\n providers: [provideAbpValidationError()],\r\n };\r\n }\r\n}\r\n","import {\r\n Component,\r\n computed,\r\n inject,\r\n PLATFORM_ID,\r\n signal,\r\n} from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { isPlatformBrowser, Location } from '@angular/common';\r\nimport { Subject } from 'rxjs';\r\nimport {\r\n LocalizationPipe,\r\n ReplaceableTemplateDirective,\r\n RouterEvents,\r\n} from '@abp/ng.core';\r\nimport { HTTP_ERROR_STATUS, HTTP_ERROR_DETAIL } from '@abp/ng.theme.shared';\r\nimport { eThemeLeptonXComponents } from '../../enums';\r\n\r\n@Component({\r\n selector: 'abp-http-error',\r\n imports: [LocalizationPipe, ReplaceableTemplateDirective],\r\n templateUrl: './http-error.component.html',\r\n})\r\nexport class HttpErrorComponent {\r\n protected readonly router = inject(Router);\r\n protected readonly activatedRoute = inject(ActivatedRoute);\r\n protected readonly location = inject(Location);\r\n protected readonly routerEvents = inject(RouterEvents);\r\n protected readonly platformId = inject(PLATFORM_ID);\r\n\r\n public readonly destroy$: Subject<void>;\r\n\r\n protected readonly errorComponentKey = eThemeLeptonXComponents.HttpError;\r\n protected readonly status = signal(0);\r\n\r\n readonly lastNavigation = this.routerEvents.previousNavigation;\r\n readonly currentNavigation = this.routerEvents.currentNavigation;\r\n\r\n protected readonly statusText = computed(\r\n () => HTTP_ERROR_STATUS[this.status()] ?? '',\r\n );\r\n\r\n protected readonly detail = computed(\r\n () => HTTP_ERROR_DETAIL[this.status()] ?? '',\r\n );\r\n\r\n constructor() {\r\n const { status } = this.activatedRoute.snapshot.queryParams;\r\n\r\n if (!isNaN(status)) {\r\n this.status.set(+status);\r\n }\r\n }\r\n\r\n goBack(): void {\r\n\r\n if (!isPlatformBrowser(this.platformId)) {\r\n return;\r\n }\r\n\r\n const url =\r\n this.status() === 404 ? this.currentNavigation() : this.lastNavigation();\r\n\r\n if (url) {\r\n this.router.navigateByUrl(url, { onSameUrlNavigation: 'reload' });\r\n } else {\r\n this.location.back();\r\n }\r\n\r\n this.destroy$?.next();\r\n }\r\n\r\n goHome(): void {\r\n this.router.navigateByUrl('/', { onSameUrlNavigation: 'reload' });\r\n this.destroy$?.next();\r\n }\r\n}\r\n","<ng-container *abpReplaceableTemplate=\"{ componentKey: errorComponentKey }\">\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-10 col-md-11 mx-auto\">\r\n <div\r\n class=\"d-flex flex-column justify-content-center min-vh-100 align-items-center\"\r\n >\r\n <div class=\"card\">\r\n <div class=\"card-body p-lg-5\">\r\n <div class=\"row\">\r\n <div class=\"col-auto d-flex align-items-center\">\r\n <i\r\n class=\"bi bi-emoji-frown text-primary mb-3 mb-md-0 mx-3 mx-md-4\"\r\n style=\"font-size: 12em\"\r\n ></i>\r\n </div>\r\n <div class=\"col flex-center ps-lg-4\">\r\n <div class=\"status-content\">\r\n <h1 class=\"fw-bolder display-1 text-brand\">\r\n {{ status() }}\r\n </h1>\r\n <h2 class=\"mb-0\">{{ statusText() | abpLocalization }}</h2>\r\n <h5 class=\"text-muted\">{{ detail() | abpLocalization }}</h5>\r\n\r\n @if (lastNavigation() && status() !== 403) {\r\n <a class=\"btn btn-primary soft me-2\" (click)=\"goBack()\">\r\n {{ 'AbpUi::GoBack' | abpLocalization }}\r\n </a>\r\n }\r\n <a class=\"btn btn-primary\" (click)=\"goHome()\">\r\n {{ 'AbpUi::GoHomePage' | abpLocalization }}\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport {\r\n provideThemeLeptonX,\r\n ThemeLeptonXModuleOptions,\r\n withThemeLeptonXOptions,\r\n} from './providers';\r\n\r\n@NgModule()\r\nexport class ThemeLeptonXModule {\r\n /**\r\n * @deprecated `ThemeLeptonXModule.forRoot()` is deprecated. You can use `provideThemeLeptonX` **function** instead.\r\n */\r\n static forRoot(\r\n options?: ThemeLeptonXModuleOptions,\r\n ): ModuleWithProviders<ThemeLeptonXModule> {\r\n return {\r\n ngModule: ThemeLeptonXModule,\r\n providers: [provideThemeLeptonX(withThemeLeptonXOptions(options))],\r\n };\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["AuthCoreService","map"],"mappings":";;;;;;;;;;;;;;;AA6BM,MAAO,2BAA4B,SAAQ,wBAAwB,CAAA;AACvE,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;AACvC,YAAA,OAAO,EAAE;QACX;QAEA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,KAAI;AAC/B,YAAA,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;AAClB,gBAAA,OAAO,KAAK;YACd;YAEA,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;AAExC,YAAA,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;gBACd,OAAO;AACL,oBAAA,GAAG,KAAK;oBACR,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;oBACtC,iBAAiB,EAAE,KAAK,CAAC;AACtB,yBAAA,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;yBACzC,KAAK,CAAC,GAAG,CAAC;iBACd;YACH;AAEA,YAAA,OAAO,KAAK;AACd,QAAA,CAAC,CAAC;IACJ;+GAzBW,2BAA2B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAvB5B,CAAA;;;;;;;;;;;;AAYT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,0BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EASS,gBAAgB,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAEf,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBA1BvC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sBAAsB,EAAA,QAAA,EAEtB,CAAA;;;;;;;;;;;;AAYT,EAAA,CAAA,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,EAAA,OAAA,EAQtC,CAAC,gBAAgB,CAAC,EAAA,MAAA,EAAA,CAAA,0BAAA,CAAA,EAAA;;;MCChB,kBAAkB,CAAA;AAD/B,IAAA,WAAA,GAAA;AAEU,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,mBAAmB,CAAC;AAC5C,QAAA,IAAA,CAAA,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAC/C,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;AACzC,QAAA,IAAA,CAAA,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAC/C,QAAA,IAAA,CAAA,eAAe,GACrB,MAAM,CAAuC,eAAe,CAAC;AAC/D,QAAA,IAAA,CAAA,uBAAuB,GAAG,MAAM,CAAC,0BAA0B,CAAC;AAC5D,QAAA,IAAA,CAAA,wBAAwB,GAAG,MAAM,CAAC,4BAA4B,CAAC;QAC/D,IAAA,CAAA,oBAAoB,GAAG,MAAM,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAE;AACpE,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;AAE9B,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,2BAA2B,CAAC;AA4GzE,IAAA;IA1GC,cAAc,GAAA;QACZ,IAAI,CAAC,kBAAkB,EAAE;QACzB,IAAI,CAAC,kBAAkB,EAAE;QACzB,IAAI,CAAC,cAAc,EAAE;QACrB,IAAI,CAAC,iBAAiB,EAAE;QACxB,IAAI,CAAC,iBAAiB,EAAE;IAC1B;IAEA,cAAc,GAAA;QACZ,MAAM,iBAAiB,GAAG,CAAC,KAAc,KAAK,KAAK,IAAI,EAAE;AAEzD,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC;aACvB,OAAO,CAAC,aAAa;AACrB,aAAA,IAAI,CAAC,MAAM,CAAiB,OAAO,CAAC,CAAC;AAExC,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC;aACzB,OAAO,CAAC,eAAe;AACvB,aAAA,IAAI,CAAC,MAAM,CAAmB,OAAO,CAAC,CAAC;AAE1C,QAAA,aAAa,CAAC,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC,SAAS,CACrD,CAAC,CAAC,WAAW,EAAE,aAAa,CAAC,KAAI;AAC/B,YAAA,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC;gBAChC,EAAE,EAAE,WAAW,CAAC,EAAE;gBAClB,eAAe,EAAE,WAAW,CAAC,eAAe;gBAC5C,QAAQ,EAAE,WAAW,CAAC,QAAQ;AAC9B,gBAAA,QAAQ,EACN,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC;oBACnC,GAAG;AACH,oBAAA,iBAAiB,CAAC,WAAW,CAAC,OAAO,CAAC;gBACxC,KAAK,EAAE,WAAW,CAAC,KAAK;AACxB,gBAAA,MAAM,EAAE,aAAa;AACtB,aAAA,CAAC;AACJ,QAAA,CAAC,CACF;IACH;IAEA,iBAAiB,GAAA;QACf,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,KAAI;AACjD,YAAA,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CACtC,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,KAAI;AACnB,gBAAA,MAAM,QAAQ,GAAG;AACf,oBAAA,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI;AAC7B,oBAAA,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI;oBAC7B,SAAS,EAAE,IAAI,EAAE,SAAS;oBAC1B,MAAM,EAAE,MAAK;wBACX,IAAI,CAAC,MAAM,EAAE;AACb,wBAAA,OAAO,EAAE,CAAC,IAAI,CAAC;oBACjB,CAAC;oBACD,OAAO,EAAE,IAAI,CAAC,OAAO;iBACtB;AACD,gBAAA,MAAM,QAAQ,GAAG,KAAK,KAAK,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;gBACtD,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC5B,gBAAA,OAAO,GAAG;AACZ,YAAA,CAAC,EACD,CAAC,EAAE,EAAE,EAAE,CAAC,CACT;AAED,YAAA,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC;gBAChC,gBAAgB;AACjB,aAAA,CAAC;AACJ,QAAA,CAAC,CAAC;IACJ;IAEA,iBAAiB,GAAA;AACf,QAAA,IAAI,CAAC;AACF,aAAA,IAAI,CAAC,MAAM,CAAsB,OAAO,CAAC;aACzC,SAAS,CAAC,CAAC,MAAM,KAChB,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC;AAChC,YAAA,MAAM,EAAE;gBACN,IAAI,EAAE,MAAM,CAAC,IAAI;AACjB,gBAAA,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;AAC5B,aAAA;AACF,SAAA,CAAC,CACH;IACL;IAEA,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC;AACF,aAAA,YAAY;aACZ,IAAI,CACH,SAAS,CAAC,CAAC,WAAW,KACpB,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAC7D,MAAM,CAAiB,OAAO,CAAC,EAC/B,GAAG,CAAC,CAAC,SAAyB,KAC5B,SAAS,CAAC,GAAG,CAAc,CAAC,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,MAAM;AACxD,YAAA,GAAG,IAAI;YACP,WAAW;YACX,QAAQ,EAAE,WAAW,KAAK,WAAW;AACrC,YAAA,KAAK,EAAE,kBAAkB,CAAC,WAAW,CAAC,KAAK,KAAK;AACjD,SAAA,CAAC,CAAC,CACJ,CACF,CACF;AAEF,aAAA,SAAS,CAAC,CAAC,QAAQ,KAAI;AACtB,YAAA,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,QAAQ,CAAC;AAC7C,QAAA,CAAC,CAAC;IACN;IAEA,kBAAkB,GAAA;QAChB,IAAI,CAAC,eAAe,CAAC;AAClB,aAAA,IAAI,CAAC,MAAM,CAA0B,OAAO,CAAC;AAC7C,aAAA,SAAS,CAAC,CAAC,IAAI,KAAI;YAClB,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,IAAI,EAAE,WAAW,IAAI,EAAE,CAAC;AACtE,QAAA,CAAC,CAAC;IACN;+GAvHW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cADL,MAAM,EAAA,CAAA,CAAA;;4FACnB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;MCzBrB,eAAe,GAAG,IAAI,cAAc,CAAS,iBAAiB;;MCA9D,2BAA2B,GAAG,IAAI,cAAc,CAE1D,6BAA6B;;ACM1B,MAAO,8BAA+B,SAAQ,2BAA2B,CAAA;AAI7E,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;AACP,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AAC5B,QAAA,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC;IAC9C;AAES,IAAA,OAAO,CAAC,QAA4C,EAAA;QAC3D,IAAI,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,MAA+B,CAAC,EAAE;AACvE,YAAA,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YACvB;QACF;QAEA,MAAM,WAAW,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE;AAC/C,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC;IAC7D;+GAlBW,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;mHAA9B,8BAA8B,EAAA,CAAA,CAAA;;4FAA9B,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAD1C;;;MCCY,mBAAmB,CAAA;AADhC,IAAA,WAAA,GAAA;AAEU,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,mBAAmB,CAAC;AAC1C,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAa,2BAA2B,CAAC;AA+BxE,IAAA;IA5BC,GAAG,CAAC,GAAW,EAAE,YAAgC,EAAA;QAC/C,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;QACvC,IAAI,cAAc,EAAE;AAClB,YAAA,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;AAC/B,gBAAA,GAAG,EAAE,cAAc;gBACnB,YAAY;AACb,aAAA,CAAC;QACJ;QAEA,OAAO,YAAY,IAAI,GAAG;IAC5B;IAEA,IAAI,CAAC,GAAW,EAAE,YAAgC,EAAA;QAChD,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;QACvC,IAAI,cAAc,EAAE;AAClB,YAAA,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;AAC3B,gBAAA,GAAG,EAAE,cAAc;gBACnB,YAAY;AACb,aAAA,CAAC;QACJ;AAEA,QAAA,OAAO,EAAE,CAAC,YAAY,IAAI,GAAG,CAAC;IAChC;AAEQ,IAAA,MAAM,CAAC,GAAW,EAAA;QACxB,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,aAAa,CAAC;AACtD,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,SAAS;IACrE;+GAhCW,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;mHAAnB,mBAAmB,EAAA,CAAA,CAAA;;4FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAD/B;;;MCHY,cAAc,CAAA;AAD3B,IAAA,WAAA,GAAA;AAEU,QAAA,IAAA,CAAA,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAC/C,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAACA,WAAe,CAAC;QAG7C,IAAA,CAAA,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAChD,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CACvC;AAKF,IAAA;IAHC,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE;IACpC;+GAXW,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;mHAAd,cAAc,EAAA,CAAA,CAAA;;4FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B;;;ACEM,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,MAAK;AAC9D,IAAA,YAAY,EAAE;AAChB,CAAC;SAEe,YAAY,GAAA;AAC1B,IAAA,MAAM,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACvC,IAAA,MAAM,UAAU,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC5C,IAAA,MAAM,OAAO,GAAG,MAAM,CAAC,kBAAkB,CAAC;IAE1C,UAAU,CAAC,cAAc,EAAE;IAC3B,OAAO,CAAC,cAAc,EAAE;IACxB,MAAM,CAAC,UAAU,EAAE;AACrB;;AChBO,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,MAAK;AAC3D,IAAA,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;AACtC,IAAA,IAAI,gBAAgB,CAAC,UAAU,CAAC,EAAE;AAChC,QAAA,OAAO,OAAO,CAAC,OAAO,EAAE;IAC1B;IACA,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CAAgB;IACvE,IAAI,MAAM,EAAE;AACV,QAAA,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,mBAAmB;AAC7C,QAAA,UAAU,CAAC,MAAM,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC;IAC/D;AACA,IAAA,OAAO,OAAO,CAAC,OAAO,EAAE;AAC1B,CAAC;;ACAM,MAAM,sBAAsB,GAAa;AAC9C,IAAA,OAAO,EAAE,2BAA2B;IACpC,UAAU,EAAE,MAAK;QACf,OAAO,IAAI,mBAAmB,EAAE;IAClC,CAAC;AACD,IAAA,IAAI,EAAE,CAAC,mBAAmB,EAAE,2BAA2B,CAAC;;AAEnD,MAAM,aAAa,GAAmD;AAC3E,IAAA,CAAC,qBAAqB,CAAC,aAAa,GAAG,mBAAmB;AAC1D,IAAA,CAAC,kBAAkB,CAAC,eAAe,GAAG,qBAAqB;AAC3D,IAAA,CAAC,kBAAkB,CAAC,QAAQ,GAAG,qBAAqB;AACpD,IAAA,CAAC,kBAAkB,CAAC,SAAS,GAAG,sBAAsB;AACtD,IAAA,CAAC,kBAAkB,CAAC,YAAY,GAAG,oBAAoB;AACvD,IAAA,CAAC,kBAAkB,CAAC,MAAM,GAAG,uBAAuB;;AAE/C,MAAM,2BAA2B,GAAa;AACnD,IAAA,OAAO,EAAE,2BAA2B;AACpC,IAAA,KAAK,EAAE,IAAI;AACX,IAAA,QAAQ,EAAE,aAAa;;;AC3BlB,MAAM,uBAAuB,GAAG,qBAAqB,CAAC,MAAK;AAChE,IAAA,iBAAiB,EAAE;AACrB,CAAC;SAEe,iBAAiB,GAAA;AAC/B,IAAA,MAAM,qBAAqB,GAAG,MAAM,CAAC,4BAA4B,CAAC;IAClE,qBAAqB,CAAC,GAAG,CAAC;AACxB,QAAA,GAAG,EAAA,8BAAA;AACH,QAAA,SAAS,EAAE,sBAAsB;AAClC,KAAA,CAAC;AACJ;;ACXM,SAAU,aAAa,CAC3B,OAAkC,EAAA;AAElC,IAAA,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,IAAI,EAAE;AAEnC,IAAA,OAAO,aAAa,CAAC;AACnB,QAAA;AACE,YAAA,SAAS,EAAE,MAAM;AACjB,YAAA,IAAI,EAAE,SAAS,EAAE,SAAS,IAAI,OAAO;AACrC,YAAA,aAAa,EAAE,MACb,mEAAyD,CAAC,IAAI,CAC5D,CAAC,CAAC,KAAK,CAAC,CAAC,kBAAkB,CAC5B;AACJ,SAAA;AACF,KAAA,CAAC;AACJ;;ACZM,SAAU,iBAAiB,CAC/B,OAAkC,EAAA;AAElC,IAAA,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,IAAI,EAAE;IAEnC,OAAO;AACL,QAAA;AACE,YAAA,OAAO,EAAE,eAAe;AACxB,YAAA,QAAQ,EAAE,SAAS,EAAE,SAAS,IAAI,OAAO;AAC1C,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,2BAA2B;AACpC,YAAA,QAAQ,EAAE,8BAA8B;AACzC,SAAA;QACD,aAAa,CAAC,OAAO,CAAC;KACvB;AACH;;ICvBY;AAAZ,CAAA,UAAY,cAAc,EAAA;AACxB,IAAA,cAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,cAAA,CAAA,cAAA,CAAA,GAAA,cAA6B;AAC7B,IAAA,cAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC;AACjC,IAAA,cAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC;AACjC,IAAA,cAAA,CAAA,WAAA,CAAA,GAAA,WAAuB;AACvB,IAAA,cAAA,CAAA,cAAA,CAAA,GAAA,cAA6B;AAC7B,IAAA,cAAA,CAAA,oBAAA,CAAA,GAAA,oBAAyC;AACzC,IAAA,cAAA,CAAA,qBAAA,CAAA,GAAA,qBAA2C;AAC3C,IAAA,cAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACnB,CAAC,EAVW,cAAc,KAAd,cAAc,GAAA,EAAA,CAAA,CAAA;;ACoBnB,MAAM,4BAA4B,GAAG;IAC1C,qBAAqB,CAAC,MAAK;AACzB,QAAA,iBAAiB,EAAE;AACrB,IAAA,CAAC,CAAC;;SAGY,iBAAiB,GAAA;AAC/B,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC;AACxC,IAAA,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;AACvC,IAAA,MAAM,WAAW,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAC9C,IAAA,MAAM,WAAW,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAE9C,IAAA,MAAM,oBAAoB,GAAG,MAAM,CAAC,uBAAuB,CAAC;AAC5D,IAAA,MAAM,0BAA0B,GAAG,MAAM,CAAC,8BAA8B,CAAC;AACzE,IAAA,MAAM,uBAAuB,GAAG,MAAM,CAAC,0BAA0B,CAAC;AAClE,IAAA,MAAM,wBAAwB,GAAG,MAAM,CAAC,4BAA4B,CAAC;AAErE,IAAA,MAAM,oBAAoB,GAAG,MAAM,CAAC,wBAAwB,EAAE;AAC5D,QAAA,QAAQ,EAAE,IAAI;AACf,KAAA,CAAe;AAEhB,IAAA,MAAM,4BAA4B,GAAG,MAAM,CAAC,+BAA+B,EAAE;AAC3E,QAAA,QAAQ,EAAE,IAAI;AACf,KAAA,CAAe;AAEhB,IAAA,MAAM,qBAAqB,GAAG,MAAM,CAAC,wBAAwB,EAAE;AAC7D,QAAA,QAAQ,EAAE,IAAI;AACf,KAAA,CAAwB;IAEzB,QAAQ,CAAC,QAAQ,CAAC;AAChB,QAAA;YACE,EAAE,EAAE,cAAc,CAAC,QAAQ;AAC3B,YAAA,KAAK,EAAE,GAAG;AACV,YAAA,YAAY,EAAE;AACZ,gBAAA,IAAI,EAAE,kBAAkB;AACxB,gBAAA,IAAI,EAAE,sBAAsB;AAC7B,aAAA;AACD,YAAA,MAAM,EAAE,MAAM,oBAAoB,EAAE;AACrC,SAAA;AACD,QAAA;YACE,EAAE,EAAE,cAAc,CAAC,YAAY;AAC/B,YAAA,KAAK,EAAE,GAAG;AACV,YAAA,YAAY,EAAE;AACZ,gBAAA,IAAI,EAAE,wBAAwB;AAC9B,gBAAA,IAAI,EAAE,0BAA0B;AACjC,aAAA;YACD,OAAO,EAAE,MAAK;AACZ,gBAAA,IAAI,CAAC,qBAAqB;AAAE,oBAAA,OAAO,KAAK;AACxC,gBAAA,OAAO,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,IAAI,CAC7CC,KAAG,CACD,YAAY,IACV,YAAY,EAAE,SAAS;oBACvB,YAAY,EAAE,mBAAmB,KAAK,yBAAyB,CAAC,MAAM,CACzE,CACF;YACH,CAAC;AACD,YAAA,MAAM,EAAE,MAAM,qBAAqB,IAAI;AACxC,SAAA;AACD,QAAA;YACE,EAAE,EAAE,cAAc,CAAC,cAAc;AACjC,YAAA,KAAK,EAAE,GAAG;AACV,YAAA,YAAY,EAAE;AACZ,gBAAA,IAAI,EAAE,qBAAqB;AAC3B,gBAAA,IAAI,EAAE,4BAA4B;AACnC,aAAA;AACD,YAAA,MAAM,EAAE,MAAM,0BAA0B,EAAE;YAC1C,OAAO,EAAE,MAAK;AACZ,gBAAA,OAAO,WAAW,CAAC,eAAe,EAAE,CAAC,IAAI,CACvCA,KAAG,CAAC,CAAC,EAAE,WAAW,EAAE,KAAI;AACtB,oBAAA,OAAO,WAAW,EAAE,YAAY,KAAK,MAAM;gBAC7C,CAAC,CAAC,CACH;YACH,CAAC;AACF,SAAA;AACD,QAAA;YACE,EAAE,EAAE,cAAc,CAAC,cAAc;AACjC,YAAA,KAAK,EAAE,GAAG;AACV,YAAA,YAAY,EAAE;AACZ,gBAAA,IAAI,EAAE,YAAY;AAClB,gBAAA,IAAI,EAAE,4BAA4B;AACnC,aAAA;AACD,YAAA,MAAM,EAAE,MAAM,oBAAoB,EAAE;AACpC,YAAA,OAAO,EAAE,MAAM,CAAC,CAAC,oBAAoB;AACtC,SAAA;AACD,QAAA;YACE,EAAE,EAAE,cAAc,CAAC,mBAAmB;AACtC,YAAA,KAAK,EAAE,GAAG;AACV,YAAA,YAAY,EAAE;AACZ,gBAAA,IAAI,EAAE,iCAAiC;AACvC,gBAAA,IAAI,EAAE,aAAa;AACpB,aAAA;YACD,OAAO,EAAE,MAAK;AACZ,gBAAA,OAAO;qBACJ,OAAO,CAAC,aAAa;AACrB,qBAAA,IAAI,CAACA,KAAG,CAAC,CAAC,EAAE,kBAAkB,EAAE,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;YACxE,CAAC;AACD,YAAA,MAAM,EAAE,MAAM,4BAA4B,EAAE;AAC7C,SAAA;AACD,QAAA;YACE,EAAE,EAAE,cAAc,CAAC,SAAS;AAC5B,YAAA,KAAK,EAAE,GAAG;AACV,YAAA,YAAY,EAAE;AACZ,gBAAA,IAAI,EAAE,eAAe;AACrB,gBAAA,IAAI,EAAE,uBAAuB;AAC9B,aAAA;AACD,YAAA,MAAM,EAAE,MAAM,uBAAuB,EAAE;AACxC,SAAA;AACD,QAAA;YACE,EAAE,EAAE,cAAc,CAAC,YAAY;AAC/B,YAAA,KAAK,EAAE,GAAG;AACV,YAAA,YAAY,EAAE;AACZ,gBAAA,IAAI,EAAE,eAAe;AACrB,gBAAA,IAAI,EAAE,4BAA4B;AACnC,aAAA;AACD,YAAA,MAAM,EAAE,MAAM,wBAAwB,EAAE;AACzC,SAAA;AACD,QAAA;YACE,EAAE,EAAE,cAAc,CAAC,MAAM;YACzB,KAAK,EAAE,GAAG;AACV,YAAA,YAAY,EAAE;AACZ,gBAAA,IAAI,EAAE,uBAAuB;AAC7B,gBAAA,IAAI,EAAE,eAAe;AACtB,aAAA;YACD,MAAM,EAAE,MAAK;AACX,gBAAA,WAAW,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE;YAClC,CAAC;AACF,SAAA;AACF,KAAA,CAAC;AACJ;;ICzHY;AAAZ,CAAA,UAAY,uBAAuB,EAAA;AACjC,IAAA,uBAAA,CAAA,uBAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAO;AACT,CAAC,EAFW,uBAAuB,KAAvB,uBAAuB,GAAA,EAAA,CAAA,CAAA;AASnC,SAAS,uBAAuB,CAC9B,IAAW,EACX,SAA8C,EAAA;IAE9C,OAAO;AACL,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,UAAU,EAAE,SAAS;KACtB;AACH;AAEM,SAAU,uBAAuB,CACrC,OAAA,GAAU,EAA+B,EAAA;AAEzC,IAAA,MAAM,gBAAgB,GAAe;AACnC,QAAA,GAAG,OAAO;AACV,QAAA,YAAY,EAAE,CAAC,MAAiB,KAAI;YAClC,MAAM,CAAC,IAAI,CAAC;AACV,gBAAA,UAAU,EAAE,YAAY;AACzB,aAAA,CAAC;AACF,YAAA,IAAI,OAAO,EAAE,YAAY,EAAE;AACzB,gBAAA,OAAO,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC;YACrC;AACA,YAAA,OAAO,MAAM;QACf,CAAC;KACF;AACD,IAAA,OAAO,uBAAuB,CAAC,uBAAuB,CAAC,OAAO,EAAE;AAC9D,QAAA,UAAU,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;QAC5C,iBAAiB,CAAC,OAAO,CAAC;AAC3B,KAAA,CAAC;AACJ;SAEgB,yBAAyB,GAAA;AACvC,IAAA,MAAM,SAAS,GAAG;AAChB,QAAA;AACE,YAAA,OAAO,EAAE,yBAAyB;AAClC,YAAA,QAAQ,EAAE,2BAA2B;AACtC,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,0BAA0B;AACnC,YAAA,QAAQ,EAAE,YAAY;AACvB,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,0BAA0B;AACnC,YAAA,QAAQ,EAAE,aAAa;AACxB,SAAA;KACF;AAED,IAAA,OAAO,wBAAwB,CAAC,SAAS,CAAC;AAC5C;AAEM,SAAU,mBAAmB,CACjC,GAAG,QAAwD,EAAA;AAE3D,IAAA,MAAM,SAAS,GAAwC;QACrD,kBAAkB;QAClB,yBAAyB;QACzB,4BAA4B;QAC5B,qBAAqB;AACrB,QAAA,yBAAyB,EAAE;AAC3B,QAAA,qBAAqB,EAAE;QACvB,uBAAuB;AACvB,QAAA,UAAU,EAAE;QACZ,2BAA2B;QAC3B,sBAAsB;KACvB;AAED,IAAA,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,SAAS,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;AAEnE,IAAA,OAAO,wBAAwB,CAAC,SAAS,CAAC;AAC5C;;MCzFa,wBAAwB,CAAA;AACnC;;AAEG;AACH,IAAA,OAAO,OAAO,GAAA;QACZ,OAAO;AACL,YAAA,QAAQ,EAAE,wBAAwB;AAClC,YAAA,SAAS,EAAE,CAAC,yBAAyB,EAAE,CAAC;SACzC;IACH;+GATW,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,YAPjC,YAAY;YACZ,UAAU;YACV,qBAAqB;YACrB,2BAA2B,CAAA,EAAA,OAAA,EAAA,CAEnB,2BAA2B,EAAE,qBAAqB,CAAA,EAAA,CAAA,CAAA;AAEjD,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,YAPjC,YAAY;YACZ,UAAU;AACV,YAAA,qBAAqB,EAGgB,qBAAqB,CAAA,EAAA,CAAA,CAAA;;4FAEjD,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBATpC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,UAAU;wBACV,qBAAqB;wBACrB,2BAA2B;AAC5B,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAC,2BAA2B,EAAE,qBAAqB,CAAC;AAC9D,iBAAA;;;MCQY,kBAAkB,CAAA;AAuB7B,IAAA,WAAA,GAAA;AAtBmB,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AACvB,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;AACvC,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC3B,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;AACnC,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;AAIhC,QAAA,IAAA,CAAA,iBAAiB,GAAA,0BAAA;AACjB,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,CAAC,6EAAC;AAE5B,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB;AACrD,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,iBAAiB;AAE7C,QAAA,IAAA,CAAA,UAAU,GAAG,QAAQ,CACtC,MAAM,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,iFAC7C;AAEkB,QAAA,IAAA,CAAA,MAAM,GAAG,QAAQ,CAClC,MAAM,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,6EAC7C;QAGC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW;AAE3D,QAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;YAClB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;QAC1B;IACF;IAEA,MAAM,GAAA;QAEJ,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACvC;QACF;QAEA,MAAM,GAAG,GACP,IAAI,CAAC,MAAM,EAAE,KAAK,GAAG,GAAG,IAAI,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE;QAE1E,IAAI,GAAG,EAAE;AACP,YAAA,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,mBAAmB,EAAE,QAAQ,EAAE,CAAC;QACnE;aAAO;AACL,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;QACtB;AAEA,QAAA,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE;IACvB;IAEA,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,mBAAmB,EAAE,QAAQ,EAAE,CAAC;AACjE,QAAA,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE;IACvB;+GApDW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvB/B,iwDA0CA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDtB8B,4BAA4B,oGAA9C,gBAAgB,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAGf,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAL9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,EAAA,OAAA,EACjB,CAAC,gBAAgB,EAAE,4BAA4B,CAAC,EAAA,QAAA,EAAA,iwDAAA,EAAA;;;;;;;;MEZ9C,kBAAkB,CAAA;AAC7B;;AAEG;IACH,OAAO,OAAO,CACZ,OAAmC,EAAA;QAEnC,OAAO;AACL,YAAA,QAAQ,EAAE,kBAAkB;YAC5B,SAAS,EAAE,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC;SACnE;IACH;+GAXW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAlB,kBAAkB,EAAA,CAAA,CAAA;gHAAlB,kBAAkB,EAAA,CAAA,CAAA;;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B;;;ACPD;;AAEG;;;;"}