@veloceapps/api 11.0.0-4 → 11.0.0-5
Sign up to get free protection for your applications and to get access to all the features.
- package/esm2020/lib/services/configuration-api.service.mjs +17 -4
- package/esm2020/lib/services/ui-definitions-api.service.mjs +47 -1
- package/fesm2015/veloceapps-api.mjs +59 -4
- package/fesm2015/veloceapps-api.mjs.map +1 -1
- package/fesm2020/veloceapps-api.mjs +62 -3
- package/fesm2020/veloceapps-api.mjs.map +1 -1
- package/lib/services/configuration-api.service.d.ts +1 -1
- package/lib/services/ui-definitions-api.service.d.ts +6 -0
- package/package.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"veloceapps-api.mjs","sources":["../../../../libs/api/src/lib/services/account-api.service.ts","../../../../libs/api/src/lib/services/auth.service.ts","../../../../libs/api/src/lib/services/catalog-admin-api.service.ts","../../../../libs/api/src/lib/services/catalog-api.service.ts","../../../../libs/api/src/lib/services/configuration-api.service.ts","../../../../libs/api/src/lib/services/configuration-processors-api.service.ts","../../../../libs/api/src/lib/types/dto/configuration-settings-dto.types.ts","../../../../libs/api/src/lib/services/configuration-settings-api.service.ts","../../../../libs/api/src/lib/services/context-api.service.ts","../../../../libs/api/src/lib/services/contracted-price-api.service.ts","../../../../libs/api/src/lib/services/delta-api.service.ts","../../../../libs/api/src/lib/services/document-attachment-api.service.ts","../../../../libs/api/src/lib/services/endpoints-api.service.ts","../../../../libs/api/src/lib/services/flow-state-api.ts","../../../../libs/api/src/lib/services/flows-api.service.ts","../../../../libs/api/src/lib/services/guided-sellings-admin-api.service.ts","../../../../libs/api/src/lib/services/guided-sellings-api.service.ts","../../../../libs/api/src/lib/services/offers-api.service.ts","../../../../libs/api/src/lib/utils/canvas.utils.ts","../../../../libs/api/src/lib/services/org-info-api.service.ts","../../../../libs/api/src/lib/services/picklists-api.service.ts","../../../../libs/api/src/lib/services/portals-api.service.ts","../../../../libs/api/src/lib/services/price-api.service.ts","../../../../libs/api/src/lib/services/procedures-api.service.ts","../../../../libs/api/src/lib/services/product-api.service.ts","../../../../libs/api/src/lib/services/product-model-api.service.ts","../../../../libs/api/src/lib/services/promotions-api.service.ts","../../../../libs/api/src/lib/services/quote-api.service.ts","../../../../libs/api/src/lib/services/ramp-api.service.ts","../../../../libs/api/src/lib/services/rebate-program-api.service.ts","../../../../libs/api/src/lib/services/rebate-type-api.service.ts","../../../../libs/api/src/lib/services/rlm-api.service.ts","../../../../libs/api/src/lib/services/rlm-quote-api.service.ts","../../../../libs/api/src/lib/services/rule-groups-api.service.ts","../../../../libs/api/src/lib/services/rules-api.service.ts","../../../../libs/api/src/lib/services/salesforce-api.service.ts","../../../../libs/api/src/lib/services/sandbox-manager-api.service.ts","../../../../libs/api/src/lib/services/scripts-api.service.ts","../../../../libs/api/src/lib/services/shopping-cart-settings-api.service.ts","../../../../libs/api/src/lib/services/stateful-configuration-api.ts","../../../../libs/api/src/lib/services/ui-definitions-api.service.ts","../../../../libs/api/src/lib/utils/ui-template.utils.ts","../../../../libs/api/src/lib/services/ui-templates-api.service.ts","../../../../libs/api/src/lib/services/veloce-objects-api.service.ts","../../../../libs/api/src/lib/api.module.ts","../../../../libs/api/src/veloceapps-api.ts"],"sourcesContent":["import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n Account,\n AccountAssetsState,\n BaseHttpService,\n HttpRequestConfigurableOptions,\n LineItem,\n Order,\n Quote,\n} from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { QuerySearchParams } from '../types';\n\n@Injectable()\nexport class AccountApiService {\n private readonly SERVICE_URL = '/accounts';\n constructor(private httpService: BaseHttpService) {}\n\n public getAccounts$(options?: HttpRequestConfigurableOptions): Observable<Account[]> {\n return this.httpService.api({\n method: 'get',\n url: `${this.SERVICE_URL}`,\n ...options,\n });\n }\n\n public searchAccounts$(\n searchParams?: QuerySearchParams,\n options?: HttpRequestConfigurableOptions,\n ): Observable<Account[]> {\n const params = new HttpParams({ fromObject: searchParams });\n\n return this.httpService.api({\n url: `${this.SERVICE_URL}`,\n params: params,\n ...options,\n });\n }\n\n public getAccount$(id: string, options?: HttpRequestConfigurableOptions): Observable<Account> {\n return this.httpService.api({\n url: `${this.SERVICE_URL}/${id}`,\n ...options,\n });\n }\n\n public getAssetsState(accountId: string, options?: HttpRequestConfigurableOptions): Observable<AccountAssetsState> {\n return this.httpService.api<AccountAssetsState>({\n method: 'get',\n url: `/v2${this.SERVICE_URL}/${accountId}/assets`,\n ...options,\n });\n }\n\n public getAssets(accountId: string, options?: HttpRequestConfigurableOptions): Observable<LineItem[]> {\n return this.httpService.api({ url: `${this.SERVICE_URL}/${accountId}/assets`, ...options });\n }\n\n public getOrders(accountId: string, options?: HttpRequestConfigurableOptions): Observable<Order[]> {\n return this.httpService.api({ url: `${this.SERVICE_URL}/${accountId}/orders`, ...options });\n }\n\n public getQuotes(accountId: string, options?: HttpRequestConfigurableOptions): Observable<Quote[]> {\n return this.httpService.api({ url: `${this.SERVICE_URL}/${accountId}/quotes`, ...options });\n }\n\n public getAsset(accountId: string, assetId: string, options?: HttpRequestConfigurableOptions): Observable<LineItem> {\n return this.httpService.api({\n url: `${this.SERVICE_URL}/${accountId}/assets/${assetId}`,\n ...options,\n });\n }\n\n public getOrder(\n accountId: string,\n orderId: string,\n options?: HttpRequestConfigurableOptions,\n ): Observable<LineItem[]> {\n return this.httpService.api({\n url: `${this.SERVICE_URL}/${accountId}/orders/${orderId}`,\n ...options,\n });\n }\n\n public getQuote(\n accountId: string,\n quoteId: string,\n options?: HttpRequestConfigurableOptions,\n ): Observable<LineItem[]> {\n return this.httpService.api({\n url: `${this.SERVICE_URL}/${accountId}/quotes/${quoteId}`,\n ...options,\n });\n }\n\n public quoteToOrder(accountId: string, quoteId: string, options?: HttpRequestConfigurableOptions) {\n return this.httpService.api({\n url: `${this.SERVICE_URL}/${accountId}/quotes/${quoteId}/to-order`,\n method: 'post',\n body: { id: quoteId },\n ...options,\n });\n }\n\n public orderToAsset(accountId: string, orderId: string, options?: HttpRequestConfigurableOptions) {\n return this.httpService.api({\n url: `${this.SERVICE_URL}/${accountId}/orders/${orderId}/to-asset`,\n method: 'post',\n body: { id: orderId },\n ...options,\n });\n }\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { VeloceAuthResponse } from '../types';\n\n@Injectable()\nexport class VeloceAuthService {\n constructor(private http: HttpClient) {}\n\n public auth$(instanceUrl: string, accessToken: string): Observable<VeloceAuthResponse> {\n const headers = new HttpHeaders({\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${accessToken}`,\n });\n\n return this.http.get<VeloceAuthResponse>(`${instanceUrl}/services/apexrest/VELOCE_PRISM/veloce-auth`, { headers });\n }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n BaseHttpService,\n Catalog,\n Category,\n CategoryFilter,\n CategoryRequestPayloadWithData,\n Expression,\n NewCatalog,\n NewCategory,\n NewCategoryFilter,\n Product,\n} from '@veloceapps/core';\nimport { Observable, noop } from 'rxjs';\nimport { CloneRequest, QuerySearchParams } from '../types';\n\n@Injectable()\nexport class CatalogAdminApiService {\n public static MAX_RESULTS = 60;\n\n private readonly serviceUrl: string = '/catalogs';\n\n constructor(private baseHttpService: BaseHttpService) {}\n\n public fetchCatalogs$ = (searchParams?: QuerySearchParams): Observable<Catalog[]> => {\n const params = new HttpParams({ fromObject: { ...searchParams } });\n return this.baseHttpService.api({ url: `${this.serviceUrl}`, params });\n };\n\n public searchCatalogs$ = (searchParams?: QuerySearchParams, expression?: Expression): Observable<Catalog[]> => {\n const params = new HttpParams({ fromObject: { ...searchParams } });\n\n return this.baseHttpService.api({\n method: 'post',\n url: `${this.serviceUrl}/search`,\n params,\n body: expression || {},\n });\n };\n\n public fetchCategories$ = (catalogId: string): Observable<Category[]> => {\n return this.baseHttpService.api({ url: `${this.serviceUrl}/${catalogId}/categories` });\n };\n\n public searchProducts$ = (catalogId: string, categoryId: string): Observable<Product[]> => {\n return this.baseHttpService.api({\n method: 'post',\n url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/products/search`,\n body: {},\n });\n };\n\n public fetchAttributes$ = (catalogId: string, categoryId: string): Observable<CategoryFilter[]> => {\n return this.baseHttpService.api({ url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/attributes` });\n };\n\n public createNewCatalog$ = (catalogData: NewCatalog): Observable<Catalog> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}`,\n method: 'post',\n body: catalogData,\n });\n };\n\n public duplicateCatalog$ = (cloneRequest: CloneRequest): Observable<Catalog> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${cloneRequest.id}/clone`,\n method: 'post',\n body: cloneRequest,\n });\n };\n\n public updateCatalog$ = (data: Catalog): Observable<void> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${data.id}`,\n method: 'put',\n body: data,\n });\n };\n\n public removeCatalog$ = (id: string): Observable<void> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${id}`,\n method: 'delete',\n });\n };\n\n public restoreCatalog$ = (id: string): Observable<void> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${id}/restore`,\n method: 'patch',\n });\n };\n\n public createNewCategory$ = (categoryData: NewCategory): Observable<Category> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${categoryData.catalogId}/categories`,\n method: 'post',\n body: categoryData,\n });\n };\n\n public updateCategory$ = (category: Category): Observable<Category> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${category.catalogId}/categories/${category.id}`,\n method: 'put',\n body: category,\n });\n };\n\n public duplicateCategory$ = (catalogId: string, cloneRequest: CloneRequest): Observable<string> => {\n return this.baseHttpService.api<string>({\n url: `${this.serviceUrl}/${catalogId}/categories/${cloneRequest.id}/clone`,\n method: 'post',\n body: cloneRequest,\n });\n };\n\n public removeCategory$ = (id: string, catalogId: string): Observable<void> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${catalogId}/categories/${id}`,\n method: 'delete',\n });\n };\n\n public restoreCategory$ = (id: string, catalogId: string): Observable<void> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${catalogId}/categories/${id}/restore`,\n method: 'patch',\n });\n };\n\n public removeAttribute$ = ({\n catalogId,\n categoryId,\n data,\n }: CategoryRequestPayloadWithData<CategoryFilter>): Observable<string> => {\n return this.baseHttpService.api({\n method: 'delete',\n url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/attributes/${data.id}`,\n body: data,\n });\n };\n\n public restoreAttribute$ = ({\n catalogId,\n categoryId,\n data,\n }: CategoryRequestPayloadWithData<CategoryFilter>): Observable<void> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/attributes/${data.id}/restore`,\n method: 'patch',\n });\n };\n\n public createNewAttribute$ = ({\n catalogId,\n categoryId,\n data,\n }: CategoryRequestPayloadWithData<NewCategoryFilter>): Observable<CategoryFilter> => {\n return this.baseHttpService.api({\n method: 'post',\n url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/attributes`,\n body: data,\n });\n };\n\n public updateAttribute$ = ({\n catalogId,\n categoryId,\n data,\n }: CategoryRequestPayloadWithData<CategoryFilter>): Observable<CategoryFilter> => {\n return this.baseHttpService.api({\n method: 'put',\n url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/attributes/${data.id}`,\n body: data,\n });\n };\n\n public searchProductCandidates$ = (\n catalogId: string,\n categoryId: string,\n expression: Expression,\n searchParams: QuerySearchParams,\n ): Observable<Product[]> => {\n const params = new HttpParams({ fromObject: { ...searchParams } });\n\n return this.baseHttpService.api({\n method: 'post',\n url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/candidates/search`,\n params,\n body: expression,\n });\n };\n\n public addProduct$ = (product: Product, catalogId: string, categoryId: string) => {\n return this.baseHttpService.api({\n method: 'post',\n url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/products`,\n body: product,\n });\n };\n\n public updateProduct$ = (product: Partial<Product>, catalogId: string, categoryId: string) => {\n return this.baseHttpService.api({\n method: 'put',\n url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/products/${product.id}`,\n body: product,\n });\n };\n\n public removeProduct$ = ({\n catalogId,\n categoryId,\n data,\n }: CategoryRequestPayloadWithData<Product>): Observable<string> => {\n return this.baseHttpService.api({\n method: 'delete',\n url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/products/${data.id}`,\n });\n };\n\n public attachImage$(catalogId: string, categoryId: string, file: File): Observable<void> {\n const data = new FormData();\n data.append('image', file);\n\n return this.baseHttpService.upload({\n method: 'post',\n url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/image`,\n body: data,\n });\n }\n\n public removeImage$(catalogId: string, categoryId: string): Observable<void> {\n return this.baseHttpService.api({\n method: 'delete',\n url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/image`,\n });\n }\n\n public fetchImage$(catalogId: string, categoryId: string): Observable<File> {\n return this.baseHttpService.api({\n url: this.getImageUrl(catalogId, categoryId),\n method: 'get',\n responseType: 'blob',\n errorHandler: noop,\n });\n }\n\n public getImageUrl(catalogId: string, categoryId: string) {\n return `${this.serviceUrl}/${catalogId}/categories/${categoryId}/image`;\n }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n BaseHttpService,\n Catalog,\n Category,\n ConfigurationContext,\n Expression,\n Product,\n SearchRequest,\n} from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { QuerySearchParams } from '../types';\n\n@Injectable()\nexport class CatalogApiService {\n private readonly serviceUrl: string = '/product-catalogs';\n\n constructor(private service: BaseHttpService) {}\n\n public fetchCatalogs$(): Observable<Catalog[]> {\n return this.service.api({\n method: 'get',\n url: `${this.serviceUrl}`,\n });\n }\n\n public searchCatalogs$(searchParams?: QuerySearchParams, expression?: Expression): Observable<Catalog[]> {\n const params = new HttpParams({ fromObject: searchParams });\n\n return this.service.api({\n method: 'post',\n url: `${this.serviceUrl}/search`,\n params,\n body: expression,\n });\n }\n\n public getCatalog$(id: string): Observable<Catalog> {\n return this.service.api({\n method: 'get',\n url: `${this.serviceUrl}/${id}`,\n });\n }\n\n public fetchCategories$(catalogId: string): Observable<Category[]> {\n return this.service.api({\n method: 'get',\n url: `${this.serviceUrl}/${catalogId}/categories`,\n });\n }\n\n public fetchCatalogProducts$(\n catalogId: string,\n searchParams?: QuerySearchParams,\n context?: ConfigurationContext,\n ): Observable<Product[]> {\n const params = new HttpParams({ fromObject: searchParams });\n\n return this.service.api({\n method: 'post',\n url: `${this.serviceUrl}/${catalogId}/products`,\n params,\n body: context,\n });\n }\n\n public fetchCategoryProducts$(\n catalogId: string,\n categoryId: string,\n searchParams?: QuerySearchParams,\n context?: ConfigurationContext,\n ): Observable<Product[]> {\n const params = new HttpParams({ fromObject: searchParams });\n\n return this.service.api({\n method: 'post',\n url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/products`,\n params,\n body: context,\n });\n }\n\n public searchCategoryProducts$(\n catalogId: string,\n categoryId: string,\n searchParams?: QuerySearchParams,\n searchRequest?: SearchRequest,\n context?: ConfigurationContext,\n ): Observable<Product[]> {\n const params = new HttpParams({ fromObject: searchParams });\n\n return this.service.api({\n method: 'post',\n url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/products/search`,\n params,\n body: {\n configurationContext: context,\n request: searchRequest,\n },\n });\n }\n\n public fetchEligibleProducts$(\n searchParams?: QuerySearchParams,\n context?: ConfigurationContext,\n ): Observable<Product[]> {\n const params = new HttpParams({ fromObject: searchParams });\n\n return this.service.api({\n method: 'post',\n url: `${this.serviceUrl}/products`,\n params: params,\n body: context,\n });\n }\n\n public fetchProducts$(searchParams?: QuerySearchParams): Observable<Product[]> {\n const params = new HttpParams({ fromObject: searchParams });\n\n return this.service.api({\n method: 'get',\n url: `${this.serviceUrl}/products`,\n params: params,\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n BaseHttpService,\n ConfigurationRequest,\n ConfigurePrice,\n DomainComputation,\n LineItem,\n RuntimeData,\n RuntimeDataDTO,\n RuntimeModel,\n uiDefinitionFromDTO,\n} from '@veloceapps/core';\nimport { Observable, throwError } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n@Injectable()\nexport class ConfigurationApiService {\n private readonly SERVICE_URL = '/configuration';\n\n constructor(private httpService: BaseHttpService) {}\n\n public configureLineItem({\n configurationRequest,\n runtimeModel,\n pricingEnabled,\n }: {\n configurationRequest: ConfigurationRequest;\n runtimeModel?: RuntimeModel;\n pricingEnabled?: boolean;\n }): Observable<ConfigurePrice> {\n return this.httpService\n .api<ConfigurePrice>({\n method: 'post',\n url: `${this.SERVICE_URL}${pricingEnabled ? '/price' : ''}`,\n body: configurationRequest,\n errorHandler: e => throwError(e),\n })\n .pipe(\n map(configurePrice => {\n if (runtimeModel) {\n return {\n ...configurePrice,\n lineItem: this.updateDomains(configurePrice.lineItem, runtimeModel),\n };\n } else {\n return configurePrice;\n }\n }),\n );\n }\n\n public customConfigurePrice({\n url,\n configurationRequest,\n runtimeModel,\n }: {\n url: string;\n configurationRequest: ConfigurationRequest;\n runtimeModel?: RuntimeModel;\n }): Observable<ConfigurePrice> {\n return this.httpService\n .api<ConfigurePrice>({\n method: 'post',\n url,\n body: configurationRequest,\n errorHandler: e => throwError(e),\n })\n .pipe(\n map(configurePrice => {\n if (runtimeModel) {\n return {\n ...configurePrice,\n lineItem: this.updateDomains(configurePrice.lineItem, runtimeModel),\n };\n } else {\n return configurePrice;\n }\n }),\n );\n }\n\n public getRuntimeDataByProductId(productId: string, offeringId?: string): Observable<RuntimeData> {\n return this.httpService\n .api<RuntimeDataDTO>({\n method: 'get',\n url: `${this.SERVICE_URL}/${productId}/model` + ((offeringId && `/${offeringId}`) || ''),\n })\n .pipe(\n map<RuntimeDataDTO, RuntimeData>(runtimeData => {\n return {\n ...runtimeData,\n uiDefinitions: runtimeData.uiDefinitions.map(dto => uiDefinitionFromDTO(dto)),\n };\n }),\n );\n }\n\n public getRuntimeDataByModelId(modelId: string): Observable<RuntimeData> {\n return this.httpService.api({\n method: 'get',\n url: `${this.SERVICE_URL}/${modelId}/model-test`,\n });\n }\n\n private updateDomains(lineItem: LineItem, runtimeModel: RuntimeModel): LineItem {\n const component = runtimeModel.components.get(lineItem.type);\n const portDomains = { ...lineItem.portDomains };\n\n // loop through ports to look for 'None' type domain computations\n for (const port of component?.ports ?? []) {\n const portDomain = portDomains[port.name];\n if (portDomain?.properties?.['domainComputation'] === DomainComputation.NONE) {\n portDomain.domainTypes = port.domainTypes;\n }\n }\n\n const type = runtimeModel.types.find(({ name }) => {\n return lineItem.type === name;\n });\n\n const attributeDomains = lineItem.attributeDomains;\n if (type) {\n const initialDomains = lineItem.attributeDomains;\n type.attributes.forEach(attribute => {\n if (Object.prototype.hasOwnProperty.call(initialDomains, attribute.name)) {\n return;\n }\n\n if (attribute.attributeDomain) {\n attributeDomains[attribute.name] = attribute.attributeDomain;\n }\n });\n }\n\n return {\n ...lineItem,\n lineItems: lineItem.lineItems?.map(i => this.updateDomains(i, runtimeModel)),\n attributeDomains,\n portDomains,\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BaseHttpService, ConfigurationProcessor } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class ConfigurationProcessorsApiService {\n private readonly serviceUrl: string = '/configuration/processors/owners';\n\n constructor(private baseHttpService: BaseHttpService) {}\n\n public fetchConfigurationProcessors$ = (ownerId: string): Observable<ConfigurationProcessor[]> => {\n return this.baseHttpService.api<ConfigurationProcessor[]>({ url: `${this.serviceUrl}/${ownerId}` });\n };\n\n public createConfigurationProcessors$ = (\n configurationProcessor: ConfigurationProcessor,\n ): Observable<ConfigurationProcessor> => {\n return this.baseHttpService.api<ConfigurationProcessor>({\n method: 'post',\n url: `${this.serviceUrl}/${configurationProcessor.ownerId}`,\n body: configurationProcessor,\n });\n };\n\n public updateConfigurationProcessors$ = (\n configurationProcessor: ConfigurationProcessor,\n ): Observable<ConfigurationProcessor> => {\n return this.baseHttpService.api<ConfigurationProcessor>({\n method: 'put',\n url: `${this.serviceUrl}/${configurationProcessor.ownerId}/${configurationProcessor.id}`,\n body: configurationProcessor,\n });\n };\n\n public deleteConfigurationProcessors$ = (configurationProcessor: ConfigurationProcessor): Observable<void> => {\n return this.baseHttpService.api({\n method: 'delete',\n url: `${this.serviceUrl}/${configurationProcessor.ownerId}/${configurationProcessor.id}`,\n });\n };\n}\n","import { ConfigurationSettings } from '@veloceapps/core';\n\nexport class ConfigurationSettingsDTO {\n public static fromDTO(dto: ConfigurationSettingsDTO, key?: string): ConfigurationSettings {\n return {\n id: dto?.id,\n key: dto?.key || key || '',\n value: dto?.value,\n };\n }\n\n public static toDTO(data: ConfigurationSettings): ConfigurationSettingsDTO {\n return {\n id: data.id,\n key: data.key,\n value: data.value,\n };\n }\n\n constructor(public id: string, public key: string, public value: string) {}\n}\n","import { HttpErrorResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n BaseHttpService,\n ConfigurationSettings,\n DataAdministrationField,\n HttpRequestConfigurableOptions,\n} from '@veloceapps/core';\nimport { MessageService } from 'primeng/api';\nimport { Observable, of } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\nimport { ConfigurationSettingsDTO } from '../types/dto/configuration-settings-dto.types';\n\n@Injectable()\nexport class ConfigurationSettingsApiService {\n private readonly SERVICE_URL = '/configuration-settings';\n\n constructor(private httpService: BaseHttpService, private messageService: MessageService) {}\n\n public fetchSettings(options?: HttpRequestConfigurableOptions): Observable<ConfigurationSettings[]> {\n return this.httpService\n .api<ConfigurationSettingsDTO[]>({\n url: `${this.SERVICE_URL}`,\n method: 'get',\n ...options,\n })\n .pipe(\n map((settings: ConfigurationSettingsDTO[]) =>\n settings.map(setting => ConfigurationSettingsDTO.fromDTO(setting)),\n ),\n );\n }\n\n public fetchSetting(\n settingsKey: string,\n options?: HttpRequestConfigurableOptions,\n ): Observable<ConfigurationSettings | null> {\n return this.httpService\n .api<ConfigurationSettingsDTO>({\n url: `${this.SERVICE_URL}/byKey/${settingsKey}`,\n method: 'get',\n ...options,\n skipErrorHandler: true,\n })\n .pipe(\n map((setting: ConfigurationSettingsDTO) => ConfigurationSettingsDTO.fromDTO(setting, settingsKey)),\n catchError(err => {\n if (err instanceof HttpErrorResponse && err.status === 404) {\n if (!options?.skipErrorHandler) {\n this.messageService.add({\n severity: 'error',\n summary: `Configuration Setting \"${settingsKey}\" is not found`,\n sticky: true,\n });\n }\n\n return of(null);\n }\n\n throw err;\n }),\n );\n }\n\n public createSetting(\n setting: ConfigurationSettings,\n options?: HttpRequestConfigurableOptions,\n ): Observable<ConfigurationSettings> {\n const request = ConfigurationSettingsDTO.toDTO(setting);\n\n return this.httpService.api({\n url: `${this.SERVICE_URL}`,\n method: 'post',\n body: {\n ...request,\n },\n ...options,\n });\n }\n\n public updateSetting(\n setting: ConfigurationSettings,\n options?: HttpRequestConfigurableOptions,\n ): Observable<ConfigurationSettings> {\n const request = ConfigurationSettingsDTO.toDTO(setting);\n\n return this.httpService.api({\n url: `${this.SERVICE_URL}/${request.id}`,\n method: 'put',\n body: {\n ...request,\n },\n ...options,\n });\n }\n\n public removeSetting(\n setting: ConfigurationSettings,\n options?: HttpRequestConfigurableOptions,\n ): Observable<ConfigurationSettings> {\n const request = ConfigurationSettingsDTO.toDTO(setting);\n\n return this.httpService.api({\n url: `${this.SERVICE_URL}/${request.id}`,\n method: 'delete',\n ...options,\n });\n }\n\n public restoreSetting(settingId: string, options?: HttpRequestConfigurableOptions): Observable<void> {\n return this.httpService.api({\n url: `${this.SERVICE_URL}/${settingId}/restore`,\n method: 'patch',\n ...options,\n });\n }\n\n public clear(name: DataAdministrationField, options?: HttpRequestConfigurableOptions): Observable<void> {\n return this.httpService.api({\n method: 'get',\n url: '/cache/evict/' + name,\n ...options,\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BaseHttpService, ConfigurationContext, ConfigurationContextMode } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class ContextApiService {\n private readonly SERVICE_URL = '/context';\n\n constructor(private httpService: BaseHttpService) {}\n\n public getContext(headerId: string, mode: ConfigurationContextMode): Observable<ConfigurationContext> {\n return this.httpService.api({\n method: 'post',\n body: {\n headerId: headerId,\n contextMode: ConfigurationContextMode[mode],\n },\n url: `${this.SERVICE_URL}`,\n });\n }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BaseHttpService, ContractedPrice, Expression, GuidedSelling, NewContractedPrice } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { QuerySearchParams } from '../types';\n\n@Injectable()\nexport class ContractedPriceApiService {\n private readonly serviceUrl = '/admin/contracted-price';\n\n constructor(private baseHttpService: BaseHttpService) {}\n\n public fetchContractedPrices$ = (): Observable<ContractedPrice[]> => {\n return this.baseHttpService.api({ url: `${this.serviceUrl}` });\n };\n\n public fetchContractedPrice$ = (id: string): Observable<ContractedPrice> => {\n return this.baseHttpService.api({ url: `${this.serviceUrl}/${id}` });\n };\n\n public createContractedPrice$ = (data: NewContractedPrice): Observable<ContractedPrice> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}`,\n method: 'put',\n body: data,\n });\n };\n\n public updateContractedPrice$ = (data: ContractedPrice): Observable<ContractedPrice> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${data.id}`,\n method: 'put',\n body: data,\n });\n };\n\n public searchContractedPrices$ = (\n searchParams?: QuerySearchParams,\n expression?: Expression,\n ): Observable<GuidedSelling[]> => {\n const params = new HttpParams({ fromObject: { ...searchParams } });\n\n return this.baseHttpService.api({\n method: 'post',\n url: `${this.serviceUrl}/search`,\n params,\n body: expression || {},\n });\n };\n}\n","import { Injectable } from '@angular/core';\nimport { BaseHttpService, LineItem } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { CalculateDeltaRequest } from '../types/delta-request.types';\n\n@Injectable()\nexport class DeltaApiService {\n private readonly SERVICE_URL = '/delta';\n\n constructor(private httpService: BaseHttpService) {}\n\n public calculate$(request: CalculateDeltaRequest): Observable<LineItem[]> {\n return this.httpService.api<LineItem[]>({\n method: 'post',\n url: `${this.SERVICE_URL}/calculate`,\n body: request,\n skipErrorHandler: true,\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Attachment, BaseHttpService, FileDownloadService } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { map, tap } from 'rxjs/operators';\nimport { TemplateAttachmentSearchRequest } from '../types/attachment.types';\n\n@Injectable()\nexport class DocumentAttachmentApiService {\n private readonly SERVICE_URL = '/attachments';\n\n constructor(private httpService: BaseHttpService, private fileDownloadService: FileDownloadService) {}\n\n public getAttachments(searchRequest: TemplateAttachmentSearchRequest): Observable<Attachment[]> {\n return this.httpService.api({\n url: `${this.SERVICE_URL}/search`,\n method: 'post',\n body: searchRequest,\n });\n }\n\n public createAttachment(attachment: Attachment, file?: File, reportProgress?: boolean): Observable<Attachment> {\n const formData: FormData = new FormData();\n\n if (file) {\n formData.append('file', file, file.name);\n }\n\n formData.append(\n 'attachment',\n new Blob([JSON.stringify(attachment)], {\n type: 'application/json',\n }),\n );\n\n return this.httpService.upload({\n url: `${this.SERVICE_URL}`,\n body: formData,\n method: 'post',\n observe: reportProgress ? 'events' : undefined,\n reportProgress,\n });\n }\n\n public updateAttachment(id: string, attachment: Attachment): Observable<Attachment> {\n return this.httpService.api({\n url: `${this.SERVICE_URL}/${id}`,\n body: attachment,\n method: 'put',\n });\n }\n\n public getAttachmentFile(id: string, isPreventDownload?: boolean): Observable<any> {\n return this.httpService\n .api({\n url: `${this.SERVICE_URL}/${id}/file`,\n responseType: isPreventDownload ? 'arraybuffer' : 'blob',\n observe: isPreventDownload ? 'body' : 'response',\n })\n .pipe(\n tap(response => {\n if (!isPreventDownload) {\n this.fileDownloadService.processDownload(response);\n }\n }),\n map(response => (isPreventDownload ? new Blob([response.body || response]) : response.body || response)),\n );\n }\n\n public removeAttachment(id: string): Observable<unknown> {\n return this.httpService.api({\n url: `${this.SERVICE_URL}/${id}`,\n method: 'delete',\n });\n }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BaseHttpService, Endpoint, EndpointExecuteRequest, Expression, NewEndpoint } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { CloneRequest } from '../types/clone-request.types';\n\n@Injectable()\nexport class EndpointsApiService {\n private readonly adminServiceUrl: string = '/admin/api-endpoints';\n private readonly serviceUrl: string = '/api-endpoints';\n\n constructor(private baseHttpService: BaseHttpService) {}\n\n public fetchEndpoints$(): Observable<Endpoint[]> {\n return this.searchEndpoints$(new Expression(), 0, -1);\n }\n\n public searchEndpoints$(expression: Expression, skip: number, count: number): Observable<Endpoint[]> {\n let params = new HttpParams();\n params = params.set('skip', '' + skip);\n params = params.set('count', '' + count);\n return this.baseHttpService.api({\n method: 'post',\n url: `${this.adminServiceUrl}/search`,\n params,\n body: expression,\n });\n }\n\n public removeEndpoint$(id: string): Observable<void> {\n return this.baseHttpService.api({\n url: `${this.adminServiceUrl}/${id}`,\n method: 'delete',\n });\n }\n\n public restoreEndpoint$(id: string): Observable<void> {\n return this.baseHttpService.api({\n url: `${this.adminServiceUrl}/${id}/restore`,\n method: 'patch',\n });\n }\n\n public fetchEndpoint$(id: string): Observable<Endpoint> {\n return this.baseHttpService.api({\n url: `${this.adminServiceUrl}/${id}`,\n method: 'get',\n });\n }\n\n public createEndpoint$(body: NewEndpoint): Observable<Endpoint> {\n return this.baseHttpService.api({\n url: `${this.adminServiceUrl}`,\n method: 'post',\n body,\n });\n }\n\n public updateEndpoint$(body: Endpoint): Observable<Endpoint> {\n return this.baseHttpService.api({\n url: `${this.adminServiceUrl}/${body.id}`,\n method: 'put',\n body,\n });\n }\n\n public duplicateEndpoint$(cloneRequest: CloneRequest): Observable<Endpoint> {\n return this.baseHttpService.api({\n url: `${this.adminServiceUrl}/${cloneRequest.id}/clone`,\n method: 'post',\n body: cloneRequest,\n });\n }\n\n public executeEndpoint$(body: EndpointExecuteRequest): Observable<string> {\n return this.baseHttpService.api<string>({\n url: `${this.serviceUrl}/execute`,\n method: 'post',\n body,\n responseType: 'text',\n skipErrorHandler: true,\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n BaseHttpService,\n ConfigurationStateExecuteRequest,\n ConfigurationStateNewRequest,\n ConfigurationStateStartRequest,\n FlowState,\n FlowStateExecutionRequestDTO,\n FlowStateExecutionResult,\n FlowStateInitRequest,\n FlowStateInitResponse,\n} from '@veloceapps/core';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class FlowStateApiService {\n private readonly SERVICE_URL = '/configuration/states';\n\n constructor(private httpService: BaseHttpService) {}\n\n /**\n * Initialize flow state\n * @param request Request\n * @returns Flow initialization response, which contains session ID and result of selectors\n */\n public init(request: FlowStateInitRequest): Observable<FlowStateInitResponse> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/quote/start`,\n body: request,\n });\n }\n\n /**\n * Get existing state by ID\n * @param id ID\n * @returns Flow State\n */\n public get(id: string): Observable<FlowState> {\n return this.httpService.api({\n url: `${this.SERVICE_URL}/${id}`,\n });\n }\n\n /**\n * Execute actions/selectors\n * @param id State ID\n * @param request Request\n * @returns Execute result\n */\n public execute(id: string, request: FlowStateExecutionRequestDTO): Observable<FlowStateExecutionResult> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/quote/${id}/execute`,\n body: request,\n });\n }\n\n /**\n * Save Quote in the state\n * @param id State ID\n */\n public save(id: string): Observable<{ quoteId: string }> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/quote/${id}/save`,\n });\n }\n\n /**\n * Submit Quote in the state\n * @param id State ID\n */\n public submit(id: string): Observable<{ quoteId: string }> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/quote/${id}/submit`,\n });\n }\n\n /**\n * Close Flow state\n * @param id State ID\n */\n public cancel(id: string): Observable<void> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/quote/${id}/cancel`,\n });\n }\n\n /**\n * Initialize stateful configuration\n * @param stateId string\n * @param request Request\n * @returns Flow initialization response, which contains session ID and result of selectors\n */\n public newConfiguration(\n stateId: string,\n request: ConfigurationStateNewRequest,\n ): Observable<FlowStateExecutionResult> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/quote/${stateId}/configuration/new`,\n body: request,\n });\n }\n\n /**\n * Start stateful configuration\n * @param stateId string\n * @param request Request\n * @returns Flow initialization response, which contains session ID and result of selectors\n */\n public startConfiguration(\n stateId: string,\n request: ConfigurationStateStartRequest,\n ): Observable<FlowStateExecutionResult> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/quote/${stateId}/configuration/start`,\n body: request,\n });\n }\n\n /**\n * Execute stateful configuration\n * @param stateId string\n * @param configurationId string\n * @param request Request\n * @returns Flow initialization response, which contains session ID and result of selectors\n */\n public executeConfiguration(\n stateId: string,\n configurationId: string,\n request: ConfigurationStateExecuteRequest,\n ): Observable<FlowStateExecutionResult> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/quote/${stateId}/configuration/${configurationId}/execute`,\n body: request,\n });\n }\n\n /**\n * Save stateful configuration\n * @param stateId string\n * @param configurationId string\n */\n public saveConfiguration(stateId: string, configurationId: string): Observable<{ quoteId: string }> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/quote/${stateId}/configuration/${configurationId}/save`,\n });\n }\n\n /**\n * Cancel stateful configuration\n * @param stateId string\n * @param configurationId string\n */\n public cancelConfiguration(stateId: string, configurationId: string): Observable<void> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/quote/${stateId}/configuration/${configurationId}/cancel`,\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Flow } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ConfigurationSettingsApiService } from './configuration-settings-api.service';\n\n@Injectable()\nexport class FlowsApiService {\n private readonly flowsKey = 'flows';\n\n constructor(private configurationSettingsApiService: ConfigurationSettingsApiService) {}\n\n public getFlow(id: string): Observable<Flow> {\n return this.fetchFlows().pipe(\n map(flows => flows.find(flow => flow.id == id)),\n map(flow => {\n if (!flow) {\n throw new Error(`Flow with flowId=${id} is not defined`);\n }\n\n return flow;\n }),\n );\n }\n\n public fetchFlows(): Observable<Flow[]> {\n return this.configurationSettingsApiService\n .fetchSetting(this.flowsKey)\n .pipe(map((setting): Flow[] => (setting?.value ? JSON.parse(setting.value) : [])));\n }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BaseHttpService, Expression, GuidedSelling, NewGuidedSelling } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { CloneRequest, QuerySearchParams } from '../types';\n\n@Injectable()\nexport class GuidedSellingsAdminApiService {\n public static MAX_RESULTS = 60;\n\n private readonly serviceUrl: string = '/admin/guided-selling';\n\n constructor(private baseHttpService: BaseHttpService) {}\n\n public fetchGuidedSellings$ = (searchParams?: QuerySearchParams): Observable<GuidedSelling[]> => {\n return this.searchGuidedSellings$(searchParams);\n };\n\n public searchGuidedSellings$ = (\n searchParams?: QuerySearchParams,\n expression?: Expression,\n ): Observable<GuidedSelling[]> => {\n const params = new HttpParams({ fromObject: { ...searchParams } });\n\n return this.baseHttpService.api({\n method: 'post',\n url: `${this.serviceUrl}/search`,\n params,\n body: expression || {},\n });\n };\n\n public fetchGuidedSelling$ = (id: string): Observable<GuidedSelling> => {\n return this.baseHttpService.api({ url: `${this.serviceUrl}/${id}` });\n };\n\n public createNewGuidedSelling$ = (guidedSelling: NewGuidedSelling): Observable<GuidedSelling> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}`,\n method: 'post',\n body: guidedSelling,\n });\n };\n\n public duplicateGuidedSelling$ = (cloneRequest: CloneRequest): Observable<GuidedSelling> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${cloneRequest.id}/clone`,\n method: 'post',\n body: cloneRequest,\n });\n };\n\n public updateGuidedSelling$ = (data: GuidedSelling): Observable<void> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${data.id}`,\n method: 'put',\n body: data,\n });\n };\n\n public removeGuidedSelling$ = (id: string): Observable<void> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${id}`,\n method: 'delete',\n });\n };\n\n public restoreGuidedSelling$ = (id: string): Observable<void> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${id}/restore`,\n method: 'patch',\n });\n };\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BaseHttpService, Expression, GuidedSelling, Operator } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { QuerySearchParams } from '../types';\n\n@Injectable()\nexport class GuidedSellingApiService {\n private readonly serviceUrl = '/guided-selling';\n\n constructor(private http: BaseHttpService) {}\n\n public searchByName$(name: string, searchParams?: QuerySearchParams): Observable<GuidedSelling[]> {\n const params = new HttpParams({ fromObject: { ...searchParams } });\n const expression = new Expression(undefined, [{ key: 'name', operator: Operator.EQ, value: name }]);\n\n return this.http.api({\n method: 'post',\n url: `${this.serviceUrl}/search`,\n params,\n body: expression || {},\n });\n }\n\n public searchById$(id: string, searchParams?: QuerySearchParams): Observable<GuidedSelling[]> {\n const params = new HttpParams({ fromObject: { ...searchParams } });\n const expression = new Expression(undefined, [{ key: 'id', operator: Operator.EQ, value: id }]);\n\n return this.http.api({\n method: 'post',\n url: `${this.serviceUrl}/search`,\n params,\n body: expression || {},\n });\n }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BaseHttpService, Expression, NewOffer, NewOfferProduct, Offer, OfferProduct } from '@veloceapps/core';\nimport { map, Observable } from 'rxjs';\nimport { OfferProductsUpsertRequest, OfferProductsUpsertResponse } from '../types/dto/offers-dto.types';\n\n@Injectable()\nexport class OffersApiService {\n public static MAX_RESULTS = 60;\n\n private readonly serviceUrl: string = '/admin/offers';\n\n constructor(private baseHttpService: BaseHttpService) {}\n\n public createOffer$(body: NewOffer): Observable<Offer> {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}`,\n method: 'post',\n body,\n });\n }\n\n public fetchOffers$(): Observable<Offer[]> {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}`,\n });\n }\n\n public fetchOffer$(id: string): Observable<Offer> {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${id}`,\n });\n }\n\n public updateOffer$(offer: Offer): Observable<Offer> {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${offer.id}`,\n method: 'put',\n body: offer,\n });\n }\n\n public removeOffer$(id: string): Observable<void> {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${id}`,\n method: 'delete',\n });\n }\n\n public searchOffers$(expression: Expression, skip: number, count: number): Observable<Offer[]> {\n let params = new HttpParams();\n params = params.set('skip', '' + skip);\n params = params.set('count', '' + count);\n return this.baseHttpService.api({\n method: 'post',\n url: `${this.serviceUrl}/search`,\n params,\n body: expression,\n });\n }\n\n public fetchOfferProducts$(id: string): Observable<OfferProduct[]> {\n return this.baseHttpService\n .api<OfferProductsUpsertResponse>({\n url: `${this.serviceUrl}/${id}/products`,\n })\n .pipe(map(response => response.products));\n }\n\n public upsertOfferProducts$(id: string, products: (OfferProduct | NewOfferProduct)[]): Observable<OfferProduct[]> {\n const request: OfferProductsUpsertRequest = { products };\n\n return this.baseHttpService\n .api<OfferProductsUpsertResponse>({\n url: `${this.serviceUrl}/${id}/products`,\n method: 'put',\n body: request,\n })\n .pipe(map(response => response.products));\n }\n}\n","import { isApexError, isCanvasError } from '@veloceapps/core';\nimport { isArray } from 'lodash';\n\n/**\n * Parses the response from Canvas and checks for errors.\n * - If an error is found, publishes an error message and returns the failover value.\n * - If no error is found, returns the parsed response.\n *\n * Note! The API call first goes to APEX before reaching the Canvas, so errors can originate from either APEX or Canvas.\n *\n * @param {string} response - The JSON string response from the Canvas call.\n * @param {T} failover - The value to return in case of error.\n * @returns {T | K} The parsed response or the failover value.\n *\n * @template T The expected type of the parsed response.\n * @template K The type of the failover value.\n *\n * @remarks If there's an Apex error, the response data can be an array.\n * In such cases, the function extracts the first element of the array.\n */\nexport const handleCanvasResponse = <T, K>(\n response: string,\n failover: K,\n errorPublisher: (message: string) => void,\n): T | K => {\n const parsed = JSON.parse(response);\n const errorCandidate = isArray(parsed) ? parsed[0] : parsed;\n\n if (isApexError(errorCandidate)) {\n errorPublisher(errorCandidate.message);\n return failover;\n }\n if (isCanvasError(errorCandidate)) {\n errorPublisher(errorCandidate.error);\n return failover;\n }\n\n return parsed as T;\n};\n","import { Injectable } from '@angular/core';\nimport { VlWindow } from '@veloceapps/core';\nimport { MessageService } from 'primeng/api';\nimport { Observable, catchError, from, map, of } from 'rxjs';\nimport { AvailableVersionsInfo, OrgInfo } from '../types/org-info.types';\nimport { handleCanvasResponse } from '../utils/canvas.utils';\n\ndeclare const window: VlWindow;\n\n@Injectable()\nexport class OrgInfoApiService {\n constructor(private messageService: MessageService) {}\n\n public getOrgInfo$(): Observable<OrgInfo | undefined> {\n try {\n return window.doCanvasCall && window.ORGANIZATION_ID\n ? from(window.doCanvasCall(`org-info/${window.ORGANIZATION_ID}`, null)).pipe(\n map(response => handleCanvasResponse<OrgInfo, undefined>(response, undefined, this.publishErrorMessage)),\n catchError(() => of(undefined)),\n )\n : of(undefined);\n } catch {\n return of(undefined);\n }\n }\n\n public getAvailableVersionsInfo$(): Observable<AvailableVersionsInfo | undefined> {\n try {\n return window.doCanvasCall && window.ORGANIZATION_ID\n ? from(window.doCanvasCall('versions/available', 'include_all=true')).pipe(\n map(response =>\n handleCanvasResponse<AvailableVersionsInfo, undefined>(response, undefined, this.publishErrorMessage),\n ),\n catchError(() => of(undefined)),\n )\n : of(undefined);\n } catch {\n return of(undefined);\n }\n }\n\n public upgradeVersion$(targetVersion: string): Observable<OrgInfo | undefined> {\n try {\n return window.doCanvasCall && window.ORGANIZATION_ID\n ? from(window.doCanvasCall('versions/upgrade', `target_version=${targetVersion}`)).pipe(\n map(response => handleCanvasResponse<OrgInfo, undefined>(response, undefined, this.publishErrorMessage)),\n catchError(() => of(undefined)),\n )\n : of(undefined);\n } catch {\n return of(undefined);\n }\n }\n\n /**\n * Shows an error message using the message service.\n *\n * @param {string} message - the error message to be published.\n */\n private publishErrorMessage = (message: string): void => {\n this.messageService.add({ severity: 'error', summary: message, sticky: true });\n };\n}\n","import { Injectable } from '@angular/core';\nimport { BaseHttpService, NewPicklist, NewPicklistValue, Picklist } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class PicklistsApiService {\n private readonly serviceUrl: string = '/admin';\n\n constructor(private baseHttpService: BaseHttpService) {}\n\n public fetchAllPicklists$ = (): Observable<Picklist[]> =>\n this.baseHttpService.api({ url: `${this.serviceUrl}/picklists` });\n\n public fetchPicklist$ = (code: string): Observable<Picklist> =>\n this.baseHttpService.api({ url: `${this.serviceUrl}/picklists/${code}` });\n\n public createPicklist$ = (picklist: NewPicklist): Observable<Picklist> => {\n return this.baseHttpService.api({ method: 'post', url: `${this.serviceUrl}/picklists`, body: picklist });\n };\n\n public updatePicklist$ = (picklist: Picklist): Observable<Picklist> => {\n return this.baseHttpService.api({\n method: 'put',\n url: `${this.serviceUrl}/picklists/${picklist.id}`,\n body: picklist,\n });\n };\n\n public removePicklist$ = (id: string): Observable<void> =>\n this.baseHttpService.api({ method: 'delete', url: `${this.serviceUrl}/picklists/${id}` });\n\n public restorePicklist$ = (id: string): Observable<void> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/picklists/${id}/restore`,\n method: 'patch',\n });\n };\n\n public addPicklistValue$ = (picklist: Picklist, value: NewPicklistValue): Observable<Picklist> => {\n const data = {\n ...picklist,\n values: [...picklist.values, value],\n };\n\n return this.baseHttpService.api({ method: 'put', url: `${this.serviceUrl}/picklists/${picklist.id}`, body: data });\n };\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BaseHttpService, Expression, NewPortal, Portal, PortalCustomization } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { CloneRequest } from '../types/clone-request.types';\n\n@Injectable()\nexport class PortalsApiService {\n public static MAX_RESULTS = 60;\n\n private readonly serviceUrl: string = '/admin/portal';\n\n constructor(private baseHttpService: BaseHttpService) {}\n\n public createNewPortal$(body: NewPortal): Observable<Portal> {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}`,\n method: 'post',\n body,\n });\n }\n\n public updatePortal$(portal: Portal, settings: PortalCustomization): Observable<Portal> {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${portal.id}`,\n method: 'put',\n body: {\n ...portal,\n settings: JSON.stringify(settings),\n },\n });\n }\n\n public getPortals$ = (skip = 1, name = ''): Observable<Portal[]> => {\n let params: HttpParams = new HttpParams();\n params = params.append('count', (PortalsApiService.MAX_RESULTS * skip).toString());\n params = params.append('skip', '0');\n params = params.append('name', name);\n return this.baseHttpService.api({ url: `${this.serviceUrl}`, params });\n };\n\n public searchPortals$ = (skip = 0, expression?: Expression): Observable<Portal[]> => {\n let params: HttpParams = new HttpParams();\n params = params.set('skip', '' + skip);\n params = params.set('count', '' + PortalsApiService.MAX_RESULTS);\n\n return this.baseHttpService.api({\n method: 'post',\n url: `${this.serviceUrl}/search`,\n params,\n body: expression || {},\n });\n };\n\n public removePortal$ = (id: string): Observable<string> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${id}`,\n method: 'delete',\n });\n };\n\n public restore$ = (id: string): Observable<void> => {\n return this.baseHttpService.api({\n method: 'patch',\n url: `${this.serviceUrl}/${id}/restore`,\n });\n };\n\n public duplicatePortal$ = (cloneRequest: CloneRequest): Observable<string> => {\n return this.baseHttpService.api<string>({\n url: `${this.serviceUrl}/${cloneRequest.id}/clone`,\n method: 'post',\n body: cloneRequest,\n });\n };\n\n public getPortal$ = (id: string): Observable<Portal> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${id}`,\n });\n };\n}\n","import { Injectable } from '@angular/core';\nimport { BaseHttpService, PriceList, PriceSummary } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { PriceCalculateRequest } from '../types/price.types';\n\n@Injectable()\nexport class PriceApiService {\n private readonly SERVICE_URL = '/price';\n\n constructor(private httpService: BaseHttpService) {}\n\n public calculate(request: PriceCalculateRequest): Observable<PriceSummary> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/calculate`,\n body: request,\n skipErrorHandler: true,\n });\n }\n\n public getPriceLists(): Observable<PriceList[]> {\n return this.httpService.api({\n method: 'get',\n url: '/price-lists',\n });\n }\n\n public getPriceList(id: string): Observable<PriceList> {\n return this.httpService.api({\n method: 'get',\n url: `/price-lists/${id}`,\n });\n }\n\n public getSellingTermByEndDate(\n planId?: string,\n offeringId?: string,\n startDate?: string,\n endDate?: string,\n frequencyUnit?: string,\n frequencyDuration?: string,\n ): Observable<any> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/selling-term-by-end-date`,\n body: {\n planId: planId,\n offeringId: offeringId,\n startDate: startDate,\n endDate: endDate,\n frequencyUnit: frequencyUnit,\n frequencyDuration: frequencyDuration,\n },\n });\n }\n\n public getSellingTermByTerm(\n planId?: string,\n offeringId?: string,\n startDate?: string,\n term?: number,\n frequencyUnit?: string,\n frequencyDuration?: string,\n ): Observable<any> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/selling-term-by-term`,\n body: {\n planId: planId,\n offeringId: offeringId,\n startDate: startDate,\n term: term,\n frequencyUnit: frequencyUnit,\n frequencyDuration: frequencyDuration,\n },\n });\n }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n BaseHttpService,\n Expression,\n NewProcedure,\n Procedure,\n ProcedureExecuteRequest,\n QuoteDraft,\n} from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { CloneRequest } from '../types/clone-request.types';\n\n@Injectable()\nexport class ProceduresApiService {\n private readonly ADMIN_SERVICE_URL: string = '/admin/procedures';\n private readonly SERVICE_URL: string = '/procedures';\n\n constructor(private baseHttpService: BaseHttpService) {}\n\n public fetchProcedures$ = (): Observable<Procedure[]> => {\n return this.searchProcedures$(new Expression(), 0, 100);\n };\n\n public searchProcedures$ = (expression: Expression, skip: number, count: number): Observable<Procedure[]> => {\n let params = new HttpParams();\n params = params.set('skip', '' + skip);\n params = params.set('count', '' + count);\n return this.baseHttpService.api({\n method: 'post',\n url: `${this.ADMIN_SERVICE_URL}/search`,\n params,\n body: expression,\n });\n };\n\n public createProcedure$ = (newProcedure: NewProcedure): Observable<Procedure> => {\n return this.baseHttpService.api<Procedure>({\n url: `${this.ADMIN_SERVICE_URL}`,\n method: 'post',\n body: newProcedure,\n });\n };\n\n public updateProcedure$ = (procedure: Procedure): Observable<Procedure> => {\n return this.baseHttpService.api<Procedure>({\n url: `${this.ADMIN_SERVICE_URL}/${procedure.id}`,\n method: 'put',\n body: procedure,\n });\n };\n\n public duplicateProcedure$ = (body: CloneRequest): Observable<string> => {\n return this.baseHttpService\n .api({\n url: `${this.ADMIN_SERVICE_URL}/${body.id}/clone`,\n method: 'post',\n body,\n })\n .pipe(map(response => response.clonedRecordId));\n };\n\n public removeProcedure$ = (id: string): Observable<string> => {\n return this.baseHttpService.api<string>({\n url: `${this.ADMIN_SERVICE_URL}/${id}`,\n method: 'delete',\n });\n };\n\n public restoreProcedure$ = (id: string): Observable<string> => {\n return this.baseHttpService.api<string>({\n url: `${this.ADMIN_SERVICE_URL}/${id}/restore`,\n method: 'patch',\n });\n };\n\n public fetchProcedure$(id: string): Observable<Procedure> {\n return this.baseHttpService.api<Procedure>({\n url: `${this.ADMIN_SERVICE_URL}/${id}`,\n method: 'get',\n });\n }\n\n public execute$(body: ProcedureExecuteRequest) {\n return this.baseHttpService.api<string[]>({\n url: `${this.SERVICE_URL}/execute`,\n method: 'post',\n body,\n });\n }\n\n public catalogExecute$(body: ProcedureExecuteRequest) {\n return this.baseHttpService.api<string[]>({\n url: `${this.SERVICE_URL}/catalog/execute`,\n method: 'post',\n body,\n });\n }\n\n public rlmExecute$(body: ProcedureExecuteRequest) {\n return this.baseHttpService.api<string[]>({\n url: `${this.SERVICE_URL}/rlm/execute`,\n method: 'post',\n body,\n });\n }\n\n /**\n * Run active procedure against QuoteDraft\n * @param body\n * @returns\n */\n public apply$(body: QuoteDraft): Observable<QuoteDraft> {\n return this.baseHttpService.api<QuoteDraft>({\n url: `${this.SERVICE_URL}/apply`,\n method: 'post',\n body,\n });\n }\n\n public fetchDefaultPricingSteps$(): Observable<any> {\n return this.baseHttpService.api<Procedure>({\n url: `${this.ADMIN_SERVICE_URL}/pricing-steps`,\n method: 'get',\n });\n }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n AttributeDefinition,\n BaseHttpService,\n Expression,\n LazyChunkRequest,\n NewAttributeDefinition,\n NewProduct,\n NewProductAttribute,\n Product,\n ProductAttribute,\n} from '@veloceapps/core';\nimport { noop, Observable } from 'rxjs';\n\n@Injectable()\nexport class ProductApiService {\n private readonly serviceUrl: string = '/products';\n\n constructor(private baseHttpService: BaseHttpService) {}\n\n public fetchProducts$ = (payload: LazyChunkRequest): Observable<Product[]> => {\n let params: HttpParams = new HttpParams();\n params = params.append('count', payload.count);\n params = params.append('skip', payload.skip);\n if (payload.name) {\n params = params.append('name', payload.name);\n }\n return this.baseHttpService.api({ url: `${this.serviceUrl}`, params });\n };\n\n public searchProducts$ = (expression: Expression, skip: number, count: number): Observable<Product[]> => {\n let params = new HttpParams();\n params = params.set('skip', '' + skip);\n params = params.set('count', '' + count);\n return this.baseHttpService.api({\n method: 'post',\n url: `${this.serviceUrl}/search`,\n params: params,\n body: expression,\n });\n };\n\n public fetchProduct$ = (id: string): Observable<Product> =>\n this.baseHttpService.api({ url: `${this.serviceUrl}/${id}` });\n\n public fetchAttributes$ = (): Observable<AttributeDefinition[]> => {\n return this.baseHttpService.api({ url: `${this.serviceUrl}/attributes/definition` });\n };\n\n public searchAttributes$ = (\n expression: Expression,\n skip: number,\n count: number,\n ): Observable<AttributeDefinition[]> => {\n let params = new HttpParams();\n params = params.set('skip', '' + skip);\n params = params.set('count', '' + count);\n return this.baseHttpService.api({\n method: 'post',\n url: `${this.serviceUrl}/attributes/definition/search`,\n params: params,\n body: expression,\n });\n };\n\n public fetchAttributesByModel = (modelId: string): Observable<AttributeDefinition[]> => {\n return this.baseHttpService.api({ url: `${this.serviceUrl}/attributes/definition/forModel/${modelId}` });\n };\n\n public createNewProduct$ = (productData: NewProduct): Observable<Product> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}`,\n method: 'post',\n body: productData,\n });\n };\n\n public updateProduct$ = (body: Product): Observable<Product> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${body.id}`,\n method: 'put',\n body,\n });\n };\n\n public removeProduct$ = (id: string): Observable<string> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${id}`,\n method: 'delete',\n });\n };\n\n public restoreProduct$ = (id: string): Observable<void> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${id}/restore`,\n method: 'patch',\n });\n };\n\n public createProductAttribute$ = (attributeData: NewProductAttribute): Observable<AttributeDefinition> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/attributes`,\n method: 'post',\n body: attributeData,\n });\n };\n\n public updateProductAttribute$ = (attributeData: ProductAttribute): Observable<AttributeDefinition> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/attributes/${attributeData.id}`,\n method: 'put',\n body: attributeData,\n });\n };\n\n public removeProductAttribute$ = (id: string): Observable<void> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/attributes/${id}`,\n method: 'delete',\n });\n };\n\n public createNewAttribute$ = (attributeData: NewAttributeDefinition): Observable<AttributeDefinition> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/attributes/definition`,\n method: 'post',\n body: attributeData,\n });\n };\n\n public updateAttribute$ = (body: AttributeDefinition): Observable<AttributeDefinition> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/attributes/definition/${body.id}`,\n method: 'put',\n body,\n });\n };\n\n public removeAttribute$ = (id: string): Observable<void> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/attributes/definition/${id}`,\n method: 'delete',\n });\n };\n\n public restoreAttribute$ = (id: string): Observable<void> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/attributes/definition/${id}/restore`,\n method: 'patch',\n });\n };\n\n public attachImage$(productId: string, file: File): Observable<void> {\n const data = new FormData();\n data.append('image', file);\n\n return this.baseHttpService.upload({\n method: 'post',\n url: `${this.serviceUrl}/${productId}/image`,\n body: data,\n });\n }\n\n public removeImage$(productId: string): Observable<void> {\n return this.baseHttpService.api({\n method: 'delete',\n url: `${this.serviceUrl}/${productId}/image`,\n });\n }\n\n public fetchImage$(productId: string): Observable<File> {\n return this.baseHttpService.api({\n url: this.getImageUrl(productId),\n method: 'get',\n responseType: 'blob',\n errorHandler: noop,\n });\n }\n\n public getImageUrl(productId: string) {\n return `${this.serviceUrl}/${productId}/image`;\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n BaseHttpService,\n EntityUtil,\n ModelReleaseRequest,\n ModelTranslatorUtils,\n PmlConfigurationMode,\n ProductModel,\n ProductModelVersion,\n} from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\n\n@Injectable()\nexport class ProductModelApiService {\n public static MAX_RESULTS = 200;\n\n private readonly SERVICE_URL = '/models';\n\n constructor(private httpService: BaseHttpService) {}\n\n public addModel(model: ProductModel): Observable<any> {\n return this.httpService\n .api({\n method: 'post',\n url: this.SERVICE_URL,\n body: model,\n errorHandler: this.httpService.handleValidationError,\n })\n .pipe(\n map(result => {\n if (result.successful) {\n return result;\n } else {\n throw new Error(result.message);\n }\n }),\n );\n }\n\n public releaseModel(model: ModelReleaseRequest): Observable<any> {\n return this.httpService\n .api({\n method: 'put',\n url: `${this.SERVICE_URL}/${model.id}/release`,\n body: model,\n errorHandler: this.httpService.handleValidationError,\n })\n .pipe(\n map(result => {\n if (result.successful) {\n return '';\n } else {\n throw new Error(result.message);\n }\n }),\n );\n }\n\n public removeModel(modelId: string, successFn?: any, failureFn?: any): void {\n const observable = this.httpService\n .api({\n method: 'delete',\n url: `${this.SERVICE_URL}/${modelId}`,\n errorHandler: this.httpService.handleValidationError,\n })\n .pipe(\n map(result => {\n if (result.successful) {\n return '';\n } else {\n throw new Error(result.message);\n }\n }),\n );\n\n observable.subscribe(\n () => {\n successFn && successFn.apply();\n },\n () => {\n failureFn && failureFn.apply();\n },\n );\n }\n\n public getModelVersions(modelId: string, count: number = 100, skip: number = 0): Observable<ProductModelVersion[]> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/${modelId}/versions`,\n body: {\n skipCount: skip,\n count: count,\n },\n });\n }\n\n public getModel(id: string, version?: string): Observable<ProductModel> {\n let url = `${this.SERVICE_URL}/${id}`;\n\n if (version) {\n url += `/versions/${version}`;\n }\n\n return this.httpService.api({ url });\n }\n\n public getModels(skipCount: number, searchText: string): Observable<ProductModel[]> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/search`,\n body: {\n nameRegex: searchText,\n skipCount: skipCount.toString(),\n count: ProductModelApiService.MAX_RESULTS,\n },\n });\n }\n\n public getLinkedModels(id: string, version?: string): Observable<ProductModel[]> {\n let url = `${this.SERVICE_URL}/${id}`;\n\n if (version) {\n url += `/versions/${version}`;\n }\n\n url += '/linked';\n\n return this.httpService.api({ url }).pipe(\n map((linkedModels: ProductModel[]) => {\n if (linkedModels) {\n linkedModels.forEach(model => ModelTranslatorUtils.toLocalModel(model));\n }\n return linkedModels;\n }),\n );\n }\n\n public getPML(modelId: string, version?: string): Observable<any> {\n let url = `${this.SERVICE_URL}/${modelId}/pml/${version}`;\n\n if (version) {\n url += `/versions/${version}`;\n }\n\n return this.httpService.api({\n url,\n responseType: 'text',\n });\n }\n\n public savePML(modelId: string, pml: string, comment: string): Observable<any> {\n return this.httpService\n .api({\n method: 'put',\n url: `${this.SERVICE_URL}/${modelId}/pml`,\n body: {\n id: modelId,\n pml: pml,\n comment: comment,\n },\n })\n .pipe(\n map(result => {\n if (result.successful) {\n return '';\n } else {\n throw new Error(result.message);\n }\n }),\n catchError(this.httpService.handleValidationError),\n );\n }\n\n public generateProducts(modelId: string): Observable<ProductModel> {\n return this.httpService.api({\n url: `${this.SERVICE_URL}/${modelId}/generate-products`,\n });\n }\n\n public saveModel(productModel: ProductModel, comment: string): Observable<string> {\n const model = EntityUtil.clone(productModel);\n model.comment = comment;\n ModelTranslatorUtils.toServerModel(model);\n\n return this.httpService\n .api({\n method: 'put',\n url: `${this.SERVICE_URL}/${model.id}`,\n body: model,\n })\n .pipe(\n map(result => {\n if (result.successful) {\n return '';\n } else {\n throw new Error(result.message);\n }\n }),\n catchError(this.httpService.handleValidationError),\n );\n }\n\n public validateModel(productModel: ProductModel): Observable<string> {\n return this.httpService\n .api({\n method: 'post',\n url: `${this.SERVICE_URL}/validate`,\n body: productModel,\n errorHandler: this.httpService.handleValidationError,\n })\n .pipe(\n map(result => {\n if (result.successful) {\n return '';\n } else {\n throw new Error(result.message);\n }\n }),\n );\n }\n\n public renameModel(productModel: ProductModel, name: string): Observable<any> {\n const model = EntityUtil.clone(productModel);\n model.name = name;\n ModelTranslatorUtils.toServerModel(model);\n\n return this.httpService\n .api({\n method: 'patch',\n url: `${this.SERVICE_URL}/${model.id}`,\n body: model,\n })\n .pipe(catchError(this.httpService.handleValidationError));\n }\n\n public uploadPmlFile(file: File, modelId: string): Observable<any> {\n const formData: FormData = new FormData();\n formData.append('file', file, file.name);\n\n return this.httpService.upload({\n url: `${this.SERVICE_URL}/${modelId}/pml/upload`,\n body: formData,\n });\n }\n\n public runPml(\n modelId: string,\n pml: string,\n rootType: string,\n configurationMode: PmlConfigurationMode,\n ): Observable<any> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/${modelId}/pml/run`,\n body: {\n pml,\n rootType,\n configurationMode,\n },\n responseType: 'text',\n });\n }\n\n public evictAllCache(): Observable<{ result: string }> {\n return this.httpService.api({\n method: 'get',\n url: '/cache/evict/environment-variables',\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BaseHttpService, Expression, NewPromotion, Promotion } from '@veloceapps/core';\nimport { map, Observable } from 'rxjs';\nimport { HttpParams } from '@angular/common/http';\nimport { CloneRequest } from '../types';\n\n@Injectable()\nexport class PromotionsApiService {\n private readonly serviceUrl: string = '/admin/promotion';\n\n constructor(private baseHttpService: BaseHttpService) {}\n\n public fetchAll$ = (): Observable<Promotion> => {\n return this.baseHttpService.api<Promotion>({ url: this.serviceUrl });\n };\n\n public search$(expression: Expression, skip?: number, count?: number): Observable<Promotion[]> {\n let params = new HttpParams();\n if (typeof skip === 'number') {\n params = params.set('skip', '' + skip);\n }\n if (typeof count === 'number') {\n params = params.set('count', '' + count);\n }\n return this.baseHttpService.api({ method: 'post', url: `${this.serviceUrl}/search`, params, body: expression });\n }\n\n public fetchOne$ = (id: string): Observable<Promotion> => {\n return this.baseHttpService.api<Promotion>({ url: `${this.serviceUrl}/${id}` });\n };\n\n public create$(body: NewPromotion): Observable<Promotion> {\n return this.baseHttpService.api<Promotion>({\n url: `${this.serviceUrl}`,\n method: 'post',\n body,\n });\n }\n\n public update$(body: Promotion): Observable<Promotion> {\n return this.baseHttpService.api<Promotion>({\n url: `${this.serviceUrl}/${body.id}`,\n method: 'put',\n body,\n });\n }\n\n public remove$ = (id: string): Observable<string> => {\n return this.baseHttpService.api<string>({\n url: `${this.serviceUrl}/${id}`,\n method: 'delete',\n });\n };\n\n public restore$ = (id: string): Observable<void> => {\n return this.baseHttpService.api({\n method: 'patch',\n url: `${this.serviceUrl}/${id}/restore`,\n });\n };\n\n public duplicate$ = (body: CloneRequest): Observable<string> => {\n return this.baseHttpService\n .api({\n url: `${this.serviceUrl}/${body.id}/clone`,\n method: 'post',\n body,\n })\n .pipe(map(response => response.clonedRecordId));\n };\n}\n","import { Injectable } from '@angular/core';\nimport { BaseHttpService, HttpRequestConfigurableOptions, QuoteDraft } from '@veloceapps/core';\nimport { Dictionary } from 'lodash';\nimport { Observable } from 'rxjs';\nimport { SaveQuoteResponse, SubmitQuoteResponse } from '../types';\n\n@Injectable()\nexport class QuoteApiService {\n private readonly SERVICE_URL = '/quotes';\n\n constructor(private httpService: BaseHttpService) {}\n\n /**\n * This endpoint doesn't include orders and assets\n * @param objectId quoteId | accountId | opportunityId | orderId\n * @param params Query params\n * @param options Request options\n */\n public getQuoteState(\n objectId: string,\n params?: Dictionary<string>,\n options?: HttpRequestConfigurableOptions,\n ): Observable<QuoteDraft> {\n return this.httpService.api<QuoteDraft>({\n method: 'get',\n url: `/v2${this.SERVICE_URL}/${objectId}`,\n params,\n ...options,\n });\n }\n\n public upsertQuote(request: QuoteDraft, options?: HttpRequestConfigurableOptions): Observable<SaveQuoteResponse> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}`,\n body: request,\n ...options,\n });\n }\n\n public submitQuote(request: QuoteDraft, options?: HttpRequestConfigurableOptions): Observable<SubmitQuoteResponse> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/submit`,\n body: request,\n ...options,\n });\n }\n\n public attachDocument(id: string, documentName: string, data: any): Observable<void> {\n const formData: FormData = new FormData();\n const blob = new Blob([data]);\n formData.append('file', blob, documentName);\n\n return this.httpService.upload({\n url: `${this.SERVICE_URL}/${id}/attach-document`,\n responseType: 'arraybuffer',\n method: 'post',\n body: formData,\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BaseHttpService, HttpRequestConfigurableOptions, PriceSummary } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { NextRampRequest, RenewRampRequest } from '../types';\n\n@Injectable()\nexport class RampApiService {\n private readonly SERVICE_URL = '/ramp';\n\n constructor(private httpService: BaseHttpService) {}\n\n public next(request: NextRampRequest, options?: HttpRequestConfigurableOptions): Observable<PriceSummary> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/next`,\n body: request,\n ...options,\n });\n }\n\n public renew(request: RenewRampRequest, options?: HttpRequestConfigurableOptions): Observable<PriceSummary> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/renew`,\n body: request,\n ...options,\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BaseHttpService, Expression, NewRebateProgram, RebateProgram } from '@veloceapps/core';\nimport { map, Observable } from 'rxjs';\nimport { HttpParams } from '@angular/common/http';\nimport { CloneRequest } from '../types';\n\n@Injectable()\nexport class RebateProgramApiService {\n private readonly serviceUrl: string = '/admin/rebate-program';\n\n constructor(private baseHttpService: BaseHttpService) {}\n\n public fetchAll$ = (): Observable<RebateProgram[]> => {\n return this.baseHttpService.api<RebateProgram[]>({ url: this.serviceUrl });\n };\n\n public search$(expression: Expression, skip?: number, count?: number): Observable<RebateProgram[]> {\n let params = new HttpParams();\n if (typeof skip === 'number') {\n params = params.set('skip', '' + skip);\n }\n if (typeof count === 'number') {\n params = params.set('count', '' + count);\n }\n return this.baseHttpService.api({ method: 'post', url: `${this.serviceUrl}/search`, params, body: expression });\n }\n\n public fetchOne$ = (id: string): Observable<RebateProgram> => {\n return this.baseHttpService.api<RebateProgram>({ url: `${this.serviceUrl}/${id}` });\n };\n\n public create$(body: NewRebateProgram): Observable<RebateProgram> {\n return this.baseHttpService.api<RebateProgram>({\n url: `${this.serviceUrl}`,\n method: 'post',\n body,\n });\n }\n\n public update$(body: RebateProgram): Observable<RebateProgram> {\n return this.baseHttpService.api<RebateProgram>({\n url: `${this.serviceUrl}/${body.id}`,\n method: 'put',\n body,\n });\n }\n\n public remove$ = (id: string): Observable<string> => {\n return this.baseHttpService.api<string>({\n url: `${this.serviceUrl}/${id}`,\n method: 'delete',\n });\n };\n\n public restore$ = (id: string): Observable<void> => {\n return this.baseHttpService.api({\n method: 'patch',\n url: `${this.serviceUrl}/${id}/restore`,\n });\n };\n\n public duplicate$ = (body: CloneRequest): Observable<string> => {\n return this.baseHttpService\n .api({\n url: `${this.serviceUrl}/${body.id}/clone`,\n method: 'post',\n body,\n })\n .pipe(map(response => response.clonedRecordId));\n };\n}\n","import { Injectable } from '@angular/core';\nimport { BaseHttpService, Expression, NewRebateType, RebateType } from '@veloceapps/core';\nimport { map, Observable } from 'rxjs';\nimport { HttpParams } from '@angular/common/http';\nimport { CloneRequest } from '../types';\n\n@Injectable()\nexport class RebateTypeApiService {\n private readonly serviceUrl: string = '/admin/rebate-type';\n\n constructor(private baseHttpService: BaseHttpService) {}\n\n public fetchAll$ = (): Observable<RebateType> => {\n return this.baseHttpService.api<RebateType>({ url: this.serviceUrl });\n };\n\n public search$(expression: Expression, skip?: number, count?: number): Observable<RebateType[]> {\n let params = new HttpParams();\n if (typeof skip === 'number') {\n params = params.set('skip', '' + skip);\n }\n if (typeof count === 'number') {\n params = params.set('count', '' + count);\n }\n return this.baseHttpService.api({ method: 'post', url: `${this.serviceUrl}/search`, params, body: expression });\n }\n\n public fetchOne$ = (id: string): Observable<RebateType> => {\n return this.baseHttpService.api<RebateType>({ url: `${this.serviceUrl}/${id}` });\n };\n\n public create$(body: NewRebateType): Observable<RebateType> {\n return this.baseHttpService.api<RebateType>({\n url: `${this.serviceUrl}`,\n method: 'post',\n body,\n });\n }\n\n public update$(body: RebateType): Observable<RebateType> {\n return this.baseHttpService.api<RebateType>({\n url: `${this.serviceUrl}/${body.id}`,\n method: 'put',\n body,\n });\n }\n\n public remove$ = (id: string): Observable<string> => {\n return this.baseHttpService.api<string>({\n url: `${this.serviceUrl}/${id}`,\n method: 'delete',\n });\n };\n\n public restore$ = (id: string): Observable<void> => {\n return this.baseHttpService.api({\n method: 'patch',\n url: `${this.serviceUrl}/${id}/restore`,\n });\n };\n\n public duplicate$ = (body: CloneRequest): Observable<string> => {\n return this.baseHttpService\n .api({\n url: `${this.serviceUrl}/${body.id}/clone`,\n method: 'post',\n body,\n })\n .pipe(map(response => response.clonedRecordId));\n };\n}\n","import { Injectable } from '@angular/core';\nimport {\n BaseHttpService,\n BEContextDefinitionStructure,\n ContextDefinition,\n ContextDefinitionStructure,\n ContextMapping,\n RlmProcedure,\n} from '@veloceapps/core';\nimport { Observable, of } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\n\n@Injectable()\nexport class RlmApiService {\n private readonly serviceUrl: string = '/rlm';\n\n constructor(private baseHttpService: BaseHttpService) {}\n\n public fetchContextDefinitions$(): Observable<ContextDefinition[]> {\n return this.baseHttpService\n .api<ContextDefinition[]>({ url: `${this.serviceUrl}/context`, skipErrorHandler: true })\n .pipe(\n catchError(() => {\n return of([]);\n }),\n );\n }\n\n public fetchContextMappings$(id: string): Observable<ContextMapping[]> {\n return this.baseHttpService.api<ContextMapping[]>({ url: `${this.serviceUrl}/context/${id}/mappings` });\n }\n\n public fetchContextDefinitionStructure$(id: string): Observable<ContextDefinitionStructure> {\n return this.baseHttpService\n .api<BEContextDefinitionStructure>({\n url: `${this.serviceUrl}/context/${id}/structure/details`,\n skipErrorHandler: true,\n })\n .pipe(\n catchError(() => {\n return of([]);\n }),\n map(objects => {\n return objects.map(object => {\n const tag = object.tags?.[0]?.title;\n const objectAttributes = object.attributes || [];\n return {\n id: object.id,\n title: tag || object.title,\n attributes: objectAttributes.map(attribute => {\n const tag = attribute.tags?.[0]?.title;\n return {\n title: tag || attribute.title,\n fieldType: attribute.fieldType,\n dataType: attribute.dataType,\n };\n }),\n };\n });\n }),\n );\n }\n\n public fetchRlmProcedures(contextDefinitionId?: string): Observable<RlmProcedure[]> {\n const params: Record<string, string | string[]> = {};\n\n if (contextDefinitionId) {\n params['contextDefinitionId'] = contextDefinitionId;\n }\n\n return this.baseHttpService.api<RlmProcedure[]>({\n url: `${this.serviceUrl}/procedures`,\n params,\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BaseHttpService, HttpRequestConfigurableOptions, QuoteDraft } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class RlmQuoteApiService {\n private readonly SERVICE_URL = '/quotes/rlm';\n\n constructor(private httpService: BaseHttpService) {}\n\n public getQuote(\n mappingType: 'tag' | 'attribute',\n objectId: string,\n contextMappingId?: string,\n options?: HttpRequestConfigurableOptions,\n ): Observable<QuoteDraft> {\n const params: Record<string, string> = { mappingType };\n\n if (contextMappingId) {\n params['contextMappingId'] = contextMappingId;\n }\n\n return this.httpService.api({\n method: 'get',\n url: `${this.SERVICE_URL}/${objectId}`,\n params,\n ...options,\n });\n }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BaseHttpService, Expression, NewRuleGroup, RuleGroup } from '@veloceapps/core';\nimport { map, Observable } from 'rxjs';\nimport { CloneRequest } from '../types/clone-request.types';\n\n@Injectable()\nexport class RuleGroupsApiService {\n private readonly serviceUrl: string = '/admin/rule-groups';\n\n constructor(private baseHttpService: BaseHttpService) {}\n\n public fetchRuleGroups$ = (): Observable<RuleGroup[]> => {\n return this.searchRuleGroups$(new Expression(), 0, 100);\n };\n\n public searchRuleGroups$ = (expression: Expression, skip: number, count: number): Observable<RuleGroup[]> => {\n let params = new HttpParams();\n params = params.set('skip', '' + skip);\n params = params.set('count', '' + count);\n return this.baseHttpService.api({ method: 'post', url: `${this.serviceUrl}/search`, params, body: expression });\n };\n\n public createRuleGroup$ = (ruleGroup: NewRuleGroup): Observable<RuleGroup> => {\n return this.baseHttpService.api<RuleGroup>({\n url: `${this.serviceUrl}`,\n method: 'post',\n body: ruleGroup,\n });\n };\n\n public updateRuleGroup$ = (ruleGroup: RuleGroup): Observable<RuleGroup> => {\n return this.baseHttpService.api<RuleGroup>({\n url: `${this.serviceUrl}/${ruleGroup.id}`,\n method: 'post',\n body: ruleGroup,\n });\n };\n\n public duplicateRuleGroup$ = (body: CloneRequest): Observable<string> => {\n return this.baseHttpService\n .api({\n url: `${this.serviceUrl}/${body.id}/clone`,\n method: 'post',\n body,\n })\n .pipe(map(response => response.clonedRecordId));\n };\n\n public removeRuleGroup$ = (id: string): Observable<string> => {\n return this.baseHttpService.api<string>({\n url: `${this.serviceUrl}/${id}`,\n method: 'delete',\n });\n };\n\n public restoreRuleGroup$ = (id: string): Observable<string> => {\n return this.baseHttpService.api<string>({\n url: `${this.serviceUrl}/${id}/restore`,\n method: 'patch',\n });\n };\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n BaseHttpService,\n Expression,\n HeaderField,\n NewRule,\n Rule,\n RuleExecuteRequest,\n RuleGroupTypes,\n} from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { CloneRequest } from '../types/clone-request.types';\n\n@Injectable()\nexport class RulesApiService {\n private readonly serviceUrl: string = '/admin/rules';\n\n constructor(private baseHttpService: BaseHttpService) {}\n\n public fetchRules$ = (): Observable<Rule[]> => {\n return this.searchRules$(new Expression(), 0, 100);\n };\n\n public searchRules$ = (expression: Expression, skip?: number, count?: number): Observable<Rule[]> => {\n let params = new HttpParams();\n if (typeof skip === 'number') {\n params = params.set('skip', '' + skip);\n }\n if (typeof count === 'number') {\n params = params.set('count', '' + count);\n }\n return this.baseHttpService.api({ method: 'post', url: `${this.serviceUrl}/search`, params, body: expression });\n };\n\n public createRule$ = (rule: NewRule): Observable<Rule> => {\n return this.baseHttpService.api<Rule>({\n url: `${this.serviceUrl}`,\n method: 'post',\n body: rule,\n });\n };\n\n public updateRule$ = (rule: Rule): Observable<Rule> => {\n return this.baseHttpService.api<Rule>({\n url: `${this.serviceUrl}/${rule.id}`,\n method: 'put',\n body: rule,\n });\n };\n\n public duplicateRule$ = (body: CloneRequest): Observable<string> => {\n return this.baseHttpService\n .api({\n url: `${this.serviceUrl}/${body.id}/clone`,\n method: 'post',\n body,\n })\n .pipe(map(response => response.clonedRecordId));\n };\n\n public removeRule$ = (id: string): Observable<string> => {\n return this.baseHttpService.api<string>({\n url: `${this.serviceUrl}/${id}`,\n method: 'delete',\n });\n };\n\n public restoreRule$ = (id: string): Observable<string> => {\n return this.baseHttpService.api<string>({\n url: `${this.serviceUrl}/${id}/restore`,\n method: 'patch',\n });\n };\n\n public fetchRule$(id: string) {\n return this.baseHttpService.api<Rule>({\n url: `${this.serviceUrl}/${id}`,\n method: 'get',\n });\n }\n\n public fetchHeaderFields$() {\n return this.baseHttpService.api<HeaderField[]>({\n url: `${this.serviceUrl}/describe/Header`,\n method: 'get',\n });\n }\n\n public execute$(body: RuleExecuteRequest) {\n const url = this.getExecuteRuleUrl(body.rule.ruleGroupType);\n return this.baseHttpService.api<string[]>({\n url,\n method: 'post',\n body,\n });\n }\n\n private getExecuteRuleUrl(ruleGroupType: RuleGroupTypes): string {\n if (ruleGroupType === RuleGroupTypes.eligibility) {\n return '/rules/eligibility/execute';\n }\n\n if (ruleGroupType === RuleGroupTypes.catalog) {\n return '/rules/catalog/execute';\n }\n\n if (ruleGroupType === RuleGroupTypes.rlmContextBased) {\n return '/rules/rlm/execute';\n }\n\n return '/rules/execute';\n }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n BaseHttpService,\n GlobalPicklist,\n GlobalPicklistValue,\n HttpRequestConfigurableOptions,\n SalesforceField,\n SalesforceObject,\n SearchRequest,\n} from '@veloceapps/core';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class SalesforceApiService {\n private readonly SERVICE_URL = '/proxy';\n\n constructor(private httpService: BaseHttpService) {}\n\n public query<T>(\n searchRequest: SearchRequest,\n objectName: string,\n options?: HttpRequestConfigurableOptions,\n ): Observable<T[]> {\n return this.httpService.api({\n method: 'post',\n body: { ...searchRequest, count: searchRequest.count || 100 },\n url: `${this.SERVICE_URL}/query/${objectName}`,\n ...options,\n });\n }\n\n public queryObjects(search?: string, options?: HttpRequestConfigurableOptions): Observable<SalesforceObject[]> {\n let params = new HttpParams();\n if (search) {\n params = params.append('search', search);\n }\n\n return this.httpService.api({\n url: `${this.SERVICE_URL}/query`,\n params,\n ...options,\n });\n }\n\n public search<T = any>(\n req: { searchString: string },\n options?: HttpRequestConfigurableOptions,\n ): Observable<{ searchRecords: T[] }> {\n return this.httpService.api({\n url: `${this.SERVICE_URL}/rest/search`,\n params: { q: req.searchString },\n ...options,\n });\n }\n\n public describeObject(objectName: string, options?: HttpRequestConfigurableOptions): Observable<SalesforceField[]> {\n const methodUrl = `${this.SERVICE_URL}/describe/${objectName}/fields`;\n\n return this.httpService.api({ url: methodUrl, ...options });\n }\n\n public describeField(\n objectName: string,\n fieldName: string,\n options?: HttpRequestConfigurableOptions,\n ): Observable<SalesforceField> {\n const methodUrl = `${this.SERVICE_URL}/describe/${objectName}/fields/${fieldName}`;\n\n return this.httpService.api({ url: methodUrl, ...options });\n }\n\n public describe2<T>(objectName: string, fields: string[], options?: HttpRequestConfigurableOptions): Observable<T> {\n const methodUrl = `${this.SERVICE_URL}/describe/${objectName}/fields`;\n\n return this.httpService.api({ method: 'post', url: methodUrl, body: fields, ...options });\n }\n\n public apexGetRequest<T>(\n path: string,\n params: HttpParams | Record<string, any>,\n options?: HttpRequestConfigurableOptions,\n ): Observable<T> {\n // this line is needed because HttpParams instance from Integration behaves wrong in studio instance of Angular\n const httpParams = new HttpParams({ fromString: params.toString() });\n\n return this.httpService.api({ url: `${this.SERVICE_URL}/apex${path}`, params: httpParams, ...options });\n }\n\n public apexPostRequest<T, S>(path: string, body: S, options?: HttpRequestConfigurableOptions): Observable<T> {\n return this.httpService.api({\n method: 'post',\n body,\n url: `${this.SERVICE_URL}/apex${path}`,\n ...options,\n });\n }\n\n public getGlobalPicklists(): Observable<GlobalPicklist[]> {\n return this.httpService.api({\n method: 'get',\n url: `${this.SERVICE_URL}/globalvalueset`,\n });\n }\n\n public getGlobalPicklistValues(id: string): Observable<GlobalPicklistValue[]> {\n return this.httpService.api({\n method: 'get',\n url: `${this.SERVICE_URL}/globalvalueset/${id}/values`,\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { NewSalesforceOrganization, SalesforceOrganization, VlWindow } from '@veloceapps/core';\nimport { Dictionary } from 'lodash';\nimport { MessageService } from 'primeng/api';\nimport { Observable, catchError, from, map, of } from 'rxjs';\nimport { handleCanvasResponse } from '../utils/canvas.utils';\n\ndeclare const window: VlWindow;\n\n@Injectable()\nexport class SandboxManagerApiService {\n constructor(private messageService: MessageService) {}\n\n public getSalesforceOrganizations$(): Observable<SalesforceOrganization[]> {\n try {\n return window.doSandboxCall\n ? from(window.doSandboxCall('orgs', '', 'GET')).pipe(\n map(response =>\n handleCanvasResponse<SalesforceOrganization[], SalesforceOrganization[]>(\n response,\n [],\n this.publishErrorMessage,\n ),\n ),\n catchError(() => of([])),\n )\n : of([]);\n } catch {\n return of([]);\n }\n }\n\n public getAvailableSalesforceOrganizationSizes$(): Observable<Dictionary<number>> {\n try {\n return window.doSandboxCall\n ? from(window.doSandboxCall('available-sizes', '', 'GET')).pipe(\n map(response =>\n handleCanvasResponse<Dictionary<number>, Dictionary<number>>(response, {}, this.publishErrorMessage),\n ),\n catchError(() => of({})),\n )\n : of({});\n } catch {\n return of({});\n }\n }\n\n public createSalesforceOrganization$(\n payload: NewSalesforceOrganization,\n ): Observable<SalesforceOrganization | undefined> {\n try {\n return window.doSandboxCall\n ? from(window.doSandboxCall('orgs', JSON.stringify(payload), 'POST')).pipe(\n map(response =>\n handleCanvasResponse<SalesforceOrganization, undefined>(response, undefined, this.publishErrorMessage),\n ),\n catchError(() => of(undefined)),\n )\n : of(undefined);\n } catch (err) {\n return of(undefined);\n }\n }\n\n public updateSalesforceOrganization$(\n payload: SalesforceOrganization,\n ): Observable<SalesforceOrganization | undefined> {\n try {\n return window.doSandboxCall\n ? from(window.doSandboxCall(`orgs/${payload.orgId}`, JSON.stringify(payload), 'POST')).pipe(\n map(response =>\n handleCanvasResponse<SalesforceOrganization, undefined>(response, undefined, this.publishErrorMessage),\n ),\n catchError(() => of(undefined)),\n )\n : of(undefined);\n } catch {\n return of(undefined);\n }\n }\n\n public deleteSalesforceOrganization$(\n payload: SalesforceOrganization,\n ): Observable<SalesforceOrganization | undefined> {\n try {\n return window.doSandboxCall\n ? from(window.doSandboxCall(`orgs/${payload.orgId}`, '', 'DELETE')).pipe(\n map(response =>\n handleCanvasResponse<SalesforceOrganization, undefined>(response, undefined, this.publishErrorMessage),\n ),\n catchError(() => of(undefined)),\n )\n : of(undefined);\n } catch {\n return of(undefined);\n }\n }\n\n public activateSalesforceOrganization$(\n payload: SalesforceOrganization,\n ): Observable<SalesforceOrganization | undefined> {\n try {\n return window.doSandboxCall\n ? from(window.doSandboxCall(`orgs/${payload.orgId}/activate`, JSON.stringify({}), 'POST')).pipe(\n map(response =>\n handleCanvasResponse<SalesforceOrganization, undefined>(response, undefined, this.publishErrorMessage),\n ),\n catchError(() => of(undefined)),\n )\n : of(undefined);\n } catch {\n return of(undefined);\n }\n }\n\n public deactivateSalesforceOrganization$(\n payload: SalesforceOrganization,\n ): Observable<SalesforceOrganization | undefined> {\n try {\n return window.doSandboxCall\n ? from(window.doSandboxCall(`orgs/${payload.orgId}/deactivate`, JSON.stringify({}), 'POST')).pipe(\n map(response =>\n handleCanvasResponse<SalesforceOrganization, undefined>(response, undefined, this.publishErrorMessage),\n ),\n catchError(() => of(undefined)),\n )\n : of(undefined);\n } catch {\n return of(undefined);\n }\n }\n\n /**\n * Shows an error message using the message service.\n *\n * @param {string} message - the error message to be published.\n */\n private publishErrorMessage = (message: string): void => {\n this.messageService.add({ severity: 'error', summary: message, sticky: true });\n };\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BaseHttpService, Expression, NewScript, Script, ScriptDetails, ScriptExecuteRequest } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { CloneRequest } from '../types/clone-request.types';\nimport { map } from 'rxjs/operators';\n\n@Injectable()\nexport class ScriptsApiService {\n private readonly serviceUrl: string = '/admin/scripts';\n\n constructor(private baseHttpService: BaseHttpService) {}\n\n public fetchScripts$ = (): Observable<Script[]> => {\n return this.baseHttpService.api<Script[]>({ url: `${this.serviceUrl}` });\n };\n\n public searchScripts$ = (expression: Expression, skip?: number, count?: number): Observable<Script[]> => {\n let params = new HttpParams();\n if (typeof skip === 'number') {\n params = params.set('skip', '' + skip);\n }\n if (typeof count === 'number') {\n params = params.set('count', '' + count);\n }\n return this.baseHttpService.api({ method: 'post', url: `${this.serviceUrl}/search`, params, body: expression });\n };\n\n public fetchScript$ = (id: string): Observable<ScriptDetails> => {\n return this.baseHttpService.api<ScriptDetails>({ url: `${this.serviceUrl}/${id}` });\n };\n\n public createScript$ = (script: NewScript): Observable<Script> => {\n return this.baseHttpService.api<Script>({\n url: `${this.serviceUrl}`,\n method: 'post',\n body: script,\n });\n };\n\n public updateScriptMeta$ = (script: Script): Observable<ScriptDetails> => {\n return this.baseHttpService.api<ScriptDetails>({\n url: `${this.serviceUrl}/${script.id}`,\n method: 'put',\n body: script,\n });\n };\n\n public updateScriptDetails$ = (script: ScriptDetails): Observable<ScriptDetails> => {\n return this.baseHttpService.api<ScriptDetails>({\n url: `${this.serviceUrl}/${script.id}`,\n method: 'put',\n body: script,\n });\n };\n\n public cloneScript$ = (cloneRequest: CloneRequest): Observable<string> => {\n return this.baseHttpService\n .api({\n url: `${this.serviceUrl}/${cloneRequest.id}/clone`,\n method: 'post',\n body: cloneRequest,\n })\n .pipe(map(response => response.clonedRecordId));\n };\n\n public removeScript$ = (id: string): Observable<string> => {\n return this.baseHttpService.api<string>({\n url: `${this.serviceUrl}/${id}`,\n method: 'delete',\n });\n };\n\n public restoreScript$ = (id: string): Observable<string> => {\n return this.baseHttpService.api<string>({\n url: `${this.serviceUrl}/${id}/restore`,\n method: 'patch',\n });\n };\n\n public execute$ = (body: ScriptExecuteRequest): Observable<any> => {\n return this.baseHttpService.api({\n url: `/scripts/execute`,\n method: 'post',\n body,\n errorHandler: () => null,\n });\n };\n}\n","import { Injectable } from '@angular/core';\nimport { ConfigurationSettings, parseJsonSafely, ShoppingCartSetting, ShoppingCartSettings } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ConfigurationSettingsApiService } from './configuration-settings-api.service';\n\n@Injectable()\nexport class ShoppingCartSettingsApiService {\n private readonly shoppingCartSettingsKey = 'shopping-cart';\n\n constructor(private configurationSettingsApiService: ConfigurationSettingsApiService) {}\n\n public getSetting(id: string): Observable<ShoppingCartSetting | undefined> {\n return this.fetchSettings().pipe(\n map((settings): ShoppingCartSetting[] => parseJsonSafely<ShoppingCartSetting[]>(settings?.value, [])),\n map(settings => settings.find(setting => setting.id == id)),\n );\n }\n\n public fetchSettings(): Observable<ConfigurationSettings | null> {\n return this.configurationSettingsApiService.fetchSetting(this.shoppingCartSettingsKey, { skipErrorHandler: true });\n }\n\n public getSettingsMap(): Observable<ShoppingCartSettings> {\n return this.fetchSettings().pipe(\n map((settings: ConfigurationSettings | null) => parseJsonSafely<ShoppingCartSetting[]>(settings?.value, [])),\n map((settings: ShoppingCartSetting[]) =>\n settings.reduce((acc, setting) => {\n return { ...acc, [setting.id]: setting.properties };\n }, {} as ShoppingCartSettings),\n ),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n BaseHttpService,\n ConfigurationExecuteRequest,\n ConfigurationExecuteResponse,\n QuoteDraft,\n} from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { StatefulConfigurationRequest } from '../types/stateful-configuration.types';\n\n@Injectable()\nexport class StatefulConfigurationApiService {\n private readonly SERVICE_URL = '/configuration/states';\n\n constructor(private httpService: BaseHttpService) {}\n\n /**\n * Initialize configuration state\n * @param request Request\n * @returns ID of new configuration state\n */\n public init(request: StatefulConfigurationRequest): Observable<string> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/init`,\n body: request,\n responseType: 'text',\n });\n }\n\n /**\n * Get existing state by ID\n * @param id ID\n * @returns Configuration State\n */\n public get(id: string): Observable<QuoteDraft> {\n return this.httpService.api({\n url: `${this.SERVICE_URL}/${id}`,\n });\n }\n\n /**\n * Execute actions/selectors\n * @param id State ID\n * @param request Request\n * @returns Execute result\n */\n public execute(id: string, request: ConfigurationExecuteRequest): Observable<ConfigurationExecuteResponse> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/${id}/execute`,\n body: request,\n });\n }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n BaseHttpService,\n NewUIDefinitionContainer,\n NewUIDefinitionContainerDTO,\n UIDefinitionContainer,\n UIDefinitionContainerDTO,\n uiDefinitionFromDTO,\n uiDefinitionToDTO,\n} from '@veloceapps/core';\nimport { omit } from 'lodash';\nimport { Observable, map } from 'rxjs';\n\n@Injectable()\nexport class UIDefinitionsApiService {\n constructor(private baseHttpService: BaseHttpService) {}\n\n public fetch$(modelId: string, version?: number): Observable<UIDefinitionContainer[]> {\n const serviceUrl = this.getServiceUrl(modelId);\n let params = new HttpParams();\n if (version != null) {\n params = params.set('modelVersion', version);\n }\n\n return this.baseHttpService\n .api<UIDefinitionContainerDTO[]>({\n method: 'get',\n url: serviceUrl,\n params: params,\n })\n .pipe(map(containers => containers.map(uiDefinitionFromDTO)));\n }\n\n public create$(modelId: string, uiDefinitionContainer: NewUIDefinitionContainer): Observable<UIDefinitionContainer> {\n const serviceUrl = this.getServiceUrl(modelId);\n const dto: NewUIDefinitionContainerDTO = {\n ...omit(uiDefinitionContainer, 'source'),\n sourceBlob: JSON.stringify(uiDefinitionContainer.source),\n };\n\n return this.baseHttpService\n .api<UIDefinitionContainerDTO>({\n method: 'post',\n url: serviceUrl,\n body: dto,\n })\n .pipe(map(container => uiDefinitionFromDTO(container)));\n }\n\n public get$(modelId: string, uiDefinitionId: string): Observable<UIDefinitionContainer | null> {\n const serviceUrl = this.getServiceUrl(modelId);\n\n return this.baseHttpService\n .api<UIDefinitionContainerDTO>({\n method: 'get',\n url: `${serviceUrl}/${uiDefinitionId}`,\n })\n .pipe(map(container => uiDefinitionFromDTO({ ...container, id: uiDefinitionId })));\n }\n\n public update$(uiDefinitionContainer: UIDefinitionContainer): Observable<UIDefinitionContainer> {\n const serviceUrl = this.getServiceUrl(uiDefinitionContainer.modelId);\n const dto = uiDefinitionToDTO(uiDefinitionContainer);\n\n return this.baseHttpService\n .api<UIDefinitionContainerDTO>({\n method: 'put',\n url: `${serviceUrl}/${uiDefinitionContainer.id}`,\n body: dto,\n })\n .pipe(map(container => uiDefinitionFromDTO(container)));\n }\n\n public delete$(uiDefinitionContainer: UIDefinitionContainer): Observable<void> {\n const serviceUrl = this.getServiceUrl(uiDefinitionContainer.modelId);\n\n return this.baseHttpService.api({\n method: 'delete',\n url: `${serviceUrl}/${uiDefinitionContainer.id}`,\n });\n }\n\n private getServiceUrl(modelId: string): string {\n return `/models/${modelId}/uidefinitions`;\n }\n}\n","import { ComponentStory, ComponentStoryAttachments } from '@veloceapps/core';\nimport { UIComponentStoryDTO } from '../types/dto/ui-template-dto.types';\n\nexport const fromUIComponentStoryDTO = (\n dto: UIComponentStoryDTO,\n attachments: ComponentStoryAttachments,\n): ComponentStory => {\n return {\n id: dto.id,\n name: dto.name,\n uiComponentId: dto.uiComponentId,\n description: dto.description,\n section: attachments.json,\n template: attachments.html,\n script: attachments.js,\n styles: attachments.css,\n };\n};\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n BaseHttpService,\n ComponentAttachments,\n ComponentStory,\n ComponentStoryAttachments,\n Expression,\n NewComponentStory,\n NewTemplateComponent,\n NewUITemplate,\n TemplateAttachmentType,\n TemplateComponent,\n UITemplate,\n} from '@veloceapps/core';\nimport { Dictionary } from 'lodash';\nimport { catchError, forkJoin, map, noop, Observable, of, switchMap } from 'rxjs';\nimport { CloneRequest } from '../types/clone-request.types';\nimport { UIComponentStoryDTO } from '../types/dto/ui-template-dto.types';\nimport { fromUIComponentStoryDTO } from '../utils/ui-template.utils';\n\n@Injectable()\nexport class UITemplatesApiService {\n private readonly serviceUrl: string = '/uitemplates';\n\n constructor(private baseHttpService: BaseHttpService) {}\n\n public fetchTemplates$ = (name?: string): Observable<UITemplate[]> => {\n let params = new HttpParams();\n if (name) {\n params = params.append('name', name);\n }\n\n return this.baseHttpService.api<UITemplate[]>({ url: `${this.serviceUrl}`, params });\n };\n\n public createTemplate$ = (template: NewUITemplate): Observable<UITemplate> => {\n return this.baseHttpService.api<UITemplate>({\n method: 'post',\n url: `${this.serviceUrl}`,\n body: template,\n });\n };\n\n public updateTemplate$ = (template: UITemplate): Observable<UITemplate> => {\n return this.baseHttpService.api<UITemplate>({\n method: 'put',\n url: `${this.serviceUrl}/${template.id}`,\n body: template,\n });\n };\n\n public duplicateTemplate$ = (template: UITemplate, cloneRequest: CloneRequest): Observable<string> => {\n return this.baseHttpService\n .api({\n url: `${this.serviceUrl}/${template.id}/clone`,\n method: 'post',\n body: cloneRequest,\n })\n .pipe(map(response => response.clonedRecordId));\n };\n\n public removeTemplate$ = (id: string): Observable<void> => {\n return this.baseHttpService.api({\n method: 'delete',\n url: `${this.serviceUrl}/${id}`,\n });\n };\n\n public restoreTemplate$ = (id: string): Observable<void> => {\n return this.baseHttpService.api({\n method: 'patch',\n url: `${this.serviceUrl}/${id}`,\n });\n };\n\n public searchTemplates$ = (data: {\n params?: Dictionary<string>;\n expression?: Expression;\n }): Observable<UITemplate[]> => {\n return this.baseHttpService.api({\n method: 'post',\n url: `${this.serviceUrl}/search`,\n params: data.params,\n body: data.expression,\n });\n };\n\n public fetchComponents$ = (templateId: string, name?: string): Observable<TemplateComponent[]> => {\n let params = new HttpParams();\n if (name) {\n params = params.append('name', name);\n }\n\n return this.baseHttpService.api<TemplateComponent[]>({\n url: `${this.serviceUrl}/${templateId}/components`,\n params,\n });\n };\n\n public fetchComponent$ = (templateId: string, componentId: string): Observable<TemplateComponent> => {\n return this.baseHttpService.api<TemplateComponent>({\n url: `${this.serviceUrl}/${templateId}/components/${componentId}`,\n });\n };\n\n public createComponent$ = (component: NewTemplateComponent): Observable<TemplateComponent> => {\n return this.baseHttpService.api<TemplateComponent>({\n method: 'post',\n url: `${this.serviceUrl}/${component.uiTemplateId}/components`,\n body: component,\n });\n };\n\n public updateComponent$ = (component: TemplateComponent): Observable<TemplateComponent> => {\n return this.baseHttpService.api<TemplateComponent>({\n method: 'put',\n url: `${this.serviceUrl}/${component.uiTemplateId}/components/${component.id}`,\n body: component,\n });\n };\n\n public duplicateComponent$ = (component: TemplateComponent, cloneRequest: CloneRequest): Observable<string> => {\n return this.baseHttpService\n .api({\n url: `${this.serviceUrl}/${component.uiTemplateId}/components/${component.id}/clone`,\n method: 'post',\n body: cloneRequest,\n })\n .pipe(map(response => response.clonedRecordId));\n };\n\n public removeComponent$ = (templateId: string, componentId: string): Observable<void> => {\n return this.baseHttpService.api({\n method: 'delete',\n url: `${this.serviceUrl}/${templateId}/components/${componentId}`,\n });\n };\n\n public restoreComponent$ = (templateId: string, componentId: string): Observable<void> => {\n return this.baseHttpService.api({\n method: 'patch',\n url: `${this.serviceUrl}/${templateId}/components/${componentId}`,\n });\n };\n\n public searchComponents$ = (\n templateId: string,\n data: { params?: Dictionary<string>; expression?: Expression },\n ): Observable<TemplateComponent[]> => {\n return this.baseHttpService.api({\n method: 'post',\n url: `${this.serviceUrl}/${templateId}/components/search`,\n params: data.params,\n body: data.expression,\n });\n };\n\n public fetchStoryAttachment = (\n templateId: string,\n componentId: string,\n storyId: string,\n type: TemplateAttachmentType,\n ): Observable<string> => {\n return this.baseHttpService\n .api<string>({\n url: `${this.serviceUrl}/${templateId}/components/${componentId}/stories/${storyId}/attachments/${type}/file`,\n responseType: 'text',\n errorHandler: noop,\n })\n .pipe(catchError(() => of('')));\n };\n\n private convertToComponentStory$ = (\n templateId: string,\n componentId: string,\n storyDto: UIComponentStoryDTO,\n ): Observable<ComponentStory> => {\n return forkJoin([\n this.fetchStoryAttachment(templateId, componentId, storyDto.id, 'html'),\n this.fetchStoryAttachment(templateId, componentId, storyDto.id, 'js'),\n this.fetchStoryAttachment(templateId, componentId, storyDto.id, 'css'),\n this.fetchStoryAttachment(templateId, componentId, storyDto.id, 'json'),\n ]).pipe(\n map(([html, js, css, json]) => ({ html, js, css, json })),\n map(attachments => fromUIComponentStoryDTO(storyDto, attachments)),\n );\n };\n\n public fetchStories$ = (templateId: string, componentId: string, name?: string): Observable<ComponentStory[]> => {\n let params = new HttpParams();\n if (name) {\n params = params.append('name', name);\n }\n\n return this.baseHttpService\n .api<UIComponentStoryDTO[]>({\n url: `${this.serviceUrl}/${templateId}/components/${componentId}/stories`,\n params,\n })\n .pipe(\n switchMap(dtos => {\n if (!dtos.length) {\n return of([]);\n }\n return forkJoin(dtos.map(dto => this.convertToComponentStory$(templateId, componentId, dto)));\n }),\n );\n };\n\n public fetchStory$ = (templateId: string, componentId: string, storyId: string): Observable<ComponentStory> => {\n return this.baseHttpService\n .api<UIComponentStoryDTO>({\n url: `${this.serviceUrl}/${templateId}/components/${componentId}/stories/${storyId}`,\n })\n .pipe(switchMap(dto => this.convertToComponentStory$(templateId, componentId, dto)));\n };\n\n public createComponentStory$ = (templateId: string, story: NewComponentStory): Observable<ComponentStory> => {\n return this.baseHttpService.api<ComponentStory>({\n method: 'post',\n url: `${this.serviceUrl}/${templateId}/components/${story.uiComponentId}/stories`,\n body: story,\n });\n };\n\n public updateComponentStory$ = (templateId: string, story: ComponentStory): Observable<ComponentStory> => {\n const { script, template, styles, section, ...rest } = story;\n\n return this.baseHttpService\n .api<UIComponentStoryDTO>({\n method: 'put',\n url: `${this.serviceUrl}/${templateId}/components/${story.uiComponentId}/stories/${story.id}`,\n body: rest,\n })\n .pipe(map(dto => fromUIComponentStoryDTO(dto, { html: template, js: script, css: styles, json: section })));\n };\n\n public duplicateComponentStory$ = (story: ComponentStory, cloneRequest: CloneRequest): Observable<string> => {\n return this.baseHttpService\n .api({\n url: `${this.serviceUrl}/${story.template}/components/${story.uiComponentId}/stories/${story.id}/clone`,\n method: 'post',\n body: cloneRequest,\n })\n .pipe(map(response => response.clonedRecordId));\n };\n\n public deleteComponentStory$ = (templateId: string, componentId: string, storyId: string): Observable<void> => {\n return this.baseHttpService.api({\n method: 'delete',\n url: `${this.serviceUrl}/${templateId}/components/${componentId}/stories/${storyId}`,\n });\n };\n\n public restoreComponentStory$ = (templateId: string, componentId: string, storyId: string): Observable<void> => {\n return this.baseHttpService.api({\n method: 'patch',\n url: `${this.serviceUrl}/${templateId}/components/${componentId}/stories/${storyId}`,\n });\n };\n\n public uploadStoryAttachments$ = (\n templateId: string,\n componentId: string,\n storyId: string,\n attachments: ComponentStoryAttachments,\n ): Observable<void> => {\n const formData = new FormData();\n if (attachments.html != null) {\n formData.append('html', new Blob([attachments.html]), 'story-template.html');\n }\n if (attachments.css != null) {\n formData.append('css', new Blob([attachments.css]), 'story-styles.css');\n }\n if (attachments.js != null) {\n formData.append('js', new Blob([attachments.js]), 'story-script.js');\n }\n if (attachments.json != null) {\n formData.append('json', new Blob([attachments.json]), 'story-section.json');\n }\n\n return this.baseHttpService.upload({\n method: 'post',\n url: `${this.serviceUrl}/${templateId}/components/${componentId}/stories/${storyId}/attachments`,\n body: formData,\n });\n };\n\n public getTemplateThumbnailUrl(templateId: string) {\n return `${this.serviceUrl}/${templateId}/thumbnail/file`;\n }\n\n public attachTemplateThumbnail$(templateId: string, file: File) {\n const data = new FormData();\n data.append('thumb', file);\n\n return this.baseHttpService.upload({\n method: 'post',\n url: `${this.serviceUrl}/${templateId}/thumbnail`,\n body: data,\n });\n }\n\n public removeTemplateThumbnail$(templateId: string) {\n return this.baseHttpService.api({\n method: 'delete',\n url: `${this.serviceUrl}/${templateId}/thumbnail`,\n });\n }\n\n public fetchComponentAttachments$ = (\n templateId: string,\n component: TemplateComponent,\n ): Observable<ComponentAttachments> => {\n return forkJoin([\n this.fetchComponentAttachmentFile$(templateId, component.id, 'html'),\n this.fetchComponentAttachmentFile$(templateId, component.id, 'js'),\n this.fetchComponentAttachmentFile$(templateId, component.id, 'css'),\n this.fetchComponentAttachmentFile$(templateId, component.id, 'json'),\n ]).pipe(map(([html, js, css, json]) => ({ html, js, css, json })));\n };\n\n public fetchComponentsAttachments$ = (templateId: string): Observable<ComponentAttachments[]> => {\n return this.fetchComponents$(templateId).pipe(\n switchMap(components => {\n return forkJoin(components.map(component => this.fetchComponentAttachments$(templateId, component)));\n }),\n );\n };\n\n private fetchComponentAttachmentFile$ = (\n templateId: string,\n componentId: string,\n attachmentType: TemplateAttachmentType,\n ): Observable<string> => {\n return this.baseHttpService\n .api({\n method: 'get',\n url: `${this.serviceUrl}/${templateId}/components/${componentId}/attachments/${attachmentType}/file`,\n responseType: 'text',\n errorHandler: noop,\n })\n .pipe(catchError(() => of('')));\n };\n\n public uploadComponentAttachments$ = (\n templateId: string,\n componentId: string,\n attachments: ComponentAttachments,\n ): Observable<void> => {\n const formData = new FormData();\n if (attachments.html != null) {\n formData.append('html', new Blob([attachments.html]), 'template.html');\n }\n if (attachments.css != null) {\n formData.append('css', new Blob([attachments.css]), 'styles.css');\n }\n if (attachments.js != null) {\n formData.append('js', new Blob([attachments.js]), 'script.js');\n }\n if (attachments.json != null) {\n formData.append('json', new Blob([attachments.json]), 'section.json');\n }\n\n return this.baseHttpService.upload({\n method: 'post',\n url: `${this.serviceUrl}/${templateId}/components/${componentId}/attachments`,\n body: formData,\n });\n };\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n BaseHttpService,\n Expression,\n NewVeloceObject,\n NewVeloceObjectCategory,\n VeloceObject,\n VeloceObjectCategory,\n} from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { CloneRequest, QuerySearchParams } from '../types';\nimport { map } from 'rxjs/operators';\n\n@Injectable()\nexport class VeloceObjectsApiService {\n private readonly serviceUrl: string = '/veloceobjects';\n\n constructor(private baseHttpService: BaseHttpService) {}\n\n public fetchCategories$(): Observable<VeloceObjectCategory[]> {\n return this.baseHttpService.api<VeloceObjectCategory[]>({ url: `${this.serviceUrl}/categories` });\n }\n\n public createCategory$(category: NewVeloceObjectCategory): Observable<VeloceObjectCategory> {\n return this.baseHttpService.api<VeloceObjectCategory>({\n method: 'post',\n url: `${this.serviceUrl}/categories`,\n body: category,\n });\n }\n\n public updateCategory$ = (category: VeloceObjectCategory): Observable<VeloceObjectCategory> => {\n return this.baseHttpService.api<VeloceObjectCategory>({\n method: 'put',\n url: `${this.serviceUrl}/categories/${category.id}`,\n body: category,\n });\n };\n\n public deleteCategory$ = (id: string): Observable<void> => {\n return this.baseHttpService.api({\n method: 'delete',\n url: `${this.serviceUrl}/categories/${id}`,\n });\n };\n\n public fetchObjects$(): Observable<VeloceObject[]> {\n return this.baseHttpService.api<VeloceObject[]>({ url: `${this.serviceUrl}` });\n }\n\n public fetchObject$(id: string): Observable<VeloceObject> {\n return this.baseHttpService.api<VeloceObject>({ url: `${this.serviceUrl}/${id}` });\n }\n\n public searchObjects$ = (searchParams?: QuerySearchParams, expression?: Expression): Observable<VeloceObject[]> => {\n const params = new HttpParams({ fromObject: { ...searchParams } });\n\n return this.baseHttpService.api({\n method: 'post',\n url: `${this.serviceUrl}/search`,\n params,\n body: expression || {},\n });\n };\n\n public createObject$(object: NewVeloceObject): Observable<VeloceObject> {\n return this.baseHttpService.api<VeloceObject>({\n method: 'post',\n url: `${this.serviceUrl}`,\n body: object,\n });\n }\n\n public updateObject$(object: VeloceObject): Observable<VeloceObject> {\n return this.baseHttpService.api<VeloceObject>({\n method: 'put',\n url: `${this.serviceUrl}/${object.id}`,\n body: object,\n });\n }\n\n public deleteObject$ = (id: string): Observable<void> => {\n return this.baseHttpService.api({\n method: 'delete',\n url: `${this.serviceUrl}/${id}`,\n });\n };\n\n public duplicateObject$ = (body: CloneRequest): Observable<string> => {\n return this.baseHttpService\n .api({\n method: 'post',\n url: `${this.serviceUrl}/${body.id}/clone`,\n body,\n })\n .pipe(map(response => response.clonedRecordId));\n };\n\n public restoreObject$ = (id: string): Observable<void> => {\n return this.baseHttpService.api({\n method: 'patch',\n url: `${this.serviceUrl}/${id}/restore`,\n });\n };\n}\n","import { HttpClientModule } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { BaseHttpService, XrayService } from '@veloceapps/core';\nimport { AccountApiService } from './services/account-api.service';\nimport { VeloceAuthService } from './services/auth.service';\nimport { CatalogAdminApiService } from './services/catalog-admin-api.service';\nimport { CatalogApiService } from './services/catalog-api.service';\nimport { ConfigurationApiService } from './services/configuration-api.service';\nimport { ConfigurationProcessorsApiService } from './services/configuration-processors-api.service';\nimport { ConfigurationSettingsApiService } from './services/configuration-settings-api.service';\nimport { ContextApiService } from './services/context-api.service';\nimport { ContractedPriceApiService } from './services/contracted-price-api.service';\nimport { DeltaApiService } from './services/delta-api.service';\nimport { DocumentAttachmentApiService } from './services/document-attachment-api.service';\nimport { EndpointsApiService } from './services/endpoints-api.service';\nimport { FlowStateApiService } from './services/flow-state-api';\nimport { FlowsApiService } from './services/flows-api.service';\nimport { GuidedSellingsAdminApiService } from './services/guided-sellings-admin-api.service';\nimport { GuidedSellingApiService } from './services/guided-sellings-api.service';\nimport { OffersApiService } from './services/offers-api.service';\nimport { OrgInfoApiService } from './services/org-info-api.service';\nimport { PicklistsApiService } from './services/picklists-api.service';\nimport { PortalsApiService } from './services/portals-api.service';\nimport { PriceApiService } from './services/price-api.service';\nimport { ProceduresApiService } from './services/procedures-api.service';\nimport { ProductApiService } from './services/product-api.service';\nimport { ProductModelApiService } from './services/product-model-api.service';\nimport { PromotionsApiService } from './services/promotions-api.service';\nimport { QuoteApiService } from './services/quote-api.service';\nimport { RampApiService } from './services/ramp-api.service';\nimport { RebateProgramApiService } from './services/rebate-program-api.service';\nimport { RebateTypeApiService } from './services/rebate-type-api.service';\nimport { RlmApiService } from './services/rlm-api.service';\nimport { RlmQuoteApiService } from './services/rlm-quote-api.service';\nimport { RuleGroupsApiService } from './services/rule-groups-api.service';\nimport { RulesApiService } from './services/rules-api.service';\nimport { SalesforceApiService } from './services/salesforce-api.service';\nimport { SandboxManagerApiService } from './services/sandbox-manager-api.service';\nimport { ScriptsApiService } from './services/scripts-api.service';\nimport { ShoppingCartSettingsApiService } from './services/shopping-cart-settings-api.service';\nimport { StatefulConfigurationApiService } from './services/stateful-configuration-api';\nimport { UIDefinitionsApiService } from './services/ui-definitions-api.service';\nimport { UITemplatesApiService } from './services/ui-templates-api.service';\nimport { VeloceObjectsApiService } from './services/veloce-objects-api.service';\n\n@NgModule({\n imports: [HttpClientModule],\n providers: [\n BaseHttpService,\n XrayService,\n ConfigurationApiService,\n ConfigurationSettingsApiService,\n ContextApiService,\n DocumentAttachmentApiService,\n PriceApiService,\n ProductModelApiService,\n ProceduresApiService,\n QuoteApiService,\n RampApiService,\n SalesforceApiService,\n UITemplatesApiService,\n ScriptsApiService,\n RulesApiService,\n RuleGroupsApiService,\n FlowsApiService,\n GuidedSellingsAdminApiService,\n ShoppingCartSettingsApiService,\n ProductApiService,\n CatalogAdminApiService,\n GuidedSellingApiService,\n CatalogApiService,\n DeltaApiService,\n AccountApiService,\n PicklistsApiService,\n EndpointsApiService,\n OrgInfoApiService,\n OffersApiService,\n UIDefinitionsApiService,\n VeloceObjectsApiService,\n StatefulConfigurationApiService,\n RebateProgramApiService,\n RebateTypeApiService,\n PromotionsApiService,\n VeloceAuthService,\n ContractedPriceApiService,\n PortalsApiService,\n ConfigurationProcessorsApiService,\n FlowStateApiService,\n SandboxManagerApiService,\n RlmApiService,\n RlmQuoteApiService,\n ],\n})\nexport class ApiModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i1.ConfigurationSettingsApiService","map","catchError"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"veloceapps-api.mjs","sources":["../../../../libs/api/src/lib/services/account-api.service.ts","../../../../libs/api/src/lib/services/auth.service.ts","../../../../libs/api/src/lib/services/catalog-admin-api.service.ts","../../../../libs/api/src/lib/services/catalog-api.service.ts","../../../../libs/api/src/lib/services/configuration-api.service.ts","../../../../libs/api/src/lib/services/configuration-processors-api.service.ts","../../../../libs/api/src/lib/types/dto/configuration-settings-dto.types.ts","../../../../libs/api/src/lib/services/configuration-settings-api.service.ts","../../../../libs/api/src/lib/services/context-api.service.ts","../../../../libs/api/src/lib/services/contracted-price-api.service.ts","../../../../libs/api/src/lib/services/delta-api.service.ts","../../../../libs/api/src/lib/services/document-attachment-api.service.ts","../../../../libs/api/src/lib/services/endpoints-api.service.ts","../../../../libs/api/src/lib/services/flow-state-api.ts","../../../../libs/api/src/lib/services/flows-api.service.ts","../../../../libs/api/src/lib/services/guided-sellings-admin-api.service.ts","../../../../libs/api/src/lib/services/guided-sellings-api.service.ts","../../../../libs/api/src/lib/services/offers-api.service.ts","../../../../libs/api/src/lib/utils/canvas.utils.ts","../../../../libs/api/src/lib/services/org-info-api.service.ts","../../../../libs/api/src/lib/services/picklists-api.service.ts","../../../../libs/api/src/lib/services/portals-api.service.ts","../../../../libs/api/src/lib/services/price-api.service.ts","../../../../libs/api/src/lib/services/procedures-api.service.ts","../../../../libs/api/src/lib/services/product-api.service.ts","../../../../libs/api/src/lib/services/product-model-api.service.ts","../../../../libs/api/src/lib/services/promotions-api.service.ts","../../../../libs/api/src/lib/services/quote-api.service.ts","../../../../libs/api/src/lib/services/ramp-api.service.ts","../../../../libs/api/src/lib/services/rebate-program-api.service.ts","../../../../libs/api/src/lib/services/rebate-type-api.service.ts","../../../../libs/api/src/lib/services/rlm-api.service.ts","../../../../libs/api/src/lib/services/rlm-quote-api.service.ts","../../../../libs/api/src/lib/services/rule-groups-api.service.ts","../../../../libs/api/src/lib/services/rules-api.service.ts","../../../../libs/api/src/lib/services/salesforce-api.service.ts","../../../../libs/api/src/lib/services/sandbox-manager-api.service.ts","../../../../libs/api/src/lib/services/scripts-api.service.ts","../../../../libs/api/src/lib/services/shopping-cart-settings-api.service.ts","../../../../libs/api/src/lib/services/stateful-configuration-api.ts","../../../../libs/api/src/lib/services/ui-definitions-api.service.ts","../../../../libs/api/src/lib/utils/ui-template.utils.ts","../../../../libs/api/src/lib/services/ui-templates-api.service.ts","../../../../libs/api/src/lib/services/veloce-objects-api.service.ts","../../../../libs/api/src/lib/api.module.ts","../../../../libs/api/src/veloceapps-api.ts"],"sourcesContent":["import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n Account,\n AccountAssetsState,\n BaseHttpService,\n HttpRequestConfigurableOptions,\n LineItem,\n Order,\n Quote,\n} from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { QuerySearchParams } from '../types';\n\n@Injectable()\nexport class AccountApiService {\n private readonly SERVICE_URL = '/accounts';\n constructor(private httpService: BaseHttpService) {}\n\n public getAccounts$(options?: HttpRequestConfigurableOptions): Observable<Account[]> {\n return this.httpService.api({\n method: 'get',\n url: `${this.SERVICE_URL}`,\n ...options,\n });\n }\n\n public searchAccounts$(\n searchParams?: QuerySearchParams,\n options?: HttpRequestConfigurableOptions,\n ): Observable<Account[]> {\n const params = new HttpParams({ fromObject: searchParams });\n\n return this.httpService.api({\n url: `${this.SERVICE_URL}`,\n params: params,\n ...options,\n });\n }\n\n public getAccount$(id: string, options?: HttpRequestConfigurableOptions): Observable<Account> {\n return this.httpService.api({\n url: `${this.SERVICE_URL}/${id}`,\n ...options,\n });\n }\n\n public getAssetsState(accountId: string, options?: HttpRequestConfigurableOptions): Observable<AccountAssetsState> {\n return this.httpService.api<AccountAssetsState>({\n method: 'get',\n url: `/v2${this.SERVICE_URL}/${accountId}/assets`,\n ...options,\n });\n }\n\n public getAssets(accountId: string, options?: HttpRequestConfigurableOptions): Observable<LineItem[]> {\n return this.httpService.api({ url: `${this.SERVICE_URL}/${accountId}/assets`, ...options });\n }\n\n public getOrders(accountId: string, options?: HttpRequestConfigurableOptions): Observable<Order[]> {\n return this.httpService.api({ url: `${this.SERVICE_URL}/${accountId}/orders`, ...options });\n }\n\n public getQuotes(accountId: string, options?: HttpRequestConfigurableOptions): Observable<Quote[]> {\n return this.httpService.api({ url: `${this.SERVICE_URL}/${accountId}/quotes`, ...options });\n }\n\n public getAsset(accountId: string, assetId: string, options?: HttpRequestConfigurableOptions): Observable<LineItem> {\n return this.httpService.api({\n url: `${this.SERVICE_URL}/${accountId}/assets/${assetId}`,\n ...options,\n });\n }\n\n public getOrder(\n accountId: string,\n orderId: string,\n options?: HttpRequestConfigurableOptions,\n ): Observable<LineItem[]> {\n return this.httpService.api({\n url: `${this.SERVICE_URL}/${accountId}/orders/${orderId}`,\n ...options,\n });\n }\n\n public getQuote(\n accountId: string,\n quoteId: string,\n options?: HttpRequestConfigurableOptions,\n ): Observable<LineItem[]> {\n return this.httpService.api({\n url: `${this.SERVICE_URL}/${accountId}/quotes/${quoteId}`,\n ...options,\n });\n }\n\n public quoteToOrder(accountId: string, quoteId: string, options?: HttpRequestConfigurableOptions) {\n return this.httpService.api({\n url: `${this.SERVICE_URL}/${accountId}/quotes/${quoteId}/to-order`,\n method: 'post',\n body: { id: quoteId },\n ...options,\n });\n }\n\n public orderToAsset(accountId: string, orderId: string, options?: HttpRequestConfigurableOptions) {\n return this.httpService.api({\n url: `${this.SERVICE_URL}/${accountId}/orders/${orderId}/to-asset`,\n method: 'post',\n body: { id: orderId },\n ...options,\n });\n }\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { VeloceAuthResponse } from '../types';\n\n@Injectable()\nexport class VeloceAuthService {\n constructor(private http: HttpClient) {}\n\n public auth$(instanceUrl: string, accessToken: string): Observable<VeloceAuthResponse> {\n const headers = new HttpHeaders({\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${accessToken}`,\n });\n\n return this.http.get<VeloceAuthResponse>(`${instanceUrl}/services/apexrest/VELOCE_PRISM/veloce-auth`, { headers });\n }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n BaseHttpService,\n Catalog,\n Category,\n CategoryFilter,\n CategoryRequestPayloadWithData,\n Expression,\n NewCatalog,\n NewCategory,\n NewCategoryFilter,\n Product,\n} from '@veloceapps/core';\nimport { Observable, noop } from 'rxjs';\nimport { CloneRequest, QuerySearchParams } from '../types';\n\n@Injectable()\nexport class CatalogAdminApiService {\n public static MAX_RESULTS = 60;\n\n private readonly serviceUrl: string = '/catalogs';\n\n constructor(private baseHttpService: BaseHttpService) {}\n\n public fetchCatalogs$ = (searchParams?: QuerySearchParams): Observable<Catalog[]> => {\n const params = new HttpParams({ fromObject: { ...searchParams } });\n return this.baseHttpService.api({ url: `${this.serviceUrl}`, params });\n };\n\n public searchCatalogs$ = (searchParams?: QuerySearchParams, expression?: Expression): Observable<Catalog[]> => {\n const params = new HttpParams({ fromObject: { ...searchParams } });\n\n return this.baseHttpService.api({\n method: 'post',\n url: `${this.serviceUrl}/search`,\n params,\n body: expression || {},\n });\n };\n\n public fetchCategories$ = (catalogId: string): Observable<Category[]> => {\n return this.baseHttpService.api({ url: `${this.serviceUrl}/${catalogId}/categories` });\n };\n\n public searchProducts$ = (catalogId: string, categoryId: string): Observable<Product[]> => {\n return this.baseHttpService.api({\n method: 'post',\n url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/products/search`,\n body: {},\n });\n };\n\n public fetchAttributes$ = (catalogId: string, categoryId: string): Observable<CategoryFilter[]> => {\n return this.baseHttpService.api({ url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/attributes` });\n };\n\n public createNewCatalog$ = (catalogData: NewCatalog): Observable<Catalog> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}`,\n method: 'post',\n body: catalogData,\n });\n };\n\n public duplicateCatalog$ = (cloneRequest: CloneRequest): Observable<Catalog> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${cloneRequest.id}/clone`,\n method: 'post',\n body: cloneRequest,\n });\n };\n\n public updateCatalog$ = (data: Catalog): Observable<void> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${data.id}`,\n method: 'put',\n body: data,\n });\n };\n\n public removeCatalog$ = (id: string): Observable<void> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${id}`,\n method: 'delete',\n });\n };\n\n public restoreCatalog$ = (id: string): Observable<void> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${id}/restore`,\n method: 'patch',\n });\n };\n\n public createNewCategory$ = (categoryData: NewCategory): Observable<Category> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${categoryData.catalogId}/categories`,\n method: 'post',\n body: categoryData,\n });\n };\n\n public updateCategory$ = (category: Category): Observable<Category> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${category.catalogId}/categories/${category.id}`,\n method: 'put',\n body: category,\n });\n };\n\n public duplicateCategory$ = (catalogId: string, cloneRequest: CloneRequest): Observable<string> => {\n return this.baseHttpService.api<string>({\n url: `${this.serviceUrl}/${catalogId}/categories/${cloneRequest.id}/clone`,\n method: 'post',\n body: cloneRequest,\n });\n };\n\n public removeCategory$ = (id: string, catalogId: string): Observable<void> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${catalogId}/categories/${id}`,\n method: 'delete',\n });\n };\n\n public restoreCategory$ = (id: string, catalogId: string): Observable<void> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${catalogId}/categories/${id}/restore`,\n method: 'patch',\n });\n };\n\n public removeAttribute$ = ({\n catalogId,\n categoryId,\n data,\n }: CategoryRequestPayloadWithData<CategoryFilter>): Observable<string> => {\n return this.baseHttpService.api({\n method: 'delete',\n url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/attributes/${data.id}`,\n body: data,\n });\n };\n\n public restoreAttribute$ = ({\n catalogId,\n categoryId,\n data,\n }: CategoryRequestPayloadWithData<CategoryFilter>): Observable<void> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/attributes/${data.id}/restore`,\n method: 'patch',\n });\n };\n\n public createNewAttribute$ = ({\n catalogId,\n categoryId,\n data,\n }: CategoryRequestPayloadWithData<NewCategoryFilter>): Observable<CategoryFilter> => {\n return this.baseHttpService.api({\n method: 'post',\n url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/attributes`,\n body: data,\n });\n };\n\n public updateAttribute$ = ({\n catalogId,\n categoryId,\n data,\n }: CategoryRequestPayloadWithData<CategoryFilter>): Observable<CategoryFilter> => {\n return this.baseHttpService.api({\n method: 'put',\n url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/attributes/${data.id}`,\n body: data,\n });\n };\n\n public searchProductCandidates$ = (\n catalogId: string,\n categoryId: string,\n expression: Expression,\n searchParams: QuerySearchParams,\n ): Observable<Product[]> => {\n const params = new HttpParams({ fromObject: { ...searchParams } });\n\n return this.baseHttpService.api({\n method: 'post',\n url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/candidates/search`,\n params,\n body: expression,\n });\n };\n\n public addProduct$ = (product: Product, catalogId: string, categoryId: string) => {\n return this.baseHttpService.api({\n method: 'post',\n url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/products`,\n body: product,\n });\n };\n\n public updateProduct$ = (product: Partial<Product>, catalogId: string, categoryId: string) => {\n return this.baseHttpService.api({\n method: 'put',\n url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/products/${product.id}`,\n body: product,\n });\n };\n\n public removeProduct$ = ({\n catalogId,\n categoryId,\n data,\n }: CategoryRequestPayloadWithData<Product>): Observable<string> => {\n return this.baseHttpService.api({\n method: 'delete',\n url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/products/${data.id}`,\n });\n };\n\n public attachImage$(catalogId: string, categoryId: string, file: File): Observable<void> {\n const data = new FormData();\n data.append('image', file);\n\n return this.baseHttpService.upload({\n method: 'post',\n url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/image`,\n body: data,\n });\n }\n\n public removeImage$(catalogId: string, categoryId: string): Observable<void> {\n return this.baseHttpService.api({\n method: 'delete',\n url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/image`,\n });\n }\n\n public fetchImage$(catalogId: string, categoryId: string): Observable<File> {\n return this.baseHttpService.api({\n url: this.getImageUrl(catalogId, categoryId),\n method: 'get',\n responseType: 'blob',\n errorHandler: noop,\n });\n }\n\n public getImageUrl(catalogId: string, categoryId: string) {\n return `${this.serviceUrl}/${catalogId}/categories/${categoryId}/image`;\n }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n BaseHttpService,\n Catalog,\n Category,\n ConfigurationContext,\n Expression,\n Product,\n SearchRequest,\n} from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { QuerySearchParams } from '../types';\n\n@Injectable()\nexport class CatalogApiService {\n private readonly serviceUrl: string = '/product-catalogs';\n\n constructor(private service: BaseHttpService) {}\n\n public fetchCatalogs$(): Observable<Catalog[]> {\n return this.service.api({\n method: 'get',\n url: `${this.serviceUrl}`,\n });\n }\n\n public searchCatalogs$(searchParams?: QuerySearchParams, expression?: Expression): Observable<Catalog[]> {\n const params = new HttpParams({ fromObject: searchParams });\n\n return this.service.api({\n method: 'post',\n url: `${this.serviceUrl}/search`,\n params,\n body: expression,\n });\n }\n\n public getCatalog$(id: string): Observable<Catalog> {\n return this.service.api({\n method: 'get',\n url: `${this.serviceUrl}/${id}`,\n });\n }\n\n public fetchCategories$(catalogId: string): Observable<Category[]> {\n return this.service.api({\n method: 'get',\n url: `${this.serviceUrl}/${catalogId}/categories`,\n });\n }\n\n public fetchCatalogProducts$(\n catalogId: string,\n searchParams?: QuerySearchParams,\n context?: ConfigurationContext,\n ): Observable<Product[]> {\n const params = new HttpParams({ fromObject: searchParams });\n\n return this.service.api({\n method: 'post',\n url: `${this.serviceUrl}/${catalogId}/products`,\n params,\n body: context,\n });\n }\n\n public fetchCategoryProducts$(\n catalogId: string,\n categoryId: string,\n searchParams?: QuerySearchParams,\n context?: ConfigurationContext,\n ): Observable<Product[]> {\n const params = new HttpParams({ fromObject: searchParams });\n\n return this.service.api({\n method: 'post',\n url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/products`,\n params,\n body: context,\n });\n }\n\n public searchCategoryProducts$(\n catalogId: string,\n categoryId: string,\n searchParams?: QuerySearchParams,\n searchRequest?: SearchRequest,\n context?: ConfigurationContext,\n ): Observable<Product[]> {\n const params = new HttpParams({ fromObject: searchParams });\n\n return this.service.api({\n method: 'post',\n url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/products/search`,\n params,\n body: {\n configurationContext: context,\n request: searchRequest,\n },\n });\n }\n\n public fetchEligibleProducts$(\n searchParams?: QuerySearchParams,\n context?: ConfigurationContext,\n ): Observable<Product[]> {\n const params = new HttpParams({ fromObject: searchParams });\n\n return this.service.api({\n method: 'post',\n url: `${this.serviceUrl}/products`,\n params: params,\n body: context,\n });\n }\n\n public fetchProducts$(searchParams?: QuerySearchParams): Observable<Product[]> {\n const params = new HttpParams({ fromObject: searchParams });\n\n return this.service.api({\n method: 'get',\n url: `${this.serviceUrl}/products`,\n params: params,\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n BaseHttpService,\n ConfigurationRequest,\n ConfigurePrice,\n DomainComputation,\n LineItem,\n RuntimeData,\n RuntimeDataDTO,\n RuntimeModel,\n uiDefinitionFromDTO,\n} from '@veloceapps/core';\nimport { Observable, switchMap, throwError } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n@Injectable()\nexport class ConfigurationApiService {\n private readonly SERVICE_URL = '/configuration';\n\n constructor(private httpService: BaseHttpService) {}\n\n public configureLineItem({\n configurationRequest,\n runtimeModel,\n pricingEnabled,\n }: {\n configurationRequest: ConfigurationRequest;\n runtimeModel?: RuntimeModel;\n pricingEnabled?: boolean;\n }): Observable<ConfigurePrice> {\n return this.httpService\n .api<ConfigurePrice>({\n method: 'post',\n url: `${this.SERVICE_URL}${pricingEnabled ? '/price' : ''}`,\n body: configurationRequest,\n errorHandler: e => throwError(e),\n })\n .pipe(\n map(configurePrice => {\n if (runtimeModel) {\n return {\n ...configurePrice,\n lineItem: this.updateDomains(configurePrice.lineItem, runtimeModel),\n };\n } else {\n return configurePrice;\n }\n }),\n );\n }\n\n public customConfigurePrice({\n url,\n configurationRequest,\n runtimeModel,\n }: {\n url: string;\n configurationRequest: ConfigurationRequest;\n runtimeModel?: RuntimeModel;\n }): Observable<ConfigurePrice> {\n return this.httpService\n .api<ConfigurePrice>({\n method: 'post',\n url,\n body: configurationRequest,\n errorHandler: e => throwError(e),\n })\n .pipe(\n map(configurePrice => {\n if (runtimeModel) {\n return {\n ...configurePrice,\n lineItem: this.updateDomains(configurePrice.lineItem, runtimeModel),\n };\n } else {\n return configurePrice;\n }\n }),\n );\n }\n\n public getRuntimeDataByProductId(\n productId: string,\n offeringId?: string,\n defaultUIDefinitionId?: string,\n requiredUIDefinitionId?: string,\n ): Observable<RuntimeData> {\n return this.httpService\n .api<RuntimeDataDTO>({\n method: 'get',\n url: `${this.SERVICE_URL}/${productId}/model` + ((offeringId && `/${offeringId}`) || ''),\n })\n .pipe(\n switchMap(runtimeData => {\n if (requiredUIDefinitionId) {\n return this.httpService.api({ method: 'get', url: `/uidefinitions/${requiredUIDefinitionId}` }).pipe(\n map(uiDefinition => {\n return { ...runtimeData, uiDefinitions: [uiDefinition] };\n }),\n );\n }\n const params: Record<string, string> = { productId };\n if (defaultUIDefinitionId) {\n params['defaultUIDefinitionId'] = defaultUIDefinitionId;\n }\n return this.httpService.api({ method: 'get', url: `/uidefinitions`, params }).pipe(\n map(uiDefinitions => {\n return { ...runtimeData, uiDefinitions };\n }),\n );\n }),\n map<RuntimeDataDTO, RuntimeData>(runtimeData => {\n return {\n ...runtimeData,\n uiDefinitions: runtimeData.uiDefinitions.map(dto => uiDefinitionFromDTO(dto)),\n };\n }),\n );\n }\n\n public getRuntimeDataByModelId(modelId: string): Observable<RuntimeData> {\n return this.httpService.api({\n method: 'get',\n url: `${this.SERVICE_URL}/${modelId}/model-test`,\n });\n }\n\n private updateDomains(lineItem: LineItem, runtimeModel: RuntimeModel): LineItem {\n const component = runtimeModel.components.get(lineItem.type);\n const portDomains = { ...lineItem.portDomains };\n\n // loop through ports to look for 'None' type domain computations\n for (const port of component?.ports ?? []) {\n const portDomain = portDomains[port.name];\n if (portDomain?.properties?.['domainComputation'] === DomainComputation.NONE) {\n portDomain.domainTypes = port.domainTypes;\n }\n }\n\n const type = runtimeModel.types.find(({ name }) => {\n return lineItem.type === name;\n });\n\n const attributeDomains = lineItem.attributeDomains;\n if (type) {\n const initialDomains = lineItem.attributeDomains;\n type.attributes.forEach(attribute => {\n if (Object.prototype.hasOwnProperty.call(initialDomains, attribute.name)) {\n return;\n }\n\n if (attribute.attributeDomain) {\n attributeDomains[attribute.name] = attribute.attributeDomain;\n }\n });\n }\n\n return {\n ...lineItem,\n lineItems: lineItem.lineItems?.map(i => this.updateDomains(i, runtimeModel)),\n attributeDomains,\n portDomains,\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BaseHttpService, ConfigurationProcessor } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class ConfigurationProcessorsApiService {\n private readonly serviceUrl: string = '/configuration/processors/owners';\n\n constructor(private baseHttpService: BaseHttpService) {}\n\n public fetchConfigurationProcessors$ = (ownerId: string): Observable<ConfigurationProcessor[]> => {\n return this.baseHttpService.api<ConfigurationProcessor[]>({ url: `${this.serviceUrl}/${ownerId}` });\n };\n\n public createConfigurationProcessors$ = (\n configurationProcessor: ConfigurationProcessor,\n ): Observable<ConfigurationProcessor> => {\n return this.baseHttpService.api<ConfigurationProcessor>({\n method: 'post',\n url: `${this.serviceUrl}/${configurationProcessor.ownerId}`,\n body: configurationProcessor,\n });\n };\n\n public updateConfigurationProcessors$ = (\n configurationProcessor: ConfigurationProcessor,\n ): Observable<ConfigurationProcessor> => {\n return this.baseHttpService.api<ConfigurationProcessor>({\n method: 'put',\n url: `${this.serviceUrl}/${configurationProcessor.ownerId}/${configurationProcessor.id}`,\n body: configurationProcessor,\n });\n };\n\n public deleteConfigurationProcessors$ = (configurationProcessor: ConfigurationProcessor): Observable<void> => {\n return this.baseHttpService.api({\n method: 'delete',\n url: `${this.serviceUrl}/${configurationProcessor.ownerId}/${configurationProcessor.id}`,\n });\n };\n}\n","import { ConfigurationSettings } from '@veloceapps/core';\n\nexport class ConfigurationSettingsDTO {\n public static fromDTO(dto: ConfigurationSettingsDTO, key?: string): ConfigurationSettings {\n return {\n id: dto?.id,\n key: dto?.key || key || '',\n value: dto?.value,\n };\n }\n\n public static toDTO(data: ConfigurationSettings): ConfigurationSettingsDTO {\n return {\n id: data.id,\n key: data.key,\n value: data.value,\n };\n }\n\n constructor(public id: string, public key: string, public value: string) {}\n}\n","import { HttpErrorResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n BaseHttpService,\n ConfigurationSettings,\n DataAdministrationField,\n HttpRequestConfigurableOptions,\n} from '@veloceapps/core';\nimport { MessageService } from 'primeng/api';\nimport { Observable, of } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\nimport { ConfigurationSettingsDTO } from '../types/dto/configuration-settings-dto.types';\n\n@Injectable()\nexport class ConfigurationSettingsApiService {\n private readonly SERVICE_URL = '/configuration-settings';\n\n constructor(private httpService: BaseHttpService, private messageService: MessageService) {}\n\n public fetchSettings(options?: HttpRequestConfigurableOptions): Observable<ConfigurationSettings[]> {\n return this.httpService\n .api<ConfigurationSettingsDTO[]>({\n url: `${this.SERVICE_URL}`,\n method: 'get',\n ...options,\n })\n .pipe(\n map((settings: ConfigurationSettingsDTO[]) =>\n settings.map(setting => ConfigurationSettingsDTO.fromDTO(setting)),\n ),\n );\n }\n\n public fetchSetting(\n settingsKey: string,\n options?: HttpRequestConfigurableOptions,\n ): Observable<ConfigurationSettings | null> {\n return this.httpService\n .api<ConfigurationSettingsDTO>({\n url: `${this.SERVICE_URL}/byKey/${settingsKey}`,\n method: 'get',\n ...options,\n skipErrorHandler: true,\n })\n .pipe(\n map((setting: ConfigurationSettingsDTO) => ConfigurationSettingsDTO.fromDTO(setting, settingsKey)),\n catchError(err => {\n if (err instanceof HttpErrorResponse && err.status === 404) {\n if (!options?.skipErrorHandler) {\n this.messageService.add({\n severity: 'error',\n summary: `Configuration Setting \"${settingsKey}\" is not found`,\n sticky: true,\n });\n }\n\n return of(null);\n }\n\n throw err;\n }),\n );\n }\n\n public createSetting(\n setting: ConfigurationSettings,\n options?: HttpRequestConfigurableOptions,\n ): Observable<ConfigurationSettings> {\n const request = ConfigurationSettingsDTO.toDTO(setting);\n\n return this.httpService.api({\n url: `${this.SERVICE_URL}`,\n method: 'post',\n body: {\n ...request,\n },\n ...options,\n });\n }\n\n public updateSetting(\n setting: ConfigurationSettings,\n options?: HttpRequestConfigurableOptions,\n ): Observable<ConfigurationSettings> {\n const request = ConfigurationSettingsDTO.toDTO(setting);\n\n return this.httpService.api({\n url: `${this.SERVICE_URL}/${request.id}`,\n method: 'put',\n body: {\n ...request,\n },\n ...options,\n });\n }\n\n public removeSetting(\n setting: ConfigurationSettings,\n options?: HttpRequestConfigurableOptions,\n ): Observable<ConfigurationSettings> {\n const request = ConfigurationSettingsDTO.toDTO(setting);\n\n return this.httpService.api({\n url: `${this.SERVICE_URL}/${request.id}`,\n method: 'delete',\n ...options,\n });\n }\n\n public restoreSetting(settingId: string, options?: HttpRequestConfigurableOptions): Observable<void> {\n return this.httpService.api({\n url: `${this.SERVICE_URL}/${settingId}/restore`,\n method: 'patch',\n ...options,\n });\n }\n\n public clear(name: DataAdministrationField, options?: HttpRequestConfigurableOptions): Observable<void> {\n return this.httpService.api({\n method: 'get',\n url: '/cache/evict/' + name,\n ...options,\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BaseHttpService, ConfigurationContext, ConfigurationContextMode } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class ContextApiService {\n private readonly SERVICE_URL = '/context';\n\n constructor(private httpService: BaseHttpService) {}\n\n public getContext(headerId: string, mode: ConfigurationContextMode): Observable<ConfigurationContext> {\n return this.httpService.api({\n method: 'post',\n body: {\n headerId: headerId,\n contextMode: ConfigurationContextMode[mode],\n },\n url: `${this.SERVICE_URL}`,\n });\n }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BaseHttpService, ContractedPrice, Expression, GuidedSelling, NewContractedPrice } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { QuerySearchParams } from '../types';\n\n@Injectable()\nexport class ContractedPriceApiService {\n private readonly serviceUrl = '/admin/contracted-price';\n\n constructor(private baseHttpService: BaseHttpService) {}\n\n public fetchContractedPrices$ = (): Observable<ContractedPrice[]> => {\n return this.baseHttpService.api({ url: `${this.serviceUrl}` });\n };\n\n public fetchContractedPrice$ = (id: string): Observable<ContractedPrice> => {\n return this.baseHttpService.api({ url: `${this.serviceUrl}/${id}` });\n };\n\n public createContractedPrice$ = (data: NewContractedPrice): Observable<ContractedPrice> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}`,\n method: 'put',\n body: data,\n });\n };\n\n public updateContractedPrice$ = (data: ContractedPrice): Observable<ContractedPrice> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${data.id}`,\n method: 'put',\n body: data,\n });\n };\n\n public searchContractedPrices$ = (\n searchParams?: QuerySearchParams,\n expression?: Expression,\n ): Observable<GuidedSelling[]> => {\n const params = new HttpParams({ fromObject: { ...searchParams } });\n\n return this.baseHttpService.api({\n method: 'post',\n url: `${this.serviceUrl}/search`,\n params,\n body: expression || {},\n });\n };\n}\n","import { Injectable } from '@angular/core';\nimport { BaseHttpService, LineItem } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { CalculateDeltaRequest } from '../types/delta-request.types';\n\n@Injectable()\nexport class DeltaApiService {\n private readonly SERVICE_URL = '/delta';\n\n constructor(private httpService: BaseHttpService) {}\n\n public calculate$(request: CalculateDeltaRequest): Observable<LineItem[]> {\n return this.httpService.api<LineItem[]>({\n method: 'post',\n url: `${this.SERVICE_URL}/calculate`,\n body: request,\n skipErrorHandler: true,\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Attachment, BaseHttpService, FileDownloadService } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { map, tap } from 'rxjs/operators';\nimport { TemplateAttachmentSearchRequest } from '../types/attachment.types';\n\n@Injectable()\nexport class DocumentAttachmentApiService {\n private readonly SERVICE_URL = '/attachments';\n\n constructor(private httpService: BaseHttpService, private fileDownloadService: FileDownloadService) {}\n\n public getAttachments(searchRequest: TemplateAttachmentSearchRequest): Observable<Attachment[]> {\n return this.httpService.api({\n url: `${this.SERVICE_URL}/search`,\n method: 'post',\n body: searchRequest,\n });\n }\n\n public createAttachment(attachment: Attachment, file?: File, reportProgress?: boolean): Observable<Attachment> {\n const formData: FormData = new FormData();\n\n if (file) {\n formData.append('file', file, file.name);\n }\n\n formData.append(\n 'attachment',\n new Blob([JSON.stringify(attachment)], {\n type: 'application/json',\n }),\n );\n\n return this.httpService.upload({\n url: `${this.SERVICE_URL}`,\n body: formData,\n method: 'post',\n observe: reportProgress ? 'events' : undefined,\n reportProgress,\n });\n }\n\n public updateAttachment(id: string, attachment: Attachment): Observable<Attachment> {\n return this.httpService.api({\n url: `${this.SERVICE_URL}/${id}`,\n body: attachment,\n method: 'put',\n });\n }\n\n public getAttachmentFile(id: string, isPreventDownload?: boolean): Observable<any> {\n return this.httpService\n .api({\n url: `${this.SERVICE_URL}/${id}/file`,\n responseType: isPreventDownload ? 'arraybuffer' : 'blob',\n observe: isPreventDownload ? 'body' : 'response',\n })\n .pipe(\n tap(response => {\n if (!isPreventDownload) {\n this.fileDownloadService.processDownload(response);\n }\n }),\n map(response => (isPreventDownload ? new Blob([response.body || response]) : response.body || response)),\n );\n }\n\n public removeAttachment(id: string): Observable<unknown> {\n return this.httpService.api({\n url: `${this.SERVICE_URL}/${id}`,\n method: 'delete',\n });\n }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BaseHttpService, Endpoint, EndpointExecuteRequest, Expression, NewEndpoint } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { CloneRequest } from '../types/clone-request.types';\n\n@Injectable()\nexport class EndpointsApiService {\n private readonly adminServiceUrl: string = '/admin/api-endpoints';\n private readonly serviceUrl: string = '/api-endpoints';\n\n constructor(private baseHttpService: BaseHttpService) {}\n\n public fetchEndpoints$(): Observable<Endpoint[]> {\n return this.searchEndpoints$(new Expression(), 0, -1);\n }\n\n public searchEndpoints$(expression: Expression, skip: number, count: number): Observable<Endpoint[]> {\n let params = new HttpParams();\n params = params.set('skip', '' + skip);\n params = params.set('count', '' + count);\n return this.baseHttpService.api({\n method: 'post',\n url: `${this.adminServiceUrl}/search`,\n params,\n body: expression,\n });\n }\n\n public removeEndpoint$(id: string): Observable<void> {\n return this.baseHttpService.api({\n url: `${this.adminServiceUrl}/${id}`,\n method: 'delete',\n });\n }\n\n public restoreEndpoint$(id: string): Observable<void> {\n return this.baseHttpService.api({\n url: `${this.adminServiceUrl}/${id}/restore`,\n method: 'patch',\n });\n }\n\n public fetchEndpoint$(id: string): Observable<Endpoint> {\n return this.baseHttpService.api({\n url: `${this.adminServiceUrl}/${id}`,\n method: 'get',\n });\n }\n\n public createEndpoint$(body: NewEndpoint): Observable<Endpoint> {\n return this.baseHttpService.api({\n url: `${this.adminServiceUrl}`,\n method: 'post',\n body,\n });\n }\n\n public updateEndpoint$(body: Endpoint): Observable<Endpoint> {\n return this.baseHttpService.api({\n url: `${this.adminServiceUrl}/${body.id}`,\n method: 'put',\n body,\n });\n }\n\n public duplicateEndpoint$(cloneRequest: CloneRequest): Observable<Endpoint> {\n return this.baseHttpService.api({\n url: `${this.adminServiceUrl}/${cloneRequest.id}/clone`,\n method: 'post',\n body: cloneRequest,\n });\n }\n\n public executeEndpoint$(body: EndpointExecuteRequest): Observable<string> {\n return this.baseHttpService.api<string>({\n url: `${this.serviceUrl}/execute`,\n method: 'post',\n body,\n responseType: 'text',\n skipErrorHandler: true,\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n BaseHttpService,\n ConfigurationStateExecuteRequest,\n ConfigurationStateNewRequest,\n ConfigurationStateStartRequest,\n FlowState,\n FlowStateExecutionRequestDTO,\n FlowStateExecutionResult,\n FlowStateInitRequest,\n FlowStateInitResponse,\n} from '@veloceapps/core';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class FlowStateApiService {\n private readonly SERVICE_URL = '/configuration/states';\n\n constructor(private httpService: BaseHttpService) {}\n\n /**\n * Initialize flow state\n * @param request Request\n * @returns Flow initialization response, which contains session ID and result of selectors\n */\n public init(request: FlowStateInitRequest): Observable<FlowStateInitResponse> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/quote/start`,\n body: request,\n });\n }\n\n /**\n * Get existing state by ID\n * @param id ID\n * @returns Flow State\n */\n public get(id: string): Observable<FlowState> {\n return this.httpService.api({\n url: `${this.SERVICE_URL}/${id}`,\n });\n }\n\n /**\n * Execute actions/selectors\n * @param id State ID\n * @param request Request\n * @returns Execute result\n */\n public execute(id: string, request: FlowStateExecutionRequestDTO): Observable<FlowStateExecutionResult> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/quote/${id}/execute`,\n body: request,\n });\n }\n\n /**\n * Save Quote in the state\n * @param id State ID\n */\n public save(id: string): Observable<{ quoteId: string }> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/quote/${id}/save`,\n });\n }\n\n /**\n * Submit Quote in the state\n * @param id State ID\n */\n public submit(id: string): Observable<{ quoteId: string }> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/quote/${id}/submit`,\n });\n }\n\n /**\n * Close Flow state\n * @param id State ID\n */\n public cancel(id: string): Observable<void> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/quote/${id}/cancel`,\n });\n }\n\n /**\n * Initialize stateful configuration\n * @param stateId string\n * @param request Request\n * @returns Flow initialization response, which contains session ID and result of selectors\n */\n public newConfiguration(\n stateId: string,\n request: ConfigurationStateNewRequest,\n ): Observable<FlowStateExecutionResult> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/quote/${stateId}/configuration/new`,\n body: request,\n });\n }\n\n /**\n * Start stateful configuration\n * @param stateId string\n * @param request Request\n * @returns Flow initialization response, which contains session ID and result of selectors\n */\n public startConfiguration(\n stateId: string,\n request: ConfigurationStateStartRequest,\n ): Observable<FlowStateExecutionResult> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/quote/${stateId}/configuration/start`,\n body: request,\n });\n }\n\n /**\n * Execute stateful configuration\n * @param stateId string\n * @param configurationId string\n * @param request Request\n * @returns Flow initialization response, which contains session ID and result of selectors\n */\n public executeConfiguration(\n stateId: string,\n configurationId: string,\n request: ConfigurationStateExecuteRequest,\n ): Observable<FlowStateExecutionResult> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/quote/${stateId}/configuration/${configurationId}/execute`,\n body: request,\n });\n }\n\n /**\n * Save stateful configuration\n * @param stateId string\n * @param configurationId string\n */\n public saveConfiguration(stateId: string, configurationId: string): Observable<{ quoteId: string }> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/quote/${stateId}/configuration/${configurationId}/save`,\n });\n }\n\n /**\n * Cancel stateful configuration\n * @param stateId string\n * @param configurationId string\n */\n public cancelConfiguration(stateId: string, configurationId: string): Observable<void> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/quote/${stateId}/configuration/${configurationId}/cancel`,\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Flow } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ConfigurationSettingsApiService } from './configuration-settings-api.service';\n\n@Injectable()\nexport class FlowsApiService {\n private readonly flowsKey = 'flows';\n\n constructor(private configurationSettingsApiService: ConfigurationSettingsApiService) {}\n\n public getFlow(id: string): Observable<Flow> {\n return this.fetchFlows().pipe(\n map(flows => flows.find(flow => flow.id == id)),\n map(flow => {\n if (!flow) {\n throw new Error(`Flow with flowId=${id} is not defined`);\n }\n\n return flow;\n }),\n );\n }\n\n public fetchFlows(): Observable<Flow[]> {\n return this.configurationSettingsApiService\n .fetchSetting(this.flowsKey)\n .pipe(map((setting): Flow[] => (setting?.value ? JSON.parse(setting.value) : [])));\n }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BaseHttpService, Expression, GuidedSelling, NewGuidedSelling } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { CloneRequest, QuerySearchParams } from '../types';\n\n@Injectable()\nexport class GuidedSellingsAdminApiService {\n public static MAX_RESULTS = 60;\n\n private readonly serviceUrl: string = '/admin/guided-selling';\n\n constructor(private baseHttpService: BaseHttpService) {}\n\n public fetchGuidedSellings$ = (searchParams?: QuerySearchParams): Observable<GuidedSelling[]> => {\n return this.searchGuidedSellings$(searchParams);\n };\n\n public searchGuidedSellings$ = (\n searchParams?: QuerySearchParams,\n expression?: Expression,\n ): Observable<GuidedSelling[]> => {\n const params = new HttpParams({ fromObject: { ...searchParams } });\n\n return this.baseHttpService.api({\n method: 'post',\n url: `${this.serviceUrl}/search`,\n params,\n body: expression || {},\n });\n };\n\n public fetchGuidedSelling$ = (id: string): Observable<GuidedSelling> => {\n return this.baseHttpService.api({ url: `${this.serviceUrl}/${id}` });\n };\n\n public createNewGuidedSelling$ = (guidedSelling: NewGuidedSelling): Observable<GuidedSelling> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}`,\n method: 'post',\n body: guidedSelling,\n });\n };\n\n public duplicateGuidedSelling$ = (cloneRequest: CloneRequest): Observable<GuidedSelling> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${cloneRequest.id}/clone`,\n method: 'post',\n body: cloneRequest,\n });\n };\n\n public updateGuidedSelling$ = (data: GuidedSelling): Observable<void> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${data.id}`,\n method: 'put',\n body: data,\n });\n };\n\n public removeGuidedSelling$ = (id: string): Observable<void> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${id}`,\n method: 'delete',\n });\n };\n\n public restoreGuidedSelling$ = (id: string): Observable<void> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${id}/restore`,\n method: 'patch',\n });\n };\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BaseHttpService, Expression, GuidedSelling, Operator } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { QuerySearchParams } from '../types';\n\n@Injectable()\nexport class GuidedSellingApiService {\n private readonly serviceUrl = '/guided-selling';\n\n constructor(private http: BaseHttpService) {}\n\n public searchByName$(name: string, searchParams?: QuerySearchParams): Observable<GuidedSelling[]> {\n const params = new HttpParams({ fromObject: { ...searchParams } });\n const expression = new Expression(undefined, [{ key: 'name', operator: Operator.EQ, value: name }]);\n\n return this.http.api({\n method: 'post',\n url: `${this.serviceUrl}/search`,\n params,\n body: expression || {},\n });\n }\n\n public searchById$(id: string, searchParams?: QuerySearchParams): Observable<GuidedSelling[]> {\n const params = new HttpParams({ fromObject: { ...searchParams } });\n const expression = new Expression(undefined, [{ key: 'id', operator: Operator.EQ, value: id }]);\n\n return this.http.api({\n method: 'post',\n url: `${this.serviceUrl}/search`,\n params,\n body: expression || {},\n });\n }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BaseHttpService, Expression, NewOffer, NewOfferProduct, Offer, OfferProduct } from '@veloceapps/core';\nimport { map, Observable } from 'rxjs';\nimport { OfferProductsUpsertRequest, OfferProductsUpsertResponse } from '../types/dto/offers-dto.types';\n\n@Injectable()\nexport class OffersApiService {\n public static MAX_RESULTS = 60;\n\n private readonly serviceUrl: string = '/admin/offers';\n\n constructor(private baseHttpService: BaseHttpService) {}\n\n public createOffer$(body: NewOffer): Observable<Offer> {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}`,\n method: 'post',\n body,\n });\n }\n\n public fetchOffers$(): Observable<Offer[]> {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}`,\n });\n }\n\n public fetchOffer$(id: string): Observable<Offer> {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${id}`,\n });\n }\n\n public updateOffer$(offer: Offer): Observable<Offer> {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${offer.id}`,\n method: 'put',\n body: offer,\n });\n }\n\n public removeOffer$(id: string): Observable<void> {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${id}`,\n method: 'delete',\n });\n }\n\n public searchOffers$(expression: Expression, skip: number, count: number): Observable<Offer[]> {\n let params = new HttpParams();\n params = params.set('skip', '' + skip);\n params = params.set('count', '' + count);\n return this.baseHttpService.api({\n method: 'post',\n url: `${this.serviceUrl}/search`,\n params,\n body: expression,\n });\n }\n\n public fetchOfferProducts$(id: string): Observable<OfferProduct[]> {\n return this.baseHttpService\n .api<OfferProductsUpsertResponse>({\n url: `${this.serviceUrl}/${id}/products`,\n })\n .pipe(map(response => response.products));\n }\n\n public upsertOfferProducts$(id: string, products: (OfferProduct | NewOfferProduct)[]): Observable<OfferProduct[]> {\n const request: OfferProductsUpsertRequest = { products };\n\n return this.baseHttpService\n .api<OfferProductsUpsertResponse>({\n url: `${this.serviceUrl}/${id}/products`,\n method: 'put',\n body: request,\n })\n .pipe(map(response => response.products));\n }\n}\n","import { isApexError, isCanvasError } from '@veloceapps/core';\nimport { isArray } from 'lodash';\n\n/**\n * Parses the response from Canvas and checks for errors.\n * - If an error is found, publishes an error message and returns the failover value.\n * - If no error is found, returns the parsed response.\n *\n * Note! The API call first goes to APEX before reaching the Canvas, so errors can originate from either APEX or Canvas.\n *\n * @param {string} response - The JSON string response from the Canvas call.\n * @param {T} failover - The value to return in case of error.\n * @returns {T | K} The parsed response or the failover value.\n *\n * @template T The expected type of the parsed response.\n * @template K The type of the failover value.\n *\n * @remarks If there's an Apex error, the response data can be an array.\n * In such cases, the function extracts the first element of the array.\n */\nexport const handleCanvasResponse = <T, K>(\n response: string,\n failover: K,\n errorPublisher: (message: string) => void,\n): T | K => {\n const parsed = JSON.parse(response);\n const errorCandidate = isArray(parsed) ? parsed[0] : parsed;\n\n if (isApexError(errorCandidate)) {\n errorPublisher(errorCandidate.message);\n return failover;\n }\n if (isCanvasError(errorCandidate)) {\n errorPublisher(errorCandidate.error);\n return failover;\n }\n\n return parsed as T;\n};\n","import { Injectable } from '@angular/core';\nimport { VlWindow } from '@veloceapps/core';\nimport { MessageService } from 'primeng/api';\nimport { Observable, catchError, from, map, of } from 'rxjs';\nimport { AvailableVersionsInfo, OrgInfo } from '../types/org-info.types';\nimport { handleCanvasResponse } from '../utils/canvas.utils';\n\ndeclare const window: VlWindow;\n\n@Injectable()\nexport class OrgInfoApiService {\n constructor(private messageService: MessageService) {}\n\n public getOrgInfo$(): Observable<OrgInfo | undefined> {\n try {\n return window.doCanvasCall && window.ORGANIZATION_ID\n ? from(window.doCanvasCall(`org-info/${window.ORGANIZATION_ID}`, null)).pipe(\n map(response => handleCanvasResponse<OrgInfo, undefined>(response, undefined, this.publishErrorMessage)),\n catchError(() => of(undefined)),\n )\n : of(undefined);\n } catch {\n return of(undefined);\n }\n }\n\n public getAvailableVersionsInfo$(): Observable<AvailableVersionsInfo | undefined> {\n try {\n return window.doCanvasCall && window.ORGANIZATION_ID\n ? from(window.doCanvasCall('versions/available', 'include_all=true')).pipe(\n map(response =>\n handleCanvasResponse<AvailableVersionsInfo, undefined>(response, undefined, this.publishErrorMessage),\n ),\n catchError(() => of(undefined)),\n )\n : of(undefined);\n } catch {\n return of(undefined);\n }\n }\n\n public upgradeVersion$(targetVersion: string): Observable<OrgInfo | undefined> {\n try {\n return window.doCanvasCall && window.ORGANIZATION_ID\n ? from(window.doCanvasCall('versions/upgrade', `target_version=${targetVersion}`)).pipe(\n map(response => handleCanvasResponse<OrgInfo, undefined>(response, undefined, this.publishErrorMessage)),\n catchError(() => of(undefined)),\n )\n : of(undefined);\n } catch {\n return of(undefined);\n }\n }\n\n /**\n * Shows an error message using the message service.\n *\n * @param {string} message - the error message to be published.\n */\n private publishErrorMessage = (message: string): void => {\n this.messageService.add({ severity: 'error', summary: message, sticky: true });\n };\n}\n","import { Injectable } from '@angular/core';\nimport { BaseHttpService, NewPicklist, NewPicklistValue, Picklist } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class PicklistsApiService {\n private readonly serviceUrl: string = '/admin';\n\n constructor(private baseHttpService: BaseHttpService) {}\n\n public fetchAllPicklists$ = (): Observable<Picklist[]> =>\n this.baseHttpService.api({ url: `${this.serviceUrl}/picklists` });\n\n public fetchPicklist$ = (code: string): Observable<Picklist> =>\n this.baseHttpService.api({ url: `${this.serviceUrl}/picklists/${code}` });\n\n public createPicklist$ = (picklist: NewPicklist): Observable<Picklist> => {\n return this.baseHttpService.api({ method: 'post', url: `${this.serviceUrl}/picklists`, body: picklist });\n };\n\n public updatePicklist$ = (picklist: Picklist): Observable<Picklist> => {\n return this.baseHttpService.api({\n method: 'put',\n url: `${this.serviceUrl}/picklists/${picklist.id}`,\n body: picklist,\n });\n };\n\n public removePicklist$ = (id: string): Observable<void> =>\n this.baseHttpService.api({ method: 'delete', url: `${this.serviceUrl}/picklists/${id}` });\n\n public restorePicklist$ = (id: string): Observable<void> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/picklists/${id}/restore`,\n method: 'patch',\n });\n };\n\n public addPicklistValue$ = (picklist: Picklist, value: NewPicklistValue): Observable<Picklist> => {\n const data = {\n ...picklist,\n values: [...picklist.values, value],\n };\n\n return this.baseHttpService.api({ method: 'put', url: `${this.serviceUrl}/picklists/${picklist.id}`, body: data });\n };\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BaseHttpService, Expression, NewPortal, Portal, PortalCustomization } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { CloneRequest } from '../types/clone-request.types';\n\n@Injectable()\nexport class PortalsApiService {\n public static MAX_RESULTS = 60;\n\n private readonly serviceUrl: string = '/admin/portal';\n\n constructor(private baseHttpService: BaseHttpService) {}\n\n public createNewPortal$(body: NewPortal): Observable<Portal> {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}`,\n method: 'post',\n body,\n });\n }\n\n public updatePortal$(portal: Portal, settings: PortalCustomization): Observable<Portal> {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${portal.id}`,\n method: 'put',\n body: {\n ...portal,\n settings: JSON.stringify(settings),\n },\n });\n }\n\n public getPortals$ = (skip = 1, name = ''): Observable<Portal[]> => {\n let params: HttpParams = new HttpParams();\n params = params.append('count', (PortalsApiService.MAX_RESULTS * skip).toString());\n params = params.append('skip', '0');\n params = params.append('name', name);\n return this.baseHttpService.api({ url: `${this.serviceUrl}`, params });\n };\n\n public searchPortals$ = (skip = 0, expression?: Expression): Observable<Portal[]> => {\n let params: HttpParams = new HttpParams();\n params = params.set('skip', '' + skip);\n params = params.set('count', '' + PortalsApiService.MAX_RESULTS);\n\n return this.baseHttpService.api({\n method: 'post',\n url: `${this.serviceUrl}/search`,\n params,\n body: expression || {},\n });\n };\n\n public removePortal$ = (id: string): Observable<string> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${id}`,\n method: 'delete',\n });\n };\n\n public restore$ = (id: string): Observable<void> => {\n return this.baseHttpService.api({\n method: 'patch',\n url: `${this.serviceUrl}/${id}/restore`,\n });\n };\n\n public duplicatePortal$ = (cloneRequest: CloneRequest): Observable<string> => {\n return this.baseHttpService.api<string>({\n url: `${this.serviceUrl}/${cloneRequest.id}/clone`,\n method: 'post',\n body: cloneRequest,\n });\n };\n\n public getPortal$ = (id: string): Observable<Portal> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${id}`,\n });\n };\n}\n","import { Injectable } from '@angular/core';\nimport { BaseHttpService, PriceList, PriceSummary } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { PriceCalculateRequest } from '../types/price.types';\n\n@Injectable()\nexport class PriceApiService {\n private readonly SERVICE_URL = '/price';\n\n constructor(private httpService: BaseHttpService) {}\n\n public calculate(request: PriceCalculateRequest): Observable<PriceSummary> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/calculate`,\n body: request,\n skipErrorHandler: true,\n });\n }\n\n public getPriceLists(): Observable<PriceList[]> {\n return this.httpService.api({\n method: 'get',\n url: '/price-lists',\n });\n }\n\n public getPriceList(id: string): Observable<PriceList> {\n return this.httpService.api({\n method: 'get',\n url: `/price-lists/${id}`,\n });\n }\n\n public getSellingTermByEndDate(\n planId?: string,\n offeringId?: string,\n startDate?: string,\n endDate?: string,\n frequencyUnit?: string,\n frequencyDuration?: string,\n ): Observable<any> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/selling-term-by-end-date`,\n body: {\n planId: planId,\n offeringId: offeringId,\n startDate: startDate,\n endDate: endDate,\n frequencyUnit: frequencyUnit,\n frequencyDuration: frequencyDuration,\n },\n });\n }\n\n public getSellingTermByTerm(\n planId?: string,\n offeringId?: string,\n startDate?: string,\n term?: number,\n frequencyUnit?: string,\n frequencyDuration?: string,\n ): Observable<any> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/selling-term-by-term`,\n body: {\n planId: planId,\n offeringId: offeringId,\n startDate: startDate,\n term: term,\n frequencyUnit: frequencyUnit,\n frequencyDuration: frequencyDuration,\n },\n });\n }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n BaseHttpService,\n Expression,\n NewProcedure,\n Procedure,\n ProcedureExecuteRequest,\n QuoteDraft,\n} from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { CloneRequest } from '../types/clone-request.types';\n\n@Injectable()\nexport class ProceduresApiService {\n private readonly ADMIN_SERVICE_URL: string = '/admin/procedures';\n private readonly SERVICE_URL: string = '/procedures';\n\n constructor(private baseHttpService: BaseHttpService) {}\n\n public fetchProcedures$ = (): Observable<Procedure[]> => {\n return this.searchProcedures$(new Expression(), 0, 100);\n };\n\n public searchProcedures$ = (expression: Expression, skip: number, count: number): Observable<Procedure[]> => {\n let params = new HttpParams();\n params = params.set('skip', '' + skip);\n params = params.set('count', '' + count);\n return this.baseHttpService.api({\n method: 'post',\n url: `${this.ADMIN_SERVICE_URL}/search`,\n params,\n body: expression,\n });\n };\n\n public createProcedure$ = (newProcedure: NewProcedure): Observable<Procedure> => {\n return this.baseHttpService.api<Procedure>({\n url: `${this.ADMIN_SERVICE_URL}`,\n method: 'post',\n body: newProcedure,\n });\n };\n\n public updateProcedure$ = (procedure: Procedure): Observable<Procedure> => {\n return this.baseHttpService.api<Procedure>({\n url: `${this.ADMIN_SERVICE_URL}/${procedure.id}`,\n method: 'put',\n body: procedure,\n });\n };\n\n public duplicateProcedure$ = (body: CloneRequest): Observable<string> => {\n return this.baseHttpService\n .api({\n url: `${this.ADMIN_SERVICE_URL}/${body.id}/clone`,\n method: 'post',\n body,\n })\n .pipe(map(response => response.clonedRecordId));\n };\n\n public removeProcedure$ = (id: string): Observable<string> => {\n return this.baseHttpService.api<string>({\n url: `${this.ADMIN_SERVICE_URL}/${id}`,\n method: 'delete',\n });\n };\n\n public restoreProcedure$ = (id: string): Observable<string> => {\n return this.baseHttpService.api<string>({\n url: `${this.ADMIN_SERVICE_URL}/${id}/restore`,\n method: 'patch',\n });\n };\n\n public fetchProcedure$(id: string): Observable<Procedure> {\n return this.baseHttpService.api<Procedure>({\n url: `${this.ADMIN_SERVICE_URL}/${id}`,\n method: 'get',\n });\n }\n\n public execute$(body: ProcedureExecuteRequest) {\n return this.baseHttpService.api<string[]>({\n url: `${this.SERVICE_URL}/execute`,\n method: 'post',\n body,\n });\n }\n\n public catalogExecute$(body: ProcedureExecuteRequest) {\n return this.baseHttpService.api<string[]>({\n url: `${this.SERVICE_URL}/catalog/execute`,\n method: 'post',\n body,\n });\n }\n\n public rlmExecute$(body: ProcedureExecuteRequest) {\n return this.baseHttpService.api<string[]>({\n url: `${this.SERVICE_URL}/rlm/execute`,\n method: 'post',\n body,\n });\n }\n\n /**\n * Run active procedure against QuoteDraft\n * @param body\n * @returns\n */\n public apply$(body: QuoteDraft): Observable<QuoteDraft> {\n return this.baseHttpService.api<QuoteDraft>({\n url: `${this.SERVICE_URL}/apply`,\n method: 'post',\n body,\n });\n }\n\n public fetchDefaultPricingSteps$(): Observable<any> {\n return this.baseHttpService.api<Procedure>({\n url: `${this.ADMIN_SERVICE_URL}/pricing-steps`,\n method: 'get',\n });\n }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n AttributeDefinition,\n BaseHttpService,\n Expression,\n LazyChunkRequest,\n NewAttributeDefinition,\n NewProduct,\n NewProductAttribute,\n Product,\n ProductAttribute,\n} from '@veloceapps/core';\nimport { noop, Observable } from 'rxjs';\n\n@Injectable()\nexport class ProductApiService {\n private readonly serviceUrl: string = '/products';\n\n constructor(private baseHttpService: BaseHttpService) {}\n\n public fetchProducts$ = (payload: LazyChunkRequest): Observable<Product[]> => {\n let params: HttpParams = new HttpParams();\n params = params.append('count', payload.count);\n params = params.append('skip', payload.skip);\n if (payload.name) {\n params = params.append('name', payload.name);\n }\n return this.baseHttpService.api({ url: `${this.serviceUrl}`, params });\n };\n\n public searchProducts$ = (expression: Expression, skip: number, count: number): Observable<Product[]> => {\n let params = new HttpParams();\n params = params.set('skip', '' + skip);\n params = params.set('count', '' + count);\n return this.baseHttpService.api({\n method: 'post',\n url: `${this.serviceUrl}/search`,\n params: params,\n body: expression,\n });\n };\n\n public fetchProduct$ = (id: string): Observable<Product> =>\n this.baseHttpService.api({ url: `${this.serviceUrl}/${id}` });\n\n public fetchAttributes$ = (): Observable<AttributeDefinition[]> => {\n return this.baseHttpService.api({ url: `${this.serviceUrl}/attributes/definition` });\n };\n\n public searchAttributes$ = (\n expression: Expression,\n skip: number,\n count: number,\n ): Observable<AttributeDefinition[]> => {\n let params = new HttpParams();\n params = params.set('skip', '' + skip);\n params = params.set('count', '' + count);\n return this.baseHttpService.api({\n method: 'post',\n url: `${this.serviceUrl}/attributes/definition/search`,\n params: params,\n body: expression,\n });\n };\n\n public fetchAttributesByModel = (modelId: string): Observable<AttributeDefinition[]> => {\n return this.baseHttpService.api({ url: `${this.serviceUrl}/attributes/definition/forModel/${modelId}` });\n };\n\n public createNewProduct$ = (productData: NewProduct): Observable<Product> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}`,\n method: 'post',\n body: productData,\n });\n };\n\n public updateProduct$ = (body: Product): Observable<Product> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${body.id}`,\n method: 'put',\n body,\n });\n };\n\n public removeProduct$ = (id: string): Observable<string> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${id}`,\n method: 'delete',\n });\n };\n\n public restoreProduct$ = (id: string): Observable<void> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/${id}/restore`,\n method: 'patch',\n });\n };\n\n public createProductAttribute$ = (attributeData: NewProductAttribute): Observable<AttributeDefinition> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/attributes`,\n method: 'post',\n body: attributeData,\n });\n };\n\n public updateProductAttribute$ = (attributeData: ProductAttribute): Observable<AttributeDefinition> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/attributes/${attributeData.id}`,\n method: 'put',\n body: attributeData,\n });\n };\n\n public removeProductAttribute$ = (id: string): Observable<void> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/attributes/${id}`,\n method: 'delete',\n });\n };\n\n public createNewAttribute$ = (attributeData: NewAttributeDefinition): Observable<AttributeDefinition> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/attributes/definition`,\n method: 'post',\n body: attributeData,\n });\n };\n\n public updateAttribute$ = (body: AttributeDefinition): Observable<AttributeDefinition> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/attributes/definition/${body.id}`,\n method: 'put',\n body,\n });\n };\n\n public removeAttribute$ = (id: string): Observable<void> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/attributes/definition/${id}`,\n method: 'delete',\n });\n };\n\n public restoreAttribute$ = (id: string): Observable<void> => {\n return this.baseHttpService.api({\n url: `${this.serviceUrl}/attributes/definition/${id}/restore`,\n method: 'patch',\n });\n };\n\n public attachImage$(productId: string, file: File): Observable<void> {\n const data = new FormData();\n data.append('image', file);\n\n return this.baseHttpService.upload({\n method: 'post',\n url: `${this.serviceUrl}/${productId}/image`,\n body: data,\n });\n }\n\n public removeImage$(productId: string): Observable<void> {\n return this.baseHttpService.api({\n method: 'delete',\n url: `${this.serviceUrl}/${productId}/image`,\n });\n }\n\n public fetchImage$(productId: string): Observable<File> {\n return this.baseHttpService.api({\n url: this.getImageUrl(productId),\n method: 'get',\n responseType: 'blob',\n errorHandler: noop,\n });\n }\n\n public getImageUrl(productId: string) {\n return `${this.serviceUrl}/${productId}/image`;\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n BaseHttpService,\n EntityUtil,\n ModelReleaseRequest,\n ModelTranslatorUtils,\n PmlConfigurationMode,\n ProductModel,\n ProductModelVersion,\n} from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\n\n@Injectable()\nexport class ProductModelApiService {\n public static MAX_RESULTS = 200;\n\n private readonly SERVICE_URL = '/models';\n\n constructor(private httpService: BaseHttpService) {}\n\n public addModel(model: ProductModel): Observable<any> {\n return this.httpService\n .api({\n method: 'post',\n url: this.SERVICE_URL,\n body: model,\n errorHandler: this.httpService.handleValidationError,\n })\n .pipe(\n map(result => {\n if (result.successful) {\n return result;\n } else {\n throw new Error(result.message);\n }\n }),\n );\n }\n\n public releaseModel(model: ModelReleaseRequest): Observable<any> {\n return this.httpService\n .api({\n method: 'put',\n url: `${this.SERVICE_URL}/${model.id}/release`,\n body: model,\n errorHandler: this.httpService.handleValidationError,\n })\n .pipe(\n map(result => {\n if (result.successful) {\n return '';\n } else {\n throw new Error(result.message);\n }\n }),\n );\n }\n\n public removeModel(modelId: string, successFn?: any, failureFn?: any): void {\n const observable = this.httpService\n .api({\n method: 'delete',\n url: `${this.SERVICE_URL}/${modelId}`,\n errorHandler: this.httpService.handleValidationError,\n })\n .pipe(\n map(result => {\n if (result.successful) {\n return '';\n } else {\n throw new Error(result.message);\n }\n }),\n );\n\n observable.subscribe(\n () => {\n successFn && successFn.apply();\n },\n () => {\n failureFn && failureFn.apply();\n },\n );\n }\n\n public getModelVersions(modelId: string, count: number = 100, skip: number = 0): Observable<ProductModelVersion[]> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/${modelId}/versions`,\n body: {\n skipCount: skip,\n count: count,\n },\n });\n }\n\n public getModel(id: string, version?: string): Observable<ProductModel> {\n let url = `${this.SERVICE_URL}/${id}`;\n\n if (version) {\n url += `/versions/${version}`;\n }\n\n return this.httpService.api({ url });\n }\n\n public getModels(skipCount: number, searchText: string): Observable<ProductModel[]> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/search`,\n body: {\n nameRegex: searchText,\n skipCount: skipCount.toString(),\n count: ProductModelApiService.MAX_RESULTS,\n },\n });\n }\n\n public getLinkedModels(id: string, version?: string): Observable<ProductModel[]> {\n let url = `${this.SERVICE_URL}/${id}`;\n\n if (version) {\n url += `/versions/${version}`;\n }\n\n url += '/linked';\n\n return this.httpService.api({ url }).pipe(\n map((linkedModels: ProductModel[]) => {\n if (linkedModels) {\n linkedModels.forEach(model => ModelTranslatorUtils.toLocalModel(model));\n }\n return linkedModels;\n }),\n );\n }\n\n public getPML(modelId: string, version?: string): Observable<any> {\n let url = `${this.SERVICE_URL}/${modelId}/pml/${version}`;\n\n if (version) {\n url += `/versions/${version}`;\n }\n\n return this.httpService.api({\n url,\n responseType: 'text',\n });\n }\n\n public savePML(modelId: string, pml: string, comment: string): Observable<any> {\n return this.httpService\n .api({\n method: 'put',\n url: `${this.SERVICE_URL}/${modelId}/pml`,\n body: {\n id: modelId,\n pml: pml,\n comment: comment,\n },\n })\n .pipe(\n map(result => {\n if (result.successful) {\n return '';\n } else {\n throw new Error(result.message);\n }\n }),\n catchError(this.httpService.handleValidationError),\n );\n }\n\n public generateProducts(modelId: string): Observable<ProductModel> {\n return this.httpService.api({\n url: `${this.SERVICE_URL}/${modelId}/generate-products`,\n });\n }\n\n public saveModel(productModel: ProductModel, comment: string): Observable<string> {\n const model = EntityUtil.clone(productModel);\n model.comment = comment;\n ModelTranslatorUtils.toServerModel(model);\n\n return this.httpService\n .api({\n method: 'put',\n url: `${this.SERVICE_URL}/${model.id}`,\n body: model,\n })\n .pipe(\n map(result => {\n if (result.successful) {\n return '';\n } else {\n throw new Error(result.message);\n }\n }),\n catchError(this.httpService.handleValidationError),\n );\n }\n\n public validateModel(productModel: ProductModel): Observable<string> {\n return this.httpService\n .api({\n method: 'post',\n url: `${this.SERVICE_URL}/validate`,\n body: productModel,\n errorHandler: this.httpService.handleValidationError,\n })\n .pipe(\n map(result => {\n if (result.successful) {\n return '';\n } else {\n throw new Error(result.message);\n }\n }),\n );\n }\n\n public renameModel(productModel: ProductModel, name: string): Observable<any> {\n const model = EntityUtil.clone(productModel);\n model.name = name;\n ModelTranslatorUtils.toServerModel(model);\n\n return this.httpService\n .api({\n method: 'patch',\n url: `${this.SERVICE_URL}/${model.id}`,\n body: model,\n })\n .pipe(catchError(this.httpService.handleValidationError));\n }\n\n public uploadPmlFile(file: File, modelId: string): Observable<any> {\n const formData: FormData = new FormData();\n formData.append('file', file, file.name);\n\n return this.httpService.upload({\n url: `${this.SERVICE_URL}/${modelId}/pml/upload`,\n body: formData,\n });\n }\n\n public runPml(\n modelId: string,\n pml: string,\n rootType: string,\n configurationMode: PmlConfigurationMode,\n ): Observable<any> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/${modelId}/pml/run`,\n body: {\n pml,\n rootType,\n configurationMode,\n },\n responseType: 'text',\n });\n }\n\n public evictAllCache(): Observable<{ result: string }> {\n return this.httpService.api({\n method: 'get',\n url: '/cache/evict/environment-variables',\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BaseHttpService, Expression, NewPromotion, Promotion } from '@veloceapps/core';\nimport { map, Observable } from 'rxjs';\nimport { HttpParams } from '@angular/common/http';\nimport { CloneRequest } from '../types';\n\n@Injectable()\nexport class PromotionsApiService {\n private readonly serviceUrl: string = '/admin/promotion';\n\n constructor(private baseHttpService: BaseHttpService) {}\n\n public fetchAll$ = (): Observable<Promotion> => {\n return this.baseHttpService.api<Promotion>({ url: this.serviceUrl });\n };\n\n public search$(expression: Expression, skip?: number, count?: number): Observable<Promotion[]> {\n let params = new HttpParams();\n if (typeof skip === 'number') {\n params = params.set('skip', '' + skip);\n }\n if (typeof count === 'number') {\n params = params.set('count', '' + count);\n }\n return this.baseHttpService.api({ method: 'post', url: `${this.serviceUrl}/search`, params, body: expression });\n }\n\n public fetchOne$ = (id: string): Observable<Promotion> => {\n return this.baseHttpService.api<Promotion>({ url: `${this.serviceUrl}/${id}` });\n };\n\n public create$(body: NewPromotion): Observable<Promotion> {\n return this.baseHttpService.api<Promotion>({\n url: `${this.serviceUrl}`,\n method: 'post',\n body,\n });\n }\n\n public update$(body: Promotion): Observable<Promotion> {\n return this.baseHttpService.api<Promotion>({\n url: `${this.serviceUrl}/${body.id}`,\n method: 'put',\n body,\n });\n }\n\n public remove$ = (id: string): Observable<string> => {\n return this.baseHttpService.api<string>({\n url: `${this.serviceUrl}/${id}`,\n method: 'delete',\n });\n };\n\n public restore$ = (id: string): Observable<void> => {\n return this.baseHttpService.api({\n method: 'patch',\n url: `${this.serviceUrl}/${id}/restore`,\n });\n };\n\n public duplicate$ = (body: CloneRequest): Observable<string> => {\n return this.baseHttpService\n .api({\n url: `${this.serviceUrl}/${body.id}/clone`,\n method: 'post',\n body,\n })\n .pipe(map(response => response.clonedRecordId));\n };\n}\n","import { Injectable } from '@angular/core';\nimport { BaseHttpService, HttpRequestConfigurableOptions, QuoteDraft } from '@veloceapps/core';\nimport { Dictionary } from 'lodash';\nimport { Observable } from 'rxjs';\nimport { SaveQuoteResponse, SubmitQuoteResponse } from '../types';\n\n@Injectable()\nexport class QuoteApiService {\n private readonly SERVICE_URL = '/quotes';\n\n constructor(private httpService: BaseHttpService) {}\n\n /**\n * This endpoint doesn't include orders and assets\n * @param objectId quoteId | accountId | opportunityId | orderId\n * @param params Query params\n * @param options Request options\n */\n public getQuoteState(\n objectId: string,\n params?: Dictionary<string>,\n options?: HttpRequestConfigurableOptions,\n ): Observable<QuoteDraft> {\n return this.httpService.api<QuoteDraft>({\n method: 'get',\n url: `/v2${this.SERVICE_URL}/${objectId}`,\n params,\n ...options,\n });\n }\n\n public upsertQuote(request: QuoteDraft, options?: HttpRequestConfigurableOptions): Observable<SaveQuoteResponse> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}`,\n body: request,\n ...options,\n });\n }\n\n public submitQuote(request: QuoteDraft, options?: HttpRequestConfigurableOptions): Observable<SubmitQuoteResponse> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/submit`,\n body: request,\n ...options,\n });\n }\n\n public attachDocument(id: string, documentName: string, data: any): Observable<void> {\n const formData: FormData = new FormData();\n const blob = new Blob([data]);\n formData.append('file', blob, documentName);\n\n return this.httpService.upload({\n url: `${this.SERVICE_URL}/${id}/attach-document`,\n responseType: 'arraybuffer',\n method: 'post',\n body: formData,\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BaseHttpService, HttpRequestConfigurableOptions, PriceSummary } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { NextRampRequest, RenewRampRequest } from '../types';\n\n@Injectable()\nexport class RampApiService {\n private readonly SERVICE_URL = '/ramp';\n\n constructor(private httpService: BaseHttpService) {}\n\n public next(request: NextRampRequest, options?: HttpRequestConfigurableOptions): Observable<PriceSummary> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/next`,\n body: request,\n ...options,\n });\n }\n\n public renew(request: RenewRampRequest, options?: HttpRequestConfigurableOptions): Observable<PriceSummary> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/renew`,\n body: request,\n ...options,\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BaseHttpService, Expression, NewRebateProgram, RebateProgram } from '@veloceapps/core';\nimport { map, Observable } from 'rxjs';\nimport { HttpParams } from '@angular/common/http';\nimport { CloneRequest } from '../types';\n\n@Injectable()\nexport class RebateProgramApiService {\n private readonly serviceUrl: string = '/admin/rebate-program';\n\n constructor(private baseHttpService: BaseHttpService) {}\n\n public fetchAll$ = (): Observable<RebateProgram[]> => {\n return this.baseHttpService.api<RebateProgram[]>({ url: this.serviceUrl });\n };\n\n public search$(expression: Expression, skip?: number, count?: number): Observable<RebateProgram[]> {\n let params = new HttpParams();\n if (typeof skip === 'number') {\n params = params.set('skip', '' + skip);\n }\n if (typeof count === 'number') {\n params = params.set('count', '' + count);\n }\n return this.baseHttpService.api({ method: 'post', url: `${this.serviceUrl}/search`, params, body: expression });\n }\n\n public fetchOne$ = (id: string): Observable<RebateProgram> => {\n return this.baseHttpService.api<RebateProgram>({ url: `${this.serviceUrl}/${id}` });\n };\n\n public create$(body: NewRebateProgram): Observable<RebateProgram> {\n return this.baseHttpService.api<RebateProgram>({\n url: `${this.serviceUrl}`,\n method: 'post',\n body,\n });\n }\n\n public update$(body: RebateProgram): Observable<RebateProgram> {\n return this.baseHttpService.api<RebateProgram>({\n url: `${this.serviceUrl}/${body.id}`,\n method: 'put',\n body,\n });\n }\n\n public remove$ = (id: string): Observable<string> => {\n return this.baseHttpService.api<string>({\n url: `${this.serviceUrl}/${id}`,\n method: 'delete',\n });\n };\n\n public restore$ = (id: string): Observable<void> => {\n return this.baseHttpService.api({\n method: 'patch',\n url: `${this.serviceUrl}/${id}/restore`,\n });\n };\n\n public duplicate$ = (body: CloneRequest): Observable<string> => {\n return this.baseHttpService\n .api({\n url: `${this.serviceUrl}/${body.id}/clone`,\n method: 'post',\n body,\n })\n .pipe(map(response => response.clonedRecordId));\n };\n}\n","import { Injectable } from '@angular/core';\nimport { BaseHttpService, Expression, NewRebateType, RebateType } from '@veloceapps/core';\nimport { map, Observable } from 'rxjs';\nimport { HttpParams } from '@angular/common/http';\nimport { CloneRequest } from '../types';\n\n@Injectable()\nexport class RebateTypeApiService {\n private readonly serviceUrl: string = '/admin/rebate-type';\n\n constructor(private baseHttpService: BaseHttpService) {}\n\n public fetchAll$ = (): Observable<RebateType> => {\n return this.baseHttpService.api<RebateType>({ url: this.serviceUrl });\n };\n\n public search$(expression: Expression, skip?: number, count?: number): Observable<RebateType[]> {\n let params = new HttpParams();\n if (typeof skip === 'number') {\n params = params.set('skip', '' + skip);\n }\n if (typeof count === 'number') {\n params = params.set('count', '' + count);\n }\n return this.baseHttpService.api({ method: 'post', url: `${this.serviceUrl}/search`, params, body: expression });\n }\n\n public fetchOne$ = (id: string): Observable<RebateType> => {\n return this.baseHttpService.api<RebateType>({ url: `${this.serviceUrl}/${id}` });\n };\n\n public create$(body: NewRebateType): Observable<RebateType> {\n return this.baseHttpService.api<RebateType>({\n url: `${this.serviceUrl}`,\n method: 'post',\n body,\n });\n }\n\n public update$(body: RebateType): Observable<RebateType> {\n return this.baseHttpService.api<RebateType>({\n url: `${this.serviceUrl}/${body.id}`,\n method: 'put',\n body,\n });\n }\n\n public remove$ = (id: string): Observable<string> => {\n return this.baseHttpService.api<string>({\n url: `${this.serviceUrl}/${id}`,\n method: 'delete',\n });\n };\n\n public restore$ = (id: string): Observable<void> => {\n return this.baseHttpService.api({\n method: 'patch',\n url: `${this.serviceUrl}/${id}/restore`,\n });\n };\n\n public duplicate$ = (body: CloneRequest): Observable<string> => {\n return this.baseHttpService\n .api({\n url: `${this.serviceUrl}/${body.id}/clone`,\n method: 'post',\n body,\n })\n .pipe(map(response => response.clonedRecordId));\n };\n}\n","import { Injectable } from '@angular/core';\nimport {\n BaseHttpService,\n BEContextDefinitionStructure,\n ContextDefinition,\n ContextDefinitionStructure,\n ContextMapping,\n RlmProcedure,\n} from '@veloceapps/core';\nimport { Observable, of } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\n\n@Injectable()\nexport class RlmApiService {\n private readonly serviceUrl: string = '/rlm';\n\n constructor(private baseHttpService: BaseHttpService) {}\n\n public fetchContextDefinitions$(): Observable<ContextDefinition[]> {\n return this.baseHttpService\n .api<ContextDefinition[]>({ url: `${this.serviceUrl}/context`, skipErrorHandler: true })\n .pipe(\n catchError(() => {\n return of([]);\n }),\n );\n }\n\n public fetchContextMappings$(id: string): Observable<ContextMapping[]> {\n return this.baseHttpService.api<ContextMapping[]>({ url: `${this.serviceUrl}/context/${id}/mappings` });\n }\n\n public fetchContextDefinitionStructure$(id: string): Observable<ContextDefinitionStructure> {\n return this.baseHttpService\n .api<BEContextDefinitionStructure>({\n url: `${this.serviceUrl}/context/${id}/structure/details`,\n skipErrorHandler: true,\n })\n .pipe(\n catchError(() => {\n return of([]);\n }),\n map(objects => {\n return objects.map(object => {\n const tag = object.tags?.[0]?.title;\n const objectAttributes = object.attributes || [];\n return {\n id: object.id,\n title: tag || object.title,\n attributes: objectAttributes.map(attribute => {\n const tag = attribute.tags?.[0]?.title;\n return {\n title: tag || attribute.title,\n fieldType: attribute.fieldType,\n dataType: attribute.dataType,\n };\n }),\n };\n });\n }),\n );\n }\n\n public fetchRlmProcedures(contextDefinitionId?: string): Observable<RlmProcedure[]> {\n const params: Record<string, string | string[]> = {};\n\n if (contextDefinitionId) {\n params['contextDefinitionId'] = contextDefinitionId;\n }\n\n return this.baseHttpService.api<RlmProcedure[]>({\n url: `${this.serviceUrl}/procedures`,\n params,\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BaseHttpService, HttpRequestConfigurableOptions, QuoteDraft } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class RlmQuoteApiService {\n private readonly SERVICE_URL = '/quotes/rlm';\n\n constructor(private httpService: BaseHttpService) {}\n\n public getQuote(\n mappingType: 'tag' | 'attribute',\n objectId: string,\n contextMappingId?: string,\n options?: HttpRequestConfigurableOptions,\n ): Observable<QuoteDraft> {\n const params: Record<string, string> = { mappingType };\n\n if (contextMappingId) {\n params['contextMappingId'] = contextMappingId;\n }\n\n return this.httpService.api({\n method: 'get',\n url: `${this.SERVICE_URL}/${objectId}`,\n params,\n ...options,\n });\n }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BaseHttpService, Expression, NewRuleGroup, RuleGroup } from '@veloceapps/core';\nimport { map, Observable } from 'rxjs';\nimport { CloneRequest } from '../types/clone-request.types';\n\n@Injectable()\nexport class RuleGroupsApiService {\n private readonly serviceUrl: string = '/admin/rule-groups';\n\n constructor(private baseHttpService: BaseHttpService) {}\n\n public fetchRuleGroups$ = (): Observable<RuleGroup[]> => {\n return this.searchRuleGroups$(new Expression(), 0, 100);\n };\n\n public searchRuleGroups$ = (expression: Expression, skip: number, count: number): Observable<RuleGroup[]> => {\n let params = new HttpParams();\n params = params.set('skip', '' + skip);\n params = params.set('count', '' + count);\n return this.baseHttpService.api({ method: 'post', url: `${this.serviceUrl}/search`, params, body: expression });\n };\n\n public createRuleGroup$ = (ruleGroup: NewRuleGroup): Observable<RuleGroup> => {\n return this.baseHttpService.api<RuleGroup>({\n url: `${this.serviceUrl}`,\n method: 'post',\n body: ruleGroup,\n });\n };\n\n public updateRuleGroup$ = (ruleGroup: RuleGroup): Observable<RuleGroup> => {\n return this.baseHttpService.api<RuleGroup>({\n url: `${this.serviceUrl}/${ruleGroup.id}`,\n method: 'post',\n body: ruleGroup,\n });\n };\n\n public duplicateRuleGroup$ = (body: CloneRequest): Observable<string> => {\n return this.baseHttpService\n .api({\n url: `${this.serviceUrl}/${body.id}/clone`,\n method: 'post',\n body,\n })\n .pipe(map(response => response.clonedRecordId));\n };\n\n public removeRuleGroup$ = (id: string): Observable<string> => {\n return this.baseHttpService.api<string>({\n url: `${this.serviceUrl}/${id}`,\n method: 'delete',\n });\n };\n\n public restoreRuleGroup$ = (id: string): Observable<string> => {\n return this.baseHttpService.api<string>({\n url: `${this.serviceUrl}/${id}/restore`,\n method: 'patch',\n });\n };\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n BaseHttpService,\n Expression,\n HeaderField,\n NewRule,\n Rule,\n RuleExecuteRequest,\n RuleGroupTypes,\n} from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { CloneRequest } from '../types/clone-request.types';\n\n@Injectable()\nexport class RulesApiService {\n private readonly serviceUrl: string = '/admin/rules';\n\n constructor(private baseHttpService: BaseHttpService) {}\n\n public fetchRules$ = (): Observable<Rule[]> => {\n return this.searchRules$(new Expression(), 0, 100);\n };\n\n public searchRules$ = (expression: Expression, skip?: number, count?: number): Observable<Rule[]> => {\n let params = new HttpParams();\n if (typeof skip === 'number') {\n params = params.set('skip', '' + skip);\n }\n if (typeof count === 'number') {\n params = params.set('count', '' + count);\n }\n return this.baseHttpService.api({ method: 'post', url: `${this.serviceUrl}/search`, params, body: expression });\n };\n\n public createRule$ = (rule: NewRule): Observable<Rule> => {\n return this.baseHttpService.api<Rule>({\n url: `${this.serviceUrl}`,\n method: 'post',\n body: rule,\n });\n };\n\n public updateRule$ = (rule: Rule): Observable<Rule> => {\n return this.baseHttpService.api<Rule>({\n url: `${this.serviceUrl}/${rule.id}`,\n method: 'put',\n body: rule,\n });\n };\n\n public duplicateRule$ = (body: CloneRequest): Observable<string> => {\n return this.baseHttpService\n .api({\n url: `${this.serviceUrl}/${body.id}/clone`,\n method: 'post',\n body,\n })\n .pipe(map(response => response.clonedRecordId));\n };\n\n public removeRule$ = (id: string): Observable<string> => {\n return this.baseHttpService.api<string>({\n url: `${this.serviceUrl}/${id}`,\n method: 'delete',\n });\n };\n\n public restoreRule$ = (id: string): Observable<string> => {\n return this.baseHttpService.api<string>({\n url: `${this.serviceUrl}/${id}/restore`,\n method: 'patch',\n });\n };\n\n public fetchRule$(id: string) {\n return this.baseHttpService.api<Rule>({\n url: `${this.serviceUrl}/${id}`,\n method: 'get',\n });\n }\n\n public fetchHeaderFields$() {\n return this.baseHttpService.api<HeaderField[]>({\n url: `${this.serviceUrl}/describe/Header`,\n method: 'get',\n });\n }\n\n public execute$(body: RuleExecuteRequest) {\n const url = this.getExecuteRuleUrl(body.rule.ruleGroupType);\n return this.baseHttpService.api<string[]>({\n url,\n method: 'post',\n body,\n });\n }\n\n private getExecuteRuleUrl(ruleGroupType: RuleGroupTypes): string {\n if (ruleGroupType === RuleGroupTypes.eligibility) {\n return '/rules/eligibility/execute';\n }\n\n if (ruleGroupType === RuleGroupTypes.catalog) {\n return '/rules/catalog/execute';\n }\n\n if (ruleGroupType === RuleGroupTypes.rlmContextBased) {\n return '/rules/rlm/execute';\n }\n\n return '/rules/execute';\n }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n BaseHttpService,\n GlobalPicklist,\n GlobalPicklistValue,\n HttpRequestConfigurableOptions,\n SalesforceField,\n SalesforceObject,\n SearchRequest,\n} from '@veloceapps/core';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class SalesforceApiService {\n private readonly SERVICE_URL = '/proxy';\n\n constructor(private httpService: BaseHttpService) {}\n\n public query<T>(\n searchRequest: SearchRequest,\n objectName: string,\n options?: HttpRequestConfigurableOptions,\n ): Observable<T[]> {\n return this.httpService.api({\n method: 'post',\n body: { ...searchRequest, count: searchRequest.count || 100 },\n url: `${this.SERVICE_URL}/query/${objectName}`,\n ...options,\n });\n }\n\n public queryObjects(search?: string, options?: HttpRequestConfigurableOptions): Observable<SalesforceObject[]> {\n let params = new HttpParams();\n if (search) {\n params = params.append('search', search);\n }\n\n return this.httpService.api({\n url: `${this.SERVICE_URL}/query`,\n params,\n ...options,\n });\n }\n\n public search<T = any>(\n req: { searchString: string },\n options?: HttpRequestConfigurableOptions,\n ): Observable<{ searchRecords: T[] }> {\n return this.httpService.api({\n url: `${this.SERVICE_URL}/rest/search`,\n params: { q: req.searchString },\n ...options,\n });\n }\n\n public describeObject(objectName: string, options?: HttpRequestConfigurableOptions): Observable<SalesforceField[]> {\n const methodUrl = `${this.SERVICE_URL}/describe/${objectName}/fields`;\n\n return this.httpService.api({ url: methodUrl, ...options });\n }\n\n public describeField(\n objectName: string,\n fieldName: string,\n options?: HttpRequestConfigurableOptions,\n ): Observable<SalesforceField> {\n const methodUrl = `${this.SERVICE_URL}/describe/${objectName}/fields/${fieldName}`;\n\n return this.httpService.api({ url: methodUrl, ...options });\n }\n\n public describe2<T>(objectName: string, fields: string[], options?: HttpRequestConfigurableOptions): Observable<T> {\n const methodUrl = `${this.SERVICE_URL}/describe/${objectName}/fields`;\n\n return this.httpService.api({ method: 'post', url: methodUrl, body: fields, ...options });\n }\n\n public apexGetRequest<T>(\n path: string,\n params: HttpParams | Record<string, any>,\n options?: HttpRequestConfigurableOptions,\n ): Observable<T> {\n // this line is needed because HttpParams instance from Integration behaves wrong in studio instance of Angular\n const httpParams = new HttpParams({ fromString: params.toString() });\n\n return this.httpService.api({ url: `${this.SERVICE_URL}/apex${path}`, params: httpParams, ...options });\n }\n\n public apexPostRequest<T, S>(path: string, body: S, options?: HttpRequestConfigurableOptions): Observable<T> {\n return this.httpService.api({\n method: 'post',\n body,\n url: `${this.SERVICE_URL}/apex${path}`,\n ...options,\n });\n }\n\n public getGlobalPicklists(): Observable<GlobalPicklist[]> {\n return this.httpService.api({\n method: 'get',\n url: `${this.SERVICE_URL}/globalvalueset`,\n });\n }\n\n public getGlobalPicklistValues(id: string): Observable<GlobalPicklistValue[]> {\n return this.httpService.api({\n method: 'get',\n url: `${this.SERVICE_URL}/globalvalueset/${id}/values`,\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { NewSalesforceOrganization, SalesforceOrganization, VlWindow } from '@veloceapps/core';\nimport { Dictionary } from 'lodash';\nimport { MessageService } from 'primeng/api';\nimport { Observable, catchError, from, map, of } from 'rxjs';\nimport { handleCanvasResponse } from '../utils/canvas.utils';\n\ndeclare const window: VlWindow;\n\n@Injectable()\nexport class SandboxManagerApiService {\n constructor(private messageService: MessageService) {}\n\n public getSalesforceOrganizations$(): Observable<SalesforceOrganization[]> {\n try {\n return window.doSandboxCall\n ? from(window.doSandboxCall('orgs', '', 'GET')).pipe(\n map(response =>\n handleCanvasResponse<SalesforceOrganization[], SalesforceOrganization[]>(\n response,\n [],\n this.publishErrorMessage,\n ),\n ),\n catchError(() => of([])),\n )\n : of([]);\n } catch {\n return of([]);\n }\n }\n\n public getAvailableSalesforceOrganizationSizes$(): Observable<Dictionary<number>> {\n try {\n return window.doSandboxCall\n ? from(window.doSandboxCall('available-sizes', '', 'GET')).pipe(\n map(response =>\n handleCanvasResponse<Dictionary<number>, Dictionary<number>>(response, {}, this.publishErrorMessage),\n ),\n catchError(() => of({})),\n )\n : of({});\n } catch {\n return of({});\n }\n }\n\n public createSalesforceOrganization$(\n payload: NewSalesforceOrganization,\n ): Observable<SalesforceOrganization | undefined> {\n try {\n return window.doSandboxCall\n ? from(window.doSandboxCall('orgs', JSON.stringify(payload), 'POST')).pipe(\n map(response =>\n handleCanvasResponse<SalesforceOrganization, undefined>(response, undefined, this.publishErrorMessage),\n ),\n catchError(() => of(undefined)),\n )\n : of(undefined);\n } catch (err) {\n return of(undefined);\n }\n }\n\n public updateSalesforceOrganization$(\n payload: SalesforceOrganization,\n ): Observable<SalesforceOrganization | undefined> {\n try {\n return window.doSandboxCall\n ? from(window.doSandboxCall(`orgs/${payload.orgId}`, JSON.stringify(payload), 'POST')).pipe(\n map(response =>\n handleCanvasResponse<SalesforceOrganization, undefined>(response, undefined, this.publishErrorMessage),\n ),\n catchError(() => of(undefined)),\n )\n : of(undefined);\n } catch {\n return of(undefined);\n }\n }\n\n public deleteSalesforceOrganization$(\n payload: SalesforceOrganization,\n ): Observable<SalesforceOrganization | undefined> {\n try {\n return window.doSandboxCall\n ? from(window.doSandboxCall(`orgs/${payload.orgId}`, '', 'DELETE')).pipe(\n map(response =>\n handleCanvasResponse<SalesforceOrganization, undefined>(response, undefined, this.publishErrorMessage),\n ),\n catchError(() => of(undefined)),\n )\n : of(undefined);\n } catch {\n return of(undefined);\n }\n }\n\n public activateSalesforceOrganization$(\n payload: SalesforceOrganization,\n ): Observable<SalesforceOrganization | undefined> {\n try {\n return window.doSandboxCall\n ? from(window.doSandboxCall(`orgs/${payload.orgId}/activate`, JSON.stringify({}), 'POST')).pipe(\n map(response =>\n handleCanvasResponse<SalesforceOrganization, undefined>(response, undefined, this.publishErrorMessage),\n ),\n catchError(() => of(undefined)),\n )\n : of(undefined);\n } catch {\n return of(undefined);\n }\n }\n\n public deactivateSalesforceOrganization$(\n payload: SalesforceOrganization,\n ): Observable<SalesforceOrganization | undefined> {\n try {\n return window.doSandboxCall\n ? from(window.doSandboxCall(`orgs/${payload.orgId}/deactivate`, JSON.stringify({}), 'POST')).pipe(\n map(response =>\n handleCanvasResponse<SalesforceOrganization, undefined>(response, undefined, this.publishErrorMessage),\n ),\n catchError(() => of(undefined)),\n )\n : of(undefined);\n } catch {\n return of(undefined);\n }\n }\n\n /**\n * Shows an error message using the message service.\n *\n * @param {string} message - the error message to be published.\n */\n private publishErrorMessage = (message: string): void => {\n this.messageService.add({ severity: 'error', summary: message, sticky: true });\n };\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BaseHttpService, Expression, NewScript, Script, ScriptDetails, ScriptExecuteRequest } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { CloneRequest } from '../types/clone-request.types';\nimport { map } from 'rxjs/operators';\n\n@Injectable()\nexport class ScriptsApiService {\n private readonly serviceUrl: string = '/admin/scripts';\n\n constructor(private baseHttpService: BaseHttpService) {}\n\n public fetchScripts$ = (): Observable<Script[]> => {\n return this.baseHttpService.api<Script[]>({ url: `${this.serviceUrl}` });\n };\n\n public searchScripts$ = (expression: Expression, skip?: number, count?: number): Observable<Script[]> => {\n let params = new HttpParams();\n if (typeof skip === 'number') {\n params = params.set('skip', '' + skip);\n }\n if (typeof count === 'number') {\n params = params.set('count', '' + count);\n }\n return this.baseHttpService.api({ method: 'post', url: `${this.serviceUrl}/search`, params, body: expression });\n };\n\n public fetchScript$ = (id: string): Observable<ScriptDetails> => {\n return this.baseHttpService.api<ScriptDetails>({ url: `${this.serviceUrl}/${id}` });\n };\n\n public createScript$ = (script: NewScript): Observable<Script> => {\n return this.baseHttpService.api<Script>({\n url: `${this.serviceUrl}`,\n method: 'post',\n body: script,\n });\n };\n\n public updateScriptMeta$ = (script: Script): Observable<ScriptDetails> => {\n return this.baseHttpService.api<ScriptDetails>({\n url: `${this.serviceUrl}/${script.id}`,\n method: 'put',\n body: script,\n });\n };\n\n public updateScriptDetails$ = (script: ScriptDetails): Observable<ScriptDetails> => {\n return this.baseHttpService.api<ScriptDetails>({\n url: `${this.serviceUrl}/${script.id}`,\n method: 'put',\n body: script,\n });\n };\n\n public cloneScript$ = (cloneRequest: CloneRequest): Observable<string> => {\n return this.baseHttpService\n .api({\n url: `${this.serviceUrl}/${cloneRequest.id}/clone`,\n method: 'post',\n body: cloneRequest,\n })\n .pipe(map(response => response.clonedRecordId));\n };\n\n public removeScript$ = (id: string): Observable<string> => {\n return this.baseHttpService.api<string>({\n url: `${this.serviceUrl}/${id}`,\n method: 'delete',\n });\n };\n\n public restoreScript$ = (id: string): Observable<string> => {\n return this.baseHttpService.api<string>({\n url: `${this.serviceUrl}/${id}/restore`,\n method: 'patch',\n });\n };\n\n public execute$ = (body: ScriptExecuteRequest): Observable<any> => {\n return this.baseHttpService.api({\n url: `/scripts/execute`,\n method: 'post',\n body,\n errorHandler: () => null,\n });\n };\n}\n","import { Injectable } from '@angular/core';\nimport { ConfigurationSettings, parseJsonSafely, ShoppingCartSetting, ShoppingCartSettings } from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ConfigurationSettingsApiService } from './configuration-settings-api.service';\n\n@Injectable()\nexport class ShoppingCartSettingsApiService {\n private readonly shoppingCartSettingsKey = 'shopping-cart';\n\n constructor(private configurationSettingsApiService: ConfigurationSettingsApiService) {}\n\n public getSetting(id: string): Observable<ShoppingCartSetting | undefined> {\n return this.fetchSettings().pipe(\n map((settings): ShoppingCartSetting[] => parseJsonSafely<ShoppingCartSetting[]>(settings?.value, [])),\n map(settings => settings.find(setting => setting.id == id)),\n );\n }\n\n public fetchSettings(): Observable<ConfigurationSettings | null> {\n return this.configurationSettingsApiService.fetchSetting(this.shoppingCartSettingsKey, { skipErrorHandler: true });\n }\n\n public getSettingsMap(): Observable<ShoppingCartSettings> {\n return this.fetchSettings().pipe(\n map((settings: ConfigurationSettings | null) => parseJsonSafely<ShoppingCartSetting[]>(settings?.value, [])),\n map((settings: ShoppingCartSetting[]) =>\n settings.reduce((acc, setting) => {\n return { ...acc, [setting.id]: setting.properties };\n }, {} as ShoppingCartSettings),\n ),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n BaseHttpService,\n ConfigurationExecuteRequest,\n ConfigurationExecuteResponse,\n QuoteDraft,\n} from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { StatefulConfigurationRequest } from '../types/stateful-configuration.types';\n\n@Injectable()\nexport class StatefulConfigurationApiService {\n private readonly SERVICE_URL = '/configuration/states';\n\n constructor(private httpService: BaseHttpService) {}\n\n /**\n * Initialize configuration state\n * @param request Request\n * @returns ID of new configuration state\n */\n public init(request: StatefulConfigurationRequest): Observable<string> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/init`,\n body: request,\n responseType: 'text',\n });\n }\n\n /**\n * Get existing state by ID\n * @param id ID\n * @returns Configuration State\n */\n public get(id: string): Observable<QuoteDraft> {\n return this.httpService.api({\n url: `${this.SERVICE_URL}/${id}`,\n });\n }\n\n /**\n * Execute actions/selectors\n * @param id State ID\n * @param request Request\n * @returns Execute result\n */\n public execute(id: string, request: ConfigurationExecuteRequest): Observable<ConfigurationExecuteResponse> {\n return this.httpService.api({\n method: 'post',\n url: `${this.SERVICE_URL}/${id}/execute`,\n body: request,\n });\n }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n BaseHttpService,\n NewUIDefinitionContainer,\n NewUIDefinitionContainerDTO,\n UIDefinitionContainer,\n UIDefinitionContainerDTO,\n uiDefinitionFromDTO,\n uiDefinitionToDTO,\n} from '@veloceapps/core';\nimport { omit } from 'lodash';\nimport { Observable, map } from 'rxjs';\n\n@Injectable()\nexport class UIDefinitionsApiService {\n private readonly serviceUrl: string = '/uidefinitions';\n\n constructor(private baseHttpService: BaseHttpService) {}\n\n public fetch$(modelId: string, version?: number): Observable<UIDefinitionContainer[]> {\n const serviceUrl = this.getServiceUrl(modelId);\n let params = new HttpParams();\n if (version != null) {\n params = params.set('modelVersion', version);\n }\n\n return this.baseHttpService\n .api<UIDefinitionContainerDTO[]>({\n method: 'get',\n url: serviceUrl,\n params: params,\n })\n .pipe(map(containers => containers.map(uiDefinitionFromDTO)));\n }\n\n public create$(modelId: string, uiDefinitionContainer: NewUIDefinitionContainer): Observable<UIDefinitionContainer> {\n const serviceUrl = this.getServiceUrl(modelId);\n const dto = {\n ...omit(uiDefinitionContainer, 'source'),\n name: uiDefinitionContainer.source.name,\n modelId: uiDefinitionContainer.source.modelId,\n templateName: uiDefinitionContainer.source.uiTemplateData?.TEMPLATE_NAME,\n rootType: uiDefinitionContainer.source.uiTemplateData?.ROOT_TYPE,\n defaultFlag: uiDefinitionContainer.source.primary,\n sourceBlob: JSON.stringify(uiDefinitionContainer.source),\n };\n\n return this.baseHttpService\n .api<UIDefinitionContainerDTO>({\n method: 'post',\n url: serviceUrl,\n body: dto,\n })\n .pipe(map(container => uiDefinitionFromDTO(container)));\n }\n\n public get$(modelId: string, uiDefinitionId: string): Observable<UIDefinitionContainer | null> {\n const serviceUrl = this.getServiceUrl(modelId);\n\n return this.baseHttpService\n .api<UIDefinitionContainerDTO>({\n method: 'get',\n url: `${serviceUrl}/${uiDefinitionId}`,\n })\n .pipe(map(container => uiDefinitionFromDTO({ ...container, id: uiDefinitionId })));\n }\n\n public update$(uiDefinitionContainer: UIDefinitionContainer): Observable<UIDefinitionContainer> {\n const serviceUrl = this.getServiceUrl(uiDefinitionContainer.modelId);\n const dto = uiDefinitionToDTO(uiDefinitionContainer);\n\n return this.baseHttpService\n .api<UIDefinitionContainerDTO>({\n method: 'put',\n url: `${serviceUrl}/${uiDefinitionContainer.id}`,\n body: dto,\n })\n .pipe(map(container => uiDefinitionFromDTO(container)));\n }\n\n public delete$(uiDefinitionContainer: UIDefinitionContainer): Observable<void> {\n const serviceUrl = this.getServiceUrl(uiDefinitionContainer.modelId);\n\n return this.baseHttpService.api({\n method: 'delete',\n url: `${serviceUrl}/${uiDefinitionContainer.id}`,\n });\n }\n\n private getServiceUrl(modelId: string): string {\n return `/models/${modelId}/uidefinitions`;\n }\n\n public fetchUIDefinitions$(): Observable<any> {\n return this.baseHttpService.api({\n method: 'get',\n url: this.serviceUrl,\n });\n }\n\n public fetchUIDefinition$(id: string): Observable<any> {\n return this.baseHttpService\n .api({\n method: 'get',\n url: `${this.serviceUrl}/${id}`,\n })\n .pipe(\n map(container => uiDefinitionFromDTO({ ...container, id })),\n map(uiDefinition => {\n const result = uiDefinition;\n if (!uiDefinition.modelId && uiDefinition.source.modelId) {\n result['modelId'] = uiDefinition.source.modelId;\n }\n return result;\n }),\n );\n }\n\n public createUIDefinition$(body: any): Observable<any> {\n return this.baseHttpService.api({\n method: 'post',\n url: this.serviceUrl,\n body,\n });\n }\n\n public updateUIDefinition$(uiDefinition: any): Observable<any> {\n return this.baseHttpService.api({\n method: 'put',\n url: `${this.serviceUrl}/${uiDefinition.id}`,\n body: uiDefinition,\n });\n }\n\n public deleteUIDefinition$(id: string): Observable<any> {\n return this.baseHttpService.api({\n method: 'delete',\n url: `${this.serviceUrl}/${id}`,\n });\n }\n}\n","import { ComponentStory, ComponentStoryAttachments } from '@veloceapps/core';\nimport { UIComponentStoryDTO } from '../types/dto/ui-template-dto.types';\n\nexport const fromUIComponentStoryDTO = (\n dto: UIComponentStoryDTO,\n attachments: ComponentStoryAttachments,\n): ComponentStory => {\n return {\n id: dto.id,\n name: dto.name,\n uiComponentId: dto.uiComponentId,\n description: dto.description,\n section: attachments.json,\n template: attachments.html,\n script: attachments.js,\n styles: attachments.css,\n };\n};\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n BaseHttpService,\n ComponentAttachments,\n ComponentStory,\n ComponentStoryAttachments,\n Expression,\n NewComponentStory,\n NewTemplateComponent,\n NewUITemplate,\n TemplateAttachmentType,\n TemplateComponent,\n UITemplate,\n} from '@veloceapps/core';\nimport { Dictionary } from 'lodash';\nimport { catchError, forkJoin, map, noop, Observable, of, switchMap } from 'rxjs';\nimport { CloneRequest } from '../types/clone-request.types';\nimport { UIComponentStoryDTO } from '../types/dto/ui-template-dto.types';\nimport { fromUIComponentStoryDTO } from '../utils/ui-template.utils';\n\n@Injectable()\nexport class UITemplatesApiService {\n private readonly serviceUrl: string = '/uitemplates';\n\n constructor(private baseHttpService: BaseHttpService) {}\n\n public fetchTemplates$ = (name?: string): Observable<UITemplate[]> => {\n let params = new HttpParams();\n if (name) {\n params = params.append('name', name);\n }\n\n return this.baseHttpService.api<UITemplate[]>({ url: `${this.serviceUrl}`, params });\n };\n\n public createTemplate$ = (template: NewUITemplate): Observable<UITemplate> => {\n return this.baseHttpService.api<UITemplate>({\n method: 'post',\n url: `${this.serviceUrl}`,\n body: template,\n });\n };\n\n public updateTemplate$ = (template: UITemplate): Observable<UITemplate> => {\n return this.baseHttpService.api<UITemplate>({\n method: 'put',\n url: `${this.serviceUrl}/${template.id}`,\n body: template,\n });\n };\n\n public duplicateTemplate$ = (template: UITemplate, cloneRequest: CloneRequest): Observable<string> => {\n return this.baseHttpService\n .api({\n url: `${this.serviceUrl}/${template.id}/clone`,\n method: 'post',\n body: cloneRequest,\n })\n .pipe(map(response => response.clonedRecordId));\n };\n\n public removeTemplate$ = (id: string): Observable<void> => {\n return this.baseHttpService.api({\n method: 'delete',\n url: `${this.serviceUrl}/${id}`,\n });\n };\n\n public restoreTemplate$ = (id: string): Observable<void> => {\n return this.baseHttpService.api({\n method: 'patch',\n url: `${this.serviceUrl}/${id}`,\n });\n };\n\n public searchTemplates$ = (data: {\n params?: Dictionary<string>;\n expression?: Expression;\n }): Observable<UITemplate[]> => {\n return this.baseHttpService.api({\n method: 'post',\n url: `${this.serviceUrl}/search`,\n params: data.params,\n body: data.expression,\n });\n };\n\n public fetchComponents$ = (templateId: string, name?: string): Observable<TemplateComponent[]> => {\n let params = new HttpParams();\n if (name) {\n params = params.append('name', name);\n }\n\n return this.baseHttpService.api<TemplateComponent[]>({\n url: `${this.serviceUrl}/${templateId}/components`,\n params,\n });\n };\n\n public fetchComponent$ = (templateId: string, componentId: string): Observable<TemplateComponent> => {\n return this.baseHttpService.api<TemplateComponent>({\n url: `${this.serviceUrl}/${templateId}/components/${componentId}`,\n });\n };\n\n public createComponent$ = (component: NewTemplateComponent): Observable<TemplateComponent> => {\n return this.baseHttpService.api<TemplateComponent>({\n method: 'post',\n url: `${this.serviceUrl}/${component.uiTemplateId}/components`,\n body: component,\n });\n };\n\n public updateComponent$ = (component: TemplateComponent): Observable<TemplateComponent> => {\n return this.baseHttpService.api<TemplateComponent>({\n method: 'put',\n url: `${this.serviceUrl}/${component.uiTemplateId}/components/${component.id}`,\n body: component,\n });\n };\n\n public duplicateComponent$ = (component: TemplateComponent, cloneRequest: CloneRequest): Observable<string> => {\n return this.baseHttpService\n .api({\n url: `${this.serviceUrl}/${component.uiTemplateId}/components/${component.id}/clone`,\n method: 'post',\n body: cloneRequest,\n })\n .pipe(map(response => response.clonedRecordId));\n };\n\n public removeComponent$ = (templateId: string, componentId: string): Observable<void> => {\n return this.baseHttpService.api({\n method: 'delete',\n url: `${this.serviceUrl}/${templateId}/components/${componentId}`,\n });\n };\n\n public restoreComponent$ = (templateId: string, componentId: string): Observable<void> => {\n return this.baseHttpService.api({\n method: 'patch',\n url: `${this.serviceUrl}/${templateId}/components/${componentId}`,\n });\n };\n\n public searchComponents$ = (\n templateId: string,\n data: { params?: Dictionary<string>; expression?: Expression },\n ): Observable<TemplateComponent[]> => {\n return this.baseHttpService.api({\n method: 'post',\n url: `${this.serviceUrl}/${templateId}/components/search`,\n params: data.params,\n body: data.expression,\n });\n };\n\n public fetchStoryAttachment = (\n templateId: string,\n componentId: string,\n storyId: string,\n type: TemplateAttachmentType,\n ): Observable<string> => {\n return this.baseHttpService\n .api<string>({\n url: `${this.serviceUrl}/${templateId}/components/${componentId}/stories/${storyId}/attachments/${type}/file`,\n responseType: 'text',\n errorHandler: noop,\n })\n .pipe(catchError(() => of('')));\n };\n\n private convertToComponentStory$ = (\n templateId: string,\n componentId: string,\n storyDto: UIComponentStoryDTO,\n ): Observable<ComponentStory> => {\n return forkJoin([\n this.fetchStoryAttachment(templateId, componentId, storyDto.id, 'html'),\n this.fetchStoryAttachment(templateId, componentId, storyDto.id, 'js'),\n this.fetchStoryAttachment(templateId, componentId, storyDto.id, 'css'),\n this.fetchStoryAttachment(templateId, componentId, storyDto.id, 'json'),\n ]).pipe(\n map(([html, js, css, json]) => ({ html, js, css, json })),\n map(attachments => fromUIComponentStoryDTO(storyDto, attachments)),\n );\n };\n\n public fetchStories$ = (templateId: string, componentId: string, name?: string): Observable<ComponentStory[]> => {\n let params = new HttpParams();\n if (name) {\n params = params.append('name', name);\n }\n\n return this.baseHttpService\n .api<UIComponentStoryDTO[]>({\n url: `${this.serviceUrl}/${templateId}/components/${componentId}/stories`,\n params,\n })\n .pipe(\n switchMap(dtos => {\n if (!dtos.length) {\n return of([]);\n }\n return forkJoin(dtos.map(dto => this.convertToComponentStory$(templateId, componentId, dto)));\n }),\n );\n };\n\n public fetchStory$ = (templateId: string, componentId: string, storyId: string): Observable<ComponentStory> => {\n return this.baseHttpService\n .api<UIComponentStoryDTO>({\n url: `${this.serviceUrl}/${templateId}/components/${componentId}/stories/${storyId}`,\n })\n .pipe(switchMap(dto => this.convertToComponentStory$(templateId, componentId, dto)));\n };\n\n public createComponentStory$ = (templateId: string, story: NewComponentStory): Observable<ComponentStory> => {\n return this.baseHttpService.api<ComponentStory>({\n method: 'post',\n url: `${this.serviceUrl}/${templateId}/components/${story.uiComponentId}/stories`,\n body: story,\n });\n };\n\n public updateComponentStory$ = (templateId: string, story: ComponentStory): Observable<ComponentStory> => {\n const { script, template, styles, section, ...rest } = story;\n\n return this.baseHttpService\n .api<UIComponentStoryDTO>({\n method: 'put',\n url: `${this.serviceUrl}/${templateId}/components/${story.uiComponentId}/stories/${story.id}`,\n body: rest,\n })\n .pipe(map(dto => fromUIComponentStoryDTO(dto, { html: template, js: script, css: styles, json: section })));\n };\n\n public duplicateComponentStory$ = (story: ComponentStory, cloneRequest: CloneRequest): Observable<string> => {\n return this.baseHttpService\n .api({\n url: `${this.serviceUrl}/${story.template}/components/${story.uiComponentId}/stories/${story.id}/clone`,\n method: 'post',\n body: cloneRequest,\n })\n .pipe(map(response => response.clonedRecordId));\n };\n\n public deleteComponentStory$ = (templateId: string, componentId: string, storyId: string): Observable<void> => {\n return this.baseHttpService.api({\n method: 'delete',\n url: `${this.serviceUrl}/${templateId}/components/${componentId}/stories/${storyId}`,\n });\n };\n\n public restoreComponentStory$ = (templateId: string, componentId: string, storyId: string): Observable<void> => {\n return this.baseHttpService.api({\n method: 'patch',\n url: `${this.serviceUrl}/${templateId}/components/${componentId}/stories/${storyId}`,\n });\n };\n\n public uploadStoryAttachments$ = (\n templateId: string,\n componentId: string,\n storyId: string,\n attachments: ComponentStoryAttachments,\n ): Observable<void> => {\n const formData = new FormData();\n if (attachments.html != null) {\n formData.append('html', new Blob([attachments.html]), 'story-template.html');\n }\n if (attachments.css != null) {\n formData.append('css', new Blob([attachments.css]), 'story-styles.css');\n }\n if (attachments.js != null) {\n formData.append('js', new Blob([attachments.js]), 'story-script.js');\n }\n if (attachments.json != null) {\n formData.append('json', new Blob([attachments.json]), 'story-section.json');\n }\n\n return this.baseHttpService.upload({\n method: 'post',\n url: `${this.serviceUrl}/${templateId}/components/${componentId}/stories/${storyId}/attachments`,\n body: formData,\n });\n };\n\n public getTemplateThumbnailUrl(templateId: string) {\n return `${this.serviceUrl}/${templateId}/thumbnail/file`;\n }\n\n public attachTemplateThumbnail$(templateId: string, file: File) {\n const data = new FormData();\n data.append('thumb', file);\n\n return this.baseHttpService.upload({\n method: 'post',\n url: `${this.serviceUrl}/${templateId}/thumbnail`,\n body: data,\n });\n }\n\n public removeTemplateThumbnail$(templateId: string) {\n return this.baseHttpService.api({\n method: 'delete',\n url: `${this.serviceUrl}/${templateId}/thumbnail`,\n });\n }\n\n public fetchComponentAttachments$ = (\n templateId: string,\n component: TemplateComponent,\n ): Observable<ComponentAttachments> => {\n return forkJoin([\n this.fetchComponentAttachmentFile$(templateId, component.id, 'html'),\n this.fetchComponentAttachmentFile$(templateId, component.id, 'js'),\n this.fetchComponentAttachmentFile$(templateId, component.id, 'css'),\n this.fetchComponentAttachmentFile$(templateId, component.id, 'json'),\n ]).pipe(map(([html, js, css, json]) => ({ html, js, css, json })));\n };\n\n public fetchComponentsAttachments$ = (templateId: string): Observable<ComponentAttachments[]> => {\n return this.fetchComponents$(templateId).pipe(\n switchMap(components => {\n return forkJoin(components.map(component => this.fetchComponentAttachments$(templateId, component)));\n }),\n );\n };\n\n private fetchComponentAttachmentFile$ = (\n templateId: string,\n componentId: string,\n attachmentType: TemplateAttachmentType,\n ): Observable<string> => {\n return this.baseHttpService\n .api({\n method: 'get',\n url: `${this.serviceUrl}/${templateId}/components/${componentId}/attachments/${attachmentType}/file`,\n responseType: 'text',\n errorHandler: noop,\n })\n .pipe(catchError(() => of('')));\n };\n\n public uploadComponentAttachments$ = (\n templateId: string,\n componentId: string,\n attachments: ComponentAttachments,\n ): Observable<void> => {\n const formData = new FormData();\n if (attachments.html != null) {\n formData.append('html', new Blob([attachments.html]), 'template.html');\n }\n if (attachments.css != null) {\n formData.append('css', new Blob([attachments.css]), 'styles.css');\n }\n if (attachments.js != null) {\n formData.append('js', new Blob([attachments.js]), 'script.js');\n }\n if (attachments.json != null) {\n formData.append('json', new Blob([attachments.json]), 'section.json');\n }\n\n return this.baseHttpService.upload({\n method: 'post',\n url: `${this.serviceUrl}/${templateId}/components/${componentId}/attachments`,\n body: formData,\n });\n };\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n BaseHttpService,\n Expression,\n NewVeloceObject,\n NewVeloceObjectCategory,\n VeloceObject,\n VeloceObjectCategory,\n} from '@veloceapps/core';\nimport { Observable } from 'rxjs';\nimport { CloneRequest, QuerySearchParams } from '../types';\nimport { map } from 'rxjs/operators';\n\n@Injectable()\nexport class VeloceObjectsApiService {\n private readonly serviceUrl: string = '/veloceobjects';\n\n constructor(private baseHttpService: BaseHttpService) {}\n\n public fetchCategories$(): Observable<VeloceObjectCategory[]> {\n return this.baseHttpService.api<VeloceObjectCategory[]>({ url: `${this.serviceUrl}/categories` });\n }\n\n public createCategory$(category: NewVeloceObjectCategory): Observable<VeloceObjectCategory> {\n return this.baseHttpService.api<VeloceObjectCategory>({\n method: 'post',\n url: `${this.serviceUrl}/categories`,\n body: category,\n });\n }\n\n public updateCategory$ = (category: VeloceObjectCategory): Observable<VeloceObjectCategory> => {\n return this.baseHttpService.api<VeloceObjectCategory>({\n method: 'put',\n url: `${this.serviceUrl}/categories/${category.id}`,\n body: category,\n });\n };\n\n public deleteCategory$ = (id: string): Observable<void> => {\n return this.baseHttpService.api({\n method: 'delete',\n url: `${this.serviceUrl}/categories/${id}`,\n });\n };\n\n public fetchObjects$(): Observable<VeloceObject[]> {\n return this.baseHttpService.api<VeloceObject[]>({ url: `${this.serviceUrl}` });\n }\n\n public fetchObject$(id: string): Observable<VeloceObject> {\n return this.baseHttpService.api<VeloceObject>({ url: `${this.serviceUrl}/${id}` });\n }\n\n public searchObjects$ = (searchParams?: QuerySearchParams, expression?: Expression): Observable<VeloceObject[]> => {\n const params = new HttpParams({ fromObject: { ...searchParams } });\n\n return this.baseHttpService.api({\n method: 'post',\n url: `${this.serviceUrl}/search`,\n params,\n body: expression || {},\n });\n };\n\n public createObject$(object: NewVeloceObject): Observable<VeloceObject> {\n return this.baseHttpService.api<VeloceObject>({\n method: 'post',\n url: `${this.serviceUrl}`,\n body: object,\n });\n }\n\n public updateObject$(object: VeloceObject): Observable<VeloceObject> {\n return this.baseHttpService.api<VeloceObject>({\n method: 'put',\n url: `${this.serviceUrl}/${object.id}`,\n body: object,\n });\n }\n\n public deleteObject$ = (id: string): Observable<void> => {\n return this.baseHttpService.api({\n method: 'delete',\n url: `${this.serviceUrl}/${id}`,\n });\n };\n\n public duplicateObject$ = (body: CloneRequest): Observable<string> => {\n return this.baseHttpService\n .api({\n method: 'post',\n url: `${this.serviceUrl}/${body.id}/clone`,\n body,\n })\n .pipe(map(response => response.clonedRecordId));\n };\n\n public restoreObject$ = (id: string): Observable<void> => {\n return this.baseHttpService.api({\n method: 'patch',\n url: `${this.serviceUrl}/${id}/restore`,\n });\n };\n}\n","import { HttpClientModule } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { BaseHttpService, XrayService } from '@veloceapps/core';\nimport { AccountApiService } from './services/account-api.service';\nimport { VeloceAuthService } from './services/auth.service';\nimport { CatalogAdminApiService } from './services/catalog-admin-api.service';\nimport { CatalogApiService } from './services/catalog-api.service';\nimport { ConfigurationApiService } from './services/configuration-api.service';\nimport { ConfigurationProcessorsApiService } from './services/configuration-processors-api.service';\nimport { ConfigurationSettingsApiService } from './services/configuration-settings-api.service';\nimport { ContextApiService } from './services/context-api.service';\nimport { ContractedPriceApiService } from './services/contracted-price-api.service';\nimport { DeltaApiService } from './services/delta-api.service';\nimport { DocumentAttachmentApiService } from './services/document-attachment-api.service';\nimport { EndpointsApiService } from './services/endpoints-api.service';\nimport { FlowStateApiService } from './services/flow-state-api';\nimport { FlowsApiService } from './services/flows-api.service';\nimport { GuidedSellingsAdminApiService } from './services/guided-sellings-admin-api.service';\nimport { GuidedSellingApiService } from './services/guided-sellings-api.service';\nimport { OffersApiService } from './services/offers-api.service';\nimport { OrgInfoApiService } from './services/org-info-api.service';\nimport { PicklistsApiService } from './services/picklists-api.service';\nimport { PortalsApiService } from './services/portals-api.service';\nimport { PriceApiService } from './services/price-api.service';\nimport { ProceduresApiService } from './services/procedures-api.service';\nimport { ProductApiService } from './services/product-api.service';\nimport { ProductModelApiService } from './services/product-model-api.service';\nimport { PromotionsApiService } from './services/promotions-api.service';\nimport { QuoteApiService } from './services/quote-api.service';\nimport { RampApiService } from './services/ramp-api.service';\nimport { RebateProgramApiService } from './services/rebate-program-api.service';\nimport { RebateTypeApiService } from './services/rebate-type-api.service';\nimport { RlmApiService } from './services/rlm-api.service';\nimport { RlmQuoteApiService } from './services/rlm-quote-api.service';\nimport { RuleGroupsApiService } from './services/rule-groups-api.service';\nimport { RulesApiService } from './services/rules-api.service';\nimport { SalesforceApiService } from './services/salesforce-api.service';\nimport { SandboxManagerApiService } from './services/sandbox-manager-api.service';\nimport { ScriptsApiService } from './services/scripts-api.service';\nimport { ShoppingCartSettingsApiService } from './services/shopping-cart-settings-api.service';\nimport { StatefulConfigurationApiService } from './services/stateful-configuration-api';\nimport { UIDefinitionsApiService } from './services/ui-definitions-api.service';\nimport { UITemplatesApiService } from './services/ui-templates-api.service';\nimport { VeloceObjectsApiService } from './services/veloce-objects-api.service';\n\n@NgModule({\n imports: [HttpClientModule],\n providers: [\n BaseHttpService,\n XrayService,\n ConfigurationApiService,\n ConfigurationSettingsApiService,\n ContextApiService,\n DocumentAttachmentApiService,\n PriceApiService,\n ProductModelApiService,\n ProceduresApiService,\n QuoteApiService,\n RampApiService,\n SalesforceApiService,\n UITemplatesApiService,\n ScriptsApiService,\n RulesApiService,\n RuleGroupsApiService,\n FlowsApiService,\n GuidedSellingsAdminApiService,\n ShoppingCartSettingsApiService,\n ProductApiService,\n CatalogAdminApiService,\n GuidedSellingApiService,\n CatalogApiService,\n DeltaApiService,\n AccountApiService,\n PicklistsApiService,\n EndpointsApiService,\n OrgInfoApiService,\n OffersApiService,\n UIDefinitionsApiService,\n VeloceObjectsApiService,\n StatefulConfigurationApiService,\n RebateProgramApiService,\n RebateTypeApiService,\n PromotionsApiService,\n VeloceAuthService,\n ContractedPriceApiService,\n PortalsApiService,\n ConfigurationProcessorsApiService,\n FlowStateApiService,\n SandboxManagerApiService,\n RlmApiService,\n RlmQuoteApiService,\n ],\n})\nexport class ApiModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i1.ConfigurationSettingsApiService","map","catchError"],"mappings":";;;;;;;;;;;MAea,iBAAiB,CAAA;AAE5B,IAAA,WAAA,CAAoB,WAA4B,EAAA;QAA5B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAiB;QAD/B,IAAW,CAAA,WAAA,GAAG,WAAW,CAAC;KACS;AAE7C,IAAA,YAAY,CAAC,OAAwC,EAAA;AAC1D,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,WAAW,CAAE,CAAA;AAC1B,YAAA,GAAG,OAAO;AACX,SAAA,CAAC,CAAC;KACJ;IAEM,eAAe,CACpB,YAAgC,EAChC,OAAwC,EAAA;QAExC,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC;AAE5D,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,WAAW,CAAE,CAAA;AAC1B,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,GAAG,OAAO;AACX,SAAA,CAAC,CAAC;KACJ;IAEM,WAAW,CAAC,EAAU,EAAE,OAAwC,EAAA;AACrE,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,WAAW,CAAA,CAAA,EAAI,EAAE,CAAE,CAAA;AAChC,YAAA,GAAG,OAAO;AACX,SAAA,CAAC,CAAC;KACJ;IAEM,cAAc,CAAC,SAAiB,EAAE,OAAwC,EAAA;AAC/E,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAqB;AAC9C,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,GAAG,EAAE,CAAM,GAAA,EAAA,IAAI,CAAC,WAAW,CAAA,CAAA,EAAI,SAAS,CAAS,OAAA,CAAA;AACjD,YAAA,GAAG,OAAO;AACX,SAAA,CAAC,CAAC;KACJ;IAEM,SAAS,CAAC,SAAiB,EAAE,OAAwC,EAAA;QAC1E,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,WAAW,IAAI,SAAS,CAAA,OAAA,CAAS,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;KAC7F;IAEM,SAAS,CAAC,SAAiB,EAAE,OAAwC,EAAA;QAC1E,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,WAAW,IAAI,SAAS,CAAA,OAAA,CAAS,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;KAC7F;IAEM,SAAS,CAAC,SAAiB,EAAE,OAAwC,EAAA;QAC1E,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,WAAW,IAAI,SAAS,CAAA,OAAA,CAAS,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;KAC7F;AAEM,IAAA,QAAQ,CAAC,SAAiB,EAAE,OAAe,EAAE,OAAwC,EAAA;AAC1F,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;YAC1B,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,CAAI,CAAA,EAAA,SAAS,CAAW,QAAA,EAAA,OAAO,CAAE,CAAA;AACzD,YAAA,GAAG,OAAO;AACX,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,QAAQ,CACb,SAAiB,EACjB,OAAe,EACf,OAAwC,EAAA;AAExC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;YAC1B,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,CAAI,CAAA,EAAA,SAAS,CAAW,QAAA,EAAA,OAAO,CAAE,CAAA;AACzD,YAAA,GAAG,OAAO;AACX,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,QAAQ,CACb,SAAiB,EACjB,OAAe,EACf,OAAwC,EAAA;AAExC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;YAC1B,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,CAAI,CAAA,EAAA,SAAS,CAAW,QAAA,EAAA,OAAO,CAAE,CAAA;AACzD,YAAA,GAAG,OAAO;AACX,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,YAAY,CAAC,SAAiB,EAAE,OAAe,EAAE,OAAwC,EAAA;AAC9F,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;YAC1B,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,CAAI,CAAA,EAAA,SAAS,CAAW,QAAA,EAAA,OAAO,CAAW,SAAA,CAAA;AAClE,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE;AACrB,YAAA,GAAG,OAAO;AACX,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,YAAY,CAAC,SAAiB,EAAE,OAAe,EAAE,OAAwC,EAAA;AAC9F,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;YAC1B,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,CAAI,CAAA,EAAA,SAAS,CAAW,QAAA,EAAA,OAAO,CAAW,SAAA,CAAA;AAClE,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE;AACrB,YAAA,GAAG,OAAO;AACX,SAAA,CAAC,CAAC;KACJ;;8GAjGU,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAjB,iBAAiB,EAAA,CAAA,CAAA;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B,UAAU;;;MCRE,iBAAiB,CAAA;AAC5B,IAAA,WAAA,CAAoB,IAAgB,EAAA;QAAhB,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;KAAI;IAEjC,KAAK,CAAC,WAAmB,EAAE,WAAmB,EAAA;AACnD,QAAA,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC;AAC9B,YAAA,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,CAAU,OAAA,EAAA,WAAW,CAAE,CAAA;AACvC,SAAA,CAAC,CAAC;AAEH,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAqB,CAAA,EAAG,WAAW,CAAA,2CAAA,CAA6C,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;KACpH;;8GAVU,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAjB,iBAAiB,EAAA,CAAA,CAAA;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B,UAAU;;;MCaE,sBAAsB,CAAA;AAKjC,IAAA,WAAA,CAAoB,eAAgC,EAAA;QAAhC,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;QAFnC,IAAU,CAAA,UAAA,GAAW,WAAW,CAAC;AAI3C,QAAA,IAAA,CAAA,cAAc,GAAG,CAAC,YAAgC,KAA2B;AAClF,YAAA,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,EAAE,UAAU,EAAE,EAAE,GAAG,YAAY,EAAE,EAAE,CAAC,CAAC;AACnE,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AACzE,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,eAAe,GAAG,CAAC,YAAgC,EAAE,UAAuB,KAA2B;AAC5G,YAAA,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,EAAE,UAAU,EAAE,EAAE,GAAG,YAAY,EAAE,EAAE,CAAC,CAAC;AAEnE,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAS,OAAA,CAAA;gBAChC,MAAM;gBACN,IAAI,EAAE,UAAU,IAAI,EAAE;AACvB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAC,SAAiB,KAA4B;AACtE,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,SAAS,CAAa,WAAA,CAAA,EAAE,CAAC,CAAC;AACzF,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,eAAe,GAAG,CAAC,SAAiB,EAAE,UAAkB,KAA2B;AACxF,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,MAAM,EAAE,MAAM;gBACd,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,SAAS,CAAe,YAAA,EAAA,UAAU,CAAkB,gBAAA,CAAA;AAC/E,gBAAA,IAAI,EAAE,EAAE;AACT,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAC,SAAiB,EAAE,UAAkB,KAAkC;YAChG,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,IAAI,SAAS,CAAA,YAAA,EAAe,UAAU,CAAa,WAAA,CAAA,EAAE,CAAC,CAAC;AAClH,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,iBAAiB,GAAG,CAAC,WAAuB,KAAyB;AAC1E,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAE,CAAA;AACzB,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,IAAI,EAAE,WAAW;AAClB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,iBAAiB,GAAG,CAAC,YAA0B,KAAyB;AAC7E,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;gBAC9B,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,YAAY,CAAC,EAAE,CAAQ,MAAA,CAAA;AAClD,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,IAAI,EAAE,YAAY;AACnB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,cAAc,GAAG,CAAC,IAAa,KAAsB;AAC1D,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;gBAC9B,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,IAAI,CAAC,EAAE,CAAE,CAAA;AACpC,gBAAA,MAAM,EAAE,KAAK;AACb,gBAAA,IAAI,EAAE,IAAI;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,cAAc,GAAG,CAAC,EAAU,KAAsB;AACvD,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,EAAE,CAAE,CAAA;AAC/B,gBAAA,MAAM,EAAE,QAAQ;AACjB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,eAAe,GAAG,CAAC,EAAU,KAAsB;AACxD,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,EAAE,CAAU,QAAA,CAAA;AACvC,gBAAA,MAAM,EAAE,OAAO;AAChB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,kBAAkB,GAAG,CAAC,YAAyB,KAA0B;AAC9E,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;gBAC9B,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,YAAY,CAAC,SAAS,CAAa,WAAA,CAAA;AAC9D,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,IAAI,EAAE,YAAY;AACnB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,eAAe,GAAG,CAAC,QAAkB,KAA0B;AACpE,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,QAAQ,CAAC,SAAS,CAAA,YAAA,EAAe,QAAQ,CAAC,EAAE,CAAE,CAAA;AACzE,gBAAA,MAAM,EAAE,KAAK;AACb,gBAAA,IAAI,EAAE,QAAQ;AACf,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,kBAAkB,GAAG,CAAC,SAAiB,EAAE,YAA0B,KAAwB;AAChG,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAS;gBACtC,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,SAAS,CAAe,YAAA,EAAA,YAAY,CAAC,EAAE,CAAQ,MAAA,CAAA;AAC1E,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,IAAI,EAAE,YAAY;AACnB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,eAAe,GAAG,CAAC,EAAU,EAAE,SAAiB,KAAsB;AAC3E,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;gBAC9B,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,SAAS,CAAe,YAAA,EAAA,EAAE,CAAE,CAAA;AACvD,gBAAA,MAAM,EAAE,QAAQ;AACjB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAC,EAAU,EAAE,SAAiB,KAAsB;AAC5E,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;gBAC9B,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,SAAS,CAAe,YAAA,EAAA,EAAE,CAAU,QAAA,CAAA;AAC/D,gBAAA,MAAM,EAAE,OAAO;AAChB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;QAEK,IAAgB,CAAA,gBAAA,GAAG,CAAC,EACzB,SAAS,EACT,UAAU,EACV,IAAI,GAC2C,KAAwB;AACvE,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,MAAM,EAAE,QAAQ;AAChB,gBAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,SAAS,CAAA,YAAA,EAAe,UAAU,CAAA,YAAA,EAAe,IAAI,CAAC,EAAE,CAAE,CAAA;AACrF,gBAAA,IAAI,EAAE,IAAI;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;QAEK,IAAiB,CAAA,iBAAA,GAAG,CAAC,EAC1B,SAAS,EACT,UAAU,EACV,IAAI,GAC2C,KAAsB;AACrE,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,SAAS,CAAA,YAAA,EAAe,UAAU,CAAA,YAAA,EAAe,IAAI,CAAC,EAAE,CAAU,QAAA,CAAA;AAC7F,gBAAA,MAAM,EAAE,OAAO;AAChB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;QAEK,IAAmB,CAAA,mBAAA,GAAG,CAAC,EAC5B,SAAS,EACT,UAAU,EACV,IAAI,GAC8C,KAAgC;AAClF,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,MAAM,EAAE,MAAM;gBACd,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,SAAS,CAAe,YAAA,EAAA,UAAU,CAAa,WAAA,CAAA;AAC1E,gBAAA,IAAI,EAAE,IAAI;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;QAEK,IAAgB,CAAA,gBAAA,GAAG,CAAC,EACzB,SAAS,EACT,UAAU,EACV,IAAI,GAC2C,KAAgC;AAC/E,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,MAAM,EAAE,KAAK;AACb,gBAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,SAAS,CAAA,YAAA,EAAe,UAAU,CAAA,YAAA,EAAe,IAAI,CAAC,EAAE,CAAE,CAAA;AACrF,gBAAA,IAAI,EAAE,IAAI;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;QAEK,IAAwB,CAAA,wBAAA,GAAG,CAChC,SAAiB,EACjB,UAAkB,EAClB,UAAsB,EACtB,YAA+B,KACN;AACzB,YAAA,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,EAAE,UAAU,EAAE,EAAE,GAAG,YAAY,EAAE,EAAE,CAAC,CAAC;AAEnE,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,MAAM,EAAE,MAAM;gBACd,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,SAAS,CAAe,YAAA,EAAA,UAAU,CAAoB,kBAAA,CAAA;gBACjF,MAAM;AACN,gBAAA,IAAI,EAAE,UAAU;AACjB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;QAEK,IAAW,CAAA,WAAA,GAAG,CAAC,OAAgB,EAAE,SAAiB,EAAE,UAAkB,KAAI;AAC/E,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,MAAM,EAAE,MAAM;gBACd,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,SAAS,CAAe,YAAA,EAAA,UAAU,CAAW,SAAA,CAAA;AACxE,gBAAA,IAAI,EAAE,OAAO;AACd,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;QAEK,IAAc,CAAA,cAAA,GAAG,CAAC,OAAyB,EAAE,SAAiB,EAAE,UAAkB,KAAI;AAC3F,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,MAAM,EAAE,KAAK;AACb,gBAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,SAAS,CAAA,YAAA,EAAe,UAAU,CAAA,UAAA,EAAa,OAAO,CAAC,EAAE,CAAE,CAAA;AACtF,gBAAA,IAAI,EAAE,OAAO;AACd,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;QAEK,IAAc,CAAA,cAAA,GAAG,CAAC,EACvB,SAAS,EACT,UAAU,EACV,IAAI,GACoC,KAAwB;AAChE,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,MAAM,EAAE,QAAQ;AAChB,gBAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,SAAS,CAAA,YAAA,EAAe,UAAU,CAAA,UAAA,EAAa,IAAI,CAAC,EAAE,CAAE,CAAA;AACpF,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;KAtMsD;AAwMjD,IAAA,YAAY,CAAC,SAAiB,EAAE,UAAkB,EAAE,IAAU,EAAA;AACnE,QAAA,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;AAC5B,QAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAE3B,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;AACjC,YAAA,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,SAAS,CAAe,YAAA,EAAA,UAAU,CAAQ,MAAA,CAAA;AACrE,YAAA,IAAI,EAAE,IAAI;AACX,SAAA,CAAC,CAAC;KACJ;IAEM,YAAY,CAAC,SAAiB,EAAE,UAAkB,EAAA;AACvD,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,YAAA,MAAM,EAAE,QAAQ;YAChB,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,SAAS,CAAe,YAAA,EAAA,UAAU,CAAQ,MAAA,CAAA;AACtE,SAAA,CAAC,CAAC;KACJ;IAEM,WAAW,CAAC,SAAiB,EAAE,UAAkB,EAAA;AACtD,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;YAC9B,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,UAAU,CAAC;AAC5C,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,YAAY,EAAE,MAAM;AACpB,YAAA,YAAY,EAAE,IAAI;AACnB,SAAA,CAAC,CAAC;KACJ;IAEM,WAAW,CAAC,SAAiB,EAAE,UAAkB,EAAA;QACtD,OAAO,CAAA,EAAG,IAAI,CAAC,UAAU,IAAI,SAAS,CAAA,YAAA,EAAe,UAAU,CAAA,MAAA,CAAQ,CAAC;KACzE;;AAzOa,sBAAW,CAAA,WAAA,GAAG,EAAE,CAAC;mHADpB,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;uHAAtB,sBAAsB,EAAA,CAAA,CAAA;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBADlC,UAAU;;;MCFE,iBAAiB,CAAA;AAG5B,IAAA,WAAA,CAAoB,OAAwB,EAAA;QAAxB,IAAO,CAAA,OAAA,GAAP,OAAO,CAAiB;QAF3B,IAAU,CAAA,UAAA,GAAW,mBAAmB,CAAC;KAEV;IAEzC,cAAc,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;AACtB,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAE,CAAA;AAC1B,SAAA,CAAC,CAAC;KACJ;IAEM,eAAe,CAAC,YAAgC,EAAE,UAAuB,EAAA;QAC9E,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC;AAE5D,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;AACtB,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAS,OAAA,CAAA;YAChC,MAAM;AACN,YAAA,IAAI,EAAE,UAAU;AACjB,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,WAAW,CAAC,EAAU,EAAA;AAC3B,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;AACtB,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,EAAE,CAAE,CAAA;AAChC,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,gBAAgB,CAAC,SAAiB,EAAA;AACvC,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;AACtB,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,SAAS,CAAa,WAAA,CAAA;AAClD,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,qBAAqB,CAC1B,SAAiB,EACjB,YAAgC,EAChC,OAA8B,EAAA;QAE9B,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC;AAE5D,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;AACtB,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,SAAS,CAAW,SAAA,CAAA;YAC/C,MAAM;AACN,YAAA,IAAI,EAAE,OAAO;AACd,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,sBAAsB,CAC3B,SAAiB,EACjB,UAAkB,EAClB,YAAgC,EAChC,OAA8B,EAAA;QAE9B,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC;AAE5D,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;AACtB,YAAA,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,SAAS,CAAe,YAAA,EAAA,UAAU,CAAW,SAAA,CAAA;YACxE,MAAM;AACN,YAAA,IAAI,EAAE,OAAO;AACd,SAAA,CAAC,CAAC;KACJ;IAEM,uBAAuB,CAC5B,SAAiB,EACjB,UAAkB,EAClB,YAAgC,EAChC,aAA6B,EAC7B,OAA8B,EAAA;QAE9B,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC;AAE5D,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;AACtB,YAAA,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,SAAS,CAAe,YAAA,EAAA,UAAU,CAAkB,gBAAA,CAAA;YAC/E,MAAM;AACN,YAAA,IAAI,EAAE;AACJ,gBAAA,oBAAoB,EAAE,OAAO;AAC7B,gBAAA,OAAO,EAAE,aAAa;AACvB,aAAA;AACF,SAAA,CAAC,CAAC;KACJ;IAEM,sBAAsB,CAC3B,YAAgC,EAChC,OAA8B,EAAA;QAE9B,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC;AAE5D,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;AACtB,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAW,SAAA,CAAA;AAClC,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,IAAI,EAAE,OAAO;AACd,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,cAAc,CAAC,YAAgC,EAAA;QACpD,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC;AAE5D,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;AACtB,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAW,SAAA,CAAA;AAClC,YAAA,MAAM,EAAE,MAAM;AACf,SAAA,CAAC,CAAC;KACJ;;8GA9GU,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAjB,iBAAiB,EAAA,CAAA,CAAA;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B,UAAU;;;MCEE,uBAAuB,CAAA;AAGlC,IAAA,WAAA,CAAoB,WAA4B,EAAA;QAA5B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAiB;QAF/B,IAAW,CAAA,WAAA,GAAG,gBAAgB,CAAC;KAEI;AAE7C,IAAA,iBAAiB,CAAC,EACvB,oBAAoB,EACpB,YAAY,EACZ,cAAc,GAKf,EAAA;QACC,OAAO,IAAI,CAAC,WAAW;AACpB,aAAA,GAAG,CAAiB;AACnB,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,WAAW,CAAG,EAAA,cAAc,GAAG,QAAQ,GAAG,EAAE,CAAE,CAAA;AAC3D,YAAA,IAAI,EAAE,oBAAoB;YAC1B,YAAY,EAAE,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC;SACjC,CAAC;AACD,aAAA,IAAI,CACH,GAAG,CAAC,cAAc,IAAG;AACnB,YAAA,IAAI,YAAY,EAAE;gBAChB,OAAO;AACL,oBAAA,GAAG,cAAc;oBACjB,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,QAAQ,EAAE,YAAY,CAAC;iBACpE,CAAC;AACH,aAAA;AAAM,iBAAA;AACL,gBAAA,OAAO,cAAc,CAAC;AACvB,aAAA;SACF,CAAC,CACH,CAAC;KACL;AAEM,IAAA,oBAAoB,CAAC,EAC1B,GAAG,EACH,oBAAoB,EACpB,YAAY,GAKb,EAAA;QACC,OAAO,IAAI,CAAC,WAAW;AACpB,aAAA,GAAG,CAAiB;AACnB,YAAA,MAAM,EAAE,MAAM;YACd,GAAG;AACH,YAAA,IAAI,EAAE,oBAAoB;YAC1B,YAAY,EAAE,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC;SACjC,CAAC;AACD,aAAA,IAAI,CACH,GAAG,CAAC,cAAc,IAAG;AACnB,YAAA,IAAI,YAAY,EAAE;gBAChB,OAAO;AACL,oBAAA,GAAG,cAAc;oBACjB,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,QAAQ,EAAE,YAAY,CAAC;iBACpE,CAAC;AACH,aAAA;AAAM,iBAAA;AACL,gBAAA,OAAO,cAAc,CAAC;AACvB,aAAA;SACF,CAAC,CACH,CAAC;KACL;AAEM,IAAA,yBAAyB,CAC9B,SAAiB,EACjB,UAAmB,EACnB,qBAA8B,EAC9B,sBAA+B,EAAA;QAE/B,OAAO,IAAI,CAAC,WAAW;AACpB,aAAA,GAAG,CAAiB;AACnB,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,WAAW,CAAA,CAAA,EAAI,SAAS,CAAQ,MAAA,CAAA,IAAI,CAAC,UAAU,IAAI,CAAI,CAAA,EAAA,UAAU,EAAE,KAAK,EAAE,CAAC;SACzF,CAAC;AACD,aAAA,IAAI,CACH,SAAS,CAAC,WAAW,IAAG;AACtB,YAAA,IAAI,sBAAsB,EAAE;gBAC1B,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAkB,eAAA,EAAA,sBAAsB,CAAE,CAAA,EAAE,CAAC,CAAC,IAAI,CAClG,GAAG,CAAC,YAAY,IAAG;oBACjB,OAAO,EAAE,GAAG,WAAW,EAAE,aAAa,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;iBAC1D,CAAC,CACH,CAAC;AACH,aAAA;AACD,YAAA,MAAM,MAAM,GAA2B,EAAE,SAAS,EAAE,CAAC;AACrD,YAAA,IAAI,qBAAqB,EAAE;AACzB,gBAAA,MAAM,CAAC,uBAAuB,CAAC,GAAG,qBAAqB,CAAC;AACzD,aAAA;YACD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAgB,cAAA,CAAA,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAChF,GAAG,CAAC,aAAa,IAAG;AAClB,gBAAA,OAAO,EAAE,GAAG,WAAW,EAAE,aAAa,EAAE,CAAC;aAC1C,CAAC,CACH,CAAC;AACJ,SAAC,CAAC,EACF,GAAG,CAA8B,WAAW,IAAG;YAC7C,OAAO;AACL,gBAAA,GAAG,WAAW;AACd,gBAAA,aAAa,EAAE,WAAW,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,IAAI,mBAAmB,CAAC,GAAG,CAAC,CAAC;aAC9E,CAAC;SACH,CAAC,CACH,CAAC;KACL;AAEM,IAAA,uBAAuB,CAAC,OAAe,EAAA;AAC5C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,WAAW,CAAA,CAAA,EAAI,OAAO,CAAa,WAAA,CAAA;AACjD,SAAA,CAAC,CAAC;KACJ;IAEO,aAAa,CAAC,QAAkB,EAAE,YAA0B,EAAA;AAClE,QAAA,MAAM,SAAS,GAAG,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7D,MAAM,WAAW,GAAG,EAAE,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;;QAGhD,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,KAAK,IAAI,EAAE,EAAE;YACzC,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,UAAU,EAAE,UAAU,GAAG,mBAAmB,CAAC,KAAK,iBAAiB,CAAC,IAAI,EAAE;AAC5E,gBAAA,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;AAC3C,aAAA;AACF,SAAA;AAED,QAAA,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,KAAI;AAChD,YAAA,OAAO,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC;AAChC,SAAC,CAAC,CAAC;AAEH,QAAA,MAAM,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC;AACnD,QAAA,IAAI,IAAI,EAAE;AACR,YAAA,MAAM,cAAc,GAAG,QAAQ,CAAC,gBAAgB,CAAC;AACjD,YAAA,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,IAAG;AAClC,gBAAA,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE;oBACxE,OAAO;AACR,iBAAA;gBAED,IAAI,SAAS,CAAC,eAAe,EAAE;oBAC7B,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,eAAe,CAAC;AAC9D,iBAAA;AACH,aAAC,CAAC,CAAC;AACJ,SAAA;QAED,OAAO;AACL,YAAA,GAAG,QAAQ;AACX,YAAA,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;YAC5E,gBAAgB;YAChB,WAAW;SACZ,CAAC;KACH;;oHAnJU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;wHAAvB,uBAAuB,EAAA,CAAA,CAAA;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBADnC,UAAU;;;MCVE,iCAAiC,CAAA;AAG5C,IAAA,WAAA,CAAoB,eAAgC,EAAA;QAAhC,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;QAFnC,IAAU,CAAA,UAAA,GAAW,kCAAkC,CAAC;AAIlE,QAAA,IAAA,CAAA,6BAA6B,GAAG,CAAC,OAAe,KAA0C;AAC/F,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAA2B,EAAE,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,OAAO,CAAE,CAAA,EAAE,CAAC,CAAC;AACtG,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,8BAA8B,GAAG,CACtC,sBAA8C,KACR;AACtC,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAyB;AACtD,gBAAA,MAAM,EAAE,MAAM;gBACd,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,sBAAsB,CAAC,OAAO,CAAE,CAAA;AAC3D,gBAAA,IAAI,EAAE,sBAAsB;AAC7B,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,8BAA8B,GAAG,CACtC,sBAA8C,KACR;AACtC,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAyB;AACtD,gBAAA,MAAM,EAAE,KAAK;AACb,gBAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,sBAAsB,CAAC,OAAO,CAAA,CAAA,EAAI,sBAAsB,CAAC,EAAE,CAAE,CAAA;AACxF,gBAAA,IAAI,EAAE,sBAAsB;AAC7B,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,8BAA8B,GAAG,CAAC,sBAA8C,KAAsB;AAC3G,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,MAAM,EAAE,QAAQ;AAChB,gBAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,sBAAsB,CAAC,OAAO,CAAA,CAAA,EAAI,sBAAsB,CAAC,EAAE,CAAE,CAAA;AACzF,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;KA/BsD;;8HAH7C,iCAAiC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kIAAjC,iCAAiC,EAAA,CAAA,CAAA;2FAAjC,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAD7C,UAAU;;;MCFE,wBAAwB,CAAA;AAC5B,IAAA,OAAO,OAAO,CAAC,GAA6B,EAAE,GAAY,EAAA;QAC/D,OAAO;YACL,EAAE,EAAE,GAAG,EAAE,EAAE;AACX,YAAA,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE;YAC1B,KAAK,EAAE,GAAG,EAAE,KAAK;SAClB,CAAC;KACH;IAEM,OAAO,KAAK,CAAC,IAA2B,EAAA;QAC7C,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;KACH;AAED,IAAA,WAAA,CAAmB,EAAU,EAAS,GAAW,EAAS,KAAa,EAAA;QAApD,IAAE,CAAA,EAAA,GAAF,EAAE,CAAQ;QAAS,IAAG,CAAA,GAAA,GAAH,GAAG,CAAQ;QAAS,IAAK,CAAA,KAAA,GAAL,KAAK,CAAQ;KAAI;AAC5E;;MCNY,+BAA+B,CAAA;IAG1C,WAAoB,CAAA,WAA4B,EAAU,cAA8B,EAAA;QAApE,IAAW,CAAA,WAAA,GAAX,WAAW,CAAiB;QAAU,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;QAFvE,IAAW,CAAA,WAAA,GAAG,yBAAyB,CAAC;KAEmC;AAErF,IAAA,aAAa,CAAC,OAAwC,EAAA;QAC3D,OAAO,IAAI,CAAC,WAAW;AACpB,aAAA,GAAG,CAA6B;AAC/B,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,WAAW,CAAE,CAAA;AAC1B,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,GAAG,OAAO;SACX,CAAC;aACD,IAAI,CACH,GAAG,CAAC,CAAC,QAAoC,KACvC,QAAQ,CAAC,GAAG,CAAC,OAAO,IAAI,wBAAwB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CACnE,CACF,CAAC;KACL;IAEM,YAAY,CACjB,WAAmB,EACnB,OAAwC,EAAA;QAExC,OAAO,IAAI,CAAC,WAAW;AACpB,aAAA,GAAG,CAA2B;AAC7B,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,WAAW,CAAA,OAAA,EAAU,WAAW,CAAE,CAAA;AAC/C,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,GAAG,OAAO;AACV,YAAA,gBAAgB,EAAE,IAAI;SACvB,CAAC;aACD,IAAI,CACH,GAAG,CAAC,CAAC,OAAiC,KAAK,wBAAwB,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,EAClG,UAAU,CAAC,GAAG,IAAG;YACf,IAAI,GAAG,YAAY,iBAAiB,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;AAC1D,gBAAA,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE;AAC9B,oBAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;AACtB,wBAAA,QAAQ,EAAE,OAAO;wBACjB,OAAO,EAAE,CAA0B,uBAAA,EAAA,WAAW,CAAgB,cAAA,CAAA;AAC9D,wBAAA,MAAM,EAAE,IAAI;AACb,qBAAA,CAAC,CAAC;AACJ,iBAAA;AAED,gBAAA,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;AACjB,aAAA;AAED,YAAA,MAAM,GAAG,CAAC;SACX,CAAC,CACH,CAAC;KACL;IAEM,aAAa,CAClB,OAA8B,EAC9B,OAAwC,EAAA;QAExC,MAAM,OAAO,GAAG,wBAAwB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAExD,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,WAAW,CAAE,CAAA;AAC1B,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,IAAI,EAAE;AACJ,gBAAA,GAAG,OAAO;AACX,aAAA;AACD,YAAA,GAAG,OAAO;AACX,SAAA,CAAC,CAAC;KACJ;IAEM,aAAa,CAClB,OAA8B,EAC9B,OAAwC,EAAA;QAExC,MAAM,OAAO,GAAG,wBAAwB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAExD,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;YAC1B,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,CAAI,CAAA,EAAA,OAAO,CAAC,EAAE,CAAE,CAAA;AACxC,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,IAAI,EAAE;AACJ,gBAAA,GAAG,OAAO;AACX,aAAA;AACD,YAAA,GAAG,OAAO;AACX,SAAA,CAAC,CAAC;KACJ;IAEM,aAAa,CAClB,OAA8B,EAC9B,OAAwC,EAAA;QAExC,MAAM,OAAO,GAAG,wBAAwB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAExD,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;YAC1B,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,CAAI,CAAA,EAAA,OAAO,CAAC,EAAE,CAAE,CAAA;AACxC,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,GAAG,OAAO;AACX,SAAA,CAAC,CAAC;KACJ;IAEM,cAAc,CAAC,SAAiB,EAAE,OAAwC,EAAA;AAC/E,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,WAAW,CAAA,CAAA,EAAI,SAAS,CAAU,QAAA,CAAA;AAC/C,YAAA,MAAM,EAAE,OAAO;AACf,YAAA,GAAG,OAAO;AACX,SAAA,CAAC,CAAC;KACJ;IAEM,KAAK,CAAC,IAA6B,EAAE,OAAwC,EAAA;AAClF,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,eAAe,GAAG,IAAI;AAC3B,YAAA,GAAG,OAAO;AACX,SAAA,CAAC,CAAC;KACJ;;4HA7GU,+BAA+B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;gIAA/B,+BAA+B,EAAA,CAAA,CAAA;2FAA/B,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAD3C,UAAU;;;MCRE,iBAAiB,CAAA;AAG5B,IAAA,WAAA,CAAoB,WAA4B,EAAA;QAA5B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAiB;QAF/B,IAAW,CAAA,WAAA,GAAG,UAAU,CAAC;KAEU;IAE7C,UAAU,CAAC,QAAgB,EAAE,IAA8B,EAAA;AAChE,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,IAAI,EAAE;AACJ,gBAAA,QAAQ,EAAE,QAAQ;AAClB,gBAAA,WAAW,EAAE,wBAAwB,CAAC,IAAI,CAAC;AAC5C,aAAA;AACD,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,WAAW,CAAE,CAAA;AAC3B,SAAA,CAAC,CAAC;KACJ;;8GAdU,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAjB,iBAAiB,EAAA,CAAA,CAAA;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B,UAAU;;;MCGE,yBAAyB,CAAA;AAGpC,IAAA,WAAA,CAAoB,eAAgC,EAAA;QAAhC,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;QAFnC,IAAU,CAAA,UAAA,GAAG,yBAAyB,CAAC;QAIjD,IAAsB,CAAA,sBAAA,GAAG,MAAoC;AAClE,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAE,CAAA,EAAE,CAAC,CAAC;AACjE,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,qBAAqB,GAAG,CAAC,EAAU,KAAiC;AACzE,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,EAAE,CAAE,CAAA,EAAE,CAAC,CAAC;AACvE,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,sBAAsB,GAAG,CAAC,IAAwB,KAAiC;AACxF,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAE,CAAA;AACzB,gBAAA,MAAM,EAAE,KAAK;AACb,gBAAA,IAAI,EAAE,IAAI;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,sBAAsB,GAAG,CAAC,IAAqB,KAAiC;AACrF,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;gBAC9B,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,IAAI,CAAC,EAAE,CAAE,CAAA;AACpC,gBAAA,MAAM,EAAE,KAAK;AACb,gBAAA,IAAI,EAAE,IAAI;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,uBAAuB,GAAG,CAC/B,YAAgC,EAChC,UAAuB,KACQ;AAC/B,YAAA,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,EAAE,UAAU,EAAE,EAAE,GAAG,YAAY,EAAE,EAAE,CAAC,CAAC;AAEnE,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAS,OAAA,CAAA;gBAChC,MAAM;gBACN,IAAI,EAAE,UAAU,IAAI,EAAE;AACvB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;KAtCsD;;sHAH7C,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;0HAAzB,yBAAyB,EAAA,CAAA,CAAA;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBADrC,UAAU;;;MCAE,eAAe,CAAA;AAG1B,IAAA,WAAA,CAAoB,WAA4B,EAAA;QAA5B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAiB;QAF/B,IAAW,CAAA,WAAA,GAAG,QAAQ,CAAC;KAEY;AAE7C,IAAA,UAAU,CAAC,OAA8B,EAAA;AAC9C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAa;AACtC,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,WAAW,CAAY,UAAA,CAAA;AACpC,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,gBAAgB,EAAE,IAAI;AACvB,SAAA,CAAC,CAAC;KACJ;;4GAZU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;gHAAf,eAAe,EAAA,CAAA,CAAA;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B,UAAU;;;MCEE,4BAA4B,CAAA;IAGvC,WAAoB,CAAA,WAA4B,EAAU,mBAAwC,EAAA;QAA9E,IAAW,CAAA,WAAA,GAAX,WAAW,CAAiB;QAAU,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB,CAAqB;QAFjF,IAAW,CAAA,WAAA,GAAG,cAAc,CAAC;KAEwD;AAE/F,IAAA,cAAc,CAAC,aAA8C,EAAA;AAClE,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,WAAW,CAAS,OAAA,CAAA;AACjC,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,IAAI,EAAE,aAAa;AACpB,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,gBAAgB,CAAC,UAAsB,EAAE,IAAW,EAAE,cAAwB,EAAA;AACnF,QAAA,MAAM,QAAQ,GAAa,IAAI,QAAQ,EAAE,CAAC;AAE1C,QAAA,IAAI,IAAI,EAAE;YACR,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1C,SAAA;AAED,QAAA,QAAQ,CAAC,MAAM,CACb,YAAY,EACZ,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE;AACrC,YAAA,IAAI,EAAE,kBAAkB;AACzB,SAAA,CAAC,CACH,CAAC;AAEF,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;AAC7B,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,WAAW,CAAE,CAAA;AAC1B,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,cAAc,GAAG,QAAQ,GAAG,SAAS;YAC9C,cAAc;AACf,SAAA,CAAC,CAAC;KACJ;IAEM,gBAAgB,CAAC,EAAU,EAAE,UAAsB,EAAA;AACxD,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,WAAW,CAAA,CAAA,EAAI,EAAE,CAAE,CAAA;AAChC,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,MAAM,EAAE,KAAK;AACd,SAAA,CAAC,CAAC;KACJ;IAEM,iBAAiB,CAAC,EAAU,EAAE,iBAA2B,EAAA;QAC9D,OAAO,IAAI,CAAC,WAAW;AACpB,aAAA,GAAG,CAAC;AACH,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,WAAW,CAAA,CAAA,EAAI,EAAE,CAAO,KAAA,CAAA;YACrC,YAAY,EAAE,iBAAiB,GAAG,aAAa,GAAG,MAAM;YACxD,OAAO,EAAE,iBAAiB,GAAG,MAAM,GAAG,UAAU;SACjD,CAAC;AACD,aAAA,IAAI,CACH,GAAG,CAAC,QAAQ,IAAG;YACb,IAAI,CAAC,iBAAiB,EAAE;AACtB,gBAAA,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;AACpD,aAAA;AACH,SAAC,CAAC,EACF,GAAG,CAAC,QAAQ,KAAK,iBAAiB,GAAG,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAC,CACzG,CAAC;KACL;AAEM,IAAA,gBAAgB,CAAC,EAAU,EAAA;AAChC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,WAAW,CAAA,CAAA,EAAI,EAAE,CAAE,CAAA;AAChC,YAAA,MAAM,EAAE,QAAQ;AACjB,SAAA,CAAC,CAAC;KACJ;;yHAlEU,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;6HAA5B,4BAA4B,EAAA,CAAA,CAAA;2FAA5B,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBADxC,UAAU;;;MCCE,mBAAmB,CAAA;AAI9B,IAAA,WAAA,CAAoB,eAAgC,EAAA;QAAhC,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;QAHnC,IAAe,CAAA,eAAA,GAAW,sBAAsB,CAAC;QACjD,IAAU,CAAA,UAAA,GAAW,gBAAgB,CAAC;KAEC;IAEjD,eAAe,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;KACvD;AAEM,IAAA,gBAAgB,CAAC,UAAsB,EAAE,IAAY,EAAE,KAAa,EAAA;AACzE,QAAA,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;QACvC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC;AACzC,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,eAAe,CAAS,OAAA,CAAA;YACrC,MAAM;AACN,YAAA,IAAI,EAAE,UAAU;AACjB,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,eAAe,CAAC,EAAU,EAAA;AAC/B,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,eAAe,CAAA,CAAA,EAAI,EAAE,CAAE,CAAA;AACpC,YAAA,MAAM,EAAE,QAAQ;AACjB,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,gBAAgB,CAAC,EAAU,EAAA;AAChC,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,eAAe,CAAA,CAAA,EAAI,EAAE,CAAU,QAAA,CAAA;AAC5C,YAAA,MAAM,EAAE,OAAO;AAChB,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,cAAc,CAAC,EAAU,EAAA;AAC9B,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,eAAe,CAAA,CAAA,EAAI,EAAE,CAAE,CAAA;AACpC,YAAA,MAAM,EAAE,KAAK;AACd,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,eAAe,CAAC,IAAiB,EAAA;AACtC,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,eAAe,CAAE,CAAA;AAC9B,YAAA,MAAM,EAAE,MAAM;YACd,IAAI;AACL,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,eAAe,CAAC,IAAc,EAAA;AACnC,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;YAC9B,GAAG,EAAE,GAAG,IAAI,CAAC,eAAe,CAAI,CAAA,EAAA,IAAI,CAAC,EAAE,CAAE,CAAA;AACzC,YAAA,MAAM,EAAE,KAAK;YACb,IAAI;AACL,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,kBAAkB,CAAC,YAA0B,EAAA;AAClD,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;YAC9B,GAAG,EAAE,GAAG,IAAI,CAAC,eAAe,CAAI,CAAA,EAAA,YAAY,CAAC,EAAE,CAAQ,MAAA,CAAA;AACvD,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,IAAI,EAAE,YAAY;AACnB,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,gBAAgB,CAAC,IAA4B,EAAA;AAClD,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAS;AACtC,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAU,QAAA,CAAA;AACjC,YAAA,MAAM,EAAE,MAAM;YACd,IAAI;AACJ,YAAA,YAAY,EAAE,MAAM;AACpB,YAAA,gBAAgB,EAAE,IAAI;AACvB,SAAA,CAAC,CAAC;KACJ;;gHA3EU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;oHAAnB,mBAAmB,EAAA,CAAA,CAAA;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAD/B,UAAU;;;MCSE,mBAAmB,CAAA;AAG9B,IAAA,WAAA,CAAoB,WAA4B,EAAA;QAA5B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAiB;QAF/B,IAAW,CAAA,WAAA,GAAG,uBAAuB,CAAC;KAEH;AAEpD;;;;AAIG;AACI,IAAA,IAAI,CAAC,OAA6B,EAAA;AACvC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,WAAW,CAAc,YAAA,CAAA;AACtC,YAAA,IAAI,EAAE,OAAO;AACd,SAAA,CAAC,CAAC;KACJ;AAED;;;;AAIG;AACI,IAAA,GAAG,CAAC,EAAU,EAAA;AACnB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,WAAW,CAAA,CAAA,EAAI,EAAE,CAAE,CAAA;AACjC,SAAA,CAAC,CAAC;KACJ;AAED;;;;;AAKG;IACI,OAAO,CAAC,EAAU,EAAE,OAAqC,EAAA;AAC9D,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,WAAW,CAAA,OAAA,EAAU,EAAE,CAAU,QAAA,CAAA;AAC9C,YAAA,IAAI,EAAE,OAAO;AACd,SAAA,CAAC,CAAC;KACJ;AAED;;;AAGG;AACI,IAAA,IAAI,CAAC,EAAU,EAAA;AACpB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,WAAW,CAAA,OAAA,EAAU,EAAE,CAAO,KAAA,CAAA;AAC5C,SAAA,CAAC,CAAC;KACJ;AAED;;;AAGG;AACI,IAAA,MAAM,CAAC,EAAU,EAAA;AACtB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,WAAW,CAAA,OAAA,EAAU,EAAE,CAAS,OAAA,CAAA;AAC9C,SAAA,CAAC,CAAC;KACJ;AAED;;;AAGG;AACI,IAAA,MAAM,CAAC,EAAU,EAAA;AACtB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,WAAW,CAAA,OAAA,EAAU,EAAE,CAAS,OAAA,CAAA;AAC9C,SAAA,CAAC,CAAC;KACJ;AAED;;;;;AAKG;IACI,gBAAgB,CACrB,OAAe,EACf,OAAqC,EAAA;AAErC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,WAAW,CAAA,OAAA,EAAU,OAAO,CAAoB,kBAAA,CAAA;AAC7D,YAAA,IAAI,EAAE,OAAO;AACd,SAAA,CAAC,CAAC;KACJ;AAED;;;;;AAKG;IACI,kBAAkB,CACvB,OAAe,EACf,OAAuC,EAAA;AAEvC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,WAAW,CAAA,OAAA,EAAU,OAAO,CAAsB,oBAAA,CAAA;AAC/D,YAAA,IAAI,EAAE,OAAO;AACd,SAAA,CAAC,CAAC;KACJ;AAED;;;;;;AAMG;AACI,IAAA,oBAAoB,CACzB,OAAe,EACf,eAAuB,EACvB,OAAyC,EAAA;AAEzC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,CAAU,OAAA,EAAA,OAAO,CAAkB,eAAA,EAAA,eAAe,CAAU,QAAA,CAAA;AACpF,YAAA,IAAI,EAAE,OAAO;AACd,SAAA,CAAC,CAAC;KACJ;AAED;;;;AAIG;IACI,iBAAiB,CAAC,OAAe,EAAE,eAAuB,EAAA;AAC/D,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,CAAU,OAAA,EAAA,OAAO,CAAkB,eAAA,EAAA,eAAe,CAAO,KAAA,CAAA;AAClF,SAAA,CAAC,CAAC;KACJ;AAED;;;;AAIG;IACI,mBAAmB,CAAC,OAAe,EAAE,eAAuB,EAAA;AACjE,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,CAAU,OAAA,EAAA,OAAO,CAAkB,eAAA,EAAA,eAAe,CAAS,OAAA,CAAA;AACpF,SAAA,CAAC,CAAC;KACJ;;gHAvJU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;oHAAnB,mBAAmB,EAAA,CAAA,CAAA;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAD/B,UAAU;;;MCPE,eAAe,CAAA;AAG1B,IAAA,WAAA,CAAoB,+BAAgE,EAAA;QAAhE,IAA+B,CAAA,+BAAA,GAA/B,+BAA+B,CAAiC;QAFnE,IAAQ,CAAA,QAAA,GAAG,OAAO,CAAC;KAEoD;AAEjF,IAAA,OAAO,CAAC,EAAU,EAAA;AACvB,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAC3B,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAC/C,GAAG,CAAC,IAAI,IAAG;YACT,IAAI,CAAC,IAAI,EAAE;AACT,gBAAA,MAAM,IAAI,KAAK,CAAC,oBAAoB,EAAE,CAAA,eAAA,CAAiB,CAAC,CAAC;AAC1D,aAAA;AAED,YAAA,OAAO,IAAI,CAAC;SACb,CAAC,CACH,CAAC;KACH;IAEM,UAAU,GAAA;QACf,OAAO,IAAI,CAAC,+BAA+B;AACxC,aAAA,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC3B,aAAA,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,MAAc,OAAO,EAAE,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;KACtF;;4GAtBU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,+BAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;gHAAf,eAAe,EAAA,CAAA,CAAA;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B,UAAU;;;MCCE,6BAA6B,CAAA;AAKxC,IAAA,WAAA,CAAoB,eAAgC,EAAA;QAAhC,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;QAFnC,IAAU,CAAA,UAAA,GAAW,uBAAuB,CAAC;AAIvD,QAAA,IAAA,CAAA,oBAAoB,GAAG,CAAC,YAAgC,KAAiC;AAC9F,YAAA,OAAO,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;AAClD,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,qBAAqB,GAAG,CAC7B,YAAgC,EAChC,UAAuB,KACQ;AAC/B,YAAA,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,EAAE,UAAU,EAAE,EAAE,GAAG,YAAY,EAAE,EAAE,CAAC,CAAC;AAEnE,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAS,OAAA,CAAA;gBAChC,MAAM;gBACN,IAAI,EAAE,UAAU,IAAI,EAAE;AACvB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,mBAAmB,GAAG,CAAC,EAAU,KAA+B;AACrE,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,EAAE,CAAE,CAAA,EAAE,CAAC,CAAC;AACvE,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,uBAAuB,GAAG,CAAC,aAA+B,KAA+B;AAC9F,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAE,CAAA;AACzB,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,IAAI,EAAE,aAAa;AACpB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,uBAAuB,GAAG,CAAC,YAA0B,KAA+B;AACzF,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;gBAC9B,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,YAAY,CAAC,EAAE,CAAQ,MAAA,CAAA;AAClD,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,IAAI,EAAE,YAAY;AACnB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,oBAAoB,GAAG,CAAC,IAAmB,KAAsB;AACtE,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;gBAC9B,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,IAAI,CAAC,EAAE,CAAE,CAAA;AACpC,gBAAA,MAAM,EAAE,KAAK;AACb,gBAAA,IAAI,EAAE,IAAI;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,oBAAoB,GAAG,CAAC,EAAU,KAAsB;AAC7D,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,EAAE,CAAE,CAAA;AAC/B,gBAAA,MAAM,EAAE,QAAQ;AACjB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,qBAAqB,GAAG,CAAC,EAAU,KAAsB;AAC9D,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,EAAE,CAAU,QAAA,CAAA;AACvC,gBAAA,MAAM,EAAE,OAAO;AAChB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;KA5DsD;;AAJ1C,6BAAW,CAAA,WAAA,GAAG,EAAE,CAAC;0HADpB,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;8HAA7B,6BAA6B,EAAA,CAAA,CAAA;2FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBADzC,UAAU;;;MCCE,uBAAuB,CAAA;AAGlC,IAAA,WAAA,CAAoB,IAAqB,EAAA;QAArB,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAiB;QAFxB,IAAU,CAAA,UAAA,GAAG,iBAAiB,CAAC;KAEH;IAEtC,aAAa,CAAC,IAAY,EAAE,YAAgC,EAAA;AACjE,QAAA,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,EAAE,UAAU,EAAE,EAAE,GAAG,YAAY,EAAE,EAAE,CAAC,CAAC;QACnE,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAEpG,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AACnB,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAS,OAAA,CAAA;YAChC,MAAM;YACN,IAAI,EAAE,UAAU,IAAI,EAAE;AACvB,SAAA,CAAC,CAAC;KACJ;IAEM,WAAW,CAAC,EAAU,EAAE,YAAgC,EAAA;AAC7D,QAAA,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,EAAE,UAAU,EAAE,EAAE,GAAG,YAAY,EAAE,EAAE,CAAC,CAAC;QACnE,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AAEhG,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AACnB,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAS,OAAA,CAAA;YAChC,MAAM;YACN,IAAI,EAAE,UAAU,IAAI,EAAE;AACvB,SAAA,CAAC,CAAC;KACJ;;oHA3BU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;wHAAvB,uBAAuB,EAAA,CAAA,CAAA;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBADnC,UAAU;;;MCCE,gBAAgB,CAAA;AAK3B,IAAA,WAAA,CAAoB,eAAgC,EAAA;QAAhC,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;QAFnC,IAAU,CAAA,UAAA,GAAW,eAAe,CAAC;KAEE;AAEjD,IAAA,YAAY,CAAC,IAAc,EAAA;AAChC,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAE,CAAA;AACzB,YAAA,MAAM,EAAE,MAAM;YACd,IAAI;AACL,SAAA,CAAC,CAAC;KACJ;IAEM,YAAY,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAE,CAAA;AAC1B,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,WAAW,CAAC,EAAU,EAAA;AAC3B,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,EAAE,CAAE,CAAA;AAChC,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,YAAY,CAAC,KAAY,EAAA;AAC9B,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;YAC9B,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,KAAK,CAAC,EAAE,CAAE,CAAA;AACrC,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,IAAI,EAAE,KAAK;AACZ,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,YAAY,CAAC,EAAU,EAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,EAAE,CAAE,CAAA;AAC/B,YAAA,MAAM,EAAE,QAAQ;AACjB,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,aAAa,CAAC,UAAsB,EAAE,IAAY,EAAE,KAAa,EAAA;AACtE,QAAA,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;QACvC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC;AACzC,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAS,OAAA,CAAA;YAChC,MAAM;AACN,YAAA,IAAI,EAAE,UAAU;AACjB,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,mBAAmB,CAAC,EAAU,EAAA;QACnC,OAAO,IAAI,CAAC,eAAe;AACxB,aAAA,GAAG,CAA8B;AAChC,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,EAAE,CAAW,SAAA,CAAA;SACzC,CAAC;AACD,aAAA,IAAI,CAACC,KAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;KAC7C;IAEM,oBAAoB,CAAC,EAAU,EAAE,QAA4C,EAAA;AAClF,QAAA,MAAM,OAAO,GAA+B,EAAE,QAAQ,EAAE,CAAC;QAEzD,OAAO,IAAI,CAAC,eAAe;AACxB,aAAA,GAAG,CAA8B;AAChC,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,EAAE,CAAW,SAAA,CAAA;AACxC,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,IAAI,EAAE,OAAO;SACd,CAAC;AACD,aAAA,IAAI,CAACA,KAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;KAC7C;;AAvEa,gBAAW,CAAA,WAAA,GAAG,EAAE,CAAC;6GADpB,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;iHAAhB,gBAAgB,EAAA,CAAA,CAAA;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAD5B,UAAU;;;ACHX;;;;;;;;;;;;;;;;AAgBG;AACU,MAAA,oBAAoB,GAAG,CAClC,QAAgB,EAChB,QAAW,EACX,cAAyC,KAChC;IACT,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AACpC,IAAA,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;AAE5D,IAAA,IAAI,WAAW,CAAC,cAAc,CAAC,EAAE;AAC/B,QAAA,cAAc,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;AACvC,QAAA,OAAO,QAAQ,CAAC;AACjB,KAAA;AACD,IAAA,IAAI,aAAa,CAAC,cAAc,CAAC,EAAE;AACjC,QAAA,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AACrC,QAAA,OAAO,QAAQ,CAAC;AACjB,KAAA;AAED,IAAA,OAAO,MAAW,CAAC;AACrB;;MC5Ba,iBAAiB,CAAA;AAC5B,IAAA,WAAA,CAAoB,cAA8B,EAAA;QAA9B,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;AA2ClD;;;;AAIG;AACK,QAAA,IAAA,CAAA,mBAAmB,GAAG,CAAC,OAAe,KAAU;AACtD,YAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AACjF,SAAC,CAAC;KAlDoD;IAE/C,WAAW,GAAA;QAChB,IAAI;AACF,YAAA,OAAO,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,eAAe;kBAChD,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,MAAM,CAAC,eAAe,CAAE,CAAA,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CACxEA,KAAG,CAAC,QAAQ,IAAI,oBAAoB,CAAqB,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC,EACxGC,YAAU,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAChC;AACH,kBAAE,EAAE,CAAC,SAAS,CAAC,CAAC;AACnB,SAAA;QAAC,MAAM;AACN,YAAA,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;AACtB,SAAA;KACF;IAEM,yBAAyB,GAAA;QAC9B,IAAI;AACF,YAAA,OAAO,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,eAAe;AAClD,kBAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC,CAAC,IAAI,CACtED,KAAG,CAAC,QAAQ,IACV,oBAAoB,CAAmC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,CACtG,EACDC,YAAU,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAChC;AACH,kBAAE,EAAE,CAAC,SAAS,CAAC,CAAC;AACnB,SAAA;QAAC,MAAM;AACN,YAAA,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;AACtB,SAAA;KACF;AAEM,IAAA,eAAe,CAAC,aAAqB,EAAA;QAC1C,IAAI;AACF,YAAA,OAAO,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,eAAe;kBAChD,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAA,eAAA,EAAkB,aAAa,CAAE,CAAA,CAAC,CAAC,CAAC,IAAI,CACnFD,KAAG,CAAC,QAAQ,IAAI,oBAAoB,CAAqB,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC,EACxGC,YAAU,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAChC;AACH,kBAAE,EAAE,CAAC,SAAS,CAAC,CAAC;AACnB,SAAA;QAAC,MAAM;AACN,YAAA,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;AACtB,SAAA;KACF;;8GA1CU,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAJ,IAAA,CAAA,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAjB,iBAAiB,EAAA,CAAA,CAAA;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B,UAAU;;;MCJE,mBAAmB,CAAA;AAG9B,IAAA,WAAA,CAAoB,eAAgC,EAAA;QAAhC,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;QAFnC,IAAU,CAAA,UAAA,GAAW,QAAQ,CAAC;QAIxC,IAAkB,CAAA,kBAAA,GAAG,MAC1B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAY,UAAA,CAAA,EAAE,CAAC,CAAC;QAE7D,IAAc,CAAA,cAAA,GAAG,CAAC,IAAY,KACnC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,cAAc,IAAI,CAAA,CAAE,EAAE,CAAC,CAAC;AAErE,QAAA,IAAA,CAAA,eAAe,GAAG,CAAC,QAAqB,KAA0B;YACvE,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAY,UAAA,CAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC3G,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,eAAe,GAAG,CAAC,QAAkB,KAA0B;AACpE,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAc,WAAA,EAAA,QAAQ,CAAC,EAAE,CAAE,CAAA;AAClD,gBAAA,IAAI,EAAE,QAAQ;AACf,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,eAAe,GAAG,CAAC,EAAU,KAClC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAA,WAAA,EAAc,EAAE,CAAA,CAAE,EAAE,CAAC,CAAC;AAErF,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAC,EAAU,KAAsB;AACzD,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,WAAA,EAAc,EAAE,CAAU,QAAA,CAAA;AACjD,gBAAA,MAAM,EAAE,OAAO;AAChB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,iBAAiB,GAAG,CAAC,QAAkB,EAAE,KAAuB,KAA0B;AAC/F,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,GAAG,QAAQ;gBACX,MAAM,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;aACpC,CAAC;AAEF,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAA,WAAA,EAAc,QAAQ,CAAC,EAAE,CAAA,CAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACrH,SAAC,CAAC;KArCsD;;gHAH7C,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;oHAAnB,mBAAmB,EAAA,CAAA,CAAA;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAD/B,UAAU;;;MCGE,iBAAiB,CAAA;AAK5B,IAAA,WAAA,CAAoB,eAAgC,EAAA;QAAhC,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;QAFnC,IAAU,CAAA,UAAA,GAAW,eAAe,CAAC;QAuB/C,IAAW,CAAA,WAAA,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,EAAE,KAA0B;AACjE,YAAA,IAAI,MAAM,GAAe,IAAI,UAAU,EAAE,CAAC;AAC1C,YAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;YACnF,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACpC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACrC,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AACzE,SAAC,CAAC;QAEK,IAAc,CAAA,cAAA,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,UAAuB,KAA0B;AAClF,YAAA,IAAI,MAAM,GAAe,IAAI,UAAU,EAAE,CAAC;YAC1C,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;AACvC,YAAA,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;AAEjE,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAS,OAAA,CAAA;gBAChC,MAAM;gBACN,IAAI,EAAE,UAAU,IAAI,EAAE;AACvB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,aAAa,GAAG,CAAC,EAAU,KAAwB;AACxD,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,EAAE,CAAE,CAAA;AAC/B,gBAAA,MAAM,EAAE,QAAQ;AACjB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,EAAU,KAAsB;AACjD,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,MAAM,EAAE,OAAO;AACf,gBAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,EAAE,CAAU,QAAA,CAAA;AACxC,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAC,YAA0B,KAAwB;AAC3E,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAS;gBACtC,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,YAAY,CAAC,EAAE,CAAQ,MAAA,CAAA;AAClD,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,IAAI,EAAE,YAAY;AACnB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,UAAU,GAAG,CAAC,EAAU,KAAwB;AACrD,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,EAAE,CAAE,CAAA;AAChC,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;KApEsD;AAEjD,IAAA,gBAAgB,CAAC,IAAe,EAAA;AACrC,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAE,CAAA;AACzB,YAAA,MAAM,EAAE,MAAM;YACd,IAAI;AACL,SAAA,CAAC,CAAC;KACJ;IAEM,aAAa,CAAC,MAAc,EAAE,QAA6B,EAAA;AAChE,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;YAC9B,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,MAAM,CAAC,EAAE,CAAE,CAAA;AACtC,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,IAAI,EAAE;AACJ,gBAAA,GAAG,MAAM;AACT,gBAAA,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;AACnC,aAAA;AACF,SAAA,CAAC,CAAC;KACJ;;AAvBa,iBAAW,CAAA,WAAA,GAAG,EAAE,CAAC;8GADpB,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAjB,iBAAiB,EAAA,CAAA,CAAA;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B,UAAU;;;MCAE,eAAe,CAAA;AAG1B,IAAA,WAAA,CAAoB,WAA4B,EAAA;QAA5B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAiB;QAF/B,IAAW,CAAA,WAAA,GAAG,QAAQ,CAAC;KAEY;AAE7C,IAAA,SAAS,CAAC,OAA8B,EAAA;AAC7C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,WAAW,CAAY,UAAA,CAAA;AACpC,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,gBAAgB,EAAE,IAAI;AACvB,SAAA,CAAC,CAAC;KACJ;IAEM,aAAa,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,GAAG,EAAE,cAAc;AACpB,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,YAAY,CAAC,EAAU,EAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,CAAgB,aAAA,EAAA,EAAE,CAAE,CAAA;AAC1B,SAAA,CAAC,CAAC;KACJ;IAEM,uBAAuB,CAC5B,MAAe,EACf,UAAmB,EACnB,SAAkB,EAClB,OAAgB,EAChB,aAAsB,EACtB,iBAA0B,EAAA;AAE1B,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,WAAW,CAA2B,yBAAA,CAAA;AACnD,YAAA,IAAI,EAAE;AACJ,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,UAAU,EAAE,UAAU;AACtB,gBAAA,SAAS,EAAE,SAAS;AACpB,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,aAAa,EAAE,aAAa;AAC5B,gBAAA,iBAAiB,EAAE,iBAAiB;AACrC,aAAA;AACF,SAAA,CAAC,CAAC;KACJ;IAEM,oBAAoB,CACzB,MAAe,EACf,UAAmB,EACnB,SAAkB,EAClB,IAAa,EACb,aAAsB,EACtB,iBAA0B,EAAA;AAE1B,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,WAAW,CAAuB,qBAAA,CAAA;AAC/C,YAAA,IAAI,EAAE;AACJ,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,UAAU,EAAE,UAAU;AACtB,gBAAA,SAAS,EAAE,SAAS;AACpB,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,aAAa,EAAE,aAAa;AAC5B,gBAAA,iBAAiB,EAAE,iBAAiB;AACrC,aAAA;AACF,SAAA,CAAC,CAAC;KACJ;;4GAtEU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;gHAAf,eAAe,EAAA,CAAA,CAAA;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B,UAAU;;;MCUE,oBAAoB,CAAA;AAI/B,IAAA,WAAA,CAAoB,eAAgC,EAAA;QAAhC,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;QAHnC,IAAiB,CAAA,iBAAA,GAAW,mBAAmB,CAAC;QAChD,IAAW,CAAA,WAAA,GAAW,aAAa,CAAC;QAI9C,IAAgB,CAAA,gBAAA,GAAG,MAA8B;AACtD,YAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,UAAU,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;AAC1D,SAAC,CAAC;QAEK,IAAiB,CAAA,iBAAA,GAAG,CAAC,UAAsB,EAAE,IAAY,EAAE,KAAa,KAA6B;AAC1G,YAAA,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;YACvC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC;AACzC,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAS,OAAA,CAAA;gBACvC,MAAM;AACN,gBAAA,IAAI,EAAE,UAAU;AACjB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAC,YAA0B,KAA2B;AAC9E,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAY;AACzC,gBAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAE,CAAA;AAChC,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,IAAI,EAAE,YAAY;AACnB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAC,SAAoB,KAA2B;AACxE,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAY;gBACzC,GAAG,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAI,CAAA,EAAA,SAAS,CAAC,EAAE,CAAE,CAAA;AAChD,gBAAA,MAAM,EAAE,KAAK;AACb,gBAAA,IAAI,EAAE,SAAS;AAChB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,mBAAmB,GAAG,CAAC,IAAkB,KAAwB;YACtE,OAAO,IAAI,CAAC,eAAe;AACxB,iBAAA,GAAG,CAAC;gBACH,GAAG,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAI,CAAA,EAAA,IAAI,CAAC,EAAE,CAAQ,MAAA,CAAA;AACjD,gBAAA,MAAM,EAAE,MAAM;gBACd,IAAI;aACL,CAAC;AACD,iBAAA,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;AACpD,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAC,EAAU,KAAwB;AAC3D,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAS;AACtC,gBAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,iBAAiB,CAAA,CAAA,EAAI,EAAE,CAAE,CAAA;AACtC,gBAAA,MAAM,EAAE,QAAQ;AACjB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,iBAAiB,GAAG,CAAC,EAAU,KAAwB;AAC5D,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAS;AACtC,gBAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,iBAAiB,CAAA,CAAA,EAAI,EAAE,CAAU,QAAA,CAAA;AAC9C,gBAAA,MAAM,EAAE,OAAO;AAChB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;KAxDsD;AA0DjD,IAAA,eAAe,CAAC,EAAU,EAAA;AAC/B,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAY;AACzC,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,iBAAiB,CAAA,CAAA,EAAI,EAAE,CAAE,CAAA;AACtC,YAAA,MAAM,EAAE,KAAK;AACd,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,QAAQ,CAAC,IAA6B,EAAA;AAC3C,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAW;AACxC,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,WAAW,CAAU,QAAA,CAAA;AAClC,YAAA,MAAM,EAAE,MAAM;YACd,IAAI;AACL,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,eAAe,CAAC,IAA6B,EAAA;AAClD,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAW;AACxC,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,WAAW,CAAkB,gBAAA,CAAA;AAC1C,YAAA,MAAM,EAAE,MAAM;YACd,IAAI;AACL,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,WAAW,CAAC,IAA6B,EAAA;AAC9C,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAW;AACxC,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,WAAW,CAAc,YAAA,CAAA;AACtC,YAAA,MAAM,EAAE,MAAM;YACd,IAAI;AACL,SAAA,CAAC,CAAC;KACJ;AAED;;;;AAIG;AACI,IAAA,MAAM,CAAC,IAAgB,EAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAa;AAC1C,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,WAAW,CAAQ,MAAA,CAAA;AAChC,YAAA,MAAM,EAAE,MAAM;YACd,IAAI;AACL,SAAA,CAAC,CAAC;KACJ;IAEM,yBAAyB,GAAA;AAC9B,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAY;AACzC,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAgB,cAAA,CAAA;AAC9C,YAAA,MAAM,EAAE,KAAK;AACd,SAAA,CAAC,CAAC;KACJ;;iHA/GU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;qHAApB,oBAAoB,EAAA,CAAA,CAAA;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBADhC,UAAU;;;MCEE,iBAAiB,CAAA;AAG5B,IAAA,WAAA,CAAoB,eAAgC,EAAA;QAAhC,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;QAFnC,IAAU,CAAA,UAAA,GAAW,WAAW,CAAC;AAI3C,QAAA,IAAA,CAAA,cAAc,GAAG,CAAC,OAAyB,KAA2B;AAC3E,YAAA,IAAI,MAAM,GAAe,IAAI,UAAU,EAAE,CAAC;YAC1C,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YAC/C,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,OAAO,CAAC,IAAI,EAAE;gBAChB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;AAC9C,aAAA;AACD,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AACzE,SAAC,CAAC;QAEK,IAAe,CAAA,eAAA,GAAG,CAAC,UAAsB,EAAE,IAAY,EAAE,KAAa,KAA2B;AACtG,YAAA,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;YACvC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC;AACzC,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAS,OAAA,CAAA;AAChC,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,IAAI,EAAE,UAAU;AACjB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;QAEK,IAAa,CAAA,aAAA,GAAG,CAAC,EAAU,KAChC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,IAAI,EAAE,CAAA,CAAE,EAAE,CAAC,CAAC;QAEzD,IAAgB,CAAA,gBAAA,GAAG,MAAwC;AAChE,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAwB,sBAAA,CAAA,EAAE,CAAC,CAAC;AACvF,SAAC,CAAC;QAEK,IAAiB,CAAA,iBAAA,GAAG,CACzB,UAAsB,EACtB,IAAY,EACZ,KAAa,KACwB;AACrC,YAAA,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;YACvC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC;AACzC,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAA+B,6BAAA,CAAA;AACtD,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,IAAI,EAAE,UAAU;AACjB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,sBAAsB,GAAG,CAAC,OAAe,KAAuC;AACrF,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,gCAAA,EAAmC,OAAO,CAAE,CAAA,EAAE,CAAC,CAAC;AAC3G,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,iBAAiB,GAAG,CAAC,WAAuB,KAAyB;AAC1E,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAE,CAAA;AACzB,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,IAAI,EAAE,WAAW;AAClB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,cAAc,GAAG,CAAC,IAAa,KAAyB;AAC7D,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;gBAC9B,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,IAAI,CAAC,EAAE,CAAE,CAAA;AACpC,gBAAA,MAAM,EAAE,KAAK;gBACb,IAAI;AACL,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,cAAc,GAAG,CAAC,EAAU,KAAwB;AACzD,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,EAAE,CAAE,CAAA;AAC/B,gBAAA,MAAM,EAAE,QAAQ;AACjB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,eAAe,GAAG,CAAC,EAAU,KAAsB;AACxD,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,EAAE,CAAU,QAAA,CAAA;AACvC,gBAAA,MAAM,EAAE,OAAO;AAChB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,uBAAuB,GAAG,CAAC,aAAkC,KAAqC;AACvG,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAa,WAAA,CAAA;AACpC,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,IAAI,EAAE,aAAa;AACpB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,uBAAuB,GAAG,CAAC,aAA+B,KAAqC;AACpG,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;gBAC9B,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAe,YAAA,EAAA,aAAa,CAAC,EAAE,CAAE,CAAA;AACxD,gBAAA,MAAM,EAAE,KAAK;AACb,gBAAA,IAAI,EAAE,aAAa;AACpB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,uBAAuB,GAAG,CAAC,EAAU,KAAsB;AAChE,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,YAAA,EAAe,EAAE,CAAE,CAAA;AAC1C,gBAAA,MAAM,EAAE,QAAQ;AACjB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,mBAAmB,GAAG,CAAC,aAAqC,KAAqC;AACtG,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAwB,sBAAA,CAAA;AAC/C,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,IAAI,EAAE,aAAa;AACpB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAC,IAAyB,KAAqC;AACvF,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;gBAC9B,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAA0B,uBAAA,EAAA,IAAI,CAAC,EAAE,CAAE,CAAA;AAC1D,gBAAA,MAAM,EAAE,KAAK;gBACb,IAAI;AACL,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAC,EAAU,KAAsB;AACzD,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,uBAAA,EAA0B,EAAE,CAAE,CAAA;AACrD,gBAAA,MAAM,EAAE,QAAQ;AACjB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,iBAAiB,GAAG,CAAC,EAAU,KAAsB;AAC1D,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,uBAAA,EAA0B,EAAE,CAAU,QAAA,CAAA;AAC7D,gBAAA,MAAM,EAAE,OAAO;AAChB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;KApIsD;IAsIjD,YAAY,CAAC,SAAiB,EAAE,IAAU,EAAA;AAC/C,QAAA,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;AAC5B,QAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAE3B,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;AACjC,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,SAAS,CAAQ,MAAA,CAAA;AAC5C,YAAA,IAAI,EAAE,IAAI;AACX,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,YAAY,CAAC,SAAiB,EAAA;AACnC,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,SAAS,CAAQ,MAAA,CAAA;AAC7C,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,WAAW,CAAC,SAAiB,EAAA;AAClC,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,YAAA,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;AAChC,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,YAAY,EAAE,MAAM;AACpB,YAAA,YAAY,EAAE,IAAI;AACnB,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,WAAW,CAAC,SAAiB,EAAA;AAClC,QAAA,OAAO,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,SAAS,QAAQ,CAAC;KAChD;;8GAtKU,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAjB,iBAAiB,EAAA,CAAA,CAAA;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B,UAAU;;;MCDE,sBAAsB,CAAA;AAKjC,IAAA,WAAA,CAAoB,WAA4B,EAAA;QAA5B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAiB;QAF/B,IAAW,CAAA,WAAA,GAAG,SAAS,CAAC;KAEW;AAE7C,IAAA,QAAQ,CAAC,KAAmB,EAAA;QACjC,OAAO,IAAI,CAAC,WAAW;AACpB,aAAA,GAAG,CAAC;AACH,YAAA,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,IAAI,CAAC,WAAW;AACrB,YAAA,IAAI,EAAE,KAAK;AACX,YAAA,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,qBAAqB;SACrD,CAAC;AACD,aAAA,IAAI,CACH,GAAG,CAAC,MAAM,IAAG;YACX,IAAI,MAAM,CAAC,UAAU,EAAE;AACrB,gBAAA,OAAO,MAAM,CAAC;AACf,aAAA;AAAM,iBAAA;AACL,gBAAA,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACjC,aAAA;SACF,CAAC,CACH,CAAC;KACL;AAEM,IAAA,YAAY,CAAC,KAA0B,EAAA;QAC5C,OAAO,IAAI,CAAC,WAAW;AACpB,aAAA,GAAG,CAAC;AACH,YAAA,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,CAAI,CAAA,EAAA,KAAK,CAAC,EAAE,CAAU,QAAA,CAAA;AAC9C,YAAA,IAAI,EAAE,KAAK;AACX,YAAA,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,qBAAqB;SACrD,CAAC;AACD,aAAA,IAAI,CACH,GAAG,CAAC,MAAM,IAAG;YACX,IAAI,MAAM,CAAC,UAAU,EAAE;AACrB,gBAAA,OAAO,EAAE,CAAC;AACX,aAAA;AAAM,iBAAA;AACL,gBAAA,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACjC,aAAA;SACF,CAAC,CACH,CAAC;KACL;AAEM,IAAA,WAAW,CAAC,OAAe,EAAE,SAAe,EAAE,SAAe,EAAA;AAClE,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW;AAChC,aAAA,GAAG,CAAC;AACH,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,WAAW,CAAA,CAAA,EAAI,OAAO,CAAE,CAAA;AACrC,YAAA,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,qBAAqB;SACrD,CAAC;AACD,aAAA,IAAI,CACH,GAAG,CAAC,MAAM,IAAG;YACX,IAAI,MAAM,CAAC,UAAU,EAAE;AACrB,gBAAA,OAAO,EAAE,CAAC;AACX,aAAA;AAAM,iBAAA;AACL,gBAAA,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACjC,aAAA;SACF,CAAC,CACH,CAAC;AAEJ,QAAA,UAAU,CAAC,SAAS,CAClB,MAAK;AACH,YAAA,SAAS,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;SAChC,EACD,MAAK;AACH,YAAA,SAAS,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;AACjC,SAAC,CACF,CAAC;KACH;AAEM,IAAA,gBAAgB,CAAC,OAAe,EAAE,QAAgB,GAAG,EAAE,OAAe,CAAC,EAAA;AAC5E,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,WAAW,CAAA,CAAA,EAAI,OAAO,CAAW,SAAA,CAAA;AAC9C,YAAA,IAAI,EAAE;AACJ,gBAAA,SAAS,EAAE,IAAI;AACf,gBAAA,KAAK,EAAE,KAAK;AACb,aAAA;AACF,SAAA,CAAC,CAAC;KACJ;IAEM,QAAQ,CAAC,EAAU,EAAE,OAAgB,EAAA;QAC1C,IAAI,GAAG,GAAG,CAAG,EAAA,IAAI,CAAC,WAAW,CAAA,CAAA,EAAI,EAAE,CAAA,CAAE,CAAC;AAEtC,QAAA,IAAI,OAAO,EAAE;AACX,YAAA,GAAG,IAAI,CAAA,UAAA,EAAa,OAAO,CAAA,CAAE,CAAC;AAC/B,SAAA;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;KACtC;IAEM,SAAS,CAAC,SAAiB,EAAE,UAAkB,EAAA;AACpD,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,WAAW,CAAS,OAAA,CAAA;AACjC,YAAA,IAAI,EAAE;AACJ,gBAAA,SAAS,EAAE,UAAU;AACrB,gBAAA,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE;gBAC/B,KAAK,EAAE,sBAAsB,CAAC,WAAW;AAC1C,aAAA;AACF,SAAA,CAAC,CAAC;KACJ;IAEM,eAAe,CAAC,EAAU,EAAE,OAAgB,EAAA;QACjD,IAAI,GAAG,GAAG,CAAG,EAAA,IAAI,CAAC,WAAW,CAAA,CAAA,EAAI,EAAE,CAAA,CAAE,CAAC;AAEtC,QAAA,IAAI,OAAO,EAAE;AACX,YAAA,GAAG,IAAI,CAAA,UAAA,EAAa,OAAO,CAAA,CAAE,CAAC;AAC/B,SAAA;QAED,GAAG,IAAI,SAAS,CAAC;AAEjB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CACvC,GAAG,CAAC,CAAC,YAA4B,KAAI;AACnC,YAAA,IAAI,YAAY,EAAE;AAChB,gBAAA,YAAY,CAAC,OAAO,CAAC,KAAK,IAAI,oBAAoB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;AACzE,aAAA;AACD,YAAA,OAAO,YAAY,CAAC;SACrB,CAAC,CACH,CAAC;KACH;IAEM,MAAM,CAAC,OAAe,EAAE,OAAgB,EAAA;QAC7C,IAAI,GAAG,GAAG,CAAA,EAAG,IAAI,CAAC,WAAW,CAAA,CAAA,EAAI,OAAO,CAAA,KAAA,EAAQ,OAAO,CAAA,CAAE,CAAC;AAE1D,QAAA,IAAI,OAAO,EAAE;AACX,YAAA,GAAG,IAAI,CAAA,UAAA,EAAa,OAAO,CAAA,CAAE,CAAC;AAC/B,SAAA;AAED,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;YAC1B,GAAG;AACH,YAAA,YAAY,EAAE,MAAM;AACrB,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,OAAO,CAAC,OAAe,EAAE,GAAW,EAAE,OAAe,EAAA;QAC1D,OAAO,IAAI,CAAC,WAAW;AACpB,aAAA,GAAG,CAAC;AACH,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,WAAW,CAAA,CAAA,EAAI,OAAO,CAAM,IAAA,CAAA;AACzC,YAAA,IAAI,EAAE;AACJ,gBAAA,EAAE,EAAE,OAAO;AACX,gBAAA,GAAG,EAAE,GAAG;AACR,gBAAA,OAAO,EAAE,OAAO;AACjB,aAAA;SACF,CAAC;AACD,aAAA,IAAI,CACH,GAAG,CAAC,MAAM,IAAG;YACX,IAAI,MAAM,CAAC,UAAU,EAAE;AACrB,gBAAA,OAAO,EAAE,CAAC;AACX,aAAA;AAAM,iBAAA;AACL,gBAAA,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACjC,aAAA;SACF,CAAC,EACF,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,CACnD,CAAC;KACL;AAEM,IAAA,gBAAgB,CAAC,OAAe,EAAA;AACrC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,WAAW,CAAA,CAAA,EAAI,OAAO,CAAoB,kBAAA,CAAA;AACxD,SAAA,CAAC,CAAC;KACJ;IAEM,SAAS,CAAC,YAA0B,EAAE,OAAe,EAAA;QAC1D,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AAC7C,QAAA,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;AACxB,QAAA,oBAAoB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAE1C,OAAO,IAAI,CAAC,WAAW;AACpB,aAAA,GAAG,CAAC;AACH,YAAA,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,CAAI,CAAA,EAAA,KAAK,CAAC,EAAE,CAAE,CAAA;AACtC,YAAA,IAAI,EAAE,KAAK;SACZ,CAAC;AACD,aAAA,IAAI,CACH,GAAG,CAAC,MAAM,IAAG;YACX,IAAI,MAAM,CAAC,UAAU,EAAE;AACrB,gBAAA,OAAO,EAAE,CAAC;AACX,aAAA;AAAM,iBAAA;AACL,gBAAA,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACjC,aAAA;SACF,CAAC,EACF,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,CACnD,CAAC;KACL;AAEM,IAAA,aAAa,CAAC,YAA0B,EAAA;QAC7C,OAAO,IAAI,CAAC,WAAW;AACpB,aAAA,GAAG,CAAC;AACH,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,WAAW,CAAW,SAAA,CAAA;AACnC,YAAA,IAAI,EAAE,YAAY;AAClB,YAAA,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,qBAAqB;SACrD,CAAC;AACD,aAAA,IAAI,CACH,GAAG,CAAC,MAAM,IAAG;YACX,IAAI,MAAM,CAAC,UAAU,EAAE;AACrB,gBAAA,OAAO,EAAE,CAAC;AACX,aAAA;AAAM,iBAAA;AACL,gBAAA,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACjC,aAAA;SACF,CAAC,CACH,CAAC;KACL;IAEM,WAAW,CAAC,YAA0B,EAAE,IAAY,EAAA;QACzD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AAC7C,QAAA,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;AAClB,QAAA,oBAAoB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAE1C,OAAO,IAAI,CAAC,WAAW;AACpB,aAAA,GAAG,CAAC;AACH,YAAA,MAAM,EAAE,OAAO;YACf,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,CAAI,CAAA,EAAA,KAAK,CAAC,EAAE,CAAE,CAAA;AACtC,YAAA,IAAI,EAAE,KAAK;SACZ,CAAC;aACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC,CAAC;KAC7D;IAEM,aAAa,CAAC,IAAU,EAAE,OAAe,EAAA;AAC9C,QAAA,MAAM,QAAQ,GAAa,IAAI,QAAQ,EAAE,CAAC;QAC1C,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AAEzC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;AAC7B,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,WAAW,CAAA,CAAA,EAAI,OAAO,CAAa,WAAA,CAAA;AAChD,YAAA,IAAI,EAAE,QAAQ;AACf,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,MAAM,CACX,OAAe,EACf,GAAW,EACX,QAAgB,EAChB,iBAAuC,EAAA;AAEvC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,WAAW,CAAA,CAAA,EAAI,OAAO,CAAU,QAAA,CAAA;AAC7C,YAAA,IAAI,EAAE;gBACJ,GAAG;gBACH,QAAQ;gBACR,iBAAiB;AAClB,aAAA;AACD,YAAA,YAAY,EAAE,MAAM;AACrB,SAAA,CAAC,CAAC;KACJ;IAEM,aAAa,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,GAAG,EAAE,oCAAoC;AAC1C,SAAA,CAAC,CAAC;KACJ;;AA9Pa,sBAAW,CAAA,WAAA,GAAG,GAAG,CAAC;mHADrB,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;uHAAtB,sBAAsB,EAAA,CAAA,CAAA;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBADlC,UAAU;;;MCNE,oBAAoB,CAAA;AAG/B,IAAA,WAAA,CAAoB,eAAgC,EAAA;QAAhC,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;QAFnC,IAAU,CAAA,UAAA,GAAW,kBAAkB,CAAC;QAIlD,IAAS,CAAA,SAAA,GAAG,MAA4B;AAC7C,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAY,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;AACvE,SAAC,CAAC;AAaK,QAAA,IAAA,CAAA,SAAS,GAAG,CAAC,EAAU,KAA2B;AACvD,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAY,EAAE,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,EAAE,CAAE,CAAA,EAAE,CAAC,CAAC;AAClF,SAAC,CAAC;AAkBK,QAAA,IAAA,CAAA,OAAO,GAAG,CAAC,EAAU,KAAwB;AAClD,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAS;AACtC,gBAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,EAAE,CAAE,CAAA;AAC/B,gBAAA,MAAM,EAAE,QAAQ;AACjB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,EAAU,KAAsB;AACjD,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,MAAM,EAAE,OAAO;AACf,gBAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,EAAE,CAAU,QAAA,CAAA;AACxC,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,UAAU,GAAG,CAAC,IAAkB,KAAwB;YAC7D,OAAO,IAAI,CAAC,eAAe;AACxB,iBAAA,GAAG,CAAC;gBACH,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,IAAI,CAAC,EAAE,CAAQ,MAAA,CAAA;AAC1C,gBAAA,MAAM,EAAE,MAAM;gBACd,IAAI;aACL,CAAC;AACD,iBAAA,IAAI,CAACG,KAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;AACpD,SAAC,CAAC;KA3DsD;AAMjD,IAAA,OAAO,CAAC,UAAsB,EAAE,IAAa,EAAE,KAAc,EAAA;AAClE,QAAA,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;AAC9B,QAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC5B,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;AACxC,SAAA;AACD,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC;AAC1C,SAAA;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAA,OAAA,CAAS,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;KACjH;AAMM,IAAA,OAAO,CAAC,IAAkB,EAAA;AAC/B,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAY;AACzC,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAE,CAAA;AACzB,YAAA,MAAM,EAAE,MAAM;YACd,IAAI;AACL,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,OAAO,CAAC,IAAe,EAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAY;YACzC,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,IAAI,CAAC,EAAE,CAAE,CAAA;AACpC,YAAA,MAAM,EAAE,KAAK;YACb,IAAI;AACL,SAAA,CAAC,CAAC;KACJ;;iHAtCU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;qHAApB,oBAAoB,EAAA,CAAA,CAAA;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBADhC,UAAU;;;MCCE,eAAe,CAAA;AAG1B,IAAA,WAAA,CAAoB,WAA4B,EAAA;QAA5B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAiB;QAF/B,IAAW,CAAA,WAAA,GAAG,SAAS,CAAC;KAEW;AAEpD;;;;;AAKG;AACI,IAAA,aAAa,CAClB,QAAgB,EAChB,MAA2B,EAC3B,OAAwC,EAAA;AAExC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAa;AACtC,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,GAAG,EAAE,CAAM,GAAA,EAAA,IAAI,CAAC,WAAW,CAAA,CAAA,EAAI,QAAQ,CAAE,CAAA;YACzC,MAAM;AACN,YAAA,GAAG,OAAO;AACX,SAAA,CAAC,CAAC;KACJ;IAEM,WAAW,CAAC,OAAmB,EAAE,OAAwC,EAAA;AAC9E,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,WAAW,CAAE,CAAA;AAC1B,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,GAAG,OAAO;AACX,SAAA,CAAC,CAAC;KACJ;IAEM,WAAW,CAAC,OAAmB,EAAE,OAAwC,EAAA;AAC9E,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,WAAW,CAAS,OAAA,CAAA;AACjC,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,GAAG,OAAO;AACX,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,cAAc,CAAC,EAAU,EAAE,YAAoB,EAAE,IAAS,EAAA;AAC/D,QAAA,MAAM,QAAQ,GAAa,IAAI,QAAQ,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9B,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;AAE5C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;AAC7B,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,WAAW,CAAA,CAAA,EAAI,EAAE,CAAkB,gBAAA,CAAA;AAChD,YAAA,YAAY,EAAE,aAAa;AAC3B,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,IAAI,EAAE,QAAQ;AACf,SAAA,CAAC,CAAC;KACJ;;4GArDU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;gHAAf,eAAe,EAAA,CAAA,CAAA;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B,UAAU;;;MCAE,cAAc,CAAA;AAGzB,IAAA,WAAA,CAAoB,WAA4B,EAAA;QAA5B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAiB;QAF/B,IAAW,CAAA,WAAA,GAAG,OAAO,CAAC;KAEa;IAE7C,IAAI,CAAC,OAAwB,EAAE,OAAwC,EAAA;AAC5E,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,WAAW,CAAO,KAAA,CAAA;AAC/B,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,GAAG,OAAO;AACX,SAAA,CAAC,CAAC;KACJ;IAEM,KAAK,CAAC,OAAyB,EAAE,OAAwC,EAAA;AAC9E,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,WAAW,CAAQ,MAAA,CAAA;AAChC,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,GAAG,OAAO;AACX,SAAA,CAAC,CAAC;KACJ;;2GArBU,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;+GAAd,cAAc,EAAA,CAAA,CAAA;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B,UAAU;;;MCEE,uBAAuB,CAAA;AAGlC,IAAA,WAAA,CAAoB,eAAgC,EAAA;QAAhC,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;QAFnC,IAAU,CAAA,UAAA,GAAW,uBAAuB,CAAC;QAIvD,IAAS,CAAA,SAAA,GAAG,MAAkC;AACnD,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAkB,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;AAC7E,SAAC,CAAC;AAaK,QAAA,IAAA,CAAA,SAAS,GAAG,CAAC,EAAU,KAA+B;AAC3D,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAgB,EAAE,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,EAAE,CAAE,CAAA,EAAE,CAAC,CAAC;AACtF,SAAC,CAAC;AAkBK,QAAA,IAAA,CAAA,OAAO,GAAG,CAAC,EAAU,KAAwB;AAClD,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAS;AACtC,gBAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,EAAE,CAAE,CAAA;AAC/B,gBAAA,MAAM,EAAE,QAAQ;AACjB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,EAAU,KAAsB;AACjD,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,MAAM,EAAE,OAAO;AACf,gBAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,EAAE,CAAU,QAAA,CAAA;AACxC,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,UAAU,GAAG,CAAC,IAAkB,KAAwB;YAC7D,OAAO,IAAI,CAAC,eAAe;AACxB,iBAAA,GAAG,CAAC;gBACH,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,IAAI,CAAC,EAAE,CAAQ,MAAA,CAAA;AAC1C,gBAAA,MAAM,EAAE,MAAM;gBACd,IAAI;aACL,CAAC;AACD,iBAAA,IAAI,CAACA,KAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;AACpD,SAAC,CAAC;KA3DsD;AAMjD,IAAA,OAAO,CAAC,UAAsB,EAAE,IAAa,EAAE,KAAc,EAAA;AAClE,QAAA,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;AAC9B,QAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC5B,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;AACxC,SAAA;AACD,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC;AAC1C,SAAA;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAA,OAAA,CAAS,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;KACjH;AAMM,IAAA,OAAO,CAAC,IAAsB,EAAA;AACnC,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAgB;AAC7C,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAE,CAAA;AACzB,YAAA,MAAM,EAAE,MAAM;YACd,IAAI;AACL,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,OAAO,CAAC,IAAmB,EAAA;AAChC,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAgB;YAC7C,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,IAAI,CAAC,EAAE,CAAE,CAAA;AACpC,YAAA,MAAM,EAAE,KAAK;YACb,IAAI;AACL,SAAA,CAAC,CAAC;KACJ;;oHAtCU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;wHAAvB,uBAAuB,EAAA,CAAA,CAAA;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBADnC,UAAU;;;MCCE,oBAAoB,CAAA;AAG/B,IAAA,WAAA,CAAoB,eAAgC,EAAA;QAAhC,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;QAFnC,IAAU,CAAA,UAAA,GAAW,oBAAoB,CAAC;QAIpD,IAAS,CAAA,SAAA,GAAG,MAA6B;AAC9C,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAa,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;AACxE,SAAC,CAAC;AAaK,QAAA,IAAA,CAAA,SAAS,GAAG,CAAC,EAAU,KAA4B;AACxD,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAa,EAAE,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,EAAE,CAAE,CAAA,EAAE,CAAC,CAAC;AACnF,SAAC,CAAC;AAkBK,QAAA,IAAA,CAAA,OAAO,GAAG,CAAC,EAAU,KAAwB;AAClD,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAS;AACtC,gBAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,EAAE,CAAE,CAAA;AAC/B,gBAAA,MAAM,EAAE,QAAQ;AACjB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,EAAU,KAAsB;AACjD,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,MAAM,EAAE,OAAO;AACf,gBAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,EAAE,CAAU,QAAA,CAAA;AACxC,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,UAAU,GAAG,CAAC,IAAkB,KAAwB;YAC7D,OAAO,IAAI,CAAC,eAAe;AACxB,iBAAA,GAAG,CAAC;gBACH,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,IAAI,CAAC,EAAE,CAAQ,MAAA,CAAA;AAC1C,gBAAA,MAAM,EAAE,MAAM;gBACd,IAAI;aACL,CAAC;AACD,iBAAA,IAAI,CAACA,KAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;AACpD,SAAC,CAAC;KA3DsD;AAMjD,IAAA,OAAO,CAAC,UAAsB,EAAE,IAAa,EAAE,KAAc,EAAA;AAClE,QAAA,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;AAC9B,QAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC5B,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;AACxC,SAAA;AACD,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC;AAC1C,SAAA;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAA,OAAA,CAAS,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;KACjH;AAMM,IAAA,OAAO,CAAC,IAAmB,EAAA;AAChC,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAa;AAC1C,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAE,CAAA;AACzB,YAAA,MAAM,EAAE,MAAM;YACd,IAAI;AACL,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,OAAO,CAAC,IAAgB,EAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAa;YAC1C,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,IAAI,CAAC,EAAE,CAAE,CAAA;AACpC,YAAA,MAAM,EAAE,KAAK;YACb,IAAI;AACL,SAAA,CAAC,CAAC;KACJ;;iHAtCU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;qHAApB,oBAAoB,EAAA,CAAA,CAAA;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBADhC,UAAU;;;MCOE,aAAa,CAAA;AAGxB,IAAA,WAAA,CAAoB,eAAgC,EAAA;QAAhC,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;QAFnC,IAAU,CAAA,UAAA,GAAW,MAAM,CAAC;KAEW;IAEjD,wBAAwB,GAAA;QAC7B,OAAO,IAAI,CAAC,eAAe;AACxB,aAAA,GAAG,CAAsB,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAA,QAAA,CAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;AACvF,aAAA,IAAI,CACH,UAAU,CAAC,MAAK;AACd,YAAA,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;SACf,CAAC,CACH,CAAC;KACL;AAEM,IAAA,qBAAqB,CAAC,EAAU,EAAA;AACrC,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAmB,EAAE,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,SAAA,EAAY,EAAE,CAAW,SAAA,CAAA,EAAE,CAAC,CAAC;KACzG;AAEM,IAAA,gCAAgC,CAAC,EAAU,EAAA;QAChD,OAAO,IAAI,CAAC,eAAe;AACxB,aAAA,GAAG,CAA+B;AACjC,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,SAAA,EAAY,EAAE,CAAoB,kBAAA,CAAA;AACzD,YAAA,gBAAgB,EAAE,IAAI;SACvB,CAAC;AACD,aAAA,IAAI,CACH,UAAU,CAAC,MAAK;AACd,YAAA,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AAChB,SAAC,CAAC,EACF,GAAG,CAAC,OAAO,IAAG;AACZ,YAAA,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,IAAG;gBAC1B,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC;AACpC,gBAAA,MAAM,gBAAgB,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;gBACjD,OAAO;oBACL,EAAE,EAAE,MAAM,CAAC,EAAE;AACb,oBAAA,KAAK,EAAE,GAAG,IAAI,MAAM,CAAC,KAAK;AAC1B,oBAAA,UAAU,EAAE,gBAAgB,CAAC,GAAG,CAAC,SAAS,IAAG;wBAC3C,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC;wBACvC,OAAO;AACL,4BAAA,KAAK,EAAE,GAAG,IAAI,SAAS,CAAC,KAAK;4BAC7B,SAAS,EAAE,SAAS,CAAC,SAAS;4BAC9B,QAAQ,EAAE,SAAS,CAAC,QAAQ;yBAC7B,CAAC;AACJ,qBAAC,CAAC;iBACH,CAAC;AACJ,aAAC,CAAC,CAAC;SACJ,CAAC,CACH,CAAC;KACL;AAEM,IAAA,kBAAkB,CAAC,mBAA4B,EAAA;QACpD,MAAM,MAAM,GAAsC,EAAE,CAAC;AAErD,QAAA,IAAI,mBAAmB,EAAE;AACvB,YAAA,MAAM,CAAC,qBAAqB,CAAC,GAAG,mBAAmB,CAAC;AACrD,SAAA;AAED,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAiB;AAC9C,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAa,WAAA,CAAA;YACpC,MAAM;AACP,SAAA,CAAC,CAAC;KACJ;;0GA7DU,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;8GAAb,aAAa,EAAA,CAAA,CAAA;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBADzB,UAAU;;;MCPE,kBAAkB,CAAA;AAG7B,IAAA,WAAA,CAAoB,WAA4B,EAAA;QAA5B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAiB;QAF/B,IAAW,CAAA,WAAA,GAAG,aAAa,CAAC;KAEO;AAE7C,IAAA,QAAQ,CACb,WAAgC,EAChC,QAAgB,EAChB,gBAAyB,EACzB,OAAwC,EAAA;AAExC,QAAA,MAAM,MAAM,GAA2B,EAAE,WAAW,EAAE,CAAC;AAEvD,QAAA,IAAI,gBAAgB,EAAE;AACpB,YAAA,MAAM,CAAC,kBAAkB,CAAC,GAAG,gBAAgB,CAAC;AAC/C,SAAA;AAED,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,WAAW,CAAA,CAAA,EAAI,QAAQ,CAAE,CAAA;YACtC,MAAM;AACN,YAAA,GAAG,OAAO;AACX,SAAA,CAAC,CAAC;KACJ;;+GAvBU,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;mHAAlB,kBAAkB,EAAA,CAAA,CAAA;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B,UAAU;;;MCGE,oBAAoB,CAAA;AAG/B,IAAA,WAAA,CAAoB,eAAgC,EAAA;QAAhC,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;QAFnC,IAAU,CAAA,UAAA,GAAW,oBAAoB,CAAC;QAIpD,IAAgB,CAAA,gBAAA,GAAG,MAA8B;AACtD,YAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,UAAU,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;AAC1D,SAAC,CAAC;QAEK,IAAiB,CAAA,iBAAA,GAAG,CAAC,UAAsB,EAAE,IAAY,EAAE,KAAa,KAA6B;AAC1G,YAAA,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;YACvC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC;YACzC,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAA,OAAA,CAAS,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;AAClH,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAC,SAAuB,KAA2B;AAC3E,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAY;AACzC,gBAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAE,CAAA;AACzB,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,IAAI,EAAE,SAAS;AAChB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAC,SAAoB,KAA2B;AACxE,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAY;gBACzC,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,SAAS,CAAC,EAAE,CAAE,CAAA;AACzC,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,IAAI,EAAE,SAAS;AAChB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,mBAAmB,GAAG,CAAC,IAAkB,KAAwB;YACtE,OAAO,IAAI,CAAC,eAAe;AACxB,iBAAA,GAAG,CAAC;gBACH,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,IAAI,CAAC,EAAE,CAAQ,MAAA,CAAA;AAC1C,gBAAA,MAAM,EAAE,MAAM;gBACd,IAAI;aACL,CAAC;AACD,iBAAA,IAAI,CAACA,KAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;AACpD,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAC,EAAU,KAAwB;AAC3D,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAS;AACtC,gBAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,EAAE,CAAE,CAAA;AAC/B,gBAAA,MAAM,EAAE,QAAQ;AACjB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,iBAAiB,GAAG,CAAC,EAAU,KAAwB;AAC5D,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAS;AACtC,gBAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,EAAE,CAAU,QAAA,CAAA;AACvC,gBAAA,MAAM,EAAE,OAAO;AAChB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;KAnDsD;;iHAH7C,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;qHAApB,oBAAoB,EAAA,CAAA,CAAA;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBADhC,UAAU;;;MCUE,eAAe,CAAA;AAG1B,IAAA,WAAA,CAAoB,eAAgC,EAAA;QAAhC,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;QAFnC,IAAU,CAAA,UAAA,GAAW,cAAc,CAAC;QAI9C,IAAW,CAAA,WAAA,GAAG,MAAyB;AAC5C,YAAA,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,UAAU,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;AACrD,SAAC,CAAC;QAEK,IAAY,CAAA,YAAA,GAAG,CAAC,UAAsB,EAAE,IAAa,EAAE,KAAc,KAAwB;AAClG,YAAA,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;AAC9B,YAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBAC5B,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;AACxC,aAAA;AACD,YAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC7B,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC;AAC1C,aAAA;YACD,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAA,OAAA,CAAS,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;AAClH,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,WAAW,GAAG,CAAC,IAAa,KAAsB;AACvD,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAO;AACpC,gBAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAE,CAAA;AACzB,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,IAAI,EAAE,IAAI;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,WAAW,GAAG,CAAC,IAAU,KAAsB;AACpD,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAO;gBACpC,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,IAAI,CAAC,EAAE,CAAE,CAAA;AACpC,gBAAA,MAAM,EAAE,KAAK;AACb,gBAAA,IAAI,EAAE,IAAI;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,cAAc,GAAG,CAAC,IAAkB,KAAwB;YACjE,OAAO,IAAI,CAAC,eAAe;AACxB,iBAAA,GAAG,CAAC;gBACH,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,IAAI,CAAC,EAAE,CAAQ,MAAA,CAAA;AAC1C,gBAAA,MAAM,EAAE,MAAM;gBACd,IAAI;aACL,CAAC;AACD,iBAAA,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;AACpD,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,WAAW,GAAG,CAAC,EAAU,KAAwB;AACtD,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAS;AACtC,gBAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,EAAE,CAAE,CAAA;AAC/B,gBAAA,MAAM,EAAE,QAAQ;AACjB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,YAAY,GAAG,CAAC,EAAU,KAAwB;AACvD,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAS;AACtC,gBAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,EAAE,CAAU,QAAA,CAAA;AACvC,gBAAA,MAAM,EAAE,OAAO;AAChB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;KAvDsD;AAyDjD,IAAA,UAAU,CAAC,EAAU,EAAA;AAC1B,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAO;AACpC,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,EAAE,CAAE,CAAA;AAC/B,YAAA,MAAM,EAAE,KAAK;AACd,SAAA,CAAC,CAAC;KACJ;IAEM,kBAAkB,GAAA;AACvB,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAgB;AAC7C,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAkB,gBAAA,CAAA;AACzC,YAAA,MAAM,EAAE,KAAK;AACd,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,QAAQ,CAAC,IAAwB,EAAA;AACtC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAC5D,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAW;YACxC,GAAG;AACH,YAAA,MAAM,EAAE,MAAM;YACd,IAAI;AACL,SAAA,CAAC,CAAC;KACJ;AAEO,IAAA,iBAAiB,CAAC,aAA6B,EAAA;AACrD,QAAA,IAAI,aAAa,KAAK,cAAc,CAAC,WAAW,EAAE;AAChD,YAAA,OAAO,4BAA4B,CAAC;AACrC,SAAA;AAED,QAAA,IAAI,aAAa,KAAK,cAAc,CAAC,OAAO,EAAE;AAC5C,YAAA,OAAO,wBAAwB,CAAC;AACjC,SAAA;AAED,QAAA,IAAI,aAAa,KAAK,cAAc,CAAC,eAAe,EAAE;AACpD,YAAA,OAAO,oBAAoB,CAAC;AAC7B,SAAA;AAED,QAAA,OAAO,gBAAgB,CAAC;KACzB;;4GAjGU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;gHAAf,eAAe,EAAA,CAAA,CAAA;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B,UAAU;;;MCDE,oBAAoB,CAAA;AAG/B,IAAA,WAAA,CAAoB,WAA4B,EAAA;QAA5B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAiB;QAF/B,IAAW,CAAA,WAAA,GAAG,QAAQ,CAAC;KAEY;AAE7C,IAAA,KAAK,CACV,aAA4B,EAC5B,UAAkB,EAClB,OAAwC,EAAA;AAExC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,IAAI,EAAE,EAAE,GAAG,aAAa,EAAE,KAAK,EAAE,aAAa,CAAC,KAAK,IAAI,GAAG,EAAE;AAC7D,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,WAAW,CAAA,OAAA,EAAU,UAAU,CAAE,CAAA;AAC9C,YAAA,GAAG,OAAO;AACX,SAAA,CAAC,CAAC;KACJ;IAEM,YAAY,CAAC,MAAe,EAAE,OAAwC,EAAA;AAC3E,QAAA,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;AAC9B,QAAA,IAAI,MAAM,EAAE;YACV,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC1C,SAAA;AAED,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,WAAW,CAAQ,MAAA,CAAA;YAChC,MAAM;AACN,YAAA,GAAG,OAAO;AACX,SAAA,CAAC,CAAC;KACJ;IAEM,MAAM,CACX,GAA6B,EAC7B,OAAwC,EAAA;AAExC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,WAAW,CAAc,YAAA,CAAA;AACtC,YAAA,MAAM,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,YAAY,EAAE;AAC/B,YAAA,GAAG,OAAO;AACX,SAAA,CAAC,CAAC;KACJ;IAEM,cAAc,CAAC,UAAkB,EAAE,OAAwC,EAAA;QAChF,MAAM,SAAS,GAAG,CAAG,EAAA,IAAI,CAAC,WAAW,CAAA,UAAA,EAAa,UAAU,CAAA,OAAA,CAAS,CAAC;AAEtE,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;KAC7D;AAEM,IAAA,aAAa,CAClB,UAAkB,EAClB,SAAiB,EACjB,OAAwC,EAAA;QAExC,MAAM,SAAS,GAAG,CAAA,EAAG,IAAI,CAAC,WAAW,CAAA,UAAA,EAAa,UAAU,CAAA,QAAA,EAAW,SAAS,CAAA,CAAE,CAAC;AAEnF,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;KAC7D;AAEM,IAAA,SAAS,CAAI,UAAkB,EAAE,MAAgB,EAAE,OAAwC,EAAA;QAChG,MAAM,SAAS,GAAG,CAAG,EAAA,IAAI,CAAC,WAAW,CAAA,UAAA,EAAa,UAAU,CAAA,OAAA,CAAS,CAAC;QAEtE,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;KAC3F;AAEM,IAAA,cAAc,CACnB,IAAY,EACZ,MAAwC,EACxC,OAAwC,EAAA;;AAGxC,QAAA,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAErE,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,WAAW,CAAQ,KAAA,EAAA,IAAI,CAAE,CAAA,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;KACzG;AAEM,IAAA,eAAe,CAAO,IAAY,EAAE,IAAO,EAAE,OAAwC,EAAA;AAC1F,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,MAAM,EAAE,MAAM;YACd,IAAI;AACJ,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,WAAW,CAAA,KAAA,EAAQ,IAAI,CAAE,CAAA;AACtC,YAAA,GAAG,OAAO;AACX,SAAA,CAAC,CAAC;KACJ;IAEM,kBAAkB,GAAA;AACvB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,WAAW,CAAiB,eAAA,CAAA;AAC1C,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,uBAAuB,CAAC,EAAU,EAAA;AACvC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,WAAW,CAAA,gBAAA,EAAmB,EAAE,CAAS,OAAA,CAAA;AACvD,SAAA,CAAC,CAAC;KACJ;;iHAhGU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;qHAApB,oBAAoB,EAAA,CAAA,CAAA;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBADhC,UAAU;;;MCHE,wBAAwB,CAAA;AACnC,IAAA,WAAA,CAAoB,cAA8B,EAAA;QAA9B,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;AAyHlD;;;;AAIG;AACK,QAAA,IAAA,CAAA,mBAAmB,GAAG,CAAC,OAAe,KAAU;AACtD,YAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AACjF,SAAC,CAAC;KAhIoD;IAE/C,2BAA2B,GAAA;QAChC,IAAI;YACF,OAAO,MAAM,CAAC,aAAa;kBACvB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAChDA,KAAG,CAAC,QAAQ,IACV,oBAAoB,CAClB,QAAQ,EACR,EAAE,EACF,IAAI,CAAC,mBAAmB,CACzB,CACF,EACDC,YAAU,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CACzB;AACH,kBAAE,EAAE,CAAC,EAAE,CAAC,CAAC;AACZ,SAAA;QAAC,MAAM;AACN,YAAA,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AACf,SAAA;KACF;IAEM,wCAAwC,GAAA;QAC7C,IAAI;YACF,OAAO,MAAM,CAAC,aAAa;kBACvB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAC3DD,KAAG,CAAC,QAAQ,IACV,oBAAoB,CAAyC,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,mBAAmB,CAAC,CACrG,EACDC,YAAU,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CACzB;AACH,kBAAE,EAAE,CAAC,EAAE,CAAC,CAAC;AACZ,SAAA;QAAC,MAAM;AACN,YAAA,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AACf,SAAA;KACF;AAEM,IAAA,6BAA6B,CAClC,OAAkC,EAAA;QAElC,IAAI;YACF,OAAO,MAAM,CAAC,aAAa;kBACvB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CACtED,KAAG,CAAC,QAAQ,IACV,oBAAoB,CAAoC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,CACvG,EACDC,YAAU,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAChC;AACH,kBAAE,EAAE,CAAC,SAAS,CAAC,CAAC;AACnB,SAAA;AAAC,QAAA,OAAO,GAAG,EAAE;AACZ,YAAA,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;AACtB,SAAA;KACF;AAEM,IAAA,6BAA6B,CAClC,OAA+B,EAAA;QAE/B,IAAI;YACF,OAAO,MAAM,CAAC,aAAa;kBACvB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA,KAAA,EAAQ,OAAO,CAAC,KAAK,CAAA,CAAE,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CACvFD,KAAG,CAAC,QAAQ,IACV,oBAAoB,CAAoC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,CACvG,EACDC,YAAU,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAChC;AACH,kBAAE,EAAE,CAAC,SAAS,CAAC,CAAC;AACnB,SAAA;QAAC,MAAM;AACN,YAAA,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;AACtB,SAAA;KACF;AAEM,IAAA,6BAA6B,CAClC,OAA+B,EAAA;QAE/B,IAAI;YACF,OAAO,MAAM,CAAC,aAAa;kBACvB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAQ,KAAA,EAAA,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CACpED,KAAG,CAAC,QAAQ,IACV,oBAAoB,CAAoC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,CACvG,EACDC,YAAU,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAChC;AACH,kBAAE,EAAE,CAAC,SAAS,CAAC,CAAC;AACnB,SAAA;QAAC,MAAM;AACN,YAAA,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;AACtB,SAAA;KACF;AAEM,IAAA,+BAA+B,CACpC,OAA+B,EAAA;QAE/B,IAAI;YACF,OAAO,MAAM,CAAC,aAAa;kBACvB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA,KAAA,EAAQ,OAAO,CAAC,KAAK,CAAA,SAAA,CAAW,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAC3FD,KAAG,CAAC,QAAQ,IACV,oBAAoB,CAAoC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,CACvG,EACDC,YAAU,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAChC;AACH,kBAAE,EAAE,CAAC,SAAS,CAAC,CAAC;AACnB,SAAA;QAAC,MAAM;AACN,YAAA,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;AACtB,SAAA;KACF;AAEM,IAAA,iCAAiC,CACtC,OAA+B,EAAA;QAE/B,IAAI;YACF,OAAO,MAAM,CAAC,aAAa;kBACvB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA,KAAA,EAAQ,OAAO,CAAC,KAAK,CAAA,WAAA,CAAa,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAC7FD,KAAG,CAAC,QAAQ,IACV,oBAAoB,CAAoC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,CACvG,EACDC,YAAU,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAChC;AACH,kBAAE,EAAE,CAAC,SAAS,CAAC,CAAC;AACnB,SAAA;QAAC,MAAM;AACN,YAAA,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;AACtB,SAAA;KACF;;qHAxHU,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAJ,IAAA,CAAA,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;yHAAxB,wBAAwB,EAAA,CAAA,CAAA;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBADpC,UAAU;;;MCDE,iBAAiB,CAAA;AAG5B,IAAA,WAAA,CAAoB,eAAgC,EAAA;QAAhC,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;QAFnC,IAAU,CAAA,UAAA,GAAW,gBAAgB,CAAC;QAIhD,IAAa,CAAA,aAAA,GAAG,MAA2B;AAChD,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAW,EAAE,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAE,CAAA,EAAE,CAAC,CAAC;AAC3E,SAAC,CAAC;QAEK,IAAc,CAAA,cAAA,GAAG,CAAC,UAAsB,EAAE,IAAa,EAAE,KAAc,KAA0B;AACtG,YAAA,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;AAC9B,YAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBAC5B,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;AACxC,aAAA;AACD,YAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC7B,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC;AAC1C,aAAA;YACD,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAA,OAAA,CAAS,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;AAClH,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,YAAY,GAAG,CAAC,EAAU,KAA+B;AAC9D,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAgB,EAAE,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,EAAE,CAAE,CAAA,EAAE,CAAC,CAAC;AACtF,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,aAAa,GAAG,CAAC,MAAiB,KAAwB;AAC/D,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAS;AACtC,gBAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAE,CAAA;AACzB,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,IAAI,EAAE,MAAM;AACb,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,iBAAiB,GAAG,CAAC,MAAc,KAA+B;AACvE,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAgB;gBAC7C,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,MAAM,CAAC,EAAE,CAAE,CAAA;AACtC,gBAAA,MAAM,EAAE,KAAK;AACb,gBAAA,IAAI,EAAE,MAAM;AACb,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,oBAAoB,GAAG,CAAC,MAAqB,KAA+B;AACjF,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAgB;gBAC7C,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,MAAM,CAAC,EAAE,CAAE,CAAA;AACtC,gBAAA,MAAM,EAAE,KAAK;AACb,gBAAA,IAAI,EAAE,MAAM;AACb,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,YAAY,GAAG,CAAC,YAA0B,KAAwB;YACvE,OAAO,IAAI,CAAC,eAAe;AACxB,iBAAA,GAAG,CAAC;gBACH,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,YAAY,CAAC,EAAE,CAAQ,MAAA,CAAA;AAClD,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,IAAI,EAAE,YAAY;aACnB,CAAC;AACD,iBAAA,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;AACpD,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,aAAa,GAAG,CAAC,EAAU,KAAwB;AACxD,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAS;AACtC,gBAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,EAAE,CAAE,CAAA;AAC/B,gBAAA,MAAM,EAAE,QAAQ;AACjB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,cAAc,GAAG,CAAC,EAAU,KAAwB;AACzD,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAS;AACtC,gBAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,EAAE,CAAU,QAAA,CAAA;AACvC,gBAAA,MAAM,EAAE,OAAO;AAChB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,IAA0B,KAAqB;AAChE,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,GAAG,EAAE,CAAkB,gBAAA,CAAA;AACvB,gBAAA,MAAM,EAAE,MAAM;gBACd,IAAI;AACJ,gBAAA,YAAY,EAAE,MAAM,IAAI;AACzB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;KA5EsD;;8GAH7C,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAjB,iBAAiB,EAAA,CAAA,CAAA;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B,UAAU;;;MCAE,8BAA8B,CAAA;AAGzC,IAAA,WAAA,CAAoB,+BAAgE,EAAA;QAAhE,IAA+B,CAAA,+BAAA,GAA/B,+BAA+B,CAAiC;QAFnE,IAAuB,CAAA,uBAAA,GAAG,eAAe,CAAC;KAE6B;AAEjF,IAAA,UAAU,CAAC,EAAU,EAAA;QAC1B,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAC9B,GAAG,CAAC,CAAC,QAAQ,KAA4B,eAAe,CAAwB,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EACrG,GAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAC5D,CAAC;KACH;IAEM,aAAa,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,+BAA+B,CAAC,YAAY,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC;KACpH;IAEM,cAAc,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAC9B,GAAG,CAAC,CAAC,QAAsC,KAAK,eAAe,CAAwB,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAC5G,GAAG,CAAC,CAAC,QAA+B,KAClC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,KAAI;AAC/B,YAAA,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;AACtD,SAAC,EAAE,EAA0B,CAAC,CAC/B,CACF,CAAC;KACH;;2HAzBU,8BAA8B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAE,+BAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;+HAA9B,8BAA8B,EAAA,CAAA,CAAA;2FAA9B,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAD1C,UAAU;;;MCKE,+BAA+B,CAAA;AAG1C,IAAA,WAAA,CAAoB,WAA4B,EAAA;QAA5B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAiB;QAF/B,IAAW,CAAA,WAAA,GAAG,uBAAuB,CAAC;KAEH;AAEpD;;;;AAIG;AACI,IAAA,IAAI,CAAC,OAAqC,EAAA;AAC/C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,WAAW,CAAO,KAAA,CAAA;AAC/B,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,YAAY,EAAE,MAAM;AACrB,SAAA,CAAC,CAAC;KACJ;AAED;;;;AAIG;AACI,IAAA,GAAG,CAAC,EAAU,EAAA;AACnB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,WAAW,CAAA,CAAA,EAAI,EAAE,CAAE,CAAA;AACjC,SAAA,CAAC,CAAC;KACJ;AAED;;;;;AAKG;IACI,OAAO,CAAC,EAAU,EAAE,OAAoC,EAAA;AAC7D,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1B,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,WAAW,CAAA,CAAA,EAAI,EAAE,CAAU,QAAA,CAAA;AACxC,YAAA,IAAI,EAAE,OAAO;AACd,SAAA,CAAC,CAAC;KACJ;;4HA1CU,+BAA+B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;gIAA/B,+BAA+B,EAAA,CAAA,CAAA;2FAA/B,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAD3C,UAAU;;;MCKE,uBAAuB,CAAA;AAGlC,IAAA,WAAA,CAAoB,eAAgC,EAAA;QAAhC,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;QAFnC,IAAU,CAAA,UAAA,GAAW,gBAAgB,CAAC;KAEC;IAEjD,MAAM,CAAC,OAAe,EAAE,OAAgB,EAAA;QAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAC/C,QAAA,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,OAAO,IAAI,IAAI,EAAE;YACnB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;AAC9C,SAAA;QAED,OAAO,IAAI,CAAC,eAAe;AACxB,aAAA,GAAG,CAA6B;AAC/B,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,GAAG,EAAE,UAAU;AACf,YAAA,MAAM,EAAE,MAAM;SACf,CAAC;AACD,aAAA,IAAI,CAACC,KAAG,CAAC,UAAU,IAAI,UAAU,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;KACjE;IAEM,OAAO,CAAC,OAAe,EAAE,qBAA+C,EAAA;QAC7E,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAC/C,QAAA,MAAM,GAAG,GAAG;AACV,YAAA,GAAG,IAAI,CAAC,qBAAqB,EAAE,QAAQ,CAAC;AACxC,YAAA,IAAI,EAAE,qBAAqB,CAAC,MAAM,CAAC,IAAI;AACvC,YAAA,OAAO,EAAE,qBAAqB,CAAC,MAAM,CAAC,OAAO;AAC7C,YAAA,YAAY,EAAE,qBAAqB,CAAC,MAAM,CAAC,cAAc,EAAE,aAAa;AACxE,YAAA,QAAQ,EAAE,qBAAqB,CAAC,MAAM,CAAC,cAAc,EAAE,SAAS;AAChE,YAAA,WAAW,EAAE,qBAAqB,CAAC,MAAM,CAAC,OAAO;YACjD,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,MAAM,CAAC;SACzD,CAAC;QAEF,OAAO,IAAI,CAAC,eAAe;AACxB,aAAA,GAAG,CAA2B;AAC7B,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,GAAG,EAAE,UAAU;AACf,YAAA,IAAI,EAAE,GAAG;SACV,CAAC;AACD,aAAA,IAAI,CAACA,KAAG,CAAC,SAAS,IAAI,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;KAC3D;IAEM,IAAI,CAAC,OAAe,EAAE,cAAsB,EAAA;QACjD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAE/C,OAAO,IAAI,CAAC,eAAe;AACxB,aAAA,GAAG,CAA2B;AAC7B,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,GAAG,EAAE,CAAA,EAAG,UAAU,CAAA,CAAA,EAAI,cAAc,CAAE,CAAA;SACvC,CAAC;aACD,IAAI,CAACA,KAAG,CAAC,SAAS,IAAI,mBAAmB,CAAC,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC;KACtF;AAEM,IAAA,OAAO,CAAC,qBAA4C,EAAA;QACzD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;AACrE,QAAA,MAAM,GAAG,GAAG,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;QAErD,OAAO,IAAI,CAAC,eAAe;AACxB,aAAA,GAAG,CAA2B;AAC7B,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,GAAG,EAAE,CAAG,EAAA,UAAU,IAAI,qBAAqB,CAAC,EAAE,CAAE,CAAA;AAChD,YAAA,IAAI,EAAE,GAAG;SACV,CAAC;AACD,aAAA,IAAI,CAACA,KAAG,CAAC,SAAS,IAAI,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;KAC3D;AAEM,IAAA,OAAO,CAAC,qBAA4C,EAAA;QACzD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAErE,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,GAAG,EAAE,CAAG,EAAA,UAAU,IAAI,qBAAqB,CAAC,EAAE,CAAE,CAAA;AACjD,SAAA,CAAC,CAAC;KACJ;AAEO,IAAA,aAAa,CAAC,OAAe,EAAA;QACnC,OAAO,CAAA,QAAA,EAAW,OAAO,CAAA,cAAA,CAAgB,CAAC;KAC3C;IAEM,mBAAmB,GAAA;AACxB,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,YAAA,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,IAAI,CAAC,UAAU;AACrB,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,kBAAkB,CAAC,EAAU,EAAA;QAClC,OAAO,IAAI,CAAC,eAAe;AACxB,aAAA,GAAG,CAAC;AACH,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,EAAE,CAAE,CAAA;SAChC,CAAC;aACD,IAAI,CACHA,KAAG,CAAC,SAAS,IAAI,mBAAmB,CAAC,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,EAC3DA,KAAG,CAAC,YAAY,IAAG;YACjB,MAAM,MAAM,GAAG,YAAY,CAAC;YAC5B,IAAI,CAAC,YAAY,CAAC,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE;gBACxD,MAAM,CAAC,SAAS,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC;AACjD,aAAA;AACD,YAAA,OAAO,MAAM,CAAC;SACf,CAAC,CACH,CAAC;KACL;AAEM,IAAA,mBAAmB,CAAC,IAAS,EAAA;AAClC,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,YAAA,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,IAAI,CAAC,UAAU;YACpB,IAAI;AACL,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,mBAAmB,CAAC,YAAiB,EAAA;AAC1C,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,YAAA,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,YAAY,CAAC,EAAE,CAAE,CAAA;AAC5C,YAAA,IAAI,EAAE,YAAY;AACnB,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,mBAAmB,CAAC,EAAU,EAAA;AACnC,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,EAAE,CAAE,CAAA;AAChC,SAAA,CAAC,CAAC;KACJ;;oHA7HU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;wHAAvB,uBAAuB,EAAA,CAAA,CAAA;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBADnC,UAAU;;;MCXE,uBAAuB,GAAG,CACrC,GAAwB,EACxB,WAAsC,KACpB;IAClB,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,OAAO,EAAE,WAAW,CAAC,IAAI;QACzB,QAAQ,EAAE,WAAW,CAAC,IAAI;QAC1B,MAAM,EAAE,WAAW,CAAC,EAAE;QACtB,MAAM,EAAE,WAAW,CAAC,GAAG;KACxB,CAAC;AACJ;;MCKa,qBAAqB,CAAA;AAGhC,IAAA,WAAA,CAAoB,eAAgC,EAAA;QAAhC,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;QAFnC,IAAU,CAAA,UAAA,GAAW,cAAc,CAAC;AAI9C,QAAA,IAAA,CAAA,eAAe,GAAG,CAAC,IAAa,KAA8B;AACnE,YAAA,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;AAC9B,YAAA,IAAI,IAAI,EAAE;gBACR,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACtC,aAAA;AAED,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAe,EAAE,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AACvF,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,eAAe,GAAG,CAAC,QAAuB,KAA4B;AAC3E,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAa;AAC1C,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAE,CAAA;AACzB,gBAAA,IAAI,EAAE,QAAQ;AACf,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,eAAe,GAAG,CAAC,QAAoB,KAA4B;AACxE,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAa;AAC1C,gBAAA,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,QAAQ,CAAC,EAAE,CAAE,CAAA;AACxC,gBAAA,IAAI,EAAE,QAAQ;AACf,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,kBAAkB,GAAG,CAAC,QAAoB,EAAE,YAA0B,KAAwB;YACnG,OAAO,IAAI,CAAC,eAAe;AACxB,iBAAA,GAAG,CAAC;gBACH,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,QAAQ,CAAC,EAAE,CAAQ,MAAA,CAAA;AAC9C,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,IAAI,EAAE,YAAY;aACnB,CAAC;AACD,iBAAA,IAAI,CAACA,KAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;AACpD,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,eAAe,GAAG,CAAC,EAAU,KAAsB;AACxD,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,MAAM,EAAE,QAAQ;AAChB,gBAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,EAAE,CAAE,CAAA;AAChC,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAC,EAAU,KAAsB;AACzD,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,MAAM,EAAE,OAAO;AACf,gBAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,EAAE,CAAE,CAAA;AAChC,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAC,IAG1B,KAA8B;AAC7B,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAS,OAAA,CAAA;gBAChC,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,IAAI,EAAE,IAAI,CAAC,UAAU;AACtB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAC,UAAkB,EAAE,IAAa,KAAqC;AAC/F,YAAA,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;AAC9B,YAAA,IAAI,IAAI,EAAE;gBACR,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACtC,aAAA;AAED,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAsB;AACnD,gBAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,UAAU,CAAa,WAAA,CAAA;gBAClD,MAAM;AACP,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,eAAe,GAAG,CAAC,UAAkB,EAAE,WAAmB,KAAmC;AAClG,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAoB;gBACjD,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,UAAU,CAAe,YAAA,EAAA,WAAW,CAAE,CAAA;AAClE,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAC,SAA+B,KAAmC;AAC3F,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAoB;AACjD,gBAAA,MAAM,EAAE,MAAM;gBACd,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,SAAS,CAAC,YAAY,CAAa,WAAA,CAAA;AAC9D,gBAAA,IAAI,EAAE,SAAS;AAChB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAC,SAA4B,KAAmC;AACxF,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAoB;AACjD,gBAAA,MAAM,EAAE,KAAK;AACb,gBAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,SAAS,CAAC,YAAY,CAAA,YAAA,EAAe,SAAS,CAAC,EAAE,CAAE,CAAA;AAC9E,gBAAA,IAAI,EAAE,SAAS;AAChB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,mBAAmB,GAAG,CAAC,SAA4B,EAAE,YAA0B,KAAwB;YAC5G,OAAO,IAAI,CAAC,eAAe;AACxB,iBAAA,GAAG,CAAC;AACH,gBAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,SAAS,CAAC,YAAY,CAAA,YAAA,EAAe,SAAS,CAAC,EAAE,CAAQ,MAAA,CAAA;AACpF,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,IAAI,EAAE,YAAY;aACnB,CAAC;AACD,iBAAA,IAAI,CAACA,KAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;AACpD,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAC,UAAkB,EAAE,WAAmB,KAAsB;AACtF,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,MAAM,EAAE,QAAQ;gBAChB,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,UAAU,CAAe,YAAA,EAAA,WAAW,CAAE,CAAA;AAClE,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,iBAAiB,GAAG,CAAC,UAAkB,EAAE,WAAmB,KAAsB;AACvF,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,MAAM,EAAE,OAAO;gBACf,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,UAAU,CAAe,YAAA,EAAA,WAAW,CAAE,CAAA;AAClE,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,iBAAiB,GAAG,CACzB,UAAkB,EAClB,IAA8D,KAC3B;AACnC,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,UAAU,CAAoB,kBAAA,CAAA;gBACzD,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,IAAI,EAAE,IAAI,CAAC,UAAU;AACtB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;QAEK,IAAoB,CAAA,oBAAA,GAAG,CAC5B,UAAkB,EAClB,WAAmB,EACnB,OAAe,EACf,IAA4B,KACN;YACtB,OAAO,IAAI,CAAC,eAAe;AACxB,iBAAA,GAAG,CAAS;AACX,gBAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,UAAU,CAAA,YAAA,EAAe,WAAW,CAAA,SAAA,EAAY,OAAO,CAAA,aAAA,EAAgB,IAAI,CAAO,KAAA,CAAA;AAC7G,gBAAA,YAAY,EAAE,MAAM;AACpB,gBAAA,YAAY,EAAE,IAAI;aACnB,CAAC;AACD,iBAAA,IAAI,CAACC,YAAU,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACpC,SAAC,CAAC;QAEM,IAAwB,CAAA,wBAAA,GAAG,CACjC,UAAkB,EAClB,WAAmB,EACnB,QAA6B,KACC;AAC9B,YAAA,OAAO,QAAQ,CAAC;AACd,gBAAA,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;AACvE,gBAAA,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;AACrE,gBAAA,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;AACtE,gBAAA,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;aACxE,CAAC,CAAC,IAAI,CACLD,KAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,EACzDA,KAAG,CAAC,WAAW,IAAI,uBAAuB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CACnE,CAAC;AACJ,SAAC,CAAC;QAEK,IAAa,CAAA,aAAA,GAAG,CAAC,UAAkB,EAAE,WAAmB,EAAE,IAAa,KAAkC;AAC9G,YAAA,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;AAC9B,YAAA,IAAI,IAAI,EAAE;gBACR,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACtC,aAAA;YAED,OAAO,IAAI,CAAC,eAAe;AACxB,iBAAA,GAAG,CAAwB;gBAC1B,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,UAAU,CAAe,YAAA,EAAA,WAAW,CAAU,QAAA,CAAA;gBACzE,MAAM;aACP,CAAC;AACD,iBAAA,IAAI,CACH,SAAS,CAAC,IAAI,IAAG;AACf,gBAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AAChB,oBAAA,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AACf,iBAAA;gBACD,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,wBAAwB,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;aAC/F,CAAC,CACH,CAAC;AACN,SAAC,CAAC;QAEK,IAAW,CAAA,WAAA,GAAG,CAAC,UAAkB,EAAE,WAAmB,EAAE,OAAe,KAAgC;YAC5G,OAAO,IAAI,CAAC,eAAe;AACxB,iBAAA,GAAG,CAAsB;gBACxB,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,UAAU,CAAe,YAAA,EAAA,WAAW,CAAY,SAAA,EAAA,OAAO,CAAE,CAAA;aACrF,CAAC;AACD,iBAAA,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,IAAI,CAAC,wBAAwB,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AACzF,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,qBAAqB,GAAG,CAAC,UAAkB,EAAE,KAAwB,KAAgC;AAC1G,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAiB;AAC9C,gBAAA,MAAM,EAAE,MAAM;gBACd,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,UAAU,CAAe,YAAA,EAAA,KAAK,CAAC,aAAa,CAAU,QAAA,CAAA;AACjF,gBAAA,IAAI,EAAE,KAAK;AACZ,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,qBAAqB,GAAG,CAAC,UAAkB,EAAE,KAAqB,KAAgC;AACvG,YAAA,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;YAE7D,OAAO,IAAI,CAAC,eAAe;AACxB,iBAAA,GAAG,CAAsB;AACxB,gBAAA,MAAM,EAAE,KAAK;AACb,gBAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,UAAU,CAAe,YAAA,EAAA,KAAK,CAAC,aAAa,CAAA,SAAA,EAAY,KAAK,CAAC,EAAE,CAAE,CAAA;AAC7F,gBAAA,IAAI,EAAE,IAAI;aACX,CAAC;AACD,iBAAA,IAAI,CAACA,KAAG,CAAC,GAAG,IAAI,uBAAuB,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;AAChH,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,wBAAwB,GAAG,CAAC,KAAqB,EAAE,YAA0B,KAAwB;YAC1G,OAAO,IAAI,CAAC,eAAe;AACxB,iBAAA,GAAG,CAAC;AACH,gBAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,QAAQ,CAAA,YAAA,EAAe,KAAK,CAAC,aAAa,YAAY,KAAK,CAAC,EAAE,CAAQ,MAAA,CAAA;AACvG,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,IAAI,EAAE,YAAY;aACnB,CAAC;AACD,iBAAA,IAAI,CAACA,KAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;AACpD,SAAC,CAAC;QAEK,IAAqB,CAAA,qBAAA,GAAG,CAAC,UAAkB,EAAE,WAAmB,EAAE,OAAe,KAAsB;AAC5G,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,MAAM,EAAE,QAAQ;gBAChB,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,UAAU,CAAe,YAAA,EAAA,WAAW,CAAY,SAAA,EAAA,OAAO,CAAE,CAAA;AACrF,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;QAEK,IAAsB,CAAA,sBAAA,GAAG,CAAC,UAAkB,EAAE,WAAmB,EAAE,OAAe,KAAsB;AAC7G,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,MAAM,EAAE,OAAO;gBACf,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,UAAU,CAAe,YAAA,EAAA,WAAW,CAAY,SAAA,EAAA,OAAO,CAAE,CAAA;AACrF,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;QAEK,IAAuB,CAAA,uBAAA,GAAG,CAC/B,UAAkB,EAClB,WAAmB,EACnB,OAAe,EACf,WAAsC,KAClB;AACpB,YAAA,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;AAChC,YAAA,IAAI,WAAW,CAAC,IAAI,IAAI,IAAI,EAAE;AAC5B,gBAAA,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC;AAC9E,aAAA;AACD,YAAA,IAAI,WAAW,CAAC,GAAG,IAAI,IAAI,EAAE;AAC3B,gBAAA,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;AACzE,aAAA;AACD,YAAA,IAAI,WAAW,CAAC,EAAE,IAAI,IAAI,EAAE;AAC1B,gBAAA,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;AACtE,aAAA;AACD,YAAA,IAAI,WAAW,CAAC,IAAI,IAAI,IAAI,EAAE;AAC5B,gBAAA,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;AAC7E,aAAA;AAED,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;AACjC,gBAAA,MAAM,EAAE,MAAM;gBACd,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,UAAU,CAAe,YAAA,EAAA,WAAW,CAAY,SAAA,EAAA,OAAO,CAAc,YAAA,CAAA;AAChG,gBAAA,IAAI,EAAE,QAAQ;AACf,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAwBK,QAAA,IAAA,CAAA,0BAA0B,GAAG,CAClC,UAAkB,EAClB,SAA4B,KACQ;AACpC,YAAA,OAAO,QAAQ,CAAC;gBACd,IAAI,CAAC,6BAA6B,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC;gBACpE,IAAI,CAAC,6BAA6B,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC;gBAClE,IAAI,CAAC,6BAA6B,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC;gBACnE,IAAI,CAAC,6BAA6B,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC;AACrE,aAAA,CAAC,CAAC,IAAI,CAACA,KAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACrE,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,2BAA2B,GAAG,CAAC,UAAkB,KAAwC;AAC9F,YAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,IAAI,CAC3C,SAAS,CAAC,UAAU,IAAG;gBACrB,OAAO,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,0BAA0B,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;aACtG,CAAC,CACH,CAAC;AACJ,SAAC,CAAC;QAEM,IAA6B,CAAA,6BAAA,GAAG,CACtC,UAAkB,EAClB,WAAmB,EACnB,cAAsC,KAChB;YACtB,OAAO,IAAI,CAAC,eAAe;AACxB,iBAAA,GAAG,CAAC;AACH,gBAAA,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,UAAU,CAAe,YAAA,EAAA,WAAW,CAAgB,aAAA,EAAA,cAAc,CAAO,KAAA,CAAA;AACpG,gBAAA,YAAY,EAAE,MAAM;AACpB,gBAAA,YAAY,EAAE,IAAI;aACnB,CAAC;AACD,iBAAA,IAAI,CAACC,YAAU,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACpC,SAAC,CAAC;QAEK,IAA2B,CAAA,2BAAA,GAAG,CACnC,UAAkB,EAClB,WAAmB,EACnB,WAAiC,KACb;AACpB,YAAA,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;AAChC,YAAA,IAAI,WAAW,CAAC,IAAI,IAAI,IAAI,EAAE;AAC5B,gBAAA,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;AACxE,aAAA;AACD,YAAA,IAAI,WAAW,CAAC,GAAG,IAAI,IAAI,EAAE;AAC3B,gBAAA,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;AACnE,aAAA;AACD,YAAA,IAAI,WAAW,CAAC,EAAE,IAAI,IAAI,EAAE;AAC1B,gBAAA,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;AAChE,aAAA;AACD,YAAA,IAAI,WAAW,CAAC,IAAI,IAAI,IAAI,EAAE;AAC5B,gBAAA,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;AACvE,aAAA;AAED,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;AACjC,gBAAA,MAAM,EAAE,MAAM;gBACd,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,UAAU,CAAe,YAAA,EAAA,WAAW,CAAc,YAAA,CAAA;AAC7E,gBAAA,IAAI,EAAE,QAAQ;AACf,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;KAzVsD;AAwQjD,IAAA,uBAAuB,CAAC,UAAkB,EAAA;AAC/C,QAAA,OAAO,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,UAAU,iBAAiB,CAAC;KAC1D;IAEM,wBAAwB,CAAC,UAAkB,EAAE,IAAU,EAAA;AAC5D,QAAA,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;AAC5B,QAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAE3B,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;AACjC,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,UAAU,CAAY,UAAA,CAAA;AACjD,YAAA,IAAI,EAAE,IAAI;AACX,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,wBAAwB,CAAC,UAAkB,EAAA;AAChD,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,UAAU,CAAY,UAAA,CAAA;AAClD,SAAA,CAAC,CAAC;KACJ;;kHA/RU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;sHAArB,qBAAqB,EAAA,CAAA,CAAA;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBADjC,UAAU;;;MCNE,uBAAuB,CAAA;AAGlC,IAAA,WAAA,CAAoB,eAAgC,EAAA;QAAhC,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;QAFnC,IAAU,CAAA,UAAA,GAAW,gBAAgB,CAAC;AAgBhD,QAAA,IAAA,CAAA,eAAe,GAAG,CAAC,QAA8B,KAAsC;AAC5F,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAuB;AACpD,gBAAA,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAe,YAAA,EAAA,QAAQ,CAAC,EAAE,CAAE,CAAA;AACnD,gBAAA,IAAI,EAAE,QAAQ;AACf,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,eAAe,GAAG,CAAC,EAAU,KAAsB;AACxD,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,MAAM,EAAE,QAAQ;AAChB,gBAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,YAAA,EAAe,EAAE,CAAE,CAAA;AAC3C,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAUK,QAAA,IAAA,CAAA,cAAc,GAAG,CAAC,YAAgC,EAAE,UAAuB,KAAgC;AAChH,YAAA,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,EAAE,UAAU,EAAE,EAAE,GAAG,YAAY,EAAE,EAAE,CAAC,CAAC;AAEnE,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAS,OAAA,CAAA;gBAChC,MAAM;gBACN,IAAI,EAAE,UAAU,IAAI,EAAE;AACvB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAkBK,QAAA,IAAA,CAAA,aAAa,GAAG,CAAC,EAAU,KAAsB;AACtD,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,MAAM,EAAE,QAAQ;AAChB,gBAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,EAAE,CAAE,CAAA;AAChC,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAC,IAAkB,KAAwB;YACnE,OAAO,IAAI,CAAC,eAAe;AACxB,iBAAA,GAAG,CAAC;AACH,gBAAA,MAAM,EAAE,MAAM;gBACd,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,IAAI,CAAC,EAAE,CAAQ,MAAA,CAAA;gBAC1C,IAAI;aACL,CAAC;AACD,iBAAA,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;AACpD,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,cAAc,GAAG,CAAC,EAAU,KAAsB;AACvD,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAC9B,gBAAA,MAAM,EAAE,OAAO;AACf,gBAAA,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,EAAE,CAAU,QAAA,CAAA;AACxC,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;KAtFsD;IAEjD,gBAAgB,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAyB,EAAE,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAa,WAAA,CAAA,EAAE,CAAC,CAAC;KACnG;AAEM,IAAA,eAAe,CAAC,QAAiC,EAAA;AACtD,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAuB;AACpD,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAa,WAAA,CAAA;AACpC,YAAA,IAAI,EAAE,QAAQ;AACf,SAAA,CAAC,CAAC;KACJ;IAiBM,aAAa,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAiB,EAAE,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAE,CAAA,EAAE,CAAC,CAAC;KAChF;AAEM,IAAA,YAAY,CAAC,EAAU,EAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAe,EAAE,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,EAAE,CAAE,CAAA,EAAE,CAAC,CAAC;KACpF;AAaM,IAAA,aAAa,CAAC,MAAuB,EAAA;AAC1C,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAe;AAC5C,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,UAAU,CAAE,CAAA;AACzB,YAAA,IAAI,EAAE,MAAM;AACb,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,aAAa,CAAC,MAAoB,EAAA;AACvC,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAe;AAC5C,YAAA,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAI,CAAA,EAAA,MAAM,CAAC,EAAE,CAAE,CAAA;AACtC,YAAA,IAAI,EAAE,MAAM;AACb,SAAA,CAAC,CAAC;KACJ;;oHAjEU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;wHAAvB,uBAAuB,EAAA,CAAA,CAAA;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBADnC,UAAU;;;MC+EE,SAAS,CAAA;;sGAAT,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAT,SAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,SAAS,YA/CV,gBAAgB,CAAA,EAAA,CAAA,CAAA;AA+Cf,SAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,SAAS,EA9CT,SAAA,EAAA;QACT,eAAe;QACf,WAAW;QACX,uBAAuB;QACvB,+BAA+B;QAC/B,iBAAiB;QACjB,4BAA4B;QAC5B,eAAe;QACf,sBAAsB;QACtB,oBAAoB;QACpB,eAAe;QACf,cAAc;QACd,oBAAoB;QACpB,qBAAqB;QACrB,iBAAiB;QACjB,eAAe;QACf,oBAAoB;QACpB,eAAe;QACf,6BAA6B;QAC7B,8BAA8B;QAC9B,iBAAiB;QACjB,sBAAsB;QACtB,uBAAuB;QACvB,iBAAiB;QACjB,eAAe;QACf,iBAAiB;QACjB,mBAAmB;QACnB,mBAAmB;QACnB,iBAAiB;QACjB,gBAAgB;QAChB,uBAAuB;QACvB,uBAAuB;QACvB,+BAA+B;QAC/B,uBAAuB;QACvB,oBAAoB;QACpB,oBAAoB;QACpB,iBAAiB;QACjB,yBAAyB;QACzB,iBAAiB;QACjB,iCAAiC;QACjC,mBAAmB;QACnB,wBAAwB;QACxB,aAAa;QACb,kBAAkB;AACnB,KAAA,EAAA,OAAA,EAAA,CA7CS,gBAAgB,CAAA,EAAA,CAAA,CAAA;2FA+Cf,SAAS,EAAA,UAAA,EAAA,CAAA;kBAhDrB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,gBAAgB,CAAC;AAC3B,oBAAA,SAAS,EAAE;wBACT,eAAe;wBACf,WAAW;wBACX,uBAAuB;wBACvB,+BAA+B;wBAC/B,iBAAiB;wBACjB,4BAA4B;wBAC5B,eAAe;wBACf,sBAAsB;wBACtB,oBAAoB;wBACpB,eAAe;wBACf,cAAc;wBACd,oBAAoB;wBACpB,qBAAqB;wBACrB,iBAAiB;wBACjB,eAAe;wBACf,oBAAoB;wBACpB,eAAe;wBACf,6BAA6B;wBAC7B,8BAA8B;wBAC9B,iBAAiB;wBACjB,sBAAsB;wBACtB,uBAAuB;wBACvB,iBAAiB;wBACjB,eAAe;wBACf,iBAAiB;wBACjB,mBAAmB;wBACnB,mBAAmB;wBACnB,iBAAiB;wBACjB,gBAAgB;wBAChB,uBAAuB;wBACvB,uBAAuB;wBACvB,+BAA+B;wBAC/B,uBAAuB;wBACvB,oBAAoB;wBACpB,oBAAoB;wBACpB,iBAAiB;wBACjB,yBAAyB;wBACzB,iBAAiB;wBACjB,iCAAiC;wBACjC,mBAAmB;wBACnB,wBAAwB;wBACxB,aAAa;wBACb,kBAAkB;AACnB,qBAAA;AACF,iBAAA,CAAA;;;AC5FD;;AAEG;;;;"}
|