@solidpepper/solidpepper-service 1.0.3 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solidpepper-solidpepper-service.mjs","sources":["../../../projects/solidpepper-service/src/lib/rights.service.ts","../../../projects/solidpepper-service/src/lib/settings.service.ts","../../../projects/solidpepper-service/src/lib/views.service.ts","../../../projects/solidpepper-service/src/lib/menu.service.ts","../../../projects/solidpepper-service/src/lib/companies/company.service.ts","../../../projects/solidpepper-service/src/lib/notification-service.service.ts","../../../projects/solidpepper-service/src/lib/websocket.service.ts","../../../projects/solidpepper-service/src/lib/auth.service.ts","../../../projects/solidpepper-service/src/lib/companies/companies.service.ts","../../../projects/solidpepper-service/src/lib/teams.service.ts","../../../projects/solidpepper-service/src/lib/dam-assets-profiles.service.ts","../../../projects/solidpepper-service/src/lib/dam-assets-selections.service.ts","../../../projects/solidpepper-service/src/lib/workflows-desks.service.ts","../../../projects/solidpepper-service/src/lib/workflows-historical.service.ts","../../../projects/solidpepper-service/src/lib/login/login.service.ts","../../../projects/solidpepper-service/src/lib/sidebar-right.service.ts","../../../projects/solidpepper-service/src/lib/completeness.service.ts","../../../projects/solidpepper-service/src/lib/status.service.ts","../../../projects/solidpepper-service/src/lib/exports.service.ts","../../../projects/solidpepper-service/src/lib/locale-number.pipe.ts","../../../projects/solidpepper-service/src/lib/time-elapsed.pipe.ts","../../../projects/solidpepper-service/src/lib/directive/easypiechart/easypiechart.directive.ts","../../../projects/solidpepper-service/src/lib/categories.service.ts","../../../projects/solidpepper-service/src/lib/skus.service.ts","../../../projects/solidpepper-service/src/lib/supplier/suppliers.service.ts","../../../projects/solidpepper-service/src/lib/accounts.service.ts","../../../projects/solidpepper-service/src/lib/frameworkagreements.service.ts","../../../projects/solidpepper-service/src/lib/translate.service.ts","../../../projects/solidpepper-service/src/lib/translator.service.ts","../../../projects/solidpepper-service/src/lib/attribute/attributes.service.ts","../../../projects/solidpepper-service/src/lib/masks/masks.service.ts","../../../projects/solidpepper-service/src/lib/dam-assets.service.ts","../../../projects/solidpepper-service/src/lib/media-selection.service.ts","../../../projects/solidpepper-service/src/lib/search.service.ts","../../../projects/solidpepper-service/src/lib/users/users.service.ts","../../../projects/solidpepper-service/src/lib/prices-tax/prices-tax.service.ts","../../../projects/solidpepper-service/src/lib/notifications/notification-service.service.ts","../../../projects/solidpepper-service/src/lib/publications/generation/thumbnail.service.ts","../../../projects/solidpepper-service/src/lib/publications/generation/generation.service.ts","../../../projects/solidpepper-service/src/lib/publications/productsheet/productsheets.service.ts","../../../projects/solidpepper-service/src/lib/publications/publication/publication-page.model.ts","../../../projects/solidpepper-service/src/lib/publications/publication/publication.model.ts","../../../projects/solidpepper-service/src/lib/publications/publication/publication-data.model.ts","../../../projects/solidpepper-service/src/lib/publications/publication/publications.service.ts","../../../projects/solidpepper-service/src/lib/publications/template/template.model.ts","../../../projects/solidpepper-service/src/lib/publications/template/templates.service.ts","../../../projects/solidpepper-service/src/lib/publications/template/publication-template.model.ts","../../../projects/solidpepper-service/src/lib/publications/template/publications-templates.service.ts","../../../projects/solidpepper-service/src/lib/publications/document/documents.service.ts","../../../projects/solidpepper-service/src/lib/publications/document/document.model.ts","../../../projects/solidpepper-service/src/lib/stripe.service.ts","../../../projects/solidpepper-service/src/public-api.ts","../../../projects/solidpepper-service/src/solidpepper-solidpepper-service.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { Observable, ReplaySubject, Subject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class RightsService {\r\n private rightsAccessModule = new ReplaySubject<any>(1);\r\n\r\n constructor() { }\r\n\r\n sendRights(rights: any) {\r\n this.rightsAccessModule.next(rights);\r\n }\r\n\r\n getRights(): Observable<any> {\r\n return this.rightsAccessModule.asObservable();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpHeaders, HttpClient } from '@angular/common/http';\r\nimport { InjectionToken, Inject, Optional } from '@angular/core';\r\n\r\nexport const SOLIDPEPPER_TOKEN_GETTER = new InjectionToken<() => string>('SolidpepperTokenGetter');\r\nexport const SOLIDPEPPER_API_URL = new InjectionToken<string>('SolidpepperApiUrl');\r\n// import { environment } from '../../environments/environment';\r\ndeclare var $: any;\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SettingsService {\r\n private user: any;\r\n private app: any;\r\n private layout: any = {\r\n isFixed: true,\r\n isCollapsed: false,\r\n isBoxed: false,\r\n isRTL: false,\r\n horizontal: false,\r\n isFloat: false,\r\n asideHover: false,\r\n theme: null,\r\n asideScrollbar: false,\r\n isCollapsedText: false,\r\n useFullLayout: false,\r\n hiddenFooter: false,\r\n offsidebarOpen: false,\r\n notificationOpen: false,\r\n generationOpen: false,\r\n asideToggled: false,\r\n viewAnimation: 'ng-fadeInUp',\r\n };\r\n private settings: any;\r\n private primoTexto: any;\r\n private headers: any;\r\n private alias: string = '';\r\n\r\n constructor(\r\n private http: HttpClient,\r\n @Optional() @Inject(SOLIDPEPPER_TOKEN_GETTER) private tokenGetter?: () => string,\r\n @Optional() @Inject(SOLIDPEPPER_API_URL) private injectedApiUrl?: string\r\n ) {\r\n /* ========================================================================\r\n USER : Settings\r\n ======================================================================== */\r\n // User Settings\r\n // -----------------------------------\r\n this.user = {\r\n name: 'John',\r\n job: 'ng-developer',\r\n picture: 'assets/img/user/02.jpg',\r\n };\r\n\r\n // if (environment.production) {\r\n // this.alias = window.location.pathname.split('/')[1].toLowerCase();\r\n\r\n this.settings = {\r\n apiUrl: this.injectedApiUrl || 'http://localhost/centralstationservice/api/',\r\n // apiUrl: 'https://centralstation.solidpim.com/' + this.alias + '/api/',\r\n // apiUrl: 'https://centralstation-preprod.solidpim.com/' + this.alias + '/api/'\r\n };\r\n // } else {\r\n // this.alias = 'sokoa';\r\n\r\n // this.settings = {\r\n // // apiUrl: 'http://localhost/centralstationservice/api/',\r\n // // apiUrl: 'http://10.0.0.92/centralstationservice/api/',\r\n // // apiUrl: 'http://10.0.0.29/centralstationservice/api/',\r\n // apiUrl: 'https://centralstation.solidpim.com/' + this.alias + '/api/',\r\n // // apiUrl: 'https://centralstation-preprod.solidpim.com/' + this.alias + '/api/',\r\n // };\r\n // }\r\n\r\n // this.primoTexto = {\r\n // apiKey: '0cdcfad52d425fbeec6cad2fab1c6d64'\r\n // }\r\n\r\n /* ========================================================================\r\n APP : Settings\r\n ======================================================================== */\r\n\r\n this.app = {\r\n name: 'Nude',\r\n description: '',\r\n year: '2019',\r\n };\r\n }\r\n\r\n getToken() {\r\n if (this.tokenGetter) {\r\n return this.tokenGetter();\r\n }\r\n\r\n var token;\r\n if (localStorage.getItem('Auth_Token_' + this.alias)) {\r\n token = localStorage.getItem('Auth_Token_' + this.alias);\r\n } else {\r\n token = 'invalid token';\r\n }\r\n\r\n return token;\r\n }\r\n\r\n updateMaintenance() {\r\n let language = this.getLanguage();\r\n let headers: any = {\r\n 'Content-Type': 'application/json',\r\n 'Accept-Language': language,\r\n };\r\n return this.http.get(this.getSettings('apiUrl') + 'Settings/isonline', {\r\n headers,\r\n });\r\n }\r\n\r\n getLanguage() {\r\n var language: any;\r\n localStorage.getItem('language_' + this.alias)\r\n ? (language = localStorage.getItem('language_' + this.alias))\r\n : (language = 'en');\r\n return language;\r\n }\r\n\r\n getHeaders() {\r\n let token = this.getToken();\r\n let language = this.getLanguage();\r\n this.headers = {\r\n Authorization: 'Bearer ' + token,\r\n 'Content-Type': 'application/json',\r\n 'Accept-Language': language,\r\n };\r\n return this.headers;\r\n }\r\n\r\n getPrimoTexto(name: string | number) {\r\n return name ? this.primoTexto[name] : this.primoTexto;\r\n }\r\n\r\n getSettings(name: string) {\r\n return name ? this.settings[name] : this.settings;\r\n }\r\n\r\n getAppSetting(name: string | number) {\r\n return name ? this.app[name] : this.app;\r\n }\r\n\r\n getUserSetting(name: string | number) {\r\n return name ? this.user[name] : this.user;\r\n }\r\n\r\n getLayoutSetting(name: string) {\r\n return name ? this.layout[name] : this.layout;\r\n }\r\n\r\n setSettings(name: string | number, value: any) {\r\n this.settings[name] = value;\r\n }\r\n\r\n setAppSetting(name: string | number, value: any) {\r\n if (typeof this.app[name] !== 'undefined') {\r\n this.app[name] = value;\r\n }\r\n }\r\n\r\n setUserSetting(name: string | number, value: any) {\r\n if (typeof this.user[name] !== 'undefined') {\r\n this.user[name] = value;\r\n }\r\n }\r\n\r\n setLayoutSetting(name: string, value: boolean) {\r\n setTimeout(() => {\r\n if (typeof this.layout?.[name] !== 'undefined') {\r\n this.layout[name] = value;\r\n }\r\n }, 0);\r\n }\r\n\r\n toggleLayoutSetting(name: any) {\r\n return this.setLayoutSetting(name, !this.getLayoutSetting(name));\r\n }\r\n\r\n /* ========================================================================\r\n ALIAS \r\n ======================================================================== */\r\n\r\n getAlias() {\r\n return this.alias;\r\n }\r\n\r\n setAlias(alias: string) {\r\n this.alias = alias;\r\n this.settings = {\r\n apiUrl: 'https://centralstation.solidpim.com/' + this.alias + '/api/',\r\n };\r\n }\r\n\r\n getLogin(alias: string) {\r\n localStorage.getItem('Login_' + alias);\r\n }\r\n\r\n /* ========================================================================\r\n RIGHTS : Acces Module\r\n ======================================================================== */\r\n\r\n getRightsAccesModuleFromApi(login: string, companyGuid: string | null = null) {\r\n let headers = this.getHeaders();\r\n let url = this.getSettings('apiUrl') + 'profiles/rights/login/' + login;\r\n if (companyGuid) url += '?companyGuid=' + companyGuid;\r\n return this.http.get(url, { headers });\r\n }\r\n\r\n getRightsAccesModuleForOneProfile(profileGuid: any) {\r\n let headers = this.getHeaders();\r\n return this.http.get(\r\n this.getSettings('apiUrl') + 'profiles/rights/' + profileGuid,\r\n { headers },\r\n );\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { SettingsService } from './settings.service';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ViewsService {\r\n constructor(\r\n private http: HttpClient,\r\n private _settingsService: SettingsService\r\n ) { }\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getAllViews(start = 0, limit = 100, search = '', sort = '', direction = 'ASC') {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Views/all?start=' + start + '&limit=' + limit + '&search=' + search + '&sort=' + sort + '&direction=' + direction, { headers });\r\n }\r\n\r\n getViews() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Views', { headers });\r\n }\r\n\r\n getFields() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Views/fields', { headers });\r\n }\r\n\r\n getSkusInView(viewGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Views/' + viewGuid + '/skus', { headers });\r\n }\r\n\r\n getSkusVariantsInView(viewGuid: string, skuGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Views/' + viewGuid + '/skus/' + skuGuid + '/variants', { headers });\r\n }\r\n\r\n /* ========================================================================\r\n CREATE\r\n ======================================================================== */\r\n createViews(viewName: any, viewDescription: any, viewIcon: any, viewFields: any, viewFieldsVariants: any, ViewRules: any, viewRulesVariants: any, viewUsers: any, viewLanguage: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Views',\r\n {\r\n viewName: viewName,\r\n viewDescription: viewDescription,\r\n viewIcon: viewIcon,\r\n viewFields: viewFields,\r\n viewFieldsVariants: viewFieldsVariants,\r\n viewRules: ViewRules,\r\n viewRulesVariants: viewRulesVariants,\r\n viewUsers: viewUsers,\r\n viewLanguage: viewLanguage,\r\n },\r\n options\r\n );\r\n }\r\n /* ========================================================================\r\n UPDATE\r\n ======================================================================== */\r\n updateViews(viewGuid: any, fieldName: any, fieldValue: any, userGuid = null) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(\r\n this._settingsService.getSettings('apiUrl') + 'Views/field',\r\n {\r\n viewGuid: viewGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n userGuid: userGuid, // fourni userGuid si relationuserviewlanguage | relationuserviewfavorite\r\n },\r\n options\r\n );\r\n }\r\n /* ========================================================================\r\n DELETE\r\n ======================================================================== */\r\n deleteViews(viewGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.delete(this._settingsService.getSettings('apiUrl') + 'Views/' + viewGuid, { headers });\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n// import { TranslateService } from '@ngx-translate/core';\r\nimport { Subscription } from 'rxjs/internal/Subscription';\r\nimport { RightsService } from './rights.service';\r\nimport { SettingsService } from './settings.service';\r\nimport { Router } from '@angular/router';\r\nimport { ViewsService } from './views.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MenuService {\r\n menuItems: Array<any>;\r\n clientLabel: any;\r\n libraryLabel: any;\r\n documentsLabel: any;\r\n mediaMissingLabel: any;\r\n assetsOrphansLabel: any;\r\n assetsProfilesLabel: any;\r\n assetsSelectionsLabel: any;\r\n assetsOnHoldLabel: any;\r\n assetsFavoritesLabel: any;\r\n templatesLabel: any;\r\n separationLabel: any;\r\n assetsArchivedLabel: any;\r\n customersCategoriesLabel: any;\r\n ordersLabel: any;\r\n quotesLabel: any;\r\n organisationsLabel: any;\r\n salersLabel: any;\r\n frameworkagreementsLabel: any;\r\n contactLabel: any;\r\n salesPlusLabel: any;\r\n currentmenu = 'dashboard';\r\n classificationLabel: any;\r\n assetsLabel: any;\r\n suppliersLabel: any;\r\n viewsLabel: any;\r\n recentlyDeletedLabel: any;\r\n skusLabel: any;\r\n catalogueLabel: any;\r\n accountLabel: any;\r\n generalInfoLabel: any;\r\n bankInfoLabel: any;\r\n activeSessionLabel: any;\r\n confidentialityLabel: any;\r\n generalSettingLabel: any;\r\n generalAdminLabel: any;\r\n attributesLabel: any;\r\n articlesLabel: any;\r\n maskLabel: any;\r\n importLabel: any;\r\n exportLabel: any;\r\n usersLabel: any;\r\n teamsLabel: any;\r\n accessLabel: any;\r\n profilLabel: any;\r\n pricetaxeLabel: any;\r\n ecotaxpayerLabel: any;\r\n reportLabel: any;\r\n mappingLabel: any;\r\n templatesExcelLabel: any;\r\n taskBatch: any;\r\n exchangesLabel: any;\r\n languageLabel: any;\r\n settingsLabel: any;\r\n bomLabel: any;\r\n channelLabel: any;\r\n adminLabel: any;\r\n statusLabel: any;\r\n publicationLabel: any;\r\n publicationImportLabel: any;\r\n publicationExportLabel: any;\r\n publicationTemplatesLabel: any;\r\n publicationDocumentsLabel: any;\r\n workFlowsLabel: any;\r\n workFlowsRoomLabel: any;\r\n rulesLabel: any;\r\n workFlowsGlobalStepsLabel: any;\r\n workFlowsHistoricalLabel: any;\r\n workFlowsRulesLabel: any;\r\n customerLabel: any;\r\n frameworkAgreementsLabel: any;\r\n salesDealsLabel: any;\r\n salesDealsItemsLabel: any;\r\n publicationsLabel: any;\r\n\r\n // Right Acces\r\n rightsAccesModule: any;\r\n rightsAcces = false;\r\n rightsSettings = false;\r\n rightsAttributes = false;\r\n rightsExchanges = false;\r\n\r\n private subscriptionRights: Subscription;\r\n\r\n constructor(\r\n public tr: TranslateService,\r\n private http: HttpClient,\r\n public rights: RightsService,\r\n private router: Router,\r\n private _settingsService: SettingsService,\r\n private _view: ViewsService\r\n ) {\r\n this.menuItems = [];\r\n\r\n this.subscriptionRights = this.rights.getRights().subscribe((message) => {\r\n this.rightsAccesModule = message;\r\n\r\n if (\r\n this.rightsAccesModule['rights']['Settings']['Users']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['Teams']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['Profiles']['subModuleIsActive']\r\n ) {\r\n this.rightsAcces = true;\r\n }\r\n\r\n if (\r\n this.rightsAccesModule['rights']['Settings']['AttributesProducts']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['AttributesCategories']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['AttributesSuppliers']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['AttributesAccountsContacts']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['AttributesAccounts']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['AttributesAccountFrameworkAgreements']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['AttributesSalesDeals']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['AttributesPublications']['subModuleIsActive']\r\n )\r\n this.rightsAttributes = true;\r\n\r\n if (\r\n this.rightsAccesModule['rights']['Settings']['Batch']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['Mapping']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['TemplatesExcel']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['Imports']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['Exports']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['Reports']['subModuleIsActive']\r\n )\r\n this.rightsExchanges = true;\r\n\r\n if (\r\n this.rightsAccesModule['rights']['Settings']['Admin']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['Preferences']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['Ecocontributions']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['PricesAndTaxes']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['Status']['subModuleIsActive']\r\n )\r\n this.rightsSettings = true;\r\n\r\n this.updateMenu();\r\n });\r\n }\r\n\r\n getMenu() {\r\n return this.menuItems;\r\n }\r\n\r\n updateMenu() {\r\n this.menuItems = [];\r\n\r\n if (this.router.url.includes('dashboard')) this.currentmenu = 'dashboard';\r\n else if (this.router.url.includes('settings')) this.currentmenu = 'settings';\r\n else if (this.router.url.includes('workflows')) this.currentmenu = 'workflows';\r\n else if (this.router.url.includes('products')) this.currentmenu = 'products';\r\n else if (this.router.url.includes('sales')) this.currentmenu = 'sales';\r\n else if (this.router.url.includes('media')) this.currentmenu = 'media';\r\n else if (this.router.url.includes('publication')) this.currentmenu = 'publication';\r\n else if (this.router.url.includes('channels')) this.currentmenu = 'channels';\r\n else if (this.router.url.includes('bom')) this.currentmenu = 'bom';\r\n\r\n switch (this.currentmenu) {\r\n case 'dashboard':\r\n this.currentmenu = '';\r\n this.menuDashboard();\r\n break;\r\n case 'workflows':\r\n this.currentmenu = '';\r\n this.menuWorkflows();\r\n break;\r\n case 'products':\r\n this.currentmenu = '';\r\n this.menuProducts();\r\n break;\r\n case 'sales':\r\n this.currentmenu = '';\r\n this.menuSales();\r\n break;\r\n case 'media':\r\n this.currentmenu = '';\r\n this.menuMedia();\r\n break;\r\n case 'publication':\r\n this.currentmenu = '';\r\n this.menuPublication();\r\n break;\r\n case 'channels':\r\n this.currentmenu = '';\r\n this.menuChannels();\r\n break;\r\n case 'bom':\r\n this.currentmenu = '';\r\n this.menuBom();\r\n break;\r\n case 'settings':\r\n this.currentmenu = '';\r\n\r\n this.rightsAcces = false;\r\n this.rightsAttributes = false;\r\n this.rightsExchanges = false;\r\n\r\n if (this.rightsAccesModule) {\r\n if (\r\n this.rightsAccesModule['rights']['Settings']['Users']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['Teams']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['Profiles']['subModuleIsActive']\r\n )\r\n this.rightsAcces = true;\r\n\r\n if (\r\n this.rightsAccesModule['rights']['Settings']['AttributesProducts']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['AttributesCategories']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['AttributesSuppliers']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['AttributesAccountsContacts']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['AttributesAccounts']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['AttributesAccountFrameworkAgreements']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['AttributesSalesDeals']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['AttributesPublications']['subModuleIsActive']\r\n )\r\n this.rightsAttributes = true;\r\n\r\n if (\r\n this.rightsAccesModule['rights']['Settings']['Batch']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['Mapping']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['TemplatesExcel']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['Imports']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['Exports']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['Reports']['subModuleIsActive']\r\n )\r\n this.rightsExchanges = true;\r\n\r\n if (\r\n this.rightsAccesModule['rights']['Settings']['Admin']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['Preferences']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['Ecocontributions']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['PricesAndTaxes']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['Status']['subModuleIsActive']\r\n )\r\n this.rightsSettings = true;\r\n }\r\n this.menuSettings(false);\r\n break;\r\n }\r\n }\r\n\r\n addMenu(\r\n items: Array<{\r\n text: string;\r\n heading?: boolean;\r\n link?: string; // internal route links\r\n elink?: string; // used only for external links\r\n target?: string; // anchor target=\"_blank|_self|_parent|_top|framename\"\r\n icon?: string;\r\n alert?: string;\r\n submenu?: Array<any>;\r\n }>\r\n ) {\r\n this.menuItems.length = 0;\r\n items.forEach((item) => {\r\n this.menuItems.push(item);\r\n });\r\n }\r\n\r\n returnMenuActive() {\r\n return this.currentmenu;\r\n }\r\n\r\n /* ========================================================================\r\n MENU : Listing\r\n ======================================================================== */\r\n\r\n menuDashboard() {\r\n if (this.currentmenu != 'dashboard' && this.rightsAccesModule) {\r\n const menu = this.defineMenuDashboard(); //Define the menu\r\n this.addMenu(menu); //Render the menu\r\n this.currentmenu = 'dashboard';\r\n }\r\n }\r\n\r\n menuWorkflows() {\r\n if (this.currentmenu != 'workflows' && this.rightsAccesModule) {\r\n this.getAndSetLabelsFromTranslateServiceForWorkflowsMenu(this.tr);\r\n const menu = this.defineMenuWorkflows(); //Define the menu\r\n this.addMenu(menu); //Render the menu\r\n this.currentmenu = 'workflows';\r\n }\r\n }\r\n\r\n menuProducts() {\r\n if (this.currentmenu != 'products' && this.rightsAccesModule) {\r\n this.getAndSetLabelsFromTranslateServiceForProductsMenu(this.tr);\r\n const menu = this.defineMenuProducts(); //Define the menu\r\n this.addMenu(menu); //Render the menu\r\n this.currentmenu = 'products';\r\n }\r\n }\r\n\r\n menuSales() {\r\n if (this.currentmenu != 'sales' && this.rightsAccesModule) {\r\n this.getAndSetLabelsFromTranslateServiceForSalesMenu(this.tr);\r\n const menu = this.defineMenuSales(); //Define the menu\r\n this.addMenu(menu); //Render the menu\r\n this.currentmenu = 'sales';\r\n }\r\n }\r\n\r\n menuMedia() {\r\n if (this.currentmenu != 'media' && this.rightsAccesModule) {\r\n this.getAndSetLabelsFromTranslateServiceForMediaMenu(this.tr);\r\n const menu = this.defineMenuMedia(); //Define the menu\r\n this.addMenu(menu); //Render the menu\r\n this.currentmenu = 'media';\r\n }\r\n }\r\n\r\n menuPublication() {\r\n if (this.currentmenu != 'publication' && this.rightsAccesModule) {\r\n this.getAndSetLabelsFromTranslateServiceForPublicationsMenu(this.tr);\r\n const menu = this.defineMenuPublication(); //Define the menu\r\n this.addMenu(menu); //Render the menu\r\n this.currentmenu = 'publication';\r\n }\r\n }\r\n\r\n menuChannels() {\r\n if (this.currentmenu != 'channels' && this.rightsAccesModule) {\r\n this.getAndSetLabelsFromTranslateServiceForChannelsMenu(this.tr);\r\n const menu = this.defineMenuChannels(); //Define the menu\r\n this.addMenu(menu); //Render the menu\r\n this.currentmenu = 'channels';\r\n }\r\n }\r\n\r\n menuBom() {\r\n if (this.currentmenu != 'bom' && this.rightsAccesModule) {\r\n this.getAndSetLabelsFromTranslateServiceForBomMenu(this.tr);\r\n const menu = this.defineMenuBom(); //Define the menu\r\n this.addMenu(menu); //Render the menu\r\n this.currentmenu = 'bom';\r\n }\r\n }\r\n\r\n menuSettings(langChan: any) {\r\n if ((this.currentmenu != 'settings' && this.rightsAccesModule) || (langChan && this.rightsAccesModule)) this.getAndSetLabelsFromTranslateServiceForSettingsMenu(this.tr);\r\n this.currentmenu = 'settings';\r\n }\r\n\r\n /* ========================================================================\r\n MENU : Define\r\n ======================================================================== */\r\n\r\n private defineMenuDashboard() {\r\n const dashboard = {\r\n rights: true,\r\n text: 'Dashboard',\r\n link: '/dashboard',\r\n icon: 'fas fa-chart-line',\r\n };\r\n\r\n const menu = [dashboard];\r\n\r\n return menu;\r\n }\r\n\r\n private defineMenuWorkflows() {\r\n const rooms = {\r\n rights: this.rightsAccesModule['rights']['Workflows']['Workrooms']['subModuleIsActive'],\r\n text: this.workFlowsRoomLabel,\r\n link: '/workflows/rooms/listing',\r\n icon: 'fas fa-house',\r\n };\r\n\r\n const workflows = {\r\n rights: this.rightsAccesModule['rights']['Workflows']['Workflows']['subModuleIsActive'],\r\n text: this.workFlowsLabel,\r\n link: '/workflows/desks/listing',\r\n icon: 'fas fa-thumbtack',\r\n };\r\n\r\n const steps = {\r\n rights: this.rightsAccesModule['rights']['Workflows']['Steps']['subModuleIsActive'],\r\n text: this.workFlowsGlobalStepsLabel,\r\n link: '/workflows/global/steps',\r\n icon: 'fas fa-rectangle-list',\r\n };\r\n\r\n const rules = {\r\n rights: this.rightsAccesModule['rights']['Workflows']['CompletenessRules']['subModuleIsActive'],\r\n text: this.workFlowsRulesLabel,\r\n link: '/workflows/rules/listing',\r\n icon: 'fas fa-chart-pie',\r\n };\r\n\r\n const history = {\r\n rights: this.rightsAccesModule['rights']['Workflows']['History']['subModuleIsActive'],\r\n text: this.workFlowsHistoricalLabel,\r\n link: '/workflows/history',\r\n icon: 'fas fa-clock',\r\n };\r\n\r\n const menu = [rooms, workflows, steps, rules, history];\r\n\r\n return menu;\r\n }\r\n\r\n private defineMenuProducts() {\r\n const listViews: { rights: boolean; text: any; link: string; icon: any; }[] = [];\r\n this._view.getViews().subscribe((res: any) => {\r\n res.views.forEach((element: { viewName: { [x: string]: any; }; viewGuid: string; viewIcon: any; }) => {\r\n listViews.push({\r\n rights: true,\r\n text: element.viewName['fr'],\r\n link: '/products/views/' + element.viewGuid,\r\n icon: element.viewIcon,\r\n });\r\n });\r\n });\r\n\r\n const Skus = {\r\n rights: this.rightsAccesModule['rights']['Products']['Products']['subModuleIsActive'],\r\n text: this.skusLabel,\r\n link: '/products/skus',\r\n icon: 'fas fa-tag',\r\n };\r\n\r\n const Classification = {\r\n rights: this.rightsAccesModule['rights']['Products']['Categories']['subModuleIsActive'],\r\n text: this.classificationLabel,\r\n link: '/products/classification',\r\n icon: 'fas fa-folder',\r\n };\r\n\r\n const Suppliers = {\r\n rights: this.rightsAccesModule['rights']['Products']['Suppliers']['subModuleIsActive'],\r\n text: this.suppliersLabel,\r\n link: '/products/suppliers',\r\n icon: 'fas fa-truck',\r\n };\r\n\r\n const Views = {\r\n rights: this.rightsAccesModule['rights']['Products']['Views']['subModuleIsActive'],\r\n text: this.viewsLabel,\r\n link: '/products/views',\r\n icon: 'fas fa-eye',\r\n submenu: listViews,\r\n };\r\n\r\n const menu = [Skus, Classification, Suppliers, Views];\r\n\r\n return menu;\r\n }\r\n\r\n private defineMenuSales() {\r\n const Orders = {\r\n rights: this.rightsAccesModule['rights']['Sales']['Orders']['subModuleIsActive'],\r\n text: this.ordersLabel,\r\n link: '/sales/orders-list',\r\n icon: 'fas fa-edit',\r\n };\r\n\r\n const Quotes = {\r\n rights: this.rightsAccesModule['rights']['Sales']['Quotes']['subModuleIsActive'],\r\n text: this.quotesLabel,\r\n link: '/sales/quotes-list',\r\n icon: 'fas fa-file',\r\n };\r\n\r\n const Customers = {\r\n rights: this.rightsAccesModule['rights']['Sales']['Customers']['subModuleIsActive'],\r\n text: this.clientLabel,\r\n link: '/sales/customers-list',\r\n icon: 'fas fa-address-card',\r\n };\r\n\r\n const Contact = {\r\n rights: this.rightsAccesModule['rights']['Sales']['Requests']['subModuleIsActive'],\r\n text: this.contactLabel,\r\n link: '/sales/contacts',\r\n icon: 'fas fa-address-book',\r\n };\r\n\r\n const SalesPlus = {\r\n rights: this.rightsAccesModule['rights']['Salesplus']['moduleIsActive'],\r\n text: this.salesPlusLabel,\r\n icon: 'fas fa-cart-plus',\r\n submenu: [\r\n {\r\n rights: this.rightsAccesModule['rights']['Salesplus']['Catalogs']['subModuleIsActive'],\r\n text: this.catalogueLabel,\r\n link: '/sales/catalogue',\r\n icon: 'fas fa-book',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Salesplus']['FrameworkAgreements']['subModuleIsActive'],\r\n text: this.frameworkagreementsLabel,\r\n link: '/sales/frameworkagreements-list',\r\n icon: 'fas fa-file-contract',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Salesplus']['Organizations']['subModuleIsActive'],\r\n text: this.organisationsLabel,\r\n link: '/sales/organisations-list',\r\n icon: 'fas fa-city',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Salesplus']['Salers']['subModuleIsActive'],\r\n text: this.salersLabel,\r\n link: '/sales/salers-list',\r\n icon: 'fas fa-user-tag',\r\n },\r\n ],\r\n };\r\n\r\n const menu = [Orders, Quotes, Customers, Contact, SalesPlus];\r\n\r\n return menu;\r\n }\r\n\r\n private defineMenuMedia() {\r\n const Library = {\r\n rights: this.rightsAccesModule['rights']['Media']['DamAssets']['subModuleIsActive'],\r\n text: this.libraryLabel,\r\n link: '/media/library',\r\n icon: 'fas fa-images',\r\n };\r\n\r\n const RecentlyDeleted = {\r\n rights: this.rightsAccesModule['rights']['Media']['DamAssetsRecentlyDeleted']['subModuleIsActive'],\r\n text: this.recentlyDeletedLabel,\r\n link: '/media/recently-deleted',\r\n icon: 'fas fa-trash',\r\n };\r\n\r\n const MediaMissing = {\r\n rights: this.rightsAccesModule['rights']['Media']['DamAssetsMissing']['subModuleIsActive'],\r\n text: this.mediaMissingLabel,\r\n link: '/media/asset-missing',\r\n icon: 'fas fa-eye-slash',\r\n };\r\n\r\n const AssetsOrhpans = {\r\n rights: this.rightsAccesModule['rights']['Media']['DamAssetsOrhpans']['subModuleIsActive'],\r\n text: this.assetsOrphansLabel,\r\n link: '/media/assets-orphans',\r\n icon: 'fas fa-eye-slash',\r\n };\r\n\r\n const AssetsProfiles = {\r\n rights: this.rightsAccesModule['rights']['Media']['DamAssetsProfiles']['subModuleIsActive'],\r\n text: this.assetsProfilesLabel,\r\n link: '/media/assets-profiles',\r\n icon: 'fas fa-up-right-and-down-left-from-center',\r\n };\r\n\r\n const AssetsSelections = {\r\n rights: this.rightsAccesModule['rights']['Media']['DamAssetsSelections']['subModuleIsActive'],\r\n text: this.assetsSelectionsLabel,\r\n link: '/media/assets-selections',\r\n icon: 'fas fa-file-zipper',\r\n };\r\n\r\n // const WorkFlows = {\r\n // rights: this.rightsAccesModule['rights']['Workflows']['Workflows']['subModuleIsActive'],\r\n // text: this.workFlowsLabel,\r\n // link: '/media/workflows',\r\n // icon: 'fas fa-thumbtack'\r\n // };\r\n\r\n const AssetsOnHold = {\r\n rights: this.rightsAccesModule['rights']['Media']['DamAssets']['subModuleIsActive'],\r\n text: this.assetsOnHoldLabel,\r\n link: '/media/assets-on-hold',\r\n icon: 'fas fa-hourglass-start',\r\n };\r\n\r\n const AssetsFavorites = {\r\n rights: this.rightsAccesModule['rights']['Media']['DamAssets']['subModuleIsActive'],\r\n text: this.assetsFavoritesLabel,\r\n link: '/media/assets-favorites',\r\n icon: 'fas fa-heart',\r\n };\r\n\r\n const menu = [\r\n Library,\r\n MediaMissing,\r\n AssetsOrhpans,\r\n RecentlyDeleted,\r\n AssetsProfiles,\r\n AssetsSelections,\r\n // WorkFlows,\r\n //AssetsOnHold,\r\n //AssetsFavorites,\r\n ];\r\n\r\n return menu;\r\n }\r\n\r\n private defineMenuPublication() {\r\n const Publication = {\r\n rights: this.rightsAccesModule['rights']['Publications']['Publications']['subModuleIsActive'],\r\n text: this.publicationLabel,\r\n link: '/publication/listing',\r\n icon: 'fas fa-book-open',\r\n };\r\n\r\n const Templates = {\r\n rights: this.rightsAccesModule['rights']['Publications']['PublicationTemplates']['subModuleIsActive'],\r\n text: this.publicationTemplatesLabel,\r\n link: '/publication/templates',\r\n icon: 'fas fa-file-signature',\r\n };\r\n\r\n const Documents = {\r\n rights: this.rightsAccesModule['rights']['Publications']['Documents']['subModuleIsActive'],\r\n text: this.publicationDocumentsLabel,\r\n link: '/publication/documents',\r\n icon: 'fas fa-file-lines',\r\n };\r\n\r\n const Separation = {\r\n text: this.separationLabel,\r\n };\r\n\r\n const menu = [Publication, Documents, Separation, Templates];\r\n\r\n return menu;\r\n }\r\n\r\n private defineMenuChannels() {\r\n const Channels = {\r\n rights: this.rightsAccesModule['rights']['Channels']['Channels']['subModuleIsActive'],\r\n text: this.channelLabel,\r\n link: '/channels',\r\n icon: 'fas fa-tv',\r\n };\r\n const menu = [Channels];\r\n return menu;\r\n }\r\n\r\n private defineMenuBom() {\r\n const Bom = {\r\n rights: this.rightsAccesModule['rights']['Boms']['Boms']['subModuleIsActive'],\r\n text: this.bomLabel,\r\n link: '/boms',\r\n icon: 'fas fa-bezier-curve',\r\n };\r\n\r\n const menu = [Bom];\r\n return menu;\r\n }\r\n\r\n /* ========================================================================\r\n MENU : Translate\r\n ======================================================================== */\r\n\r\n private getAndSetLabelsFromTranslateServiceForSalesMenu(tr: TranslateService) {\r\n tr.get('menu.sales.ORDERS').subscribe((res: any) => {\r\n this.ordersLabel = res;\r\n });\r\n\r\n tr.get('menu.sales.QUOTATIONS').subscribe((res: any) => {\r\n this.quotesLabel = res;\r\n });\r\n\r\n tr.get('menu.sales.CLIENTS').subscribe((res: any) => {\r\n this.clientLabel = res;\r\n });\r\n\r\n tr.get('menu.sales.CONTACT').subscribe((res: any) => {\r\n this.contactLabel = res;\r\n });\r\n\r\n tr.get('menu.sales.SALESPLUS').subscribe((res: any) => {\r\n this.salesPlusLabel = res;\r\n tr.get('menu.sales.CATALOGUE').subscribe((res: any) => {\r\n this.catalogueLabel = res;\r\n tr.get('menu.sales.FRAMEWORKAGREEMENTS').subscribe((res: any) => {\r\n this.frameworkagreementsLabel = res;\r\n tr.get('menu.sales.ORGANIZATIONS').subscribe((res: any) => {\r\n this.organisationsLabel = res;\r\n tr.get('menu.sales.SALERS').subscribe((res: any) => {\r\n this.salersLabel = res;\r\n });\r\n });\r\n });\r\n });\r\n });\r\n }\r\n\r\n private getAndSetLabelsFromTranslateServiceForBomMenu(tr: TranslateService) {\r\n tr.get('menu.boms.BOMS').subscribe((res: any) => {\r\n this.bomLabel = res;\r\n });\r\n }\r\n\r\n private getAndSetLabelsFromTranslateServiceForChannelsMenu(tr: TranslateService) {\r\n tr.get('menu.channels.CHANNELS').subscribe((res: any) => {\r\n this.channelLabel = res;\r\n });\r\n }\r\n\r\n private getAndSetLabelsFromTranslateServiceForSettingsMenu(tr: TranslateService) {\r\n tr.get('menu.settings.ACCESS').subscribe((res: any) => {\r\n this.accessLabel = res;\r\n tr.get('menu.settings.GENERALINFO').subscribe((res: any) => {\r\n this.generalInfoLabel = res;\r\n tr.get('menu.settings.BANKINFO').subscribe((res: any) => {\r\n this.bankInfoLabel = res;\r\n tr.get('menu.settings.ACTIVESESSIONS').subscribe((res: any) => {\r\n this.activeSessionLabel = res;\r\n tr.get('menu.settings.CONFIDENTIALITY').subscribe((res: any) => {\r\n this.confidentialityLabel = res;\r\n tr.get('menu.settings.GENERALSETTINGS').subscribe((res: any) => {\r\n this.generalSettingLabel = res;\r\n tr.get('menu.settings.ADMINISTRATION').subscribe((res: any) => {\r\n this.generalAdminLabel = res;\r\n tr.get('menu.settings.ATTRIBUTES').subscribe((res: any) => {\r\n this.attributesLabel = res;\r\n tr.get('menu.settings.PRODUCTS').subscribe((res: any) => {\r\n this.articlesLabel = res;\r\n tr.get('menu.settings.CLASSIFICATION').subscribe((res: any) => {\r\n this.classificationLabel = res;\r\n tr.get('menu.settings.ASSETS').subscribe((res: any) => {\r\n this.assetsLabel = res;\r\n tr.get('menu.settings.ACCOUNTS').subscribe((res: any) => {\r\n this.customerLabel = res;\r\n tr.get('menu.settings.ACCOUNTS_CONTACTS').subscribe((res: any) => {\r\n this.contactLabel = res;\r\n tr.get('menu.settings.ACCOUNTS_FRAMEWORK_AGREEMENTS').subscribe((res: any) => {\r\n this.frameworkAgreementsLabel = res;\r\n tr.get('menu.settings.SUPPLIERS').subscribe((res: any) => {\r\n this.suppliersLabel = res;\r\n tr.get('menu.settings.SALES_DEALS').subscribe((res: any) => {\r\n this.salesDealsLabel = res;\r\n tr.get('menu.settings.SALES_DEALS_ITEMS').subscribe((res: any) => {\r\n this.salesDealsItemsLabel = res;\r\n tr.get('menu.settings.PUBLICATIONS').subscribe((res: any) => {\r\n this.publicationsLabel = res;\r\n tr.get('menu.settings.MASKS').subscribe((res: any) => {\r\n this.maskLabel = res;\r\n tr.get('menu.settings.IMPORT').subscribe((res: any) => {\r\n this.importLabel = res;\r\n tr.get('menu.settings.EXPORT').subscribe((res: any) => {\r\n this.exportLabel = res;\r\n tr.get('menu.settings.USERS').subscribe((res: any) => {\r\n this.usersLabel = res;\r\n tr.get('menu.settings.TEAMS').subscribe((res: any) => {\r\n this.teamsLabel = res;\r\n tr.get('menu.settings.EXCHANGES').subscribe((res: any) => {\r\n this.exchangesLabel = res;\r\n tr.get('menu.settings.PROFIL').subscribe((res: any) => {\r\n this.profilLabel = res;\r\n tr.get('menu.settings.STATUS').subscribe((res: any) => {\r\n this.statusLabel = res;\r\n tr.get('menu.settings.SETTINGS').subscribe((res: any) => {\r\n this.settingsLabel = res;\r\n tr.get('menu.settings.PRICESTAXES').subscribe((res: any) => {\r\n this.pricetaxeLabel = res;\r\n tr.get('menu.settings.LANGUAGES').subscribe((res: any) => {\r\n this.languageLabel = res;\r\n tr.get('menu.settings.ADMIN').subscribe((res: any) => {\r\n this.adminLabel = res;\r\n tr.get('menu.settings.ECOTAXPAYER').subscribe((res: any) => {\r\n this.ecotaxpayerLabel = res;\r\n tr.get('menu.settings.REPORT').subscribe((res: any) => {\r\n this.reportLabel = res;\r\n tr.get('menu.settings.TEMPLATES_EXCEL').subscribe((res: any) => {\r\n this.templatesExcelLabel = res;\r\n tr.get('menu.settings.MAPPING').subscribe((res: any) => {\r\n this.mappingLabel = res;\r\n tr.get('menu.settings.BATCH').subscribe((res: any) => {\r\n this.taskBatch = res;\r\n tr.get('menu.settings.RULES').subscribe((res: any) => {\r\n this.rulesLabel = res;\r\n\r\n const ACCESS = {\r\n rights: this.rightsAcces,\r\n text: this.accessLabel,\r\n icon: 'fas fa-user',\r\n submenu: [\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['Users']['subModuleIsActive'],\r\n text: this.usersLabel,\r\n link: '/settings/users',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['Teams']['subModuleIsActive'],\r\n text: this.teamsLabel,\r\n link: '/settings/teams',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['Profiles']['subModuleIsActive'],\r\n text: this.profilLabel,\r\n link: '/settings/profils',\r\n },\r\n ],\r\n };\r\n\r\n const ATTRIBUTES = {\r\n rights: this.rightsAttributes,\r\n text: this.attributesLabel,\r\n icon: 'fas fa-paperclip',\r\n submenu: [\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['AttributesProducts']['subModuleIsActive'],\r\n text: this.articlesLabel,\r\n link: '/settings/attributes/skus',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['AttributesCategories']['subModuleIsActive'],\r\n text: this.classificationLabel,\r\n link: '/settings/attributes/categories',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['AttributesCategories']['subModuleIsActive'],\r\n text: this.assetsLabel,\r\n link: '/settings/attributes/assets',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['AttributesAccounts']['subModuleIsActive'],\r\n text: this.customerLabel,\r\n link: '/settings/attributes/accounts',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['AttributesAccountsContacts']['subModuleIsActive'],\r\n text: this.contactLabel,\r\n link: '/settings/attributes/accountscontacts',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['AttributesAccountFrameworkAgreements']['subModuleIsActive'],\r\n text: this.frameworkAgreementsLabel,\r\n link: '/settings/attributes/accountsframeworkagreements',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['AttributesSuppliers']['subModuleIsActive'],\r\n text: this.suppliersLabel,\r\n link: '/settings/attributes/suppliers',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['AttributesSalesDeals']['subModuleIsActive'],\r\n text: this.salesDealsLabel,\r\n link: '/settings/attributes/salesdeals',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['AttributesSalesDeals']['subModuleIsActive'],\r\n text: this.salesDealsItemsLabel,\r\n link: '/settings/attributes/salesdealsitems',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['AttributesPublications']['subModuleIsActive'],\r\n text: this.publicationsLabel,\r\n link: '/settings/attributes/publications',\r\n },\r\n ],\r\n };\r\n\r\n const MASKS = {\r\n rights: this.rightsAccesModule['rights']['Settings']['Masks']['subModuleIsActive'],\r\n text: this.maskLabel,\r\n link: '/settings/masks',\r\n icon: 'fas fa-mask',\r\n };\r\n\r\n const RULES = {\r\n rights: this.rightsAccesModule['rights']['Settings']['CompletenessRules']['subModuleIsActive'],\r\n text: this.rulesLabel,\r\n link: '/settings/rules/completeness',\r\n icon: 'fas fa-chart-pie',\r\n };\r\n\r\n const SETTINGS = {\r\n rights: this.rightsSettings,\r\n text: this.settingsLabel,\r\n icon: 'fas fa-cog',\r\n submenu: [\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['Preferences']['subModuleIsActive'],\r\n text: this.languageLabel,\r\n link: '/settings/languages',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['Admin']['subModuleIsActive'],\r\n text: this.adminLabel,\r\n link: '/settings/account/general-info',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['PricesAndTaxes']['subModuleIsActive'],\r\n text: this.pricetaxeLabel,\r\n link: '/settings/prices-tax',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['Ecocontributions']['subModuleIsActive'],\r\n text: this.ecotaxpayerLabel,\r\n link: '/settings/ecotaxpayer',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['Status']['subModuleIsActive'],\r\n text: this.statusLabel,\r\n link: '/settings/status',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['Status']['subModuleIsActive'],\r\n text: 'Informations',\r\n link: '/settings/informations',\r\n },\r\n ],\r\n };\r\n const EXCHANGES = {\r\n rights: this.rightsExchanges,\r\n text: this.exchangesLabel,\r\n icon: 'fas fa-exchange-alt',\r\n submenu: [\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['Reports']['subModuleIsActive'],\r\n text: this.reportLabel,\r\n link: '/settings/report',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['Imports']['subModuleIsActive'],\r\n text: this.importLabel,\r\n link: '/settings/import',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['Exports']['subModuleIsActive'],\r\n text: this.exportLabel,\r\n link: '/settings/export',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['Mapping']['subModuleIsActive'],\r\n text: this.mappingLabel,\r\n link: '/settings/mapping',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['TemplatesExcel']['subModuleIsActive'],\r\n text: this.templatesExcelLabel,\r\n link: '/settings/templates-excel',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['Batch']['subModuleIsActive'],\r\n text: this.taskBatch,\r\n link: '/settings/batch',\r\n },\r\n ],\r\n };\r\n const menu = [ATTRIBUTES, MASKS, RULES, EXCHANGES, ACCESS, SETTINGS];\r\n this.addMenu(menu);\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n }\r\n\r\n private getAndSetLabelsFromTranslateServiceForMediaMenu(tr: TranslateService) {\r\n tr.get('menu.media.LIBRARY').subscribe((res: any) => {\r\n this.libraryLabel = res;\r\n });\r\n tr.get('menu.media.DOCUMENTS').subscribe((res: any) => {\r\n this.documentsLabel = res;\r\n });\r\n tr.get('menu.media.MISSINGASSET').subscribe((res: any) => {\r\n this.mediaMissingLabel = res;\r\n });\r\n tr.get('menu.media.ARCHIVEDASSET').subscribe((res: any) => {\r\n this.assetsArchivedLabel = res;\r\n });\r\n tr.get('menu.media.RECENTLYDELETED').subscribe((res: any) => {\r\n this.recentlyDeletedLabel = res;\r\n });\r\n tr.get('menu.media.ORPHANASSET').subscribe((res: any) => {\r\n this.assetsOrphansLabel = res;\r\n });\r\n tr.get('menu.media.PROFILEASSET').subscribe((res: any) => {\r\n this.assetsProfilesLabel = res;\r\n });\r\n tr.get('menu.media.ASSETSSELECTION').subscribe((res: any) => {\r\n this.assetsSelectionsLabel = res;\r\n });\r\n tr.get('menu.workflows.WORKFLOWS').subscribe((res: any) => {\r\n this.workFlowsLabel = res;\r\n });\r\n tr.get('menu.media.ASSETSONHOLD').subscribe((res: any) => {\r\n this.assetsOnHoldLabel = res;\r\n });\r\n tr.get('menu.media.ASSETSFAVORITES').subscribe((res: any) => {\r\n this.assetsFavoritesLabel = res;\r\n });\r\n tr.get('menu.media.TEMPLATES').subscribe((res: any) => {\r\n this.templatesLabel = res;\r\n });\r\n }\r\n\r\n private getAndSetLabelsFromTranslateServiceForProductsMenu(tr: TranslateService) {\r\n tr.get('menu.products.CLASSIFICATION').subscribe((res: any) => {\r\n this.classificationLabel = res;\r\n });\r\n\r\n tr.get('menu.products.SUPPLIERS').subscribe((res: any) => {\r\n this.suppliersLabel = res;\r\n });\r\n\r\n tr.get('menu.products.SKUS').subscribe((res: any) => {\r\n this.skusLabel = res;\r\n });\r\n\r\n tr.get('menu.products.VIEWS').subscribe((res: any) => {\r\n this.viewsLabel = res;\r\n });\r\n }\r\n\r\n private getAndSetLabelsFromTranslateServiceForWorkflowsMenu(tr: TranslateService) {\r\n tr.get('menu.workflows.ROOMS').subscribe((res: any) => {\r\n this.workFlowsRoomLabel = res;\r\n });\r\n tr.get('menu.workflows.WORKFLOWS').subscribe((res: any) => {\r\n this.workFlowsLabel = res;\r\n });\r\n tr.get('menu.workflows.STEPS').subscribe((res: any) => {\r\n this.workFlowsGlobalStepsLabel = res;\r\n });\r\n tr.get('menu.workflows.RULES').subscribe((res: any) => {\r\n this.workFlowsRulesLabel = res;\r\n });\r\n tr.get('menu.workflows.HISTORICAL').subscribe((res: any) => {\r\n this.workFlowsHistoricalLabel = res;\r\n });\r\n }\r\n\r\n private getAndSetLabelsFromTranslateServiceForPublicationsMenu(tr: TranslateService) {\r\n tr.get('menu.publications.PUBLICATIONS').subscribe((res: any) => {\r\n this.publicationLabel = res;\r\n });\r\n tr.get('menu.publications.TEMPLATES').subscribe((res: any) => {\r\n this.publicationTemplatesLabel = res;\r\n });\r\n tr.get('menu.publications.DOCUMENTS').subscribe((res: any) => {\r\n this.publicationDocumentsLabel = res;\r\n });\r\n tr.get('menu.publications.SEPARATION').subscribe((res: any) => {\r\n this.separationLabel = res;\r\n });\r\n tr.get('menu.publications.IMPORT').subscribe((res: any) => {\r\n this.publicationImportLabel = res;\r\n });\r\n tr.get('menu.publications.EXPORT').subscribe((res: any) => {\r\n this.publicationExportLabel = res;\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { SettingsService } from '../settings.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CompanyService {\r\n constructor(\r\n private http: HttpClient,\r\n private _settingsService: SettingsService,\r\n ) {}\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n //Get setting information for this account\r\n getAccountSettings() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') + 'Settings',\r\n { headers },\r\n );\r\n }\r\n\r\n getActiveSession() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') + 'Settings/activesession',\r\n { headers },\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n UPDATE\r\n ======================================================================== */\r\n\r\n //Update a field of settings\r\n updateField(settingGuid: any, fieldName: any, fieldValue: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(\r\n this._settingsService.getSettings('apiUrl') + 'Settings',\r\n {\r\n settingGuid: settingGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n uploadLogo(settingGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Settings/upload/logo?settingGuid=' +\r\n settingGuid,\r\n {},\r\n options,\r\n );\r\n }\r\n\r\n getConnections(\r\n start: string | number,\r\n limit: string | number,\r\n login: string,\r\n sort: string,\r\n direction: string,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'connections?start=' +\r\n start +\r\n '&limit=' +\r\n limit +\r\n '&userLogin=' +\r\n login +\r\n '&sort=' +\r\n sort +\r\n '&direction=' +\r\n direction,\r\n {\r\n headers,\r\n },\r\n );\r\n }\r\n\r\n addConnection(login: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'connections',\r\n {\r\n userLogin: login,\r\n },\r\n options,\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { SettingsService } from './settings.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class NotificationServiceService {\r\n private quantity = new Subject<any>();\r\n\r\n //private showNav$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\r\n private sidenav?: MatSidenav;\r\n\r\n constructor(\r\n private _settingsService: SettingsService,\r\n private http: HttpClient\r\n ) { }\r\n\r\n sendUpdate(message: number) {\r\n //the component that wants to update something, calls this fn\r\n this.quantity.next(message); //next(void 0) will feed the value in Subject\r\n }\r\n\r\n getUpdate(): Observable<any> {\r\n //the receiver component calls this function\r\n return this.quantity.asObservable(); //it returns as an observable to which the receiver funtion will subscribe\r\n }\r\n\r\n getNotifications(start: any = 0, limit?: any) {\r\n let headers = this._settingsService.getHeaders();\r\n var limitParameter = limit ? '&limit=' + limit : '';\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Notifications?start=' + start + limitParameter, { headers });\r\n }\r\n\r\n markAllView() {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(this._settingsService.getSettings('apiUrl') + 'Notifications/markallview', {}, options);\r\n }\r\n\r\n markasreaded(notificationGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(this._settingsService.getSettings('apiUrl') + 'Notifications/markasreaded?notificationGuid=' + notificationGuid, {}, options);\r\n }\r\n\r\n public setSidenav(sidenav: MatSidenav) {\r\n this.sidenav = sidenav;\r\n }\r\n\r\n public open() {\r\n return this.sidenav?.open();\r\n }\r\n\r\n public close() {\r\n return this.sidenav?.close();\r\n }\r\n\r\n public toggle(): void {\r\n this.sidenav?.toggle();\r\n }\r\n}\r\n","import { Injectable, NgZone } from '@angular/core';\r\nimport * as signalR from '@aspnet/signalr';\r\nimport { SettingsService } from './settings.service';\r\nimport { Router } from '@angular/router';\r\nimport { RightsService } from './rights.service';\r\nimport { NotificationServiceService } from './notification-service.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class websocketService {\r\n public connection!: signalR.HubConnection;\r\n public isConnected: boolean = false;\r\n private userLogin: any;\r\n public informationMessage: any = {};\r\n public deliberateDisconnect = false;\r\n public room: any = {};\r\n\r\n constructor(\r\n private _settings: SettingsService,\r\n public _router: Router,\r\n private rights: RightsService,\r\n public _notification: NotificationServiceService,\r\n // private _toastr: ToastrService,\r\n private ngZone: NgZone\r\n ) {\r\n this.initConnection();\r\n }\r\n\r\n initConnection() {\r\n this.userLogin = localStorage.getItem('Login_' + this._settings.getAlias());\r\n\r\n if (this.userLogin) {\r\n this.connection = new signalR.HubConnectionBuilder()\r\n .configureLogging(signalR.LogLevel.Error)\r\n .withUrl(\r\n this._settings.getSettings('apiUrl') + 'wscentral?userId=' + this.userLogin,\r\n {\r\n accessTokenFactory: () => this._settings.getToken() ?? '',\r\n logMessageContent: true,\r\n }\r\n )\r\n .build();\r\n\r\n this.listenersOnClose();\r\n this.listeners();\r\n\r\n if ('hidden' in document) {\r\n document.addEventListener('visibilitychange', () => {\r\n if (document.visibilityState === 'visible') {\r\n // L'onglet est de nouveau actif, reconnection\r\n //this.connect();\r\n }\r\n if (document.visibilityState === 'hidden') {\r\n // L'onglet est inactif, deconnection\r\n //this.disconnect();\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n connect() {\r\n if (this.connection) {\r\n if (this.connection.state === signalR.HubConnectionState.Disconnected) {\r\n this.connection\r\n .start()\r\n .then(() => {\r\n this.isConnected = true;\r\n if (this.room['login'] && this.room['guid']) {\r\n this.connection.invoke('joinRoom', this.room['login'], this.room['guid']);\r\n }\r\n })\r\n .catch((err) => {\r\n //console.error(\"Erreur lors de la connexion :\", err);\r\n this.isConnected = false;\r\n setTimeout(() => this.connect(), 3000); // Réessayez la connexion après 5 secondes en cas d'échec\r\n });\r\n } else if (this.connection.state === signalR.HubConnectionState.Connected) {\r\n //console.log(\"La connexion est déjà établie.\");\r\n this.isConnected = true;\r\n }\r\n } else {\r\n this.initConnection();\r\n this.connect();\r\n }\r\n }\r\n\r\n listeners() {\r\n this.connection.off('BroadcastRight');\r\n this.connection.off('BroadcastMessage');\r\n this.connection.off('PrivateMessage');\r\n this.connection.on('BroadcastRight', (res) => {\r\n let profileGuid = res;\r\n if (localStorage.getItem('ProfileGuid_' + this._settings.getAlias()) == profileGuid) {\r\n this._settings.getRightsAccesModuleForOneProfile(profileGuid).subscribe((res: any) => {\r\n this.rights.sendRights(res);\r\n });\r\n }\r\n });\r\n\r\n this.connection.on('BroadcastMessage', (res) => {\r\n this.ngZone.run(() => {\r\n //Obligatoire pour que l'affichage se face directement\r\n this.informationMessage = res;\r\n if (this.informationMessage['isMaintenance'] == true) {\r\n this._router.navigate(['/maintenance']);\r\n }\r\n this._notification.sendUpdate(res['totalNotViewed']);\r\n // if (this._toastr.toasts.length > 3) {\r\n // this._toastr.clear();\r\n // }\r\n // const activeToast = this._toastr.show(res['notifications']['notificationComment'], res['notifications']['notificationTitle'], {\r\n // positionClass: 'toast-bottom-right',\r\n // timeOut: 6000,\r\n // toastClass: 'ngx-toastr',\r\n // enableHtml: true,\r\n // extendedTimeOut: 4000,\r\n // //toastComponent: ToastComponent\r\n // });\r\n // activeToast.toastRef.componentInstance.data = this.informationMessage;\r\n });\r\n });\r\n\r\n this.connection.on('PrivateMessage', (res) => {\r\n this.ngZone.run(() => {\r\n //Obligatoire pour que l'affichage se face directement\r\n if (res.notifications.notificationUserTarget == this.userLogin) {\r\n this.informationMessage = res;\r\n\r\n // this._notification.sendUpdate(res['totalNotViewed']);\r\n // if (this._toastr.toasts.length > 3) {\r\n // this._toastr.clear();\r\n // }\r\n\r\n // const activeToast = this._toastr.show(res['notifications']['notificationComment'], res['notifications']['notificationTitle'], {\r\n // positionClass: 'toast-bottom-right',\r\n // timeOut: 6000,\r\n // toastClass: 'ngx-toastr',\r\n // enableHtml: true,\r\n // extendedTimeOut: 4000,\r\n // //toastComponent: ToastComponent\r\n // });\r\n // activeToast.toastRef.componentInstance.data = this.informationMessage;\r\n }\r\n });\r\n });\r\n }\r\n\r\n listenersOnClose() {\r\n this.connection.onclose((err) => {\r\n if (!this.deliberateDisconnect) {\r\n //console.log(\"OnClose : \",err)\r\n setTimeout(() => this.connect(), 3000);\r\n }\r\n this.deliberateDisconnect = false;\r\n });\r\n }\r\n\r\n disconnect() {\r\n if (this.connection.state == signalR.HubConnectionState.Connected) {\r\n this.isConnected = false;\r\n this.deliberateDisconnect = true;\r\n this.connection.stop();\r\n }\r\n }\r\n}\r\n","import { Injectable, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { SettingsService } from './settings.service';\r\nimport { CompanyService } from './companies/company.service';\r\n// import { environment } from '../../../environments/environment';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { websocketService } from './websocket.service';\r\nimport { ModalDismissReasons, NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AuthService {\r\n private tokenPotential!: string;\r\n private accountSetting: any;\r\n private authenticateObjectWithRight: any = {};\r\n\r\n public closeModal!: string;\r\n\r\n constructor(\r\n private myRoute: Router,\r\n private http: HttpClient,\r\n private _settingsService: SettingsService,\r\n private _companies: CompanyService,\r\n private dialog: MatDialog,\r\n private _webSocket: websocketService,\r\n private modalService: NgbModal,\r\n ) {\r\n if (this.isLoggedIn()) {\r\n this._companies.getAccountSettings().subscribe((res: any) => {\r\n this.accountSetting = res['setting'];\r\n });\r\n }\r\n }\r\n\r\n /* ========================================================================\r\n ACCOUNT\r\n ======================================================================== */\r\n\r\n getAccountSetting() {\r\n return this.accountSetting;\r\n }\r\n\r\n setAccountSetting(accountSetting: any) {\r\n this.accountSetting = accountSetting;\r\n }\r\n\r\n /* ========================================================================\r\n TOKEN\r\n ======================================================================== */\r\n\r\n sendToken(token: string) {\r\n let alias = window.location.pathname.split('/')[1].toLowerCase();\r\n\r\n if (false) {\r\n localStorage.setItem('Auth_Token_' + alias, token);\r\n } else {\r\n // let numClient = localStorage.getItem(\"Num_Client\");\r\n let alias = this._settingsService.getAlias();\r\n localStorage.setItem('Auth_Token_' + alias, token);\r\n }\r\n // localStorage.setItem(\"Accept-Language\", navigator.language);\r\n }\r\n\r\n sendTokenIframe(token: string) {\r\n let alias = window.location.pathname.split('/')[1].toLowerCase();\r\n\r\n if (false) {\r\n localStorage.setItem('Auth_Token_Iframe_' + alias, token);\r\n } else {\r\n // let numClient = localStorage.getItem(\"Num_Client\");\r\n let alias = this._settingsService.getAlias();\r\n localStorage.setItem('Auth_Token_Iframe_' + alias, token);\r\n }\r\n }\r\n\r\n stockTokenForDoubleAuth(token: string) {\r\n this.tokenPotential = token;\r\n }\r\n\r\n getTokenPotential() {\r\n return this.tokenPotential;\r\n }\r\n\r\n /* ========================================================================\r\n LOGOUT\r\n ======================================================================== */\r\n\r\n logout() {\r\n let alias = window.location.pathname.split('/')[1].toLowerCase();\r\n\r\n this.logoutServiceApi().subscribe();\r\n\r\n if (!window.location.pathname.includes('iframe')) {\r\n Object.keys(localStorage).forEach((e) => {\r\n if (e.includes(this._settingsService.getAlias())) {\r\n localStorage.removeItem(e);\r\n }\r\n });\r\n }\r\n\r\n this._webSocket.disconnect();\r\n\r\n this.myRoute.navigate(['identification']);\r\n }\r\n\r\n logoutWithoutToken() {\r\n // Object.keys(localStorage).forEach(e => {\r\n // localStorage.removeItem(e);\r\n // })\r\n\r\n if (!window.location.pathname.includes('iframe'))\r\n this.myRoute.navigate(['identification']);\r\n }\r\n\r\n logoutServiceApi() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') + 'Users/logout',\r\n { headers },\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n RIGHTS\r\n ======================================================================== */\r\n\r\n setRight(authenticateObjectWithRight: { [x: string]: {} }) {\r\n this.authenticateObjectWithRight =\r\n authenticateObjectWithRight['authenticate'];\r\n }\r\n\r\n /* ========================================================================\r\n OLD RIGHTS\r\n ======================================================================== */\r\n\r\n getRightFromApi() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') + 'Authenticate',\r\n { headers },\r\n );\r\n }\r\n\r\n getRighFromAngularService(rightName: string | number) {\r\n if (this.authenticateObjectWithRight[rightName]) {\r\n return this.authenticateObjectWithRight[rightName];\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n /* ========================================================================\r\n MODAL\r\n ======================================================================== */\r\n\r\n triggerModalMatDialog(\r\n content: TemplateRef<any>,\r\n viewContainerRef?: ViewContainerRef,\r\n ) {\r\n const config: MatDialogConfig = {\r\n panelClass: ['sp-dialog-panel', 'modalSize'],\r\n backdropClass: 'sp-dialog-backdrop',\r\n autoFocus: false,\r\n restoreFocus: false,\r\n width: '860px',\r\n maxWidth: '95vw',\r\n viewContainerRef,\r\n };\r\n\r\n const dialogRef = this.dialog.open(content, config);\r\n\r\n return dialogRef.afterClosed().toPromise();\r\n }\r\n\r\n closeAllModalMatDialog() {\r\n this.dialog.closeAll();\r\n }\r\n\r\n triggerModal(content: any) {\r\n return this.modalService\r\n .open(content, {\r\n ariaLabelledBy: content,\r\n windowClass: 'modalSize',\r\n container: '.sp-dam-root',\r\n })\r\n .result.then(\r\n (res) => {\r\n this.closeModal = 'Closed with: ${res}';\r\n return res;\r\n },\r\n (res) => {\r\n this.closeModal = 'Dismissed ${this.getDismissReason(res)}';\r\n return this.getDismissReason(res);\r\n },\r\n );\r\n }\r\n\r\n closeAllModal() {\r\n this.modalService.dismissAll();\r\n }\r\n\r\n private getDismissReason(reason: any): string {\r\n if (reason === ModalDismissReasons.ESC) {\r\n return 'by pressing ESC';\r\n } else if (reason === ModalDismissReasons.BACKDROP_CLICK) {\r\n return 'by clicking on a backdrop';\r\n } else {\r\n return 'with: ${reason}';\r\n }\r\n }\r\n\r\n /* ========================================================================\r\n OTHER\r\n ======================================================================== */\r\n\r\n isLoggedIn() {\r\n let isLogged = false;\r\n if (this._settingsService.getToken() !== 'invalid token') {\r\n isLogged = true;\r\n }\r\n return isLogged;\r\n }\r\n\r\n getPermissions() {\r\n return 'READ';\r\n }\r\n\r\n checkErrorApiCall(error: { status: number }) {\r\n if (error.status == 401) {\r\n this.logout();\r\n }\r\n }\r\n delay(ms: number) {\r\n return new Promise((resolve) => setTimeout(resolve, ms));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { SettingsService } from '../settings.service';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { Company } from './company.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CompaniesService {\r\n constructor(\r\n private http: HttpClient,\r\n private _settingsService: SettingsService,\r\n ) {}\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getCompaniesByUser(): Observable<Company[]> {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .get<any>(\r\n this._settingsService.getSettings('apiUrl') + 'Companies/byUser',\r\n { headers },\r\n )\r\n .pipe(map((res) => (res.success ? res.data : [])));\r\n }\r\n\r\n getCompanies(\r\n start: number = 0,\r\n limit: number = 100,\r\n search: string = '',\r\n sort: string = 'companyname',\r\n direction: string = 'ASC',\r\n ): Observable<{ data: Company[]; total: number }> {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .get<any>(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Companies?start=' +\r\n start +\r\n '&limit=' +\r\n limit +\r\n '&search=' +\r\n search +\r\n '&sort=' +\r\n sort +\r\n '&direction=' +\r\n direction,\r\n { headers },\r\n )\r\n .pipe(\r\n map((res) => {\r\n if (res.success) {\r\n return { data: res.data, total: res.total };\r\n }\r\n return { data: [], total: 0 };\r\n }),\r\n );\r\n }\r\n\r\n getUsersByCompany(\r\n companyGuid: any,\r\n start: number = 0,\r\n limit: number = 10,\r\n ): Observable<{ success: boolean; data: any[]; total: number }> {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .get<any>(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Companies/users?companyGuid=' +\r\n companyGuid +\r\n '&start=' +\r\n start +\r\n '&limit=' +\r\n limit,\r\n { headers },\r\n )\r\n .pipe(\r\n map((res) =>\r\n res.success ? res : { success: false, data: [], total: 0 },\r\n ),\r\n );\r\n }\r\n\r\n getCurrentCompany(): Observable<Company> {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .get<any>(\r\n this._settingsService.getSettings('apiUrl') + 'Companies/current',\r\n { headers },\r\n )\r\n .pipe(map((res) => (res.success ? res.data : null)));\r\n }\r\n\r\n getCompanyUsages(productSheetAssetGuid?: string, productSheetGuid?: string, templateGuid?: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let queryParams = '';\r\n if (productSheetAssetGuid) {\r\n queryParams += '?productSheetAssetGuid=' + productSheetAssetGuid;\r\n }\r\n if (productSheetGuid) {\r\n queryParams +=\r\n (queryParams ? '&' : '?') + 'productSheetGuid=' + productSheetGuid;\r\n }\r\n if (templateGuid) {\r\n queryParams +=\r\n (queryParams ? '&' : '?') + 'templateGuid=' + templateGuid;\r\n }\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Companies/usages' +\r\n queryParams,\r\n { headers },\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n UPDATE\r\n ======================================================================== */\r\n\r\n updateCompany(\r\n companyGuid: any,\r\n companyName: string,\r\n companyAddress: string | null = null,\r\n companyAddress2: string | null = null,\r\n companyAddress3: string | null = null,\r\n companyZipCode: string | null = null,\r\n companyCity: string | null = null,\r\n companyState: string | null = null,\r\n companyCountry: string | null = null,\r\n companyRegistrationNumber: string | null = null,\r\n companyVatNumber: string | null = null,\r\n companyIndustryCode: string | null = null,\r\n companyPhone: string | null = null,\r\n companyLanguage: string | null = null,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(\r\n this._settingsService.getSettings('apiUrl') + 'Companies',\r\n {\r\n companyGuid: companyGuid,\r\n companyName: companyName,\r\n companyAddress: companyAddress,\r\n companyAddress2: companyAddress2,\r\n companyAddress3: companyAddress3,\r\n companyZipCode: companyZipCode,\r\n companyCity: companyCity,\r\n companyState: companyState,\r\n companyCountry: companyCountry,\r\n companyRegistrationNumber: companyRegistrationNumber,\r\n companyVatNumber: companyVatNumber,\r\n companyIndustryCode: companyIndustryCode,\r\n companyPhone: companyPhone,\r\n companyLanguage: companyLanguage,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n POST\r\n ======================================================================== */\r\n\r\n createCompany(\r\n companyName: string,\r\n companyAlias: string | null = null,\r\n companyLanguage: string = 'fr',\r\n ): Observable<{ success: boolean; data?: string; message?: string }> {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post<any>(\r\n this._settingsService.getSettings('apiUrl') + 'Companies',\r\n {\r\n companyName: companyName,\r\n companyAlias: companyAlias,\r\n companyLanguage: companyLanguage,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n map((res) =>\r\n res.success ? res : { success: false, message: 'Error' },\r\n ),\r\n );\r\n }\r\n\r\n addUserToCompany(\r\n userGuid: string,\r\n companyGuid: string,\r\n role: 'ADMIN' | 'EDITOR' | 'READER',\r\n userLogin?: string,\r\n ): Observable<any>;\r\n addUserToCompany(\r\n userGuid: null | undefined,\r\n companyGuid: string,\r\n role: 'ADMIN' | 'EDITOR' | 'READER',\r\n userLogin: string,\r\n ): Observable<any>;\r\n addUserToCompany(\r\n userGuid: string | null | undefined,\r\n companyGuid: string,\r\n role: 'ADMIN' | 'EDITOR' | 'READER',\r\n userLogin?: string,\r\n ) {\r\n if (!userGuid && !userLogin) {\r\n throw new Error('Either userGuid or userLogin must be provided');\r\n }\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n const body: any = { companyGuid: companyGuid, role: role };\r\n if (userGuid) {\r\n body.userGuid = userGuid;\r\n }\r\n if (userLogin) {\r\n body.userLogin = userLogin;\r\n }\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Companies/users',\r\n body,\r\n options,\r\n );\r\n }\r\n\r\n switchCompany(companyGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Users/switchCompany',\r\n { newCompanyGuid: companyGuid },\r\n options,\r\n );\r\n }\r\n\r\n modifyCompany(company: any): Observable<any> {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.put<any>(\r\n this._settingsService.getSettings('apiUrl') + 'Companies',\r\n company,\r\n { headers },\r\n );\r\n }\r\n\r\n upsertCompanyUser(\r\n userGuid: string,\r\n companyGuid: string,\r\n profileGuid: string,\r\n ): Observable<any> {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.post<any>(\r\n this._settingsService.getSettings('apiUrl') + 'Companies/users',\r\n { userGuid, companyGuid, profileGuid },\r\n { headers },\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n DELETE\r\n ======================================================================== */\r\n\r\n deleteCompanies(companiesGuids: string[]) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.delete(\r\n this._settingsService.getSettings('apiUrl') + 'Companies',\r\n {\r\n headers: headers,\r\n body: {\r\n listingCompaniesToDelete: companiesGuids,\r\n },\r\n },\r\n );\r\n }\r\n\r\n removeUserFromCompany(userGuid: string, companyGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.delete(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Companies/users?userGuid=' +\r\n userGuid +\r\n '&companyGuid=' +\r\n companyGuid,\r\n options,\r\n );\r\n }\r\n\r\n deleteCompanyUser(userGuid: string, companyGuid: string): Observable<any> {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.delete<any>(\r\n this._settingsService.getSettings('apiUrl') +\r\n `Companies/users?userGuid=${userGuid}&companyGuid=${companyGuid}`,\r\n { headers },\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { SettingsService } from './settings.service';\r\nimport { AuthService } from './auth.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TeamsService {\r\n constructor(\r\n private http: HttpClient,\r\n private _settings: SettingsService,\r\n private auth: AuthService\r\n ) { }\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getTeamsWithSort(col: any, order: any) {\r\n let headers = this._settings.getHeaders();\r\n return this.http.get(this._settings.getSettings('apiUrl') + 'Teams?sort=' + col + '&direction=' + order, { headers });\r\n }\r\n\r\n getAllTeams() {\r\n let headers = this._settings.getHeaders();\r\n return this.http.get(this._settings.getSettings('apiUrl') + 'Teams', {\r\n headers,\r\n });\r\n }\r\n\r\n /* ========================================================================\r\n CREATE\r\n ======================================================================== */\r\n\r\n createTeam(jsonName: any, isActive: any, users: any, jsonDesc: any, color: any) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settings.getSettings('apiUrl') + 'Teams',\r\n {\r\n teamName: jsonName,\r\n teamIsActive: isActive,\r\n teamUsers: users,\r\n teamDescription: jsonDesc,\r\n teamHexColor: color,\r\n },\r\n options\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n UPDATE\r\n ======================================================================== */\r\n\r\n modifyTeam(guid: any, name: any, desc: any, active: any, users: any, color: any) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(\r\n this._settings.getSettings('apiUrl') + 'Teams',\r\n {\r\n teamGuid: guid,\r\n teamName: name,\r\n teamDescription: desc,\r\n teamIsActive: active,\r\n teamUsers: users,\r\n teamHexColor: color,\r\n },\r\n options\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n DELETE\r\n ======================================================================== */\r\n\r\n deleteListTeams(list: any) {\r\n let headers = this._settings.getHeaders();\r\n return this.http.request('delete', this._settings.getSettings('apiUrl') + 'Teams', {\r\n headers: headers,\r\n body: {\r\n listingTeamsToDelete: list,\r\n },\r\n });\r\n }\r\n\r\n deleteTeam(teamGuid: string = '') {\r\n let headers = this._settings.getHeaders();\r\n return this.http.request('delete', this._settings.getSettings('apiUrl') + 'Teams/' + teamGuid, { headers });\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { SettingsService } from './settings.service';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { websocketService } from './websocket.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class DamAssetsProfilesService {\r\n constructor(\r\n private _settings: SettingsService,\r\n private http: HttpClient,\r\n private _webSocket: websocketService\r\n ) { }\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getProfilesAssets(start: any, limit: any, search: string, language: string, direction: string) {\r\n let headers = this._settings.getHeaders();\r\n return this.http.get(this._settings.getSettings('apiUrl') + 'ProfilesAssets?start=' + start + '&limit=' + limit + '&search=' + search + '&language=' + language + '&direction=' + direction, {\r\n headers,\r\n });\r\n }\r\n\r\n getProfileAssets(profileAssetGuid: string) {\r\n let headers = this._settings.getHeaders();\r\n return this.http.get(this._settings.getSettings('apiUrl') + 'ProfilesAssets/' + profileAssetGuid, { headers });\r\n }\r\n\r\n createProfileAssets(profileAssetName: any, profileAssetExtension: any, profileAssetSizes: any) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settings.getSettings('apiUrl') + 'ProfilesAssets',\r\n {\r\n profileAssetName: profileAssetName,\r\n profileAssetExtension: profileAssetExtension,\r\n profileAssetSizes: profileAssetSizes,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n updateProfileAssets(profileAssetGuid: any, profileAssetName: any, profileAssetExtension: any, profileAssetSizes: any) {\r\n const headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settings.getSettings('apiUrl') + 'ProfilesAssets',\r\n {\r\n profileAssetGuid: profileAssetGuid,\r\n profileAssetName: profileAssetName,\r\n profileAssetExtension: profileAssetExtension,\r\n profileAssetSizes: profileAssetSizes,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n updateProfileAsset(guid: any, fieldName: any, fieldValue: any) {\r\n const headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settings.getSettings('apiUrl') + 'ProfilesAssets/field',\r\n {\r\n profileAssetGuid: guid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n DELETE\r\n ======================================================================== */\r\n\r\n deleteProfilesAssets(listingProfilesAssetsToDelete: any) {\r\n let headers = this._settings.getHeaders();\r\n return this.http\r\n .request('delete', this._settings.getSettings('apiUrl') + 'ProfilesAssets', {\r\n headers: headers,\r\n body: {\r\n profilesAssetsGuids: listingProfilesAssetsToDelete,\r\n },\r\n })\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n deleteProfileAsset(profileAssetGuid: string) {\r\n let headers = this._settings.getHeaders();\r\n return this.http.request('delete', this._settings.getSettings('apiUrl') + 'ProfilesAssets/' + profileAssetGuid, { headers: headers }).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { SettingsService } from './settings.service';\r\nimport { websocketService } from './websocket.service';\r\nimport { finalize } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class DamAssetsSelectionsService {\r\n constructor(\r\n private _settings: SettingsService,\r\n private http: HttpClient,\r\n private _webSocket: websocketService\r\n ) { }\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getAssetsSelections(start: any, limit: any, search: string, sort: string, direction: string) {\r\n let headers = this._settings.getHeaders();\r\n return this.http.get(this._settings.getSettings('apiUrl') + 'AssetsSelections?start=' + start + '&limit=' + limit + '&search=' + search + '&sort=' + sort + '&direction=' + direction, { headers });\r\n }\r\n\r\n getAssetsSelection(assetsSelectionGuid: string) {\r\n let headers = this._settings.getHeaders();\r\n return this.http.get(this._settings.getSettings('apiUrl') + 'AssetsSelections/' + assetsSelectionGuid, { headers });\r\n }\r\n\r\n createAssetsSelection(assetSelectionName: any, assetSelectionType: any, assetSelectionFomatSize: any, profileAssetGuid: any) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settings.getSettings('apiUrl') + 'AssetsSelections',\r\n {\r\n name: assetSelectionName,\r\n type: assetSelectionType,\r\n formatSize: assetSelectionFomatSize,\r\n profileAssetGuid: profileAssetGuid,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n updateAssetsSelectionsField(guid: any, fieldName: any, fieldValue: any) {\r\n const headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settings.getSettings('apiUrl') + 'AssetsSelections/field',\r\n {\r\n assetsSelectionGuid: guid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n regenerateAssetsSelections(listingAssetsSelectionsToRegenerate: any) {\r\n let headers = this._settings.getHeaders();\r\n return this.http\r\n .request('post', this._settings.getSettings('apiUrl') + 'AssetsSelections/regenerate', {\r\n headers: headers,\r\n body: {\r\n listingAssetsSelectionsToRegenerate: listingAssetsSelectionsToRegenerate,\r\n },\r\n })\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n deleteAssetsSelections(listingAssetsSelectionsToDelete: any) {\r\n let headers = this._settings.getHeaders();\r\n return this.http\r\n .request('delete', this._settings.getSettings('apiUrl') + 'AssetsSelections', {\r\n headers: headers,\r\n body: {\r\n listingAssetsSelectionsToDelete: listingAssetsSelectionsToDelete,\r\n },\r\n })\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n deleteAssetsFromAssetsSelection(guid: any, assetsGuids: any) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settings.getSettings('apiUrl') + 'AssetsSelections/deleteassetfromassetsselection',\r\n {\r\n assetsSelectionGuid: guid,\r\n guids: assetsGuids,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n assignToAssetsSelection(guid: any, assetsGuids: any) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settings.getSettings('apiUrl') + 'AssetsSelections/assigntoassetsselection',\r\n {\r\n assetsSelectionGuid: guid,\r\n guids: assetsGuids,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { SettingsService } from './settings.service';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { websocketService } from './websocket.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class WorkflowsDesksService {\r\n constructor(\r\n private http: HttpClient,\r\n private _settingsService: SettingsService,\r\n private _webSocket: websocketService\r\n ) { }\r\n\r\n replaceOldAssetByNewAsset(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/item/base', object, options);\r\n }\r\n\r\n /* ========================================================================\r\n DESK\r\n ======================================================================== */\r\n\r\n getAllDesks(start: string, limit: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Workflow/desk?start=' + start + '&limit=' + limit, { headers });\r\n }\r\n\r\n getDeskByGuid(workdeskGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Workflow/desk/' + workdeskGuid, { headers });\r\n }\r\n\r\n addDesk(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(this._settingsService.getSettings('apiUrl') + 'Workflow/desk', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getalldesks');\r\n })\r\n );\r\n }\r\n\r\n updateDeskByGuid(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/desk', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getalldesks');\r\n })\r\n );\r\n }\r\n\r\n updateFieldDeskByGuid(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/desk/field', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getalldesks');\r\n this._webSocket.connection.invoke('refresh', 'getallstepsbydesk');\r\n })\r\n );\r\n }\r\n\r\n deleteDeskByGuid(workdeskGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.delete(this._settingsService.getSettings('apiUrl') + 'Workflow/desk/' + workdeskGuid, { headers }).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getalldesks');\r\n })\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n DESK - USER\r\n ======================================================================== */\r\n\r\n getAllUsersByDeskGuid(start: string, limit: string, workdeskGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Workflow/deskuser?start=' + start + '&limit=' + limit + '&workdeskGuid=' + workdeskGuid, { headers });\r\n }\r\n\r\n getUserByDeskGuid(workdeskGuid: string, userGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Workflow/deskuser/' + workdeskGuid + '/' + userGuid, { headers });\r\n }\r\n\r\n addUserByDeskGuid(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(this._settingsService.getSettings('apiUrl') + 'Workflow/deskuser', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n this._webSocket.connection.invoke('refresh', 'getalldesks');\r\n this._webSocket.connection.invoke('refresh', 'getallusersbydesk');\r\n })\r\n );\r\n }\r\n\r\n updateUserByDeskGuid(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/deskuser', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n this._webSocket.connection.invoke('refresh', 'getalldesks');\r\n })\r\n );\r\n }\r\n\r\n updateFieldUserByDeskGuid(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/deskuser/field', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n this._webSocket.connection.invoke('refresh', 'getalldesks');\r\n })\r\n );\r\n }\r\n\r\n deleteUserByDeskGuid(workdeskGuid: string, userGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.delete(this._settingsService.getSettings('apiUrl') + 'Workflow/deskuser/' + workdeskGuid + '/' + userGuid, { headers }).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n this._webSocket.connection.invoke('refresh', 'getalldesks');\r\n this._webSocket.connection.invoke('refresh', 'getallusersbydesk');\r\n })\r\n );\r\n }\r\n\r\n deleteUsersByDeskGuid(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .request('delete', this._settingsService.getSettings('apiUrl') + 'Workflow/deskuser/array', {\r\n headers: headers,\r\n body: object,\r\n })\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n this._webSocket.connection.invoke('refresh', 'getallusersbydesk');\r\n })\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n DESK - ITEM\r\n ======================================================================== */\r\n\r\n getAllItemsByWorkItemGuid(start: string, limit: string, workdeskGuid: string, statuts: string, search: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') + 'Workflow/item?start=' + start + '&limit=' + limit + '&workdeskGuid=' + workdeskGuid + '&status=' + statuts + '&search=' + search,\r\n { headers }\r\n );\r\n }\r\n\r\n getItemByWorkItemGuid(workItemGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Workflow/item/' + workItemGuid, { headers });\r\n }\r\n\r\n getItemByWorkItemBaseGuid(workItemBaseGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Workflow/item/base' + workItemBaseGuid, { headers });\r\n }\r\n\r\n getAllCompletenessFieldByWorkItem(workItemGuid: string, byUser = false) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Workflow/item/base/' + workItemGuid + '/completenessfields?byUser=' + byUser, { headers });\r\n }\r\n\r\n addItemByDeskGuid(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(this._settingsService.getSettings('apiUrl') + 'Workflow/item', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n })\r\n );\r\n }\r\n\r\n updateItemByDeskGuid(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/item', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n })\r\n );\r\n }\r\n\r\n updateFieldItemByDeskGuid(object: { workitemGuid: string; }) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/item/field', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n if (object.workitemGuid) {\r\n this._webSocket.connection.invoke('refresh', 'getItemWorkflow--' + object.workitemGuid);\r\n }\r\n // this._webSocket.connection.invoke(\"refresh\",\"getalldesks\");\r\n })\r\n );\r\n }\r\n\r\n deleteItemByDeskGuid(workItemGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.delete(this._settingsService.getSettings('apiUrl') + 'Workflow/item/' + workItemGuid, { headers }).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n })\r\n );\r\n }\r\n\r\n deleteItemsByDeskGuid(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .request('delete', this._settingsService.getSettings('apiUrl') + 'Workflow/item/array', {\r\n headers: headers,\r\n body: object,\r\n })\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n })\r\n );\r\n }\r\n\r\n deleteItemByWorkItemBaseGuid(workItemBaseGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.delete(this._settingsService.getSettings('apiUrl') + 'Workflow/item/base/' + workItemBaseGuid, { headers }).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n })\r\n );\r\n }\r\n\r\n readNotificationOnItem(guid: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/item/read', { workitemGuid: guid }, options);\r\n }\r\n\r\n addStaffsToItems(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/item/users/add', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n })\r\n );\r\n }\r\n\r\n replaceStaffsToItems(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/item/users/assign', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n })\r\n );\r\n }\r\n\r\n removeStaffsToItems(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/item/users/remove', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n })\r\n );\r\n }\r\n\r\n getWorkflowsProgress(workitemBaseGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Workflow/item/base/' + workitemBaseGuid, { headers });\r\n }\r\n\r\n sendMailWorkflows(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.post(this._settingsService.getSettings('apiUrl') + 'Workflow/send', object, { headers });\r\n }\r\n\r\n /* ========================================================================\r\n DESK - ITEMSTEP\r\n ======================================================================== */\r\n\r\n getItemStepByWorkItemGuid(start: string, limit: string, workItemGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Workflow/itemstep?limit=' + limit + '&start=' + start + '&workitemGuid=' + workItemGuid, { headers });\r\n }\r\n\r\n updateItemByWorkItemStepGuid(object: any, subject: any = null) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/itemstep/field', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n if (subject) {\r\n this._webSocket.connection.invoke('refresh', 'getItemWorkflow--' + subject.workitemGuid);\r\n } else {\r\n this._webSocket.connection.invoke('refresh', 'getallitemsbydesk');\r\n }\r\n // this._webSocket.connection.invoke(\"refresh\",\"getalldesks\");\r\n })\r\n );\r\n }\r\n\r\n updateDeskStepUserByWorkItemStepGuid(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/deskstepuser/field', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getallitemsbydesk');\r\n // this._webSocket.connection.invoke(\"refresh\",\"getalldesks\");\r\n })\r\n );\r\n }\r\n\r\n addItemStepByDeskGuid(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(this._settingsService.getSettings('apiUrl') + 'Workflow/itemstep', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n // this._webSocket.connection.invoke(\"refresh\", \"getitembyitemguid\");\r\n // this._webSocket.connection.invoke(\"refresh\",\"getalldesks\");\r\n })\r\n );\r\n }\r\n\r\n deleteItemStepByWorkItemStepGuid(workitemGuid: string, workstepGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.delete(this._settingsService.getSettings('apiUrl') + 'Workflow/itemstep/' + workitemGuid + '/' + workstepGuid, { headers }).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n // this._webSocket.connection.invoke(\"refresh\",\"getalldesks\");\r\n })\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n DESK - STEP\r\n ======================================================================== */\r\n\r\n getAllStepsByDeskGuid(workdeskGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Workflow/desk/steps/' + workdeskGuid, { headers });\r\n }\r\n\r\n getAllSteps(start: string, limit: string, search: string, completenessGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Workflow/step?start=' + start + '&limit=' + limit + '&search=' + search + '&completenessGuid=' + completenessGuid, { headers });\r\n }\r\n\r\n getStepByWorkStepGuid(workstepGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Workflow/step/' + workstepGuid, { headers });\r\n }\r\n\r\n addStep(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(this._settingsService.getSettings('apiUrl') + 'Workflow/step', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n this._webSocket.connection.invoke('refresh', 'getalldesks');\r\n this._webSocket.connection.invoke('refresh', 'getallsteps');\r\n this._webSocket.connection.invoke('refresh', 'getallstepsbydesk');\r\n })\r\n );\r\n }\r\n\r\n updateStepByWorkStepGuid(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/step', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n this._webSocket.connection.invoke('refresh', 'getalldesks');\r\n })\r\n );\r\n }\r\n\r\n updateFieldStepWorkStepGuid(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/step/field', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n this._webSocket.connection.invoke('refresh', 'getalldesks');\r\n this._webSocket.connection.invoke('refresh', 'getallsteps');\r\n this._webSocket.connection.invoke('refresh', 'getallstepsbydesk');\r\n })\r\n );\r\n }\r\n\r\n deleteStepByWorkStepGuid(workstepGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.delete(this._settingsService.getSettings('apiUrl') + 'Workflow/step/' + workstepGuid, { headers }).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n this._webSocket.connection.invoke('refresh', 'getalldesks');\r\n this._webSocket.connection.invoke('refresh', 'getallsteps');\r\n this._webSocket.connection.invoke('refresh', 'getallstepsbydesk');\r\n })\r\n );\r\n }\r\n\r\n deleteStepsByWorkStepGuids(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .request('delete', this._settingsService.getSettings('apiUrl') + 'Workflow/step/array', {\r\n headers: headers,\r\n body: object,\r\n })\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n this._webSocket.connection.invoke('refresh', 'getalldesks');\r\n this._webSocket.connection.invoke('refresh', 'getallsteps');\r\n this._webSocket.connection.invoke('refresh', 'getallstepsbydesk');\r\n })\r\n );\r\n }\r\n\r\n checkItemStep(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/itemstep/verify', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n this._webSocket.connection.invoke('refresh', 'getalldesks');\r\n })\r\n );\r\n }\r\n\r\n checkItemStepUsers(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/itemstep/verify/users', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n this._webSocket.connection.invoke('refresh', 'getalldesks');\r\n })\r\n );\r\n }\r\n\r\n checkItemStepByWorkStepGuid(workstepGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/itemstep/verify/' + workstepGuid, {}, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n this._webSocket.connection.invoke('refresh', 'getalldesks');\r\n })\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n DESK - TCHAT\r\n ======================================================================== */\r\n\r\n getAllMessages(start: string, limit: string, workchatTargetGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Workflow/chat?start=' + start + '&limit=' + limit + '&workchatTargetGuid=' + workchatTargetGuid, { headers });\r\n }\r\n\r\n makeNewMessage(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(this._settingsService.getSettings('apiUrl') + 'Workflow/chat', object, options);\r\n }\r\n\r\n deleteMessageByWorkchatGuid(workchatGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.delete(this._settingsService.getSettings('apiUrl') + 'Workflow/chat/' + workchatGuid, { headers });\r\n }\r\n\r\n updateFieldChatByWorkchatGuid(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/chat/field', object, options);\r\n }\r\n\r\n likeMessageByworkchatGuid(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/chat/like', object, options);\r\n }\r\n\r\n unLikeMessageByworkchatGuid(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/chat/unlike', object, options);\r\n }\r\n\r\n readTchatOnItem(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/chat/read', object, options);\r\n }\r\n\r\n /* ========================================================================\r\n ROOM\r\n ======================================================================== */\r\n\r\n getAllRooms() {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Workflow/room', { headers });\r\n }\r\n\r\n getRoom(workroomGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Workflow/room/' + workroomGuid, { headers });\r\n }\r\n\r\n addRoom(workroomName: any, workroomDesks: any, workroomSkus = []) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Workflow/room',\r\n {\r\n workroomName: workroomName,\r\n workroomDesks: workroomDesks,\r\n workroomSkus: workroomSkus,\r\n },\r\n { headers }\r\n );\r\n }\r\n\r\n updateRoom(workroomGuid: any, fieldName: any, fieldValue: any) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.put(\r\n this._settingsService.getSettings('apiUrl') + 'Workflow/room/field',\r\n {\r\n workroomGuid: workroomGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n },\r\n { headers }\r\n );\r\n }\r\n\r\n deleteRoom(workroomGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.delete(this._settingsService.getSettings('apiUrl') + 'Workflow/room/' + workroomGuid, { headers });\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { SettingsService } from './settings.service';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { websocketService } from './websocket.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class WorkflowsHistoricalService {\r\n constructor(\r\n private http: HttpClient,\r\n private _settingsService: SettingsService,\r\n private _webSocket: websocketService\r\n ) { }\r\n\r\n getAllHistorical(start: string, limit: string, search: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Workflow/item/archived?start=' + start + '&limit=' + limit + '&search=' + search, { headers });\r\n }\r\n\r\n getOneHistoryByWorkitemarchivedGuid(workitemarchivedGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Workflow/item/archived/' + workitemarchivedGuid, { headers });\r\n }\r\n\r\n archiveThisItem(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/item/archive', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n this._webSocket.connection.invoke('refresh', 'getalldesks');\r\n this._webSocket.connection.invoke('refresh', 'getallhistories');\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n deleteByWorkitemarchivedGuids(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .request('delete', this._settingsService.getSettings('apiUrl') + 'Workflow/item/archived/array', {\r\n headers: headers,\r\n body: object,\r\n })\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'getallhistories');\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { CompanyObject, ConnectionAttemptObject, UserSignInObject } from './login';\r\nimport { Router, UrlTree, UrlSegmentGroup, UrlSegment, PRIMARY_OUTLET } from '@angular/router';\r\nimport { SettingsService } from '../settings.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class LoginService {\r\n private user!: { [x: string]: any; };\r\n private company: any;\r\n constructor(\r\n private http: HttpClient,\r\n private settings: SettingsService,\r\n private router: Router\r\n ) { }\r\n\r\n /* ========================================================================\r\n SET\r\n ======================================================================== */\r\n\r\n setCompany(company: any) {\r\n this.company = company;\r\n }\r\n\r\n setUser(user: any) {\r\n this.user = user;\r\n }\r\n\r\n setLoginInLocalStorage(login: string) {\r\n // localStorage.setItem(\"Login\", login);\r\n localStorage.setItem('Login_' + this.settings.getAlias(), login);\r\n }\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getCompany() {\r\n return this.company;\r\n }\r\n\r\n getUserNotFromApi() {\r\n return this.user;\r\n }\r\n\r\n getLoginFromUser() {\r\n return this.user['userLogin'];\r\n }\r\n\r\n checkConnectionAttemptAndDate(login: string, alias: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n });\r\n let options = { headers: headers };\r\n return this.http.post<ConnectionAttemptObject>(\r\n this.settings.getSettings('apiUrl') + 'Users/' + login + '/connectionAttempt',\r\n {\r\n alias: alias,\r\n },\r\n options\r\n );\r\n }\r\n\r\n getUser(login: any, mdp: any, alias: any) {\r\n //return user\r\n return this.http.post<UserSignInObject>(this.settings.getSettings('apiUrl') + 'Users/signIn', {\r\n login: login,\r\n password: mdp,\r\n alias: alias,\r\n });\r\n }\r\n\r\n getLoginInLocalStorage() {\r\n const login = localStorage.getItem('Login');\r\n\r\n if (login !== null) {\r\n localStorage.setItem('Login_' + this.settings.getAlias(), login);\r\n localStorage.removeItem('Login');\r\n }\r\n\r\n return localStorage.getItem('Login_' + this.settings.getAlias());\r\n }\r\n\r\n externalLogin(team: any) {\r\n return this.http.post(this.settings.getSettings('apiUrl') + 'Users/signIn/external', {\r\n team: team,\r\n alias: this.settings.getAlias(),\r\n });\r\n }\r\n\r\n iframeLogin(login: any, mdp: any) {\r\n //return user\r\n return this.http.post<UserSignInObject>(this.settings.getSettings('apiUrl') + 'Users/signIn', {\r\n login: login,\r\n password: mdp,\r\n alias: this.settings.getAlias(),\r\n });\r\n }\r\n}\r\n","import { Injectable, OnInit } from '@angular/core';\r\nimport { BehaviorSubject, ReplaySubject, Subject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SidebarRightService {\r\n private showNav$: { [component: string]: BehaviorSubject<boolean> } = {};\r\n\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n\r\n getShowNav(component: string) {\r\n if (!this.showNav$[component]) {\r\n this.showNav$[component] = new BehaviorSubject<boolean>(false);\r\n }\r\n return this.showNav$[component].asObservable();\r\n }\r\n\r\n setShowNav(component: string, showHide: boolean) {\r\n if (!this.showNav$[component]) {\r\n this.showNav$[component] = new BehaviorSubject<boolean>(false);\r\n } else {\r\n }\r\n this.showNav$[component].next(showHide);\r\n }\r\n\r\n toggleNavState(component: string) {\r\n if (!this.showNav$[component]) {\r\n this.showNav$[component] = new BehaviorSubject<boolean>(false);\r\n }\r\n this.showNav$[component].next(!this.showNav$[component].value);\r\n }\r\n\r\n isNavOpen(component: string) {\r\n if (!this.showNav$[component]) {\r\n this.showNav$[component] = new BehaviorSubject<boolean>(false);\r\n }\r\n return this.showNav$[component].value;\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { SettingsService } from './settings.service';\r\nimport { AuthService } from './auth.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CompletenessService {\r\n constructor(\r\n private http: HttpClient,\r\n private _settingsService: SettingsService,\r\n private auth: AuthService\r\n ) { }\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getCompletenessByGuid(guid: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'completeness/type/' + guid, { headers });\r\n }\r\n\r\n getAllCompleteness(completenessModule = 'GLOBAL') {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'completeness?completenessModule=' + completenessModule, { headers });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { SettingsService } from './settings.service';\r\nimport { AuthService } from './auth.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StatusService {\r\n constructor(\r\n private http: HttpClient,\r\n private _settingsService: SettingsService,\r\n private auth: AuthService\r\n ) { }\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getAllStatus(type: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Status?type=' + type, { headers });\r\n }\r\n\r\n getOneStatusByGuid(guid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Status/' + guid, { headers });\r\n }\r\n\r\n getStatusSort() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Status/sort', { headers });\r\n }\r\n /* ========================================================================\r\n CREATE\r\n ======================================================================== */\r\n\r\n createStatus(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(this._settingsService.getSettings('apiUrl') + 'status', object, options);\r\n }\r\n\r\n /* ========================================================================\r\n UPDATE\r\n ======================================================================== */\r\n\r\n modifyStatus(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'status', object, options);\r\n }\r\n\r\n /* ========================================================================\r\n DELETE\r\n ======================================================================== */\r\n\r\n deleteStatus(guid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.request('delete', this._settingsService.getSettings('apiUrl') + 'status/' + guid, {\r\n headers: headers,\r\n body: {},\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { SettingsService } from './settings.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ExportsService {\r\n constructor(\r\n private http: HttpClient,\r\n private _settings: SettingsService\r\n ) { }\r\n\r\n /* ========================================================================\r\n EXPORT\r\n ======================================================================== */\r\n\r\n exportDownload(exchangeObject: { exchangeMappingGuid: any; exchangeLanguage: any; exchangeExtensionOutputFile: any; exchangeSeparator: any; channelGuid: any; exchangeOrder: any; }) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settings.getSettings('apiUrl') + 'Exchanges/export/sku',\r\n {\r\n exchangeMappingGuid: exchangeObject.exchangeMappingGuid,\r\n exchangeLanguage: exchangeObject.exchangeLanguage,\r\n exchangeExtensionOutputFile: exchangeObject.exchangeExtensionOutputFile, //can be \".csv\", \".xls\", \".xlsx\", \".txt\", \".json\", \".xml\"\r\n exchangeSeparator: exchangeObject.exchangeSeparator, //not empty only if .csv and .txt,\r\n channelGuid: exchangeObject.channelGuid,\r\n exchangeOrder: exchangeObject.exchangeOrder,\r\n },\r\n options\r\n );\r\n }\r\n\r\n exportDownloadCate(exchangeObject: { exchangeLanguage: any; exchangeExtensionOutputFile: any; exchangeSeparator: any; exchangeOrder: any; }) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settings.getSettings('apiUrl') + 'Exchanges/export/category',\r\n {\r\n exchangeLanguage: exchangeObject.exchangeLanguage,\r\n exchangeExtensionOutputFile: exchangeObject.exchangeExtensionOutputFile, //can be \".csv\", \".xls\", \".xlsx\", \".txt\", \".json\", \".xml\"\r\n exchangeSeparator: exchangeObject.exchangeSeparator, //not empty only if .csv and .txt,\r\n exchangeOrder: exchangeObject.exchangeOrder,\r\n },\r\n options\r\n );\r\n }\r\n\r\n exportDownloadMultiCate(exchangeObject: { exchangeLanguage: any; exchangeExtensionOutputFile: any; exchangeSeparator: any; exchangeOrder: any; }) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settings.getSettings('apiUrl') + 'Exchanges/export/multicategory',\r\n {\r\n exchangeLanguage: exchangeObject.exchangeLanguage,\r\n exchangeExtensionOutputFile: exchangeObject.exchangeExtensionOutputFile, //can be \".csv\", \".xls\", \".xlsx\", \".txt\", \".json\", \".xml\"\r\n exchangeSeparator: exchangeObject.exchangeSeparator, //not empty only if .csv and .txt,\r\n exchangeOrder: exchangeObject.exchangeOrder,\r\n },\r\n options\r\n );\r\n }\r\n\r\n exportDownloadSupplier(exchangeObject: { exchangeLanguage: any; exchangeExtensionOutputFile: any; exchangeSeparator: any; exchangeOrder: any; }) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settings.getSettings('apiUrl') + 'Exchanges/export/supplier',\r\n {\r\n exchangeLanguage: exchangeObject.exchangeLanguage,\r\n exchangeExtensionOutputFile: exchangeObject.exchangeExtensionOutputFile, //can be \".csv\", \".xls\", \".xlsx\", \".txt\", \".json\", \".xml\"\r\n exchangeSeparator: exchangeObject.exchangeSeparator, //not empty only if .csv and .txt,\r\n exchangeOrder: exchangeObject.exchangeOrder,\r\n },\r\n options\r\n );\r\n }\r\n\r\n exportDownloadOrdersItems(exchangeObject: { exchangeExtensionOutputFile: any; exchangeSeparator: any; }) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settings.getSettings('apiUrl') + 'Exchanges/export/salesordersitems',\r\n {\r\n exchangeExtensionOutputFile: exchangeObject.exchangeExtensionOutputFile,\r\n exchangeSeparator: exchangeObject.exchangeSeparator, // if export is csv or txt, fill separator ; , |\r\n exchangeOrder: null,\r\n exchangeFilter: null,\r\n },\r\n options\r\n );\r\n }\r\n\r\n exportDownloadOrders(exchangeObject: { exchangeLanguage: any; exchangeExtensionOutputFile: any; exchangeSeparator: any; exchangeOrder: any; exchangeFilter: any; startDate: any; endDate: any; }) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settings.getSettings('apiUrl') + 'Exchanges/export/salesorders',\r\n {\r\n exchangeLanguage: exchangeObject.exchangeLanguage,\r\n exchangeExtensionOutputFile: exchangeObject.exchangeExtensionOutputFile, //can be \".csv\", \".xls\", \".xlsx\", \".txt\", \".json\", \".xml\"\r\n exchangeSeparator: exchangeObject.exchangeSeparator, //not empty only if .csv and .txt,\r\n exchangeOrder: exchangeObject.exchangeOrder,\r\n exchangeFilter: exchangeObject.exchangeFilter,\r\n startDate: exchangeObject.startDate,\r\n endDate: exchangeObject.endDate,\r\n },\r\n options\r\n );\r\n }\r\n\r\n exportDownloadQuotes(exchangeObject: { exchangeLanguage: any; exchangeExtensionOutputFile: any; exchangeSeparator: any; exchangeOrder: any; exchangeFilter: any; startDate: any; endDate: any; }) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settings.getSettings('apiUrl') + 'Exchanges/export/salesquotes',\r\n {\r\n exchangeLanguage: exchangeObject.exchangeLanguage,\r\n exchangeExtensionOutputFile: exchangeObject.exchangeExtensionOutputFile, //can be \".csv\", \".xls\", \".xlsx\", \".txt\", \".json\", \".xml\"\r\n exchangeSeparator: exchangeObject.exchangeSeparator, //not empty only if .csv and .txt,\r\n exchangeOrder: exchangeObject.exchangeOrder,\r\n exchangeFilter: exchangeObject.exchangeFilter,\r\n startDate: exchangeObject.startDate,\r\n endDate: exchangeObject.endDate,\r\n },\r\n options\r\n );\r\n }\r\n\r\n exportDownloadQuotesItems(exchangeObject: { exchangeExtensionOutputFile: any; exchangeSeparator: any; }) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settings.getSettings('apiUrl') + 'Exchanges/export/salesquotesitems',\r\n {\r\n exchangeExtensionOutputFile: exchangeObject.exchangeExtensionOutputFile,\r\n exchangeSeparator: exchangeObject.exchangeSeparator, // if export is csv or txt, fill separator ; , |\r\n exchangeOrder: null,\r\n exchangeFilter: null,\r\n },\r\n options\r\n );\r\n }\r\n\r\n exportDownloadAccount(exchangeObject: { exchangeLanguage: any; exchangeExtensionOutputFile: any; exchangeSeparator: any; exchangeOrder: any; }) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settings.getSettings('apiUrl') + 'Exchanges/export/account',\r\n {\r\n exchangeLanguage: exchangeObject.exchangeLanguage,\r\n exchangeExtensionOutputFile: exchangeObject.exchangeExtensionOutputFile, //can be \".csv\", \".xls\", \".xlsx\", \".txt\", \".json\", \".xml\"\r\n exchangeSeparator: exchangeObject.exchangeSeparator, //not empty only if .csv and .txt,\r\n exchangeOrder: exchangeObject.exchangeOrder,\r\n },\r\n options\r\n );\r\n }\r\n\r\n exportDownloadShipping(exchangeObject: { exchangeLanguage: any; exchangeExtensionOutputFile: any; exchangeSeparator: any; exchangeOrder: any; }) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settings.getSettings('apiUrl') + 'Exchanges/export/accountshipping',\r\n {\r\n exchangeLanguage: exchangeObject.exchangeLanguage,\r\n exchangeExtensionOutputFile: exchangeObject.exchangeExtensionOutputFile, //can be \".csv\", \".xls\", \".xlsx\", \".txt\", \".json\", \".xml\"\r\n exchangeSeparator: exchangeObject.exchangeSeparator, //not empty only if .csv and .txt,\r\n exchangeOrder: exchangeObject.exchangeOrder,\r\n },\r\n options\r\n );\r\n }\r\n\r\n exportSkuWithFilter(exchangeObject: { exchangeMappingGuid: any; exchangeLanguage: any; exchangeExtensionOutputFile: any; exchangeSeparator: any; channelGuid: any; exchangeOrder: any; exchangeFilter: any; }) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settings.getSettings('apiUrl') + 'Exchanges/export/sku',\r\n {\r\n exchangeMappingGuid: exchangeObject.exchangeMappingGuid,\r\n exchangeLanguage: exchangeObject.exchangeLanguage,\r\n exchangeExtensionOutputFile: exchangeObject.exchangeExtensionOutputFile, //can be \".csv\", \".xls\", \".xlsx\", \".txt\", \".json\", \".xml\"\r\n exchangeSeparator: exchangeObject.exchangeSeparator, //not empty only if .csv and .txt,\r\n channelGuid: exchangeObject.channelGuid,\r\n exchangeOrder: exchangeObject.exchangeOrder,\r\n exchangeFilter: exchangeObject.exchangeFilter,\r\n },\r\n options\r\n );\r\n }\r\n\r\n exportDownloadFrameworkAgreements(exchangeObject: { languageSelected: any; exchangeExtensionOutputFile: any; exchangeSeparator: any; }) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settings.getSettings('apiUrl') + 'Exchanges/export/frameworkagreements',\r\n {\r\n exchangeLanguage: exchangeObject.languageSelected,\r\n exchangeExtensionOutputFile: exchangeObject.exchangeExtensionOutputFile,\r\n exchangeSeparator: exchangeObject.exchangeSeparator, // if export is csv or txt, fill separator ; , |\r\n exchangeOrder: null,\r\n exchangeFilter: null,\r\n },\r\n options\r\n );\r\n }\r\n\r\n exportDownloadPriceNegociated(exchangeObject: { languageSelected: any; exchangeExtensionOutputFile: any; exchangeSeparator: any; }) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settings.getSettings('apiUrl') + 'Exchanges/export/accountsskusprices',\r\n {\r\n exchangeLanguage: exchangeObject.languageSelected,\r\n exchangeExtensionOutputFile: exchangeObject.exchangeExtensionOutputFile,\r\n exchangeSeparator: exchangeObject.exchangeSeparator, // if export is csv or txt, fill separator ; , |\r\n exchangeOrder: null,\r\n exchangeFilter: null,\r\n },\r\n options\r\n );\r\n }\r\n\r\n exportDownloadPublications(exchangeObject: { exchangeExtensionOutputFile: any; exchangeSeparator: any; exchangeOrder: any; exchangeFilter: any; }) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settings.getSettings('apiUrl') + 'Exchanges/export/publicationdatas',\r\n {\r\n exchangeExtensionOutputFile: exchangeObject.exchangeExtensionOutputFile,\r\n exchangeSeparator: exchangeObject.exchangeSeparator, // if export is csv or txt, fill separator ; , |\r\n exchangeOrder: exchangeObject.exchangeOrder,\r\n exchangeFilter: exchangeObject.exchangeFilter,\r\n },\r\n options\r\n );\r\n }\r\n\r\n exportDownloadAssets(exchangeObject: { languageSelected: any; exchangeExtensionOutputFile: any; exchangeSeparator: any; exchangeOrder: any; }) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settings.getSettings('apiUrl') + 'Exchanges/export/assets',\r\n {\r\n exchangeLanguage: exchangeObject.languageSelected,\r\n exchangeExtensionOutputFile: exchangeObject.exchangeExtensionOutputFile,\r\n exchangeSeparator: exchangeObject.exchangeSeparator, // if export is csv or txt, fill separator ; , |\r\n exchangeOrder: exchangeObject.exchangeOrder,\r\n },\r\n options\r\n );\r\n }\r\n\r\n exportDownloadMissingAssets(exchangeObject: { languageSelected: any; exchangeExtensionOutputFile: any; exchangeSeparator: any; exchangeOrder: any; }) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settings.getSettings('apiUrl') + 'Exchanges/export/assets',\r\n {\r\n exchangeLanguage: exchangeObject.languageSelected,\r\n exchangeExtensionOutputFile: exchangeObject.exchangeExtensionOutputFile,\r\n exchangeSeparator: exchangeObject.exchangeSeparator, // if export is csv or txt, fill separator ; , |\r\n exchangeOrder: exchangeObject.exchangeOrder,\r\n exchangeType: 'missing',\r\n },\r\n options\r\n );\r\n }\r\n\r\n exportDownloadOrphansAssets(exchangeObject: { languageSelected: any; exchangeExtensionOutputFile: any; exchangeSeparator: any; exchangeOrder: any; }) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settings.getSettings('apiUrl') + 'Exchanges/export/assets',\r\n {\r\n exchangeLanguage: exchangeObject.languageSelected,\r\n exchangeExtensionOutputFile: exchangeObject.exchangeExtensionOutputFile,\r\n exchangeSeparator: exchangeObject.exchangeSeparator, // if export is csv or txt, fill separator ; , |\r\n exchangeOrder: exchangeObject.exchangeOrder,\r\n exchangeType: 'orphans',\r\n },\r\n options\r\n );\r\n }\r\n\r\n exportPersonalized(exchangeObject: { exchangeLanguage: any; templateGuid: any; pricesListGuid: any; channelGuid: any; skuGuids: any; publicationId: any; }) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settings.getSettings('apiUrl') + 'Exchanges/export/personalized',\r\n {\r\n exchangeLanguage: exchangeObject.exchangeLanguage,\r\n templateGuid: exchangeObject.templateGuid,\r\n pricesListGuid: exchangeObject.pricesListGuid, // if export is csv or txt, fill separator ; , |\r\n channelGuid: exchangeObject.channelGuid,\r\n skuGuids: exchangeObject.skuGuids,\r\n publicationId: exchangeObject.publicationId,\r\n },\r\n options\r\n );\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'localeNumber',\r\n standalone: true,\r\n})\r\nexport class LocaleNumberPipe implements PipeTransform {\r\n transform(value: number, language: string): any {\r\n if (value && language) {\r\n return value.toLocaleString(language);\r\n } else {\r\n if (value == 0) return '0';\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Pipe({\r\n name: 'timeElapsed',\r\n standalone: true,\r\n})\r\nexport class TimeElapsedPipe implements PipeTransform {\r\n public daysLabel: any;\r\n public hoursLabel: any;\r\n public minutesLabel: any;\r\n public secondesLabel: any;\r\n public dayLabel: any;\r\n public hourLabel: any;\r\n public minuteLabel: any;\r\n public secondeLabel: any;\r\n constructor(private _tr: TranslateService) {\r\n this._tr.get('pipes.timeElapsed.DAYS').subscribe((res) => {\r\n this.daysLabel = res;\r\n this._tr.get('pipes.timeElapsed.HOURS').subscribe((res) => {\r\n this.hoursLabel = res;\r\n this._tr.get('pipes.timeElapsed.MINUTES').subscribe((res) => {\r\n this.minutesLabel = res;\r\n this._tr.get('pipes.timeElapsed.SECONDES').subscribe((res) => {\r\n this.secondesLabel = res;\r\n });\r\n });\r\n });\r\n });\r\n this._tr.get('pipes.timeElapsed.DAY').subscribe((res) => {\r\n this.dayLabel = res;\r\n this._tr.get('pipes.timeElapsed.HOUR').subscribe((res) => {\r\n this.hourLabel = res;\r\n this._tr.get('pipes.timeElapsed.MINUTE').subscribe((res) => {\r\n this.minuteLabel = res;\r\n this._tr.get('pipes.timeElapsed.SECONDE').subscribe((res) => {\r\n this.secondeLabel = res;\r\n });\r\n });\r\n });\r\n });\r\n }\r\n transform(date: any, mode: 'full' | 'soft' = 'full'): string {\r\n const startDateTime = new Date(date);\r\n const currentDateTime = new Date();\r\n\r\n const timeElapsed = currentDateTime.getTime() - startDateTime.getTime();\r\n const seconds = Math.floor(timeElapsed / 1000);\r\n const minutes = Math.floor(seconds / 60);\r\n const hours = Math.floor(minutes / 60);\r\n const days = Math.floor(hours / 24);\r\n\r\n if (mode === 'soft') {\r\n if (days > 0) {\r\n return days === 1 ? `1 ${this.dayLabel}` : `${days} ${this.daysLabel}`;\r\n } else if (hours > 0) {\r\n return hours === 1 ? `1 ${this.hourLabel}` : `${hours} ${this.hoursLabel}`;\r\n } else if (minutes > 0) {\r\n return minutes === 1 ? `1 ${this.minuteLabel}` : `${minutes} ${this.minutesLabel}`;\r\n } else {\r\n return seconds === 1 ? `1 ${this.secondeLabel}` : `${seconds} ${this.secondesLabel}`;\r\n }\r\n }\r\n\r\n let elapsedTime = '';\r\n\r\n if (days > 0) {\r\n elapsedTime += days;\r\n if (days == 1) {\r\n elapsedTime += ' ' + this.dayLabel + ' ';\r\n } else {\r\n elapsedTime += ' ' + this.daysLabel + ' ';\r\n }\r\n }\r\n if (hours > 0 && days <= 7) {\r\n elapsedTime += hours % 24;\r\n if (hours == 1) {\r\n elapsedTime += ' ' + this.hourLabel + ' ';\r\n } else {\r\n elapsedTime += ' ' + this.hoursLabel + ' ';\r\n }\r\n }\r\n if (minutes > 0 && hours <= 24) {\r\n elapsedTime += minutes % 60;\r\n if (minutes == 1) {\r\n elapsedTime += ' ' + this.minuteLabel + ' ';\r\n } else {\r\n elapsedTime += ' ' + this.minutesLabel + ' ';\r\n }\r\n }\r\n if (seconds > 0 && minutes <= 60) {\r\n elapsedTime += seconds % 60;\r\n if (seconds == 1) {\r\n elapsedTime += ' ' + this.secondeLabel + ' ';\r\n } else {\r\n elapsedTime += ' ' + this.secondesLabel + ' ';\r\n }\r\n }\r\n\r\n return elapsedTime;\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnInit, OnChanges, SimpleChanges, Renderer2 } from '@angular/core';\r\n\r\ntype PieOptions = {\r\n barColor: string;\r\n trackColor: string;\r\n lineCap: 'butt' | 'round' | 'square';\r\n lineWidth: number; // px\r\n size: number; // px\r\n rotate: number; // deg\r\n animate: { duration: number; enabled: boolean };\r\n // (facultatif) on conserve pour compat, non utilisés ici :\r\n scaleColor?: string;\r\n scaleLength?: number;\r\n};\r\n\r\n@Directive({\r\n selector: '[easypiechart]',\r\n standalone: true,\r\n})\r\nexport class EasypiechartDirective implements OnInit, OnChanges {\r\n private defaultOptions: PieOptions = {\r\n barColor: '#ef1e25',\r\n trackColor: '#f9f9f9',\r\n lineCap: 'round',\r\n lineWidth: 3,\r\n size: 110,\r\n rotate: 0,\r\n animate: { duration: 1000, enabled: true },\r\n };\r\n\r\n @Input() percent: number | string | null = 0;\r\n @Input() options?: Partial<PieOptions>;\r\n\r\n private svg?: SVGSVGElement;\r\n private track?: SVGCircleElement;\r\n private bar?: SVGCircleElement;\r\n private circumference = 0;\r\n private current = 0;\r\n\r\n constructor(\r\n private el: ElementRef<HTMLElement>,\r\n private r: Renderer2\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.initChart();\r\n this.updateChart(this.coerce(this.percent), false);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['options'] && !changes['options'].firstChange) {\r\n // Rebuild if options changed (size/width/colors…)\r\n this.destroyChart();\r\n this.initChart();\r\n }\r\n if (changes['percent'] && this.svg) {\r\n this.updateChart(this.coerce(changes['percent'].currentValue), true);\r\n }\r\n }\r\n\r\n // ---- private helpers ----\r\n private cfg(): PieOptions {\r\n return { ...this.defaultOptions, ...(this.options ?? {}) };\r\n }\r\n\r\n private coerce(v: unknown): number {\r\n const n = typeof v === 'string' ? parseFloat(v) : (v as number);\r\n return isFinite(n) ? Math.max(0, Math.min(100, n)) : 0;\r\n }\r\n\r\n private initChart() {\r\n const cfg = this.cfg();\r\n const size = cfg.size;\r\n const lw = cfg.lineWidth;\r\n const r = (size - lw) / 2;\r\n this.circumference = 2 * Math.PI * r;\r\n\r\n // container style\r\n const host = this.el.nativeElement;\r\n this.r.setStyle(host, 'display', 'inline-block');\r\n this.r.setStyle(host, 'width', `${size}px`);\r\n this.r.setStyle(host, 'height', `${size}px`);\r\n\r\n // svg\r\n this.svg = this.r.createElement('svg', 'svg');\r\n this.r.setAttribute(this.svg, 'width', `${size}`);\r\n this.r.setAttribute(this.svg, 'height', `${size}`);\r\n this.r.setAttribute(this.svg, 'viewBox', `0 0 ${size} ${size}`);\r\n this.r.setStyle(this.svg, 'transform', `rotate(${cfg.rotate - 90}deg)`); // -90 pour partir en haut\r\n\r\n // track\r\n this.track = this.r.createElement('circle', 'svg');\r\n this.r.setAttribute(this.track, 'cx', `${size / 2}`);\r\n this.r.setAttribute(this.track, 'cy', `${size / 2}`);\r\n this.r.setAttribute(this.track, 'r', `${r}`);\r\n this.r.setAttribute(this.track, 'fill', 'none');\r\n this.r.setAttribute(this.track, 'stroke', cfg.trackColor);\r\n this.r.setAttribute(this.track, 'stroke-width', `${lw}`);\r\n\r\n // bar\r\n this.bar = this.r.createElement('circle', 'svg');\r\n this.r.setAttribute(this.bar, 'cx', `${size / 2}`);\r\n this.r.setAttribute(this.bar, 'cy', `${size / 2}`);\r\n this.r.setAttribute(this.bar, 'r', `${r}`);\r\n this.r.setAttribute(this.bar, 'fill', 'none');\r\n this.r.setAttribute(this.bar, 'stroke', cfg.barColor);\r\n this.r.setAttribute(this.bar, 'stroke-width', `${lw}`);\r\n this.r.setAttribute(this.bar, 'stroke-linecap', cfg.lineCap);\r\n this.r.setAttribute(this.bar, 'stroke-dasharray', `${this.circumference} ${this.circumference}`);\r\n this.r.setAttribute(this.bar, 'stroke-dashoffset', `${this.circumference}`);\r\n\r\n // animation via CSS transition si activée\r\n if (cfg.animate.enabled) {\r\n this.r.setStyle(this.bar, 'transition', `stroke-dashoffset ${cfg.animate.duration}ms linear`);\r\n }\r\n\r\n this.r.appendChild(this.svg, this.track);\r\n this.r.appendChild(this.svg, this.bar);\r\n this.r.appendChild(host, this.svg);\r\n\r\n this.current = 0;\r\n }\r\n\r\n private updateChart(toPercent: number, animate: boolean) {\r\n if (!this.bar) return;\r\n const cfg = this.cfg();\r\n\r\n // si options changent la couleur, on met à jour\r\n this.r.setAttribute(this.bar, 'stroke', cfg.barColor);\r\n this.r.setAttribute(this.track!, 'stroke', cfg.trackColor);\r\n\r\n // transition on/off selon animate\r\n if (cfg.animate.enabled && animate) {\r\n this.r.setStyle(this.bar, 'transition', `stroke-dashoffset ${cfg.animate.duration}ms linear`);\r\n } else {\r\n this.r.removeStyle(this.bar, 'transition');\r\n }\r\n\r\n const offset = this.circumference * (1 - toPercent / 100);\r\n this.r.setAttribute(this.bar, 'stroke-dashoffset', `${offset}`);\r\n this.current = toPercent;\r\n }\r\n\r\n private destroyChart() {\r\n if (this.svg) {\r\n this.r.removeChild(this.el.nativeElement, this.svg);\r\n this.svg = undefined;\r\n this.track = undefined;\r\n this.bar = undefined;\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpHeaders, HttpClient } from '@angular/common/http';\r\nimport { SettingsService } from './settings.service';\r\nimport { AuthService } from './auth.service';\r\nimport { websocketService } from './websocket.service';\r\nimport { finalize } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CategoriesService {\r\n constructor(\r\n private auth: AuthService,\r\n private _settingsService: SettingsService,\r\n private http: HttpClient,\r\n private _webSocket: websocketService\r\n ) { }\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getClassification() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Categories', { headers });\r\n }\r\n\r\n getClassificationByGuid(guid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Categories/' + guid, { headers });\r\n }\r\n\r\n getClassificationTreeByParent(parentGuid: string | null) {\r\n let headers = this._settingsService.getHeaders();\r\n let parentguid = parentGuid == null ? '' : '?parentguid=' + parentGuid;\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Categories/tree' + parentguid, { headers });\r\n }\r\n\r\n getClassificationLevelOne() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Categories/all', { headers });\r\n }\r\n getClassificationByLevel(parentGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Categories/all?parentGuid=' + parentGuid, { headers });\r\n }\r\n\r\n getOrder(idItem: string) {\r\n let headers = new HttpHeaders({\r\n Authorization: 'Bearer ' + this._settingsService.getToken(),\r\n 'content-type': 'application/json',\r\n 'Accept-Language': this._settingsService.getLanguage(),\r\n });\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Categories/' + idItem + '/ordershow', { headers });\r\n }\r\n\r\n /* ========================================================================\r\n CREATE\r\n ======================================================================== */\r\n\r\n createClassification(exCode: any, name: any, owner: any, team: any, attributes: any, descendant: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Categories',\r\n {\r\n categoryExternalCode: exCode,\r\n categoryName: name,\r\n categoryOwner: owner,\r\n categoryTeam: team,\r\n categoryAttributes: attributes,\r\n descendantCategoryGuid: descendant,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n UPDATE\r\n ======================================================================== */\r\n\r\n //update field if not attribute\r\n updateCategoryField(categoryGuid: any, fieldName: any, fieldValue: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'categories/field',\r\n {\r\n categoryGuid: categoryGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n //update field if attribute\r\n updateCategoryFieldAttribute(categoryGuid: any, fieldName: any, fieldValue: any, attribute: any, language: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'categories/field',\r\n {\r\n categoryGuid: categoryGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n attribute: attribute,\r\n language: language,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n changeTree(idItem: any, idDestination: any, categoryNewOrder: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Categories/movetree',\r\n {\r\n sourcetree: idItem, // guid de la catégorie à déplacer (guid de + haut niveau)\r\n destinationtree: idDestination,\r\n categoryneworder: categoryNewOrder,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n modifyClassification(exCode: any, name: any, owner: any, team: any, attributes: any, id: any, description: any, metaTitle: any, metaDescription: any, metaKeywords: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Categories',\r\n {\r\n categoryExternalCode: exCode,\r\n categoryName: name,\r\n categoryOwner: owner,\r\n categoryTeam: team,\r\n categoryAttributes: attributes,\r\n categoryGuid: id,\r\n categoryDescription: description,\r\n categoryMetaTitle: metaTitle,\r\n categoryMetaDescription: metaDescription,\r\n categoryMetaKeywords: metaKeywords,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n changeOrder(categoryGuid: any, categoryOrder: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Categories/ordershow',\r\n {\r\n categoryGuid: categoryGuid,\r\n categoryOrder: categoryOrder,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n DELETE\r\n ======================================================================== */\r\n\r\n deleteClassification(id: string) {\r\n const httpOptions = {\r\n headers: this._settingsService.getHeaders(),\r\n };\r\n return this.http.delete(this._settingsService.getSettings('apiUrl') + 'Categories/' + id, httpOptions).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { SettingsService } from './settings.service';\r\nimport { Observable, map } from 'rxjs';\r\nimport { AuthService } from './auth.service';\r\nimport { websocketService } from './websocket.service';\r\nimport { finalize } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SkusService {\r\n constructor(\r\n private http: HttpClient,\r\n private _settingsService: SettingsService,\r\n private auth: AuthService,\r\n private _webSocket: websocketService\r\n ) { }\r\n\r\n /* ========================================================================\r\n SEARCH\r\n ======================================================================== */\r\n\r\n search(terms: { debounceTime: (arg0: number) => { (): any; new(): any; distinctUntilChanged: { (): { (): any; new(): any; switchMap: { (arg0: (term: any) => Observable<Object>): any; new(): any; }; }; new(): any; }; }; }) {\r\n return terms\r\n .debounceTime(400)\r\n .distinctUntilChanged()\r\n .switchMap((term: any) => this.searchEntries(term));\r\n }\r\n\r\n searchInSkuWithoutGroup(terms: { debounceTime: (arg0: number) => { (): any; new(): any; distinctUntilChanged: { (): { (): any; new(): any; switchMap: { (arg0: (term: any) => Observable<Object>): any; new(): any; }; }; new(): any; }; }; }) {\r\n return terms\r\n .debounceTime(400)\r\n .distinctUntilChanged()\r\n .switchMap((term: any) => this.searchEntriesForSkuWithoutGroup(term));\r\n }\r\n\r\n searchEntriesForSkuWithoutGroup(term: { search: string; limit: string; start: string; }, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n if (!archive) {\r\n return this.http\r\n .get(this._settingsService.getSettings('apiUrl') + 'Skus/withoutgroup?search=' + term.search + '&limit=' + term.limit + '&start=' + term.start, { headers })\r\n .pipe(map((res) => res));\r\n } else {\r\n return this.http\r\n .get(this._settingsService.getSettings('apiUrl') + 'SkusArchive/withoutgroup?search=' + term.search + '&limit=' + term.limit + '&start=' + term.start, { headers })\r\n .pipe(map((res) => res));\r\n }\r\n }\r\n\r\n searchEntries(term: { skuGroupMode: any; filter: string; search: string; limit: string; categoryGuid: string; start: string; searchType: string; }) {\r\n let headers = this._settingsService.getHeaders();\r\n if (term.skuGroupMode) {\r\n if (term.filter != '') {\r\n return this.http\r\n .get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Groups?search=' +\r\n term.search +\r\n '&limit=' +\r\n term.limit +\r\n '&categoryguid=' +\r\n term.categoryGuid +\r\n '&start=' +\r\n term.start +\r\n '&searchType=' +\r\n term.searchType +\r\n '&' +\r\n term.filter,\r\n { headers }\r\n )\r\n .pipe(map((res) => res));\r\n } else {\r\n return this.http\r\n .get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Groups?search=' +\r\n term.search +\r\n '&limit=' +\r\n term.limit +\r\n '&categoryguid=' +\r\n term.categoryGuid +\r\n '&start=' +\r\n term.start +\r\n '&searchType=' +\r\n term.searchType,\r\n { headers }\r\n )\r\n .pipe(map((res) => res));\r\n }\r\n } else {\r\n if (term.filter != '') {\r\n return this.http\r\n .get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Skus?search=' +\r\n term.search +\r\n '&limit=' +\r\n term.limit +\r\n '&categoryguid=' +\r\n term.categoryGuid +\r\n '&start=' +\r\n term.start +\r\n '&searchType=' +\r\n term.searchType +\r\n '&' +\r\n term.filter,\r\n { headers }\r\n )\r\n .pipe(map((res) => res));\r\n } else {\r\n return this.http\r\n .get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Skus?search=' +\r\n term.search +\r\n '&limit=' +\r\n term.limit +\r\n '&categoryguid=' +\r\n term.categoryGuid +\r\n '&start=' +\r\n term.start +\r\n '&searchType=' +\r\n term.searchType,\r\n { headers }\r\n )\r\n .pipe(map((res) => res));\r\n }\r\n }\r\n }\r\n\r\n getSearchAutocomplete(object: { search: string; choosenLanguage: string; }) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Searchs/autocomplete?search=' + object.search + '&choosenLanguage=' + object.choosenLanguage, { headers });\r\n }\r\n\r\n getSearchSkus(object: { search: string; choosenLanguage: string; categoryGuid: string; start: string; limit: string; filters: string; sort: string; direction: string; }) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Searchs?search=' +\r\n object.search +\r\n '&choosenLanguage=' +\r\n object.choosenLanguage +\r\n '&categoryGuid=' +\r\n object.categoryGuid +\r\n '&start=' +\r\n object.start +\r\n '&limit=' +\r\n object.limit +\r\n '&' +\r\n object.filters +\r\n '&sort=' +\r\n object.sort +\r\n '&direction=' +\r\n object.direction,\r\n { headers }\r\n );\r\n }\r\n\r\n getSearchSkusIA(object: { search: string; choosenLanguage: string; categoryId: string; start: string; limit: string; filters: string; sort: string; direction: string; }) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Searchs/advanced?search=' +\r\n object.search +\r\n '&lang=' +\r\n object.choosenLanguage +\r\n '&categoryId=' +\r\n object.categoryId +\r\n '&start=' +\r\n object.start +\r\n '&limit=' +\r\n object.limit +\r\n '&' +\r\n object.filters +\r\n '&sort=' +\r\n object.sort +\r\n '&direction=' +\r\n object.direction +\r\n '&semantic=true&fulltext=true',\r\n { headers }\r\n );\r\n }\r\n\r\n getSearchGroupSkus(object: { search: string; choosenLanguage: string; categoryGuid: string; start: string; limit: string; filters: string; sort: string; direction: string; }) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Searchs/group?search=' +\r\n object.search +\r\n '&choosenLanguage=' +\r\n object.choosenLanguage +\r\n '&categoryGuid=' +\r\n object.categoryGuid +\r\n '&start=' +\r\n object.start +\r\n '&limit=' +\r\n object.limit +\r\n '&' +\r\n object.filters +\r\n '&sort=' +\r\n object.sort +\r\n '&direction=' +\r\n object.direction,\r\n { headers }\r\n );\r\n }\r\n\r\n // sendSearch(search) {\r\n // this.searchSkus.next(search);\r\n // }\r\n\r\n // getSearch(): Observable<any> {\r\n // return this.searchSkus.asObservable();\r\n // }\r\n\r\n // sendAutocomplete(autocomplete) {\r\n // this.searchAutocomplete.next(autocomplete);\r\n // }\r\n\r\n // getAutocomplete(): Observable<any> {\r\n // return this.searchAutocomplete.asObservable();\r\n // }\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getTranslation(translationObject: { languageOrigin: any; languageDestination: any; texts: any; }) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'translations',\r\n {\r\n originLanguage: translationObject.languageOrigin,\r\n destinationLanguage: translationObject.languageDestination,\r\n values: translationObject.texts,\r\n },\r\n options\r\n );\r\n }\r\n\r\n getSkuById(skuId: string, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n if (!archive) {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Skus/' + skuId, { headers });\r\n } else {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'SkusArchive/' + skuId, { headers });\r\n }\r\n }\r\n\r\n getSkusWithFilters(filterString: string, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n if (!archive) {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Skus?' + filterString, { headers });\r\n } else {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'SkusArchive?' + filterString, { headers });\r\n }\r\n }\r\n\r\n getSkuFilters(archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n if (!archive) {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Skus/filters', { headers });\r\n } else {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'SkusArchive/filters', { headers });\r\n }\r\n }\r\n\r\n getSkuGroups(start: string, limit: string, filters?: string) {\r\n let headers = this._settingsService.getHeaders();\r\n if (filters) {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Groups?start=' + start + '&limit=' + limit + '&' + filters, { headers });\r\n } else {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Groups?start=' + start + '&limit=' + limit, { headers });\r\n }\r\n }\r\n\r\n getSkuForThisSkuGroups(groupGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Groups/' + groupGuid + '/skus', { headers });\r\n }\r\n\r\n getSkusGroupByGuid(groupGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Groups/' + groupGuid, { headers });\r\n }\r\n\r\n getSkuGroupsWithSearchAndCategory(start: string, limit: string, search: string, category: string, filters?: string) {\r\n let headers = this._settingsService.getHeaders();\r\n\r\n if (filters) {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Groups?start=' + start + '&limit=' + limit + '&search=' + search + '&categoryguid=' + category + '&' + filters, { headers });\r\n } else {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Groups?start=' + start + '&limit=' + limit + '&search=' + search + '&categoryguid=' + category, { headers });\r\n }\r\n }\r\n\r\n getSkuGroupsAvailableForAssociation() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Groups/only', { headers });\r\n }\r\n\r\n getVariantForThisGroups(groupId: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Groups/' + groupId + '/skus', { headers });\r\n }\r\n\r\n hasGroup() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Groups/hasGroup', { headers });\r\n }\r\n\r\n getSkuWithoutGroup(start: string, limit: string, search: string, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n if (!archive) {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Skus/withoutgroup?start=' + start + '&limit=' + limit + '&search=' + search, { headers });\r\n } else {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'SkusArchive/withoutgroup?start=' + start + '&limit=' + limit + '&search=' + search, { headers });\r\n }\r\n }\r\n\r\n existsByRefs(skusRefs = []) {\r\n let skusRefsString = skusRefs.join(',');\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Skus/existsByRefs?skuRefs=' + skusRefsString, { headers });\r\n }\r\n\r\n //get the list of the skus\r\n getAllSkus(archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Skus', {\r\n headers,\r\n });\r\n }\r\n\r\n getAllSkusByArray(arraySkuGuid: any, archive = false, start = 0, limit = 1000) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n if (!archive) {\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Skus/array?start=' + start + '&limit=' + limit,\r\n {\r\n arraySkuGuid: arraySkuGuid,\r\n },\r\n options\r\n );\r\n } else {\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'SkusArchive/array',\r\n {\r\n arraySkuGuid: arraySkuGuid,\r\n },\r\n options\r\n );\r\n }\r\n }\r\n\r\n getSkuRelations(skuGuid: string, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n if (!archive) {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Skus/' + skuGuid + '/relations', { headers });\r\n } else {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'SkusArchive/' + skuGuid + '/relations', { headers });\r\n }\r\n }\r\n\r\n getSkuOptions(skuGuid: string, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n if (!archive) {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Skus/' + skuGuid + '/options', { headers });\r\n } else {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'SkusArchive/' + skuGuid + '/options', { headers });\r\n }\r\n }\r\n\r\n getOptionForSkuAttribute(skuGuid: string, attributeGuid: string, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n if (!archive) {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Skus/' + skuGuid + '/options/' + attributeGuid, { headers });\r\n } else {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'SkusArchive/' + skuGuid + '/options/' + attributeGuid, { headers });\r\n }\r\n }\r\n\r\n getAttributeQuestion(arrayID: any, skuGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Skus/' + skuGuid + '/attributes/array',\r\n {\r\n attributesGuid: arrayID,\r\n },\r\n options\r\n );\r\n }\r\n\r\n getCategoriesBySkuGuid(skuGuid: string, language: string, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n if (!archive) {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Skus/getCategories/' + skuGuid + '/' + language, { headers });\r\n } else {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'SkusArchive/getCategories/' + skuGuid + '/' + language, { headers });\r\n }\r\n }\r\n\r\n getAllSkuWithSearchLimitStartSortDirection(search: string, limit: string, start: string, sort: string, direction: string, categoryGuid: string, filters?: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Skus?search=' +\r\n search +\r\n '&limit=' +\r\n limit +\r\n '&categoryguid=' +\r\n categoryGuid +\r\n '&start=' +\r\n start +\r\n '&sort=' +\r\n sort +\r\n '&direction=' +\r\n direction +\r\n '&' +\r\n filters,\r\n { headers }\r\n );\r\n }\r\n\r\n getSkuGroupsWithStartCategoryGuidTypeOfSelect(search: string, limit: string, start: string, categoryGuid: string, searchType: string, filters?: string) {\r\n let headers = this._settingsService.getHeaders();\r\n if (filters) {\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') + 'Groups?search=' + search + '&limit=' + limit + '&categoryguid=' + categoryGuid + '&start=' + start + '&searchType=' + searchType + '&' + filters,\r\n { headers }\r\n );\r\n } else {\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') + 'Groups?search=' + search + '&limit=' + limit + '&categoryguid=' + categoryGuid + '&start=' + start + '&searchType=' + searchType,\r\n { headers }\r\n );\r\n }\r\n }\r\n\r\n getAllSkuWithSearchLimitStart(search: string, limit: string, start: string, categoryGuid: string, searchType: string, filters?: string) {\r\n let headers = this._settingsService.getHeaders();\r\n if (filters) {\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') + 'Skus?search=' + search + '&limit=' + limit + '&categoryguid=' + categoryGuid + '&start=' + start + '&searchType=' + searchType + '&' + filters,\r\n { headers }\r\n );\r\n } else {\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') + 'Skus?search=' + search + '&limit=' + limit + '&categoryguid=' + categoryGuid + '&start=' + start + '&searchType=' + searchType,\r\n { headers }\r\n );\r\n }\r\n }\r\n\r\n //get sku by skuGuid\r\n getSkuBySkuGuid(skuGuid: string, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n if (!archive) {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Skus/' + skuGuid, { headers });\r\n } else {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'SkusArchive/' + skuGuid, { headers });\r\n }\r\n }\r\n\r\n getCatalogs() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'catalogs', { headers });\r\n }\r\n\r\n //get datasheets\r\n getDataSheets(source: string, sourceGuid: string, language: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'DataSheets/exists?source=' + source + '&sourceGuid=' + sourceGuid + '&language=' + language, { headers });\r\n }\r\n\r\n getSetupForMassEditByFieldName(fieldName: string, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n if (!archive) {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Skus/field/massive/' + fieldName, { headers });\r\n } else {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'SkusArchive/field/massive/' + fieldName, { headers });\r\n }\r\n }\r\n\r\n getMappingForMassEdit(archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n if (!archive) {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Skus/field/massive/mapping', { headers });\r\n } else {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'SkusArchive/field/massive/mapping', { headers });\r\n }\r\n }\r\n\r\n /* ========================================================================\r\n CREATE\r\n ======================================================================== */\r\n\r\n duplicateSku(skuGuid: any, sku: any, parent = null, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n if (!archive) {\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Skus/duplicate',\r\n {\r\n skuGuid: skuGuid,\r\n sku: sku,\r\n parent: parent,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n } else {\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'SkusArchive/duplicate',\r\n {\r\n skuGuid: skuGuid,\r\n sku: sku,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n }\r\n\r\n createSku(sku: { sku: any; groupGuid: any; skuName: any; skuDescription: any; skuImages: any; skuPictos: any; skuIsNew: any; skuIsActive: any; skuIsDraft: any; skuCreatedAt: any; skuModifiedAt: any; skuOrder: any; skuCategoryCollection: any; skuChannelCollection: any; skuStatusGuid: any; skuWorkSpace: any; skuMaskGuid: any; skuRelations: any; skuCompleteness: any; skuOwner: any; skuTeam: any; skuAttributes: any; skuDefaultImage: any; skuTotalStock: any; skuMinPrice: any; }) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Skus',\r\n {\r\n sku: sku.sku,\r\n groupGuid: sku.groupGuid,\r\n skuName: sku.skuName,\r\n skuDescription: sku.skuDescription,\r\n skuImages: sku.skuImages,\r\n skuPictos: sku.skuPictos,\r\n skuIsNew: sku.skuIsNew,\r\n skuIsActive: sku.skuIsActive,\r\n skuIsDraft: sku.skuIsDraft,\r\n skuCreatedAt: sku.skuCreatedAt,\r\n skuModifiedAt: sku.skuModifiedAt,\r\n skuOrder: sku.skuOrder,\r\n skuCategoryCollection: sku.skuCategoryCollection,\r\n skuChannelCollection: sku.skuChannelCollection,\r\n skuStatusGuid: sku.skuStatusGuid,\r\n skuWorkSpace: sku.skuWorkSpace,\r\n skuMaskGuid: sku.skuMaskGuid,\r\n skuRelations: sku.skuRelations,\r\n skuCompleteness: sku.skuCompleteness,\r\n skuOwner: sku.skuOwner,\r\n skuTeam: sku.skuTeam,\r\n skuAttributes: sku.skuAttributes,\r\n skuDefaultImage: sku.skuDefaultImage,\r\n skuTotalStock: sku.skuTotalStock,\r\n skuMinPrice: sku.skuMinPrice,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n assignCategories(skuGuid: any, categoryGuid: any, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n if (!archive) {\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Skus/assignCategories',\r\n {\r\n skuGuid: skuGuid,\r\n categoryGuid: categoryGuid,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n //this._webSocket.connection.invoke(\"RefreshWithArgument\",\"skuRefresh\",skuGuid);\r\n this._webSocket.connection.invoke('RefreshSkuField', 'refreshField', skuGuid, '', '', 'skuCategorie', null, '');\r\n })\r\n );\r\n } else {\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'SkusArchive/assignCategories',\r\n {\r\n skuGuid: skuGuid,\r\n categoryGuid: categoryGuid,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n //this._webSocket.connection.invoke(\"RefreshWithArgument\",\"skuRefresh\",skuGuid);\r\n this._webSocket.connection.invoke('RefreshSkuField', 'refreshField', skuGuid, '', '', 'skuCategorie', null, '');\r\n })\r\n );\r\n }\r\n }\r\n\r\n createGroupWithFieldAndSkus(fieldSource: any, skus: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Groups/group/one',\r\n {\r\n fieldSource: fieldSource,\r\n skus: skus,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n setSkuDefaultForGroup(groupGuid: string, skuGuid: string, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(this._settingsService.getSettings('apiUrl') + 'Groups/' + groupGuid + '/skus/' + skuGuid + '/groupSkuDefault', {}, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('RefreshWithArgument', 'skuRefresh', skuGuid);\r\n })\r\n );\r\n }\r\n\r\n //assign group to tabskus\r\n attachSkusToExistantGroup(skus: any, groupGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Groups/' + groupGuid + '/attachSkus',\r\n {\r\n skus: skus,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n batchGroupAllSkuWithField(fieldSource: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Groups/group/all',\r\n {\r\n fieldSource: fieldSource,\r\n },\r\n options\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n UPDATE\r\n ======================================================================== */\r\n\r\n updateMassEdit(object: any, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n if (!archive) {\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Skus/field/massive', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n } else {\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'SkusArchive/field/massive', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n }\r\n\r\n updateCatalogs(skuGuid: any, tabGuid: any, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n if (!archive) {\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Skus/field',\r\n {\r\n skuGuid: skuGuid,\r\n fieldName: 'skuCatalogCollection',\r\n fieldValue: tabGuid,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('RefreshWithArgument', 'skuRefresh', skuGuid);\r\n })\r\n );\r\n } else {\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'SkusArchive/field',\r\n {\r\n skuGuid: skuGuid,\r\n fieldName: 'skuCatalogCollection',\r\n fieldValue: tabGuid,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('RefreshWithArgument', 'skuRefresh', skuGuid);\r\n })\r\n );\r\n }\r\n }\r\n\r\n updateChannels(skuGuid: any, tabGuid: any, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n if (!archive) {\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Skus/field',\r\n {\r\n skuGuid: skuGuid,\r\n fieldName: 'skuChannelCollection',\r\n fieldValue: tabGuid,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('RefreshSkuField', 'refreshField', skuGuid, '', '', 'skuChannelCollection', null, '');\r\n //this._webSocket.connection.invoke(\"RefreshWithArgument\",\"skuRefresh\",skuGuid);\r\n })\r\n );\r\n } else {\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'SkusArchive/field',\r\n {\r\n skuGuid: skuGuid,\r\n fieldName: 'skuChannelCollection',\r\n fieldValue: tabGuid,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('RefreshSkuField', 'refreshField', skuGuid, '', '', 'skuChannelCollection', null, '');\r\n //this._webSocket.connection.invoke(\"RefreshWithArgument\",\"skuRefresh\",skuGuid);\r\n })\r\n );\r\n }\r\n }\r\n\r\n //update field if not attribute\r\n updateFieldIfNotAttribute(skuGuid: any, fieldName: any, fieldValue: any, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n if (!archive) {\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Skus/field',\r\n {\r\n skuGuid: skuGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n //this._webSocket.connection.invoke(\"RefreshWithArgument\",\"skuRefresh\",skuGuid);\r\n this._webSocket.connection.invoke('RefreshSkuField', 'refreshField', skuGuid, '', '', fieldName, null, '');\r\n })\r\n );\r\n } else {\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'SkusArchive/field',\r\n {\r\n skuGuid: skuGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n //this._webSocket.connection.invoke(\"RefreshWithArgument\",\"skuRefresh\",skuGuid);\r\n this._webSocket.connection.invoke('RefreshSkuField', 'refreshField', skuGuid, '', '', fieldName, null, '');\r\n })\r\n );\r\n }\r\n }\r\n\r\n updateSkuRef(oldValue: any, newValue: { skuGuid: any; }, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n if (!archive) {\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Skus/changeskuref',\r\n {\r\n oldSkuRef: oldValue,\r\n newSkuRef: newValue,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('RefreshWithArgument', 'skuRefresh', newValue.skuGuid);\r\n })\r\n );\r\n } else {\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'SkusArchive/changeskuref',\r\n {\r\n oldSkuRef: oldValue,\r\n newSkuRef: newValue,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('RefreshWithArgument', 'skuRefresh', newValue.skuGuid);\r\n })\r\n );\r\n }\r\n }\r\n\r\n //update field if attribute\r\n updateFieldAttribute(skuGuid: any, fieldName: any, fieldValue: any, attribute: any, language: any, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n if (!archive) {\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Skus/field',\r\n {\r\n skuGuid: skuGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n attribute: attribute,\r\n language: language,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n //this._webSocket.connection.invoke(\"RefreshWithArgument\",\"skuRefresh\",skuGuid);\r\n //this._webSocket.connection.invoke(\"RefreshSkuField\",\"refreshField\",skuGuid,\"\",\"\",\"skuAttribute\",null);\r\n })\r\n );\r\n } else {\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'SkusArchive/field',\r\n {\r\n skuGuid: skuGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n attribute: attribute,\r\n language: language,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n //this._webSocket.connection.invoke(\"RefreshWithArgument\",\"skuRefresh\",skuGuid);\r\n //this._webSocket.connection.invoke(\"RefreshSkuField\",\"refreshField\",skuGuid,\"\",\"\",\"skuAttribute\",null);\r\n })\r\n );\r\n }\r\n }\r\n\r\n updateSkuAttributeOptions(skuGuid: any, attributeGuid: any, tabGuidOptions: { toString: () => any; }, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n if (!archive) {\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Skus/field',\r\n {\r\n skuGuid: skuGuid,\r\n fieldName: attributeGuid,\r\n fieldValue: tabGuidOptions,\r\n attribute: true,\r\n language: '',\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n //this._webSocket.connection.invoke(\"RefreshWithArgument\",\"skuRefresh\",skuGuid);\r\n this._webSocket.connection.invoke('RefreshSkuField', 'refreshSkuAttributeOption', skuGuid, '', '', attributeGuid, tabGuidOptions.toString(), '');\r\n })\r\n );\r\n } else {\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'SkusArchive/field',\r\n {\r\n skuGuid: skuGuid,\r\n fieldName: attributeGuid,\r\n fieldValue: tabGuidOptions,\r\n attribute: true,\r\n language: '',\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n //this._webSocket.connection.invoke(\"RefreshWithArgument\",\"skuRefresh\",skuGuid);\r\n this._webSocket.connection.invoke('RefreshSkuField', 'refreshSkuAttributeOption', skuGuid, '', '', attributeGuid, tabGuidOptions.toString(), '');\r\n })\r\n );\r\n }\r\n }\r\n\r\n //update skus\r\n updateSku(sku: { sku: any; skuGuid: any; groupGuid: any; skuName: any; skuDescription: any; skuImages: any; skuPictos: any; skuIsNew: any; skuIsActive: any; skuIsDraft: any; skuCreatedAt: any; skuModifiedAt: any; skuOrder: any; skuCategoryCollection: any; skuChannelCollection: any; skuStatusGuid: any; skuWorkSpace: any; skuMaskGuid: any; skuRelations: any; skuCompleteness: any; skuOwner: any; skuTeam: any; skuAttributes: any; skuDefaultImage: any; skuTotalStock: any; skuMinPrice: any; }) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Skus',\r\n {\r\n sku: sku.sku,\r\n skuGuid: sku.skuGuid,\r\n groupGuid: sku.groupGuid,\r\n skuName: sku.skuName,\r\n skuDescription: sku.skuDescription,\r\n skuImages: sku.skuImages,\r\n skuPictos: sku.skuPictos,\r\n skuIsNew: sku.skuIsNew,\r\n skuIsActive: sku.skuIsActive,\r\n skuIsDraft: sku.skuIsDraft,\r\n skuCreatedAt: sku.skuCreatedAt,\r\n skuModifiedAt: sku.skuModifiedAt,\r\n skuOrder: sku.skuOrder,\r\n skuCategoryCollection: sku.skuCategoryCollection,\r\n skuChannelCollection: sku.skuChannelCollection,\r\n skuStatusGuid: sku.skuStatusGuid,\r\n skuWorkSpace: sku.skuWorkSpace,\r\n skuMaskGuid: sku.skuMaskGuid,\r\n skuRelations: sku.skuRelations,\r\n skuCompleteness: sku.skuCompleteness,\r\n skuOwner: sku.skuOwner,\r\n skuTeam: sku.skuTeam,\r\n skuAttributes: sku.skuAttributes,\r\n skuDefaultImage: sku.skuDefaultImage,\r\n skuTotalStock: sku.skuTotalStock,\r\n skuMinPrice: sku.skuMinPrice,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('RefreshWithArgument', 'skuRefresh', sku.skuGuid);\r\n })\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n DELETE\r\n ======================================================================== */\r\n\r\n //delete an sku by skuGuid\r\n deleteSkuBySkuGuid(skuGuid: string, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n if (!archive) {\r\n return this.http.delete(this._settingsService.getSettings('apiUrl') + 'Skus/' + skuGuid, { headers }).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n } else {\r\n return this.http.delete(this._settingsService.getSettings('apiUrl') + 'SkusArchive/' + skuGuid, { headers }).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n }\r\n\r\n //delete an sku by skuListGuid\r\n deleteSkuBySkuListGuid(skuListGuid: any, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n if (!archive) {\r\n return this.http\r\n .request('delete', this._settingsService.getSettings('apiUrl') + 'Skus', {\r\n headers: headers,\r\n body: {\r\n listingSkuToDelete: skuListGuid,\r\n },\r\n })\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n } else {\r\n return this.http\r\n .request('delete', this._settingsService.getSettings('apiUrl') + 'SkusArchive', {\r\n headers: headers,\r\n body: {\r\n listingSkuToDelete: skuListGuid,\r\n },\r\n })\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n }\r\n\r\n deleteSkuGroup(listeGroup: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .request('delete', this._settingsService.getSettings('apiUrl') + 'Groups', {\r\n headers: headers,\r\n body: {\r\n listingGroupToDelete: listeGroup,\r\n },\r\n })\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n removeCategories(skuGuid: any, categoryGuid: any, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n if (!archive) {\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Skus/removeCategories',\r\n {\r\n skuGuid: skuGuid,\r\n categoryGuid: categoryGuid,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('RefreshWithArgument', 'skuRefresh', skuGuid);\r\n })\r\n );\r\n } else {\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'SkusArchive/removeCategories',\r\n {\r\n skuGuid: skuGuid,\r\n categoryGuid: categoryGuid,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('RefreshWithArgument', 'skuRefresh', skuGuid);\r\n })\r\n );\r\n }\r\n }\r\n\r\n //detach skus from group\r\n detachFromGroups(skus: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Groups/detachSkus',\r\n {\r\n skus: [skus],\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n detachAllSkuAndRecreateGroupByFieldSource(fieldSource: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Groups/group/all/initialize',\r\n {\r\n fieldSource: fieldSource,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n ungroupAllSku() {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(this._settingsService.getSettings('apiUrl') + 'Groups/ungroup/all', {}, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n ungroupByGroupGuid(groupGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(this._settingsService.getSettings('apiUrl') + 'Groups/ungroup/' + groupGuid, {}, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n ARCHIVE\r\n ======================================================================== */\r\n\r\n getVersions(skuGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'SkusArchive/versions?skuGuid=' + skuGuid, { headers });\r\n }\r\n\r\n addVersion(skuGuid: any, versionName: any, versionDescription: any, incrementType: any, archiveBase = false) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'SkusArchive/add/version',\r\n {\r\n skuGuid: skuGuid,\r\n versionName: versionName,\r\n versionDescription: versionDescription,\r\n incrementType: incrementType,\r\n archiveBase: archiveBase,\r\n },\r\n { headers }\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('RefreshWithArgument', 'skuVersionRefresh', '');\r\n })\r\n );\r\n }\r\n\r\n draftToProduct(skuGuid: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'SkusArchive/drafttoproduction',\r\n {\r\n skuGuid: skuGuid,\r\n },\r\n { headers }\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('RefreshWithArgument', 'skuVersionRefresh', skuGuid);\r\n })\r\n );\r\n }\r\n\r\n deleteSkuInDraft(skuGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.delete(this._settingsService.getSettings('apiUrl') + 'SkusArchive/' + skuGuid + '/inDraft', { headers }).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('RefreshWithArgument', 'skuVersionRefresh', skuGuid);\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { SettingsService } from '../settings.service';\r\nimport { Supplier } from './supplier';\r\nimport { websocketService } from '../websocket.service';\r\nimport { finalize } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SuppliersService {\r\n constructor(\r\n private http: HttpClient,\r\n private _settingsService: SettingsService,\r\n private _webSocket: websocketService\r\n ) { }\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getAllSuppliers() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get<Supplier[]>(this._settingsService.getSettings('apiUrl') + 'Suppliers?limit=10000&start=0', { headers });\r\n }\r\n\r\n getAllSupplierWithSearchLimitStartSortDirection(search: string, limit: string, start: string, sort: string, direction: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get<Supplier[]>(this._settingsService.getSettings('apiUrl') + 'Suppliers?search=' + search + '&limit=' + limit + '&start=' + start + '&sort=' + sort + '&direction=' + direction, {\r\n headers,\r\n });\r\n }\r\n\r\n getAllSupplierWithSearchLimitStart(search: string, limit: string, start: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get<Supplier[]>(this._settingsService.getSettings('apiUrl') + 'Suppliers?search=' + search + '&limit=' + limit + '&start=' + start, { headers });\r\n }\r\n\r\n getSupplierById(supplierGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get<Supplier>(this._settingsService.getSettings('apiUrl') + 'Suppliers/' + supplierGuid, { headers });\r\n }\r\n\r\n /* ========================================================================\r\n CREATE\r\n ======================================================================== */\r\n\r\n createSupplier(supplierObj: { supplierRef: any; supplierCompanyName: any; supplierContactName: any; supplierAddress: any; supplierAddress2: any; supplierAddress3: any; supplierPostalCode: any; supplierCity: any; supplierCountry: any; supplierPhone: any; supplierMobilePhone: any; supplierLogin: any; supplierPassword: any; supplierAttributes: any; }) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Suppliers',\r\n {\r\n supplierRef: supplierObj.supplierRef,\r\n supplierCompanyName: supplierObj.supplierCompanyName,\r\n supplierContactName: supplierObj.supplierContactName,\r\n supplierAddress: supplierObj.supplierAddress,\r\n supplierAddress2: supplierObj.supplierAddress2,\r\n supplierAddress3: supplierObj.supplierAddress3,\r\n supplierPostalCode: supplierObj.supplierPostalCode,\r\n supplierCity: supplierObj.supplierCity,\r\n supplierCountry: supplierObj.supplierCountry,\r\n supplierPhone: supplierObj.supplierPhone,\r\n supplierMobilePhone: supplierObj.supplierMobilePhone,\r\n supplierLogin: supplierObj.supplierLogin,\r\n supplierPassword: supplierObj.supplierPassword,\r\n supplierAttributes: supplierObj.supplierAttributes,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n changeSupplierRef(oldSupplierRef: any, newSupplierRef: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Suppliers/changesupplierref',\r\n {\r\n oldSupplierRef: oldSupplierRef,\r\n newSupplierRef: newSupplierRef,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n UPDATE\r\n ======================================================================== */\r\n\r\n updateSupplierField(supplierGuid: any, fieldName: any, fieldValue: any, attribute: any, language: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Suppliers/field',\r\n {\r\n supplierGuid: supplierGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n attribute: attribute,\r\n language: language,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n updateSupplier(supplierObj: { supplierGuid: any; supplierRef: any; supplierCompanyName: any; supplierContactName: any; supplierAddress: any; supplierAddress2: any; supplierAddress3: any; supplierPostalCode: any; supplierCity: any; supplierCountry: any; supplierPhone: any; supplierMobilePhone: any; supplierLogin: any; supplierPassword: any; supplierAttributes: any; }) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Suppliers',\r\n {\r\n supplierGuid: supplierObj.supplierGuid,\r\n supplierRef: supplierObj.supplierRef,\r\n supplierCompanyName: supplierObj.supplierCompanyName,\r\n supplierContactName: supplierObj.supplierContactName,\r\n supplierAddress: supplierObj.supplierAddress,\r\n supplierAddress2: supplierObj.supplierAddress2,\r\n supplierAddress3: supplierObj.supplierAddress3,\r\n supplierPostalCode: supplierObj.supplierPostalCode,\r\n supplierCity: supplierObj.supplierCity,\r\n supplierCountry: supplierObj.supplierCountry,\r\n supplierPhone: supplierObj.supplierPhone,\r\n supplierMobilePhone: supplierObj.supplierMobilePhone,\r\n supplierLogin: supplierObj.supplierLogin,\r\n supplierPassword: supplierObj.supplierPassword,\r\n supplierAttributes: supplierObj.supplierAttributes,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n DELETE\r\n ======================================================================== */\r\n\r\n deleteSupplierByListOfId(tabIdSupplier: any) {\r\n let bodyjson = JSON.stringify({\r\n listingSupplierGuidToDelete: tabIdSupplier,\r\n });\r\n const httpOptions = {\r\n headers: this._settingsService.getHeaders(),\r\n body: bodyjson,\r\n };\r\n return this.http.delete(this._settingsService.getSettings('apiUrl') + 'Suppliers', httpOptions).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nimport { SettingsService } from './settings.service';\r\nimport { AuthService } from './auth.service';\r\nimport { websocketService } from './websocket.service';\r\nimport { finalize } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AccountsService {\r\n constructor(\r\n private http: HttpClient,\r\n private _settingsService: SettingsService,\r\n private auth: AuthService,\r\n private _webSocket: websocketService\r\n ) { }\r\n\r\n // convert request contact on acccount and account contact\r\n convert(contactGuidArray: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'accounts/convert',\r\n {\r\n contactGuids: contactGuidArray,\r\n },\r\n options\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n MAIL\r\n ======================================================================== */\r\n\r\n sendMailContactSubscription(accountContactGuid: string, channelGuid: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Accounts/contacts/' + accountContactGuid + '/confirmationaccount',\r\n {\r\n channelGuid: channelGuid,\r\n },\r\n options\r\n );\r\n }\r\n\r\n sendMailForgotPassword(accountContactGuid: string, channelGuid: any, initPassword: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Accounts/contacts/' + accountContactGuid + '/forgotpassword',\r\n {\r\n channelGuid: channelGuid,\r\n initPassword: initPassword,\r\n },\r\n options\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getTranchesCustomers(start: string, limit: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Accounts?start=' + start + '&limit=' + limit + '&search=&accountCategoryGuid=&sort=AccountNumber&direction=ASC', { headers });\r\n }\r\n\r\n //get all the customers between start and limit from the api\r\n getTranchesCustomersWithSearch(limit: string, start: string, searchWord: string, channelGuid: string, direction: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') + 'Accounts?limit=' + limit + '&start=' + start + '&search=' + searchWord + '&channelGuid=' + channelGuid + '&direction=' + direction,\r\n { headers }\r\n );\r\n }\r\n\r\n //get all the customers between start and limit from the api\r\n getTranchesCustomersWithSearchAndSort(limit: string, start: string, searchWord: string, sortColumn: string, order: string, channelGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Accounts/?limit=' +\r\n limit +\r\n '&start=' +\r\n start +\r\n '&search=' +\r\n searchWord +\r\n '&sort=' +\r\n sortColumn +\r\n '&direction=' +\r\n order +\r\n '&channelGuid=' +\r\n channelGuid,\r\n { headers }\r\n );\r\n }\r\n\r\n //call the api to get the customer with the account number in parameters\r\n getCustomer(numeroCompte: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Accounts/' + numeroCompte, { headers });\r\n }\r\n\r\n //call the api to get all category of customer\r\n getCategory(AccountCategoryName: string, dir: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Accounts/categories?sort=' + AccountCategoryName + '&direction=' + dir, { headers });\r\n }\r\n\r\n getPriceList() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'priceslists', { headers });\r\n }\r\n\r\n //get all contacts\r\n getAllContacts(compteGuid: string, AccountContactProfile: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Accounts/contacts?accountGuid=' + compteGuid + '&sort=' + AccountContactProfile + '&direction=ASC', { headers });\r\n }\r\n\r\n //get contact\r\n getContact(contactGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Accounts/contacts/' + contactGuid, { headers });\r\n }\r\n\r\n //call the api to get all the shipping addresses for the current customer\r\n getShippingAddresses(customerAccount: string, ship: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Accounts/shippings?accountGuid=' + customerAccount + '&sort=' + ship + '&direction=ASC', { headers });\r\n }\r\n\r\n //get list of contacts for pins of map\r\n getAccountsMap(limit: string, start: string, searchWord: string, sortColumn: string, direction: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') + 'Accounts/map?limit=' + limit + '&start=' + start + '&search=' + searchWord + '&direction=' + direction + '&sort=' + sortColumn,\r\n { headers }\r\n );\r\n }\r\n\r\n getCoordinateFromAddressAccount(accountCity: any, accountCountry: any, accountPostalCode: any, accountStreet: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Accounts/map/coordinates?type=account&city=' +\r\n accountCity +\r\n '&country=' +\r\n accountCountry +\r\n '&postalcode=' +\r\n accountPostalCode +\r\n '&street=' +\r\n accountStreet,\r\n { headers }\r\n );\r\n //return this.http.get('https://nominatim.openstreetmap.org/search?format=geojson&limit=5&city='+ accountCity +\"&country=\"+ accountCountry +\"&postalcode=\"+ accountPostalCode +\"&street=\"+ accountStreet);\r\n }\r\n\r\n getCoordinateFromAddressString(address: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Accounts/map/coordinates?type=string&q=' + address, { headers });\r\n // return this.http.get('https://nominatim.openstreetmap.org/search?format=geojson&limit=5&q='+ address);\r\n }\r\n\r\n /* ========================================================================\r\n CREATE\r\n ======================================================================== */\r\n\r\n //call the api to add a customer\r\n addAccount(\r\n accountNumber: any,\r\n accountType: any,\r\n accountCategoryGuid: any,\r\n accountOwner: any,\r\n accountTeam: any,\r\n accountPricesListGuid: any,\r\n accountCompany: any,\r\n accountAddress: any,\r\n accountAddress2: any,\r\n accountAddress3: any,\r\n accountCity: any,\r\n accountPostalCode: any,\r\n accountCountry: any,\r\n accountState: any,\r\n accountPhone: any,\r\n accountFax: any,\r\n accountLanguage: any,\r\n accountAccountFTP: any,\r\n accountPasswordFTP: any,\r\n accountApeCode: any,\r\n accountSalerAccount: any,\r\n accountPaymentGuid: any,\r\n accountSiret: any,\r\n accountNTI: any\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Accounts',\r\n {\r\n accountNumber: accountNumber,\r\n accountType: accountType,\r\n accountCategoryGuid: accountCategoryGuid,\r\n accountIsActive: true,\r\n accountOwner: accountOwner,\r\n accountTeam: accountTeam,\r\n accountPricesListGuid: accountPricesListGuid,\r\n accountOnlyPriceCategory: false,\r\n accountCompany: accountCompany,\r\n accountDescription: '',\r\n accountAddress: accountAddress,\r\n accountAddress2: accountAddress2,\r\n accountAddress3: accountAddress3,\r\n accountCity: accountCity,\r\n accountPostalCode: accountPostalCode,\r\n accountCountry: accountCountry,\r\n accountState: accountState,\r\n accountPhone: accountPhone,\r\n accountFax: accountFax,\r\n accountLanguage: accountLanguage,\r\n accountAccountFTP: accountAccountFTP,\r\n accountPasswordFTP: accountPasswordFTP,\r\n accountMessage: '',\r\n accountDiscount: 0,\r\n accountApeCode: accountApeCode,\r\n accountSalerAccount: accountSalerAccount,\r\n accountPaymentGuid: accountPaymentGuid,\r\n accountTotalExclVat: 0,\r\n accountTotalInclVat: 0,\r\n accountSiret: accountSiret,\r\n accountNTI: accountNTI,\r\n accountAttributes: {},\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n //call the api to add a shipping address to a customer\r\n addShippingAddress(accountGuid: any, accountContactGuid: any, title: any, company: any, lastName: any, firstName: any, email: any, address: any, address2: any, address3: any, address4: any, postalCode: any, city: any, country: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Accounts/shippings',\r\n {\r\n accountGuid: accountGuid,\r\n accountContactGuid: accountContactGuid,\r\n shippingIsActive: true,\r\n shippingTitle: title,\r\n shippingAddress: address,\r\n shippingAddress2: address2,\r\n shippingAddress3: address3,\r\n shippingAddress4: address4,\r\n shippingCity: city,\r\n shippingCompany: company,\r\n shippingEmail: email,\r\n shippingFirstName: firstName,\r\n shippingLastName: lastName,\r\n shippingEntryPhone: '', //interphone\r\n shippingPhone2: '',\r\n shippingPostalCode: postalCode,\r\n shippingCountry: country,\r\n shippingDoorCode1: '',\r\n shippingDoorCode2: '',\r\n shippingState: '',\r\n shippingComments: '',\r\n shippingNextVisit: '',\r\n shippingLastVisit: '',\r\n shippingVisitReport: {},\r\n shippingFollowUp: '',\r\n shippingDeliveryMode: '',\r\n shippingIdPointRetrait: '',\r\n shippingTraderCompanyName: '',\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n //add contact\r\n addContact(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(this._settingsService.getSettings('apiUrl') + 'Accounts/contacts', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n UPDATE\r\n ======================================================================== */\r\n\r\n //call api to update a customer by field\r\n updateCustomerByField(customerAccount: any, fieldName: any, fieldValue: any, attribute: any, language: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Accounts/field',\r\n {\r\n accountGuid: customerAccount,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n attribute: attribute,\r\n language: language,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n //Change the customer category\r\n changeCustomerCategory(customerAccount: string, customerCategoryId: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(this._settingsService.getSettings('apiUrl') + 'Customers/' + customerAccount + '/categories/' + customerCategoryId, {}, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n //update the customer account\r\n updateCustomerAccount(accountGuid: any, fieldName: any, fieldValue: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Accounts/field/',\r\n {\r\n accountGuid: accountGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n //call the api to update the customer by passing him the object customer\r\n updateCustomer(customer: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Customers', customer, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n //call the api to update contact\r\n updateContact(\r\n accountsContactGuid: any,\r\n accountGuid: any,\r\n accountsContactProfile: any,\r\n accountsContactRole: any,\r\n accountsContactIsActive: any,\r\n accountsContactIsValidated: any,\r\n accountsContactLogin: any,\r\n accountsContactPassword: any,\r\n accountsContactFirstName: any,\r\n accountsContactLastName: any,\r\n accountsContactCivility: any,\r\n accountsContactTitle: any,\r\n accountsContactEmail: any,\r\n accountsContactPhone: any,\r\n accountsContactPhone2: any,\r\n accountsContactMobilePhone: any,\r\n accountsContactAvatar: any,\r\n accountsContactLanguage: any,\r\n accountsContactFunction: any,\r\n accountsContactTwoFactorAuthentification: any,\r\n accountsContactCodeTwoFactor: any,\r\n accountsContactCodeAttempts: any,\r\n accountsContactAttributes: any\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Accounts/contacts',\r\n {\r\n accountContactGuid: accountsContactGuid,\r\n accountGuid: accountGuid,\r\n accountContactProfile: accountsContactProfile,\r\n accountContactRole: accountsContactRole,\r\n accountContactIsActive: accountsContactIsActive,\r\n accountContactIsValidated: accountsContactIsValidated,\r\n accountContactLogin: accountsContactLogin,\r\n accountContactPassword: accountsContactPassword,\r\n accountContactFirstName: accountsContactFirstName,\r\n accountContactLastName: accountsContactLastName,\r\n accountContactCivility: accountsContactCivility,\r\n accountContactTitle: accountsContactTitle,\r\n accountContactEmail: accountsContactEmail,\r\n accountContactPhone: accountsContactPhone,\r\n accountContactPhone2: accountsContactPhone2,\r\n accountContactMobilePhone: accountsContactMobilePhone,\r\n accountContactAvatar: accountsContactAvatar,\r\n accountContactLanguage: accountsContactLanguage,\r\n accountContactFunction: accountsContactFunction,\r\n accountContactTwoFactorAuthentification: accountsContactTwoFactorAuthentification,\r\n accountContactCodeTwoFactor: accountsContactCodeTwoFactor,\r\n accountContactCodeAttempts: accountsContactCodeAttempts,\r\n accountContactAttributes: accountsContactAttributes,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n updateContactByField(accountContactGuid: any, fieldName: any, fieldValue: any, attribute: any, language: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Accounts/contacts/field',\r\n {\r\n accountContactGuid: accountContactGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n attribute: attribute,\r\n language: language,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n //call the api to update a shipping address\r\n updateShippingAddress(\r\n accountGuid: any,\r\n idShipping: any,\r\n contactGuid: any,\r\n titre: any,\r\n shippingVisitReport: any,\r\n companie: any,\r\n shippingState: any,\r\n shippingLastVisit: any,\r\n shippingIsActive: any,\r\n lastname: any,\r\n firstName: any,\r\n phone: any,\r\n shippingEntryPhone: any,\r\n email: any,\r\n shippingTraderCompanyName: any,\r\n shippingFollowUp: any,\r\n shippingIdPointRetrait: any,\r\n comments: any,\r\n shippingNextVisit: any,\r\n codePorte1: any,\r\n codePorte2: any,\r\n address: any,\r\n address2: any,\r\n address3: any,\r\n address4: any,\r\n postalCode: any,\r\n city: any,\r\n country: any,\r\n modeLivraison: any\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Accounts/shippings',\r\n {\r\n shippingGuid: idShipping,\r\n accountGuid: accountGuid,\r\n accountContactGuid: contactGuid,\r\n shippingIsActive: shippingIsActive,\r\n shippingTitle: titre,\r\n shippingCompany: companie,\r\n shippingLastName: lastname,\r\n shippingFirstName: firstName,\r\n shippingEmail: email,\r\n shippingAddress: address,\r\n shippingAddress2: address2,\r\n shippingAddress3: address3,\r\n shippingAddress4: address4,\r\n shippingDoorCode1: codePorte1,\r\n shippingDoorCode2: codePorte2,\r\n shippingEntryPhone: shippingEntryPhone,\r\n shippingPhone2: phone,\r\n shippingCity: city,\r\n shippingPostalCode: postalCode,\r\n shippingCountry: country,\r\n shippingState: shippingState,\r\n shippingComments: comments,\r\n shippingNextVisit: shippingNextVisit,\r\n shippingLastVisit: shippingLastVisit,\r\n shippingVisitReport: shippingVisitReport,\r\n shippingFollowUp: shippingFollowUp,\r\n shippingDeliveryMode: modeLivraison,\r\n shippingIdPointRetrait: shippingIdPointRetrait,\r\n shippingTraderCompanyName: shippingTraderCompanyName,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n updateShippingByField(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Accounts/shippings/field', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n // update all coordinates account with their address\r\n updateCoordinatesAccounts(arrayAccounts: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Accounts/map/coordinates',\r\n {\r\n listingAccountsToCoordinates: arrayAccounts,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n changePassword(accountContactGuid: string, newPassword: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Accounts/contacts/' + accountContactGuid + '/changepassword',\r\n {\r\n newPassword: newPassword,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n DELETE\r\n ======================================================================== */\r\n\r\n //call the api to delete the customer with the same id as the parameters\r\n deleteCustomer(id: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .request('delete', this._settingsService.getSettings('apiUrl') + 'Accounts/' + id, {\r\n headers: headers,\r\n })\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n //call the api to delete the customer with the same id as the parameters\r\n deleteCustomers(tabId: any) {\r\n let bodyjson = JSON.stringify({\r\n listingAccountsToDelete: tabId,\r\n });\r\n const httpOptions = {\r\n headers: this._settingsService.getHeaders(),\r\n body: bodyjson,\r\n };\r\n return this.http.delete(this._settingsService.getSettings('apiUrl') + 'Accounts', httpOptions).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n deleteContact(guid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.delete(this._settingsService.getSettings('apiUrl') + 'Accounts/contacts/' + guid, { headers }).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n deleteContacts(arrayContacts: any) {\r\n let bodyjson = JSON.stringify({\r\n listingAccountsContactsToDelete: arrayContacts,\r\n });\r\n const httpOptions = {\r\n headers: this._settingsService.getHeaders(),\r\n body: bodyjson,\r\n };\r\n return this.http.delete(this._settingsService.getSettings('apiUrl') + 'Accounts/contacts', httpOptions).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n //call the api to delete a shipping address for the current customer\r\n deleteShippingAddress(shippingGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.delete(this._settingsService.getSettings('apiUrl') + 'Accounts/shippings/' + shippingGuid, { headers }).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { SettingsService } from './settings.service';\r\nimport { AuthService } from './auth.service';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { websocketService } from './websocket.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class FrameworkagreementsService {\r\n private api = this._settingsService.getSettings('apiUrl');\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private _settingsService: SettingsService,\r\n private auth: AuthService,\r\n private _webSocket: websocketService\r\n ) { }\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getFrameworkAgreementsWithSearchAndSort(nbrElementPage: string, start: string, searchWord: string, columnSort: string, order: string, accountGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this.api + 'AccountsFrameworkAgreements?sort=' + columnSort + '&direction=' + order + '&start=' + start + '&limit=' + nbrElementPage + '&search=' + searchWord + '&accountGuid=' + accountGuid,\r\n { headers }\r\n );\r\n }\r\n\r\n getFrameworkAgreementsWithSearch(nbrElementPage: string, start: string, searchWord: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.get(this.api + 'AccountsFrameworkAgreements?start=' + start + '&limit=' + nbrElementPage + '&search=' + searchWord, { headers });\r\n }\r\n\r\n getAccountsOfFrameworkAgreement(guid: string, start: string, limit: string, search: string, sort: string, direction: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this.api + 'AccountsFrameworkAgreements/accounts?sort=' + sort + '&direction=' + direction + '&start=' + start + '&limit=' + limit + '&search=' + search + '&frameworkAgreementGuid=' + guid,\r\n { headers }\r\n );\r\n }\r\n\r\n getAccountsSkusPricesOfFrameworkAgreement(guid: string, start: string, limit: string, search: string, sort: string, direction: string, language: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this.api +\r\n 'AccountsFrameworkAgreements/skusprices?sort=' +\r\n sort +\r\n '&direction=' +\r\n direction +\r\n '&start=' +\r\n start +\r\n '&limit=' +\r\n limit +\r\n '&search=' +\r\n search +\r\n '&dealFrameworkAgreementGuid=' +\r\n guid +\r\n '&language=' +\r\n language,\r\n { headers }\r\n ); // '\r\n }\r\n\r\n getFrameworkAgreements(guid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this.api + 'AccountsFrameworkAgreements/' + guid, {\r\n headers,\r\n });\r\n }\r\n\r\n /* ========================================================================\r\n CREATE\r\n ======================================================================== */\r\n\r\n createFrameworkAgreement(internalRef: any, externalRef: any, dealName: any, startedAt: any, endedAt: any) {\r\n const headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this.api + 'AccountsFrameworkAgreements',\r\n {\r\n dealInternalRef: internalRef,\r\n dealExternalRef: externalRef,\r\n dealName: dealName,\r\n dealStartedAt: startedAt,\r\n dealEndedAt: endedAt,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n attach(dealFrameworkAgreementGuid: string, guidAcc: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this.api + 'AccountsFrameworkAgreements/' + dealFrameworkAgreementGuid + '/accounts/attach',\r\n {\r\n listingAccountsToAttach: guidAcc,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n createFrameworkAgreementSkusPrices(\r\n dealFrameworkAgreementGuid: any,\r\n sku: any,\r\n accountSkuPricePrice = 0,\r\n accountSkuPricePriceFromQuantity = 0,\r\n accountSkuPriceEcoContribution = 0,\r\n accountSkuPriceDateStart = null,\r\n accountSkuPriceDateEnd = null,\r\n accountSkuPriceSkuOptions = {},\r\n accountSkuPriceIsDealFrameworkAgreement = false\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this.api + 'AccountsFrameworkAgreements/skusprices',\r\n {\r\n dealFrameworkAgreementGuid: dealFrameworkAgreementGuid,\r\n accountSkuPriceIsDealFrameworkAgreement: accountSkuPriceIsDealFrameworkAgreement,\r\n sku: sku,\r\n accountSkuPricePrice: accountSkuPricePrice,\r\n accountSkuPricePriceFromQuantity: accountSkuPricePriceFromQuantity,\r\n accountSkuPriceDateStart: accountSkuPriceDateStart,\r\n accountSkuPriceDateEnd: accountSkuPriceDateEnd,\r\n accountSkuPriceSkuOptions: accountSkuPriceSkuOptions,\r\n accountSkuPriceEcoContribution: accountSkuPriceEcoContribution,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n UPDATE\r\n ======================================================================== */\r\n\r\n updateFrameworkAgreementByField(dealFrameworkAgreementGuid: any, fieldName: any, fieldValue: any, attribute: any, language: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this.api + 'AccountsFrameworkAgreements/field',\r\n {\r\n dealFrameworkAgreementGuid: dealFrameworkAgreementGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n attribute: attribute,\r\n language: language,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n updateDealCatalogCollection(dealFrameworkAgreementGuid: any, tabGuid: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this.api + 'AccountsFrameworkAgreements/field',\r\n {\r\n dealFrameworkAgreementGuid: dealFrameworkAgreementGuid,\r\n fieldName: 'dealCatalogCollection',\r\n fieldValue: tabGuid,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n updateFrameworkAgreementPriceWithAccountSkuPriceGuid(accountSkuPriceGuid: any, dealFrameworkAgreementGuid: any, accountSkuPricePrice: any, accountSkuPricePriceFromQuantity: any, accountSkuPriceEcoContribution: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this.api + 'AccountsFrameworkAgreements/skusprices/field/pricebyframeworkagreement',\r\n {\r\n skuGuid: accountSkuPriceGuid,\r\n dealFrameworkAgreementGuid: dealFrameworkAgreementGuid,\r\n accountSkuPricePrice: accountSkuPricePrice,\r\n accountSkuPricePriceFromQuantity: accountSkuPricePriceFromQuantity,\r\n accountSkuPriceEcoContribution: accountSkuPriceEcoContribution,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n updateFrameworkAgreementPrice(skuGuid: any, dealFrameworkAgreementGuid: any, accountSkuPricePrice: any, accountSkuPricePriceFromQuantity: any, accountSkuPriceEcoContribution: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this.api + 'AccountsFrameworkAgreements/skusprices',\r\n {\r\n accountGuid: '',\r\n dealFrameworkAgreementGuid: dealFrameworkAgreementGuid,\r\n accountSkuPriceIsDealFrameworkAgreement: false,\r\n skuGuid: skuGuid,\r\n accountSkuPricePrice: accountSkuPricePrice,\r\n accountSkuPricePriceFromQuantity: accountSkuPricePriceFromQuantity,\r\n accountSkuPriceDateStart: '',\r\n accountSkuPriceDateEnd: '',\r\n accountSkuPriceSkuOptions: {},\r\n accountSkuPriceEcoContribution: accountSkuPriceEcoContribution,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n updateOrCreateFrameworkAgreementSkusPrices(dealFrameworkAgreementGuid: any, listSkuPrices: any[]) {\r\n // Créer une bonne liste avec les info qu'il faut\r\n listSkuPrices = listSkuPrices.map((sku: { skuGuid: any; skuPrice: any; quantity: any; accountSkuPriceEcoContribution: any; }) => {\r\n return {\r\n accountGuid: '',\r\n dealFrameworkAgreementGuid: dealFrameworkAgreementGuid,\r\n accountSkuPriceIsDealFrameworkAgreement: null,\r\n skuGuid: sku.skuGuid,\r\n accountSkuPricePrice: sku.skuPrice,\r\n accountSkuPricePriceFromQuantity: sku.quantity ? sku.quantity : 1,\r\n accountSkuPriceDateStart: '',\r\n accountSkuPriceDateEnd: '',\r\n accountSkuPriceSkuOptions: {},\r\n accountSkuPriceEcoContribution: sku.accountSkuPriceEcoContribution ? sku.accountSkuPriceEcoContribution : 0,\r\n };\r\n });\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this.api + 'AccountsFrameworkAgreements/skuspriceslist',\r\n {\r\n listingAccountSkuPrices: listSkuPrices,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n DELETE\r\n ======================================================================== */\r\n\r\n deleteFrameworkAgreements(listGuid: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .request('delete', this.api + 'AccountsFrameworkAgreements', {\r\n headers: headers,\r\n body: {\r\n listingAccountsFrameworkAgreementsToDelete: listGuid,\r\n },\r\n })\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n deleteFrameworkAgreementsSkusPrices(dealFrameworkAgreementGuid: string, skuGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.request('delete', this.api + 'AccountsFrameworkAgreements/skusprices/frameworkagreement/' + dealFrameworkAgreementGuid + '/skus/' + skuGuid, { headers: headers }).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n detach(dealFrameworkAgreementGuid: string, guidAcc: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this.api + 'AccountsFrameworkAgreements/' + dealFrameworkAgreementGuid + '/accounts/detach',\r\n {\r\n listingAccountsToDetach: guidAcc,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { SettingsService } from './settings.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TranslateService {\r\n constructor(\r\n private http: HttpClient,\r\n private _settingsService: SettingsService,\r\n private router: Router\r\n ) { }\r\n\r\n getTranslation(translationObject: { languageOrigin: any; languageDestination: any; texts: any; }) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'translations',\r\n {\r\n originLanguage: translationObject.languageOrigin,\r\n destinationLanguage: translationObject.languageDestination,\r\n values: translationObject.texts,\r\n },\r\n options\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AuthService } from './auth.service';\r\nimport { CompanyService } from './companies/company.service';\r\nimport { LoginService } from './login/login.service';\r\nimport { SettingsService } from './settings.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TranslatorService {\r\n private defaultLanguage: string = 'en';\r\n\r\n private availablelangs = [\r\n { code: 'en', text: 'English' },\r\n { code: 'es_AR', text: 'Spanish' },\r\n { code: 'fr', text: 'Français' },\r\n ];\r\n\r\n constructor(\r\n public translate: TranslateService,\r\n public _company: CompanyService,\r\n public auth: AuthService,\r\n private _settings: SettingsService,\r\n ) {\r\n if (localStorage.getItem('language_' + this._settings.getAlias())) {\r\n this.setDefaultLang();\r\n const langage = localStorage.getItem(\r\n 'language_' + this._settings.getAlias(),\r\n );\r\n if (langage) {\r\n this.useLanguage(langage);\r\n }\r\n } else {\r\n let lang = window.navigator.language.split('-')[0];\r\n if (lang == 'fr' || lang == 'en' || lang == 'es') {\r\n this.defaultLanguage = lang;\r\n this.translate.setDefaultLang(lang);\r\n } else {\r\n this.translate.setDefaultLang('en');\r\n }\r\n this.useLanguage(this.defaultLanguage);\r\n }\r\n //this.useLanguage();\r\n }\r\n\r\n setDefaultLang() {\r\n this.translate.setDefaultLang(this.defaultLanguage);\r\n }\r\n\r\n useLanguage(lang: string) {\r\n this.translate.use(\r\n lang || this.translate.getDefaultLang() || this.defaultLanguage,\r\n );\r\n }\r\n\r\n getAvailableLanguages() {\r\n return this.availablelangs;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { SettingsService } from '../settings.service';\r\nimport { AttributesGroup, AttributeObject } from './attribute';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AttributesService {\r\n constructor(\r\n private readonly http: HttpClient,\r\n private readonly _settingsService: SettingsService,\r\n ) {}\r\n\r\n // ******************** Start Attributes function******************** //\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getAttributesWithSearch(search: string, attributesGroupType: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get<AttributeObject[]>(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Attributes?attributesGroupType=' +\r\n attributesGroupType +\r\n '&search=' +\r\n search,\r\n { headers },\r\n );\r\n }\r\n\r\n //Return the list of all attributes from an attributes group guid\r\n getAttributesByGroupsType(\r\n attributesGroupGuid: string,\r\n attributesGroupType: string,\r\n attributesGroupIsSystem: boolean = false,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get<AttributeObject[]>(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Attributes?attributesGroupGuid=' +\r\n attributesGroupGuid +\r\n '&attributesGroupType=' +\r\n attributesGroupType +\r\n '&attributesGroupIsSystem=' +\r\n attributesGroupIsSystem,\r\n { headers },\r\n );\r\n }\r\n\r\n getAttributesByType(attributeType: string, attributeGroup: string = '') {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get<AttributeObject[]>(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Attributes/byAttributeTypeAndAttributeGroupType?attributesType=' +\r\n attributeType +\r\n '&attributesGroupType=' +\r\n attributeGroup +\r\n '&language=fr',\r\n { headers },\r\n );\r\n }\r\n\r\n getAttributeSystem(attributesGroupGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get<AttributeObject[]>(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Attributes/system/group?attributesGroupGuid=' +\r\n attributesGroupGuid,\r\n { headers },\r\n );\r\n }\r\n\r\n sortValues(values: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Attributes/options/order',\r\n {\r\n attributeOptions: values,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n //Return every attribute\r\n getAllAttributes() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get<AttributeObject>(\r\n this._settingsService.getSettings('apiUrl') + 'Attributes',\r\n { headers },\r\n );\r\n }\r\n\r\n //Return one attribute by attributeGuid\r\n getAttribute(attributeGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get<AttributeObject>(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Attributes/' +\r\n attributeGuid,\r\n { headers },\r\n );\r\n }\r\n\r\n //Return the list of all attributes in the trash bin\r\n getAttributesTrashBin(type: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get<AttributeObject[]>(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Attributes?attributesGroupType=' +\r\n type +\r\n '&trashbin=true',\r\n { headers },\r\n );\r\n }\r\n\r\n //Return a list with all attributes groups by type passed in parameters\r\n getAttributesGroupsByType(type: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get<AttributesGroup[]>(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Attributes/groups?attributesGroupType=' +\r\n type,\r\n { headers },\r\n );\r\n }\r\n\r\n //Return a list of attributes groups by attributes group guid passed in parameters\r\n getAttributesGroupsByAttributeGroupGuid(attributeGroupGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get<AttributesGroup[]>(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Attributes/groups/' +\r\n attributeGroupGuid,\r\n { headers },\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n CREATE\r\n ======================================================================== */\r\n\r\n //Creation of an attributes\r\n createAttribute(\r\n attribute: {\r\n attributeName: any;\r\n attributesGroupGuid: any;\r\n attributeType: any;\r\n attributeIsActive: any;\r\n attributeIsFront: any;\r\n attributeIsTrashbin: any;\r\n attributeIsReadonly: any;\r\n attributeIsMandatory: any;\r\n attributeIsUnique: any;\r\n attributeIsFilter: any;\r\n attributeIsTranslated: any;\r\n attributeIsGrouped: any;\r\n attributeOrder: any;\r\n attributeNote: any;\r\n attributeInitialValue: any;\r\n attributeMinValue: any;\r\n attributeMaxValue: any;\r\n attributeMaxNumberDigits: any;\r\n attributeDecimalPoints: any;\r\n attributeMaxCharacters: any;\r\n attributeOptions: any;\r\n },\r\n isDec: any,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Attributes',\r\n {\r\n attributeName: attribute.attributeName,\r\n attributesGroupGuid: attribute.attributesGroupGuid,\r\n attributeType: attribute.attributeType,\r\n attributeIsActive: attribute.attributeIsActive,\r\n attributeIsFront: attribute.attributeIsFront,\r\n attributeIsTrashbin: attribute.attributeIsTrashbin,\r\n attributeIsReadonly: attribute.attributeIsReadonly,\r\n attributeIsMandatory: attribute.attributeIsMandatory,\r\n attributeIsUnique: attribute.attributeIsUnique,\r\n attributeIsFilter: attribute.attributeIsFilter,\r\n attributeIsTranslated: attribute.attributeIsTranslated,\r\n attributeIsGrouped: attribute.attributeIsGrouped,\r\n attributeOrder: attribute.attributeOrder,\r\n attributeNote: attribute.attributeNote,\r\n attributeInitialValue: attribute.attributeInitialValue,\r\n attributeMinValue: attribute.attributeMinValue,\r\n attributeMaxValue: attribute.attributeMaxValue,\r\n attributeMaxNumberDigits: attribute.attributeMaxNumberDigits,\r\n attributeDecimalPoints: attribute.attributeDecimalPoints,\r\n attributeMaxCharacters: attribute.attributeMaxCharacters,\r\n attributeOptions: attribute.attributeOptions,\r\n attributeIsModelVariant: isDec,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n //Dupplicate an attribute\r\n dupplicateAttribut(attributeGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Attributes/' +\r\n attributeGuid +\r\n '/duplicate',\r\n options,\r\n );\r\n }\r\n\r\n //Create an attributes group with the parameters\r\n createAttributesGroup(\r\n attributesGroupName: string,\r\n attributesGroupType: string,\r\n attributesGroupOrder: number,\r\n attributesGroupIsTranslate: boolean,\r\n attributesGroupNote: string,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Attributes/groups',\r\n {\r\n attributesGroupName: attributesGroupName,\r\n attributesGroupType: attributesGroupType,\r\n attributesGroupOrder: attributesGroupOrder,\r\n attributesGroupIsTranslate: attributesGroupIsTranslate,\r\n attributesGroupNote: attributesGroupNote,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n UPDATE\r\n ======================================================================== */\r\n\r\n //Update of an attributes\r\n updateAttribute(attributeModified: {\r\n attributeGuid: any;\r\n attributeName: any;\r\n attributesGroupGuid: any;\r\n attributeType: any;\r\n attributeIsActive: any;\r\n attributeIsFront: any;\r\n attributeIsTrashbin: any;\r\n attributeIsReadonly: any;\r\n attributeIsFilter: any;\r\n attributeIsMandatory: any;\r\n attributeIsUnique: any;\r\n attributeIsTranslated: any;\r\n attributeIsGrouped: any;\r\n attributeOrder: any;\r\n attributeNote: any;\r\n attributeInitialValue: any;\r\n attributeMinValue: any;\r\n attributeMaxValue: any;\r\n attributeMaxNumberDigits: any;\r\n attributeDecimalPoints: any;\r\n attributeMaxCharacters: any;\r\n attributeOptions: any;\r\n attributeIsModelVariant: any;\r\n }) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(\r\n this._settingsService.getSettings('apiUrl') + 'Attributes',\r\n {\r\n attributeGuid: attributeModified.attributeGuid,\r\n attributeName: attributeModified.attributeName,\r\n attributesGroupGuid: attributeModified.attributesGroupGuid,\r\n attributeType: attributeModified.attributeType,\r\n attributeIsActive: attributeModified.attributeIsActive,\r\n attributeIsFront: attributeModified.attributeIsFront,\r\n attributeIsTrashbin: attributeModified.attributeIsTrashbin,\r\n attributeIsReadonly: attributeModified.attributeIsReadonly,\r\n attributeIsFilter: attributeModified.attributeIsFilter,\r\n attributeIsMandatory: attributeModified.attributeIsMandatory,\r\n attributeIsUnique: attributeModified.attributeIsUnique,\r\n attributeIsTranslated: attributeModified.attributeIsTranslated,\r\n attributeIsGrouped: attributeModified.attributeIsGrouped,\r\n attributeOrder: attributeModified.attributeOrder,\r\n attributeNote: attributeModified.attributeNote,\r\n attributeInitialValue: attributeModified.attributeInitialValue,\r\n attributeMinValue: attributeModified.attributeMinValue,\r\n attributeMaxValue: attributeModified.attributeMaxValue,\r\n attributeMaxNumberDigits: attributeModified.attributeMaxNumberDigits,\r\n attributeDecimalPoints: attributeModified.attributeDecimalPoints,\r\n attributeMaxCharacters: attributeModified.attributeMaxCharacters,\r\n attributeOptions: attributeModified.attributeOptions,\r\n attributeIsModelVariant: attributeModified.attributeIsModelVariant,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n //Change order of an attribute\r\n changeOrderAttribute(attributeGuid: string, attributeOrder: number) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Attributes/ordershow',\r\n {\r\n attributeGuid: attributeGuid,\r\n attributeOrder: attributeOrder,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n //Update the attributes group with the parameters\r\n modifyAttributesGroup(\r\n attributesGroupGuid: string,\r\n attributesGroupName: string,\r\n attributesGroupType: string,\r\n attributesGroupOrder: number,\r\n attributesGroupIsTranslate: boolean,\r\n attributesGroupNote: string,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(\r\n this._settingsService.getSettings('apiUrl') + 'Attributes/groups',\r\n {\r\n attributesGroupGuid: attributesGroupGuid,\r\n attributesGroupName: attributesGroupName,\r\n attributesGroupType: attributesGroupType,\r\n attributesGroupOrder: attributesGroupOrder,\r\n attributesGroupIsTranslate: attributesGroupIsTranslate,\r\n attributesGroupNote: attributesGroupNote,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n //Change the order of the attributes group\r\n moveAttributesGroupOrder(\r\n attributesGroupGuid: string,\r\n attributesGroupOrder: number,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Attributes/groups/ordershow',\r\n {\r\n attributesGroupGuid: attributesGroupGuid,\r\n attributesGroupOrder: attributesGroupOrder,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n //Move an attribute into the trashbin\r\n moveAnAttributeToTrashbin(attributeGroupGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Attributes/' +\r\n attributeGroupGuid +\r\n '/movetotrashbin/true',\r\n {},\r\n options,\r\n );\r\n }\r\n\r\n //Move an attribute out of the trashbin\r\n moveAnAttributeOufOfTrashbin(attributeGroupGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Attributes/' +\r\n attributeGroupGuid +\r\n '/movetotrashbin/false',\r\n {},\r\n options,\r\n );\r\n }\r\n\r\n //Move a list of attributes into the trashbin\r\n moveAnListOfAttributesIntoTrashBin(listingAttributesToMoving: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Attributes/movetotrashbin',\r\n {\r\n listingAttributesToMoving: listingAttributesToMoving,\r\n value: true,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n //Move a list of attributes into the trashbin\r\n moveAnListOfAttributesOutOfTrashBin(listingAttributesToMoving: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Attributes/movetotrashbin',\r\n {\r\n listingAttributesToMoving: listingAttributesToMoving,\r\n value: false,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n updateAttributeByField(\r\n attributeGuid: string,\r\n fieldName: string,\r\n fieldValue: any,\r\n language?: string,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(\r\n this._settingsService.getSettings('apiUrl') + 'Attributes/field',\r\n {\r\n attributeGuid: attributeGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n language: language,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n updateOrder(attributeGuid: string, fieldName: string, fieldValue: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(\r\n this._settingsService.getSettings('apiUrl') + 'Attributes/options/order',\r\n {\r\n attributeGuid: attributeGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n //Update an attributes group by fieldName and attributeGuid\r\n updateAttributeGroupByField(\r\n attributeGuid: string,\r\n fieldName: string,\r\n fieldValue: any,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Attributes/groups',\r\n {\r\n attributeGuid: attributeGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n DELETE\r\n ======================================================================== */\r\n\r\n //Delete an attribute by attributeGuid\r\n deleteAttribute(attributeGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.delete(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Attributes/' +\r\n attributeGuid,\r\n { headers },\r\n );\r\n }\r\n\r\n //Delete the attributes group which has the same group guid as the parameters\r\n deleteAttributesGroupByGroupGuid(attributesGroupGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.request(\r\n 'delete',\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Attributes/groups/' +\r\n attributesGroupGuid,\r\n {\r\n headers: headers,\r\n },\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { SettingsService } from '../settings.service';\r\nimport { Mask } from './masks';\r\nimport { AttributeObject } from '../attribute/attribute';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MasksService {\r\n constructor(\r\n private http: HttpClient,\r\n private _settings: SettingsService\r\n ) { }\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n withoutMaskByMaskGuidAndAttributesGroupGuid(maskGuid: string, attributesGroupGuid: string, maskAttributeIsVariant = false) {\r\n let headers = this._settings.getHeaders();\r\n return this.http.get<AttributeObject[]>(\r\n this._settings.getSettings('apiUrl') + 'Attributes/withoutmask?attributesGroupGuid=' + attributesGroupGuid + '&maskGuid=' + maskGuid + '&maskAttributeIsVariant=' + maskAttributeIsVariant,\r\n { headers }\r\n );\r\n }\r\n withoutMaskByGroupGuid(attributesGroupGuid: string) {\r\n let headers = this._settings.getHeaders();\r\n return this.http.get<AttributeObject[]>(this._settings.getSettings('apiUrl') + 'Attributes/withoutmask?attributesGroupGuid=' + attributesGroupGuid, { headers });\r\n }\r\n\r\n withoutMask(attributesGroupType: string) {\r\n let headers = this._settings.getHeaders();\r\n return this.http.get<AttributeObject[]>(this._settings.getSettings('apiUrl') + 'Attributes/withoutmask?attributesGroupType=' + attributesGroupType, { headers });\r\n }\r\n\r\n getAttributesByMaskGuid(maskGuid: string, maskAttributeIsVariant = false) {\r\n let headers = this._settings.getHeaders();\r\n return this.http.get<AttributeObject[]>(this._settings.getSettings('apiUrl') + 'Attributes?maskGuid=' + maskGuid + '&maskAttributeIsVariant=' + maskAttributeIsVariant, { headers });\r\n }\r\n\r\n getAttributesInThisMaskOrderByGroup(maskGuid: string) {\r\n let headers = this._settings.getHeaders();\r\n return this.http.get<AttributeObject[]>(this._settings.getSettings('apiUrl') + 'Attributes/orderByGroup?maskGuid=' + maskGuid, { headers });\r\n }\r\n\r\n getAttributesByMaskWithAttributeGroupTypeAndWithoutAttributesGroupGuid(maskGuid: string, attributesGroupType: string) {\r\n let headers = this._settings.getHeaders();\r\n return this.http.get<AttributeObject[]>(this._settings.getSettings('apiUrl') + 'Attributes?maskGuid=' + maskGuid + '?attributesGroupType=' + attributesGroupType, { headers });\r\n }\r\n\r\n getAttributesByMaskWithAttributeGroupTypeAndAttributesGroupGuid(maskGuid: string, attributesGroupType: string, attributesGroupGuid: string) {\r\n let headers = this._settings.getHeaders();\r\n return this.http.get<AttributeObject[]>(\r\n this._settings.getSettings('apiUrl') + 'Attributes?maskGuid=' + maskGuid + '?attributesGroupType=' + attributesGroupType + '?attributesGroupGuid=' + attributesGroupGuid,\r\n { headers }\r\n );\r\n }\r\n\r\n getAllMasks() {\r\n let headers = this._settings.getHeaders();\r\n return this.http.get<Mask[]>(this._settings.getSettings('apiUrl') + 'Attributes/masks', { headers });\r\n }\r\n\r\n getOneMask(maskGuid: string) {\r\n let headers = this._settings.getHeaders();\r\n return this.http.get<Mask[]>(this._settings.getSettings('apiUrl') + 'Attributes/masks/' + maskGuid, { headers });\r\n }\r\n\r\n /* ========================================================================\r\n CREATE\r\n ======================================================================== */\r\n\r\n createMask(maskName: any, maskNote: any, maskIsTranslate: any) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settings.getSettings('apiUrl') + 'Attributes/masks',\r\n {\r\n maskName: maskName,\r\n maskNote: maskNote,\r\n maskIsTranslate: maskIsTranslate,\r\n },\r\n options\r\n );\r\n }\r\n\r\n addToMask(maskGuid: any, attributes: any, maskAttributeIsVariant = false) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settings.getSettings('apiUrl') + 'Attributes/addtomask',\r\n {\r\n maskGuid: maskGuid,\r\n attributes: attributes,\r\n maskAttributeIsVariant: maskAttributeIsVariant,\r\n },\r\n options\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n UPDATE\r\n ======================================================================== */\r\n\r\n updateMask(maskGuid: any, maskNameObject: any, maskNote: any, maskIsTranslate: any) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(\r\n this._settings.getSettings('apiUrl') + 'Attributes/masks',\r\n {\r\n maskGuid: maskGuid,\r\n maskName: maskNameObject,\r\n maskNote: maskNote,\r\n maskIsTranslate: maskIsTranslate,\r\n },\r\n options\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n DELETE\r\n ======================================================================== */\r\n\r\n deleteOneMask(maskGuid: string) {\r\n let headers = this._settings.getHeaders();\r\n return this.http.delete(this._settings.getSettings('apiUrl') + 'Attributes/masks/' + maskGuid, { headers });\r\n }\r\n\r\n removeToMask(maskGuid: any, attributes: any, maskAttributeIsVariant = false) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settings.getSettings('apiUrl') + 'Attributes/removetomask',\r\n {\r\n maskGuid: maskGuid,\r\n attributes: attributes,\r\n maskAttributeIsVariant: maskAttributeIsVariant,\r\n },\r\n options\r\n );\r\n }\r\n\r\n updateToMask(maskGuid: any, attributeGuid: any, field: any, fieldValue: any, maskAttributeIsVariant: any) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(\r\n this._settings.getSettings('apiUrl') + 'Attributes/updatetomask',\r\n {\r\n maskGuid: maskGuid,\r\n attributeGuid: attributeGuid,\r\n field: field,\r\n fieldValue: fieldValue,\r\n maskAttributeIsVariant: maskAttributeIsVariant,\r\n },\r\n options\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpHeaders, HttpClient } from '@angular/common/http';\r\nimport { SettingsService } from './settings.service';\r\nimport { throws } from 'assert';\r\nimport { AuthService } from './auth.service';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { websocketService } from './websocket.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class DamAssetsService {\r\n constructor(\r\n private auth: AuthService,\r\n private _settingsService: SettingsService,\r\n private http: HttpClient,\r\n private _webSocket: websocketService,\r\n ) {}\r\n\r\n public folderTemplatesGuid = '33333333-3333-3333-3333-333333333333';\r\n public folderDocumentsGuid = '11111111-1111-1111-1111-111111111111';\r\n public folderExcelGuid = '22222222-2222-2222-2222-222222222222';\r\n public folderProductSheetsGuid = '44444444-4444-4444-4444-444444444444';\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getFoldersWithParent(\r\n parent: string,\r\n showEmptyFolders = true,\r\n folderType = 'DAM',\r\n trashbinMode = 'none',\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/folders?parent=' +\r\n parent +\r\n '&showEmptyFolders=' +\r\n showEmptyFolders +\r\n '&foldertype=' +\r\n folderType +\r\n '&trashbinMode=' +\r\n trashbinMode,\r\n { headers },\r\n );\r\n }\r\n\r\n getMissingAssets(start: string, limit: string, search: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/assets/missing?start=' +\r\n start +\r\n '&limit=' +\r\n limit +\r\n '&search=' +\r\n search,\r\n { headers },\r\n );\r\n }\r\n\r\n getOrphansAssets(start: string, limit: string, search: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/assets/orphan?start=' +\r\n start +\r\n '&limit=' +\r\n limit +\r\n '&search=' +\r\n search,\r\n { headers },\r\n );\r\n }\r\n\r\n getInfoFolder(folderGuid: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/folders/' + folderGuid,\r\n { headers },\r\n );\r\n }\r\n\r\n getFoldersOnLevelOne(\r\n showEmptyFolders = true,\r\n folderType = 'DAM',\r\n trashbinMode = 'none',\r\n ) {\r\n if (folderType == 'TEMPLATES') {\r\n let parent = this.folderTemplatesGuid;\r\n return this.getFoldersWithParent(\r\n parent,\r\n showEmptyFolders,\r\n folderType,\r\n trashbinMode,\r\n );\r\n } else if (folderType == 'PROJECTS') {\r\n let parent = this.folderDocumentsGuid;\r\n return this.getFoldersWithParent(\r\n parent,\r\n showEmptyFolders,\r\n folderType,\r\n trashbinMode,\r\n );\r\n } else if (folderType == 'EXCEL') {\r\n let parent = this.folderExcelGuid;\r\n return this.getFoldersWithParent(\r\n parent,\r\n showEmptyFolders,\r\n folderType,\r\n trashbinMode,\r\n );\r\n } else if (folderType == 'PRODUCTSHEETS') {\r\n let parent = this.folderProductSheetsGuid;\r\n return this.getFoldersWithParent(\r\n parent,\r\n showEmptyFolders,\r\n folderType,\r\n trashbinMode,\r\n );\r\n } else {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/folders?parent=&showEmptyFolders=' +\r\n showEmptyFolders +\r\n '&foldertype=' +\r\n folderType +\r\n '&trashbinMode=' +\r\n trashbinMode,\r\n { headers },\r\n );\r\n }\r\n }\r\n\r\n getAssetByGuids(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/assets/array',\r\n object,\r\n { headers },\r\n );\r\n }\r\n\r\n getAssetByUrlOriginal(assetsUrlOriginal: any = []) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'dam/assets/array/originalurl',\r\n {\r\n assetsUrlOriginal: assetsUrlOriginal,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n getAssetBySkus(start: any, limit: any, skuGuids: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/assets/skus?start=' +\r\n start +\r\n '&limit=' +\r\n limit,\r\n {\r\n skuGuids: skuGuids,\r\n },\r\n { headers },\r\n );\r\n }\r\n\r\n getAssetByGuid(assetguid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/assets/' + assetguid,\r\n { headers },\r\n );\r\n }\r\n\r\n getAssetWhereUsedByGuid(assetguid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/assets/used/' +\r\n assetguid,\r\n { headers },\r\n );\r\n }\r\n\r\n getStatus(type: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') + 'Status?type=' + type,\r\n { headers },\r\n );\r\n }\r\n\r\n getAssetsByFolderGuid(\r\n folderGuid: string,\r\n start: string,\r\n limit: string,\r\n sort = 'assetCreatedAt',\r\n direction = 'DESC',\r\n folderType = 'DAM',\r\n assetType = '',\r\n trashbinMode = 'none',\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n const url =\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/assets?folder=' +\r\n folderGuid +\r\n '&sort=' +\r\n sort +\r\n '&direction=' +\r\n direction +\r\n '&start=' +\r\n start +\r\n '&limit=' +\r\n limit +\r\n '&folderType=' +\r\n folderType +\r\n '&assetType=' +\r\n assetType +\r\n '&trashbinMode=' +\r\n trashbinMode;\r\n return this.http.get(url, { headers });\r\n }\r\n\r\n getAssetsByOnLevelOne(\r\n start: any,\r\n limit: any,\r\n search: any,\r\n status = '',\r\n sort = 'assetCreatedAt',\r\n direction = 'DESC',\r\n folderType = 'DAM',\r\n assetType = '',\r\n trashbinMode = 'none',\r\n ) {\r\n let mediaType = assetType;\r\n\r\n if (assetType === 'imagemultilang' || assetType === 'imageMultiLang') {\r\n mediaType = 'image';\r\n }\r\n\r\n if (assetType === 'filemultilang' || assetType === 'fileMultiLang') {\r\n mediaType = 'file';\r\n }\r\n\r\n if (folderType == 'TEMPLATES') {\r\n let parent = this.folderTemplatesGuid;\r\n return this.getAssetsByFolderGuid(\r\n parent,\r\n start,\r\n limit,\r\n sort,\r\n direction,\r\n folderType,\r\n mediaType,\r\n trashbinMode,\r\n );\r\n } else if (folderType == 'PROJECTS') {\r\n let parent = this.folderDocumentsGuid;\r\n return this.getAssetsByFolderGuid(\r\n parent,\r\n start,\r\n limit,\r\n sort,\r\n direction,\r\n folderType,\r\n mediaType,\r\n trashbinMode,\r\n );\r\n } else if (folderType == 'EXCEL') {\r\n let parent = this.folderExcelGuid;\r\n return this.getAssetsByFolderGuid(\r\n parent,\r\n start,\r\n limit,\r\n sort,\r\n direction,\r\n folderType,\r\n mediaType,\r\n trashbinMode,\r\n );\r\n } else if (folderType == 'PRODUCTSHEETS') {\r\n let parent = this.folderProductSheetsGuid;\r\n return this.getAssetsByFolderGuid(\r\n parent,\r\n start,\r\n limit,\r\n sort,\r\n direction,\r\n folderType,\r\n mediaType,\r\n trashbinMode,\r\n );\r\n } else {\r\n return this.getAssetsByFolderGuid(\r\n '',\r\n start,\r\n limit,\r\n sort,\r\n direction,\r\n folderType,\r\n mediaType,\r\n trashbinMode,\r\n );\r\n }\r\n }\r\n\r\n getOutOfTrash(listingAssetToMoveOutOfTrash: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'dam/assets/movetotrashbin/false',\r\n {\r\n listingAssetToMoveTrashbin: listingAssetToMoveOutOfTrash,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n getAssetFromTrash(start: any, limit: any, search: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'dam/assets/trashbin?start=' +\r\n start +\r\n '&limit=' +\r\n limit +\r\n '&search=' +\r\n search,\r\n { headers },\r\n );\r\n }\r\n\r\n getAssetFromArchive(start: any, limit: any, search: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'dam/assets/trashbin/archive?start=' +\r\n start +\r\n '&limit=' +\r\n limit +\r\n '&search=' +\r\n search,\r\n { headers },\r\n );\r\n }\r\n\r\n downloadAssetFromAssetGuidArray(listingAssetToDownload: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/assets/downloads',\r\n {\r\n listingAssetToDownload: listingAssetToDownload,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n getTemplates(\r\n folderGuid: string = this.folderTemplatesGuid,\r\n start: number = 0,\r\n limit: number = 10000,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'dam/assets?folder=' +\r\n folderGuid +\r\n '&sort=assetName&direction=ASC&start=' +\r\n start +\r\n '&limit=' +\r\n limit +\r\n '&folderType=TEMPLATES',\r\n { headers },\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n CREATE\r\n ======================================================================== */\r\n\r\n sharedAssets(tabGuidAsset: any, tabGuidTeams: any, sendNotification = false) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/assets/shared',\r\n {\r\n listingTeams: tabGuidTeams,\r\n listingAssetsToTeam: tabGuidAsset,\r\n sendNotification: sendNotification,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n assignTeamsToFolder(\r\n folderGuid: any,\r\n tabGuidTeams: any,\r\n subfolderImpact = true,\r\n sendNotification = false,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/folders/assignTeams',\r\n {\r\n folderGuid: folderGuid,\r\n listingTeams: tabGuidTeams,\r\n subfolder: subfolderImpact,\r\n sendNotification: sendNotification,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n assignStatus(guid: any, status: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/assets/assignStatus',\r\n {\r\n listingAssetsToStatus: status,\r\n statusGuid: guid,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n createFolder(\r\n folderName: any,\r\n folderParentGuid: string | null,\r\n folderType = 'DAM',\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/folders',\r\n {\r\n folderName: folderName,\r\n folderParentGuid: folderParentGuid,\r\n folderType: folderType,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n createFolderLevelOne(folderName: any, folderType = 'DAM') {\r\n if (folderType == 'TEMPLATES') {\r\n let parent = this.folderTemplatesGuid;\r\n return this.createFolder(folderName, parent, folderType);\r\n } else if (folderType == 'PROJECTS') {\r\n let parent = this.folderDocumentsGuid;\r\n return this.createFolder(folderName, parent, folderType);\r\n } else if (folderType == 'EXCEL') {\r\n let parent = this.folderExcelGuid;\r\n return this.createFolder(folderName, parent, folderType);\r\n } else if (folderType == 'PRODUCTSHEETS') {\r\n let parent = this.folderProductSheetsGuid;\r\n return this.createFolder(folderName, parent, folderType);\r\n } else {\r\n return this.createFolder(folderName, null, folderType);\r\n }\r\n }\r\n\r\n // lang = \"fr\"/\"en\"/\"es\", onAlreadyTagged = \"skip\"/\"merge\"/\"replace\"\r\n generateTag(\r\n lang = 'fr',\r\n onAlreadyTagged = 'merge',\r\n assetGuidsArray: any = null,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'OpenAI/assettagging?lang=' +\r\n lang +\r\n '&onAlreadyTagged=' +\r\n onAlreadyTagged,\r\n {\r\n assetGuids: assetGuidsArray,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n limitGenerateTag(type = 'IMAGE_TAGGING') {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Usages/getusage?type=' +\r\n type,\r\n { headers },\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n UPDATE\r\n ======================================================================== */\r\n\r\n modifyFolder(folderGuid: any, folderName: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/folders',\r\n {\r\n folderGuid: folderGuid,\r\n folderName: folderName,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n renameAsset(assetGuid: any, assetNewName: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/assets/rename',\r\n {\r\n assetGuid: assetGuid,\r\n assetNewName: assetNewName,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n resize(profileAssetGuid: any, tabsGuid: any, resizeRecursive: any = null) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/resize',\r\n {\r\n profileAssetGuid: profileAssetGuid,\r\n assetGuids: tabsGuid,\r\n allSubFolders: resizeRecursive == null ? false : resizeRecursive,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n updateFieldForAsset(\r\n assetGuid: any,\r\n fieldName: any,\r\n fieldValue: any,\r\n attribute: any,\r\n language: any,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/assets/field',\r\n {\r\n assetGuid: assetGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n attribute: attribute,\r\n language: language,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n moveAssetToFolder(folderGuid: string, listingAssetToMove: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'dam/assets/move/' +\r\n folderGuid,\r\n {\r\n listingAssetToMove: listingAssetToMove,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n moveAssetToHome(listingAssetToMove: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'dam/assets/move/' + null,\r\n {\r\n listingAssetToMove: listingAssetToMove,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n moveFolderToAnotherFolder(\r\n sourceFolderGuid: string,\r\n destinationFolderGuid: string,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/folders/move/' +\r\n sourceFolderGuid +\r\n '/' +\r\n destinationFolderGuid,\r\n { headers },\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n moveToTrash(listingAssetToMoveTrashbin: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'dam/assets/movetotrashbin/true',\r\n {\r\n listingAssetToMoveTrashbin: listingAssetToMoveTrashbin,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n moveAllOrphansToTrash() {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'dam/assets/movetotrashbin/true',\r\n {\r\n listingAssetToMoveTrashbin: [],\r\n moveAllOrphans: true,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n batchAssets(profileAssetGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'dam/assets/batch?profileAssetGuid=' +\r\n profileAssetGuid,\r\n {},\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n getAssetsWaitingInImport() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'dam/assets/countwaitingupload',\r\n { headers },\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n deleteFolder(folderGuid: string) {\r\n const httpOptions = {\r\n headers: this._settingsService.getHeaders(),\r\n };\r\n\r\n return this.http\r\n .delete(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/folders/' +\r\n folderGuid,\r\n httpOptions,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n deleteAssets(listingAssetToDelete: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .request(\r\n 'delete',\r\n this._settingsService.getSettings('apiUrl') + 'Dam/assets',\r\n {\r\n headers: headers,\r\n body: {\r\n listingAssetToDelete: listingAssetToDelete,\r\n },\r\n },\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n emptyTrash() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .request(\r\n 'delete',\r\n this._settingsService.getSettings('apiUrl') + 'Dam/assets',\r\n {\r\n headers: headers,\r\n body: {\r\n listingAssetToDelete: [],\r\n emptyTrash: true,\r\n },\r\n },\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n // REMOVE BG (AI)\r\n\r\n removeBg(assetguid: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/assets/removebg',\r\n {\r\n assetGuid: assetguid,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n restoreOriginal(assetguid: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/assets/restore',\r\n {\r\n assetGuid: assetguid,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpHeaders, HttpClient } from '@angular/common/http';\r\nimport { SettingsService } from './settings.service';\r\nimport { AuthService } from './auth.service';\r\nimport { websocketService } from './websocket.service';\r\nimport { finalize } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MediaSelectionService {\r\n constructor(\r\n private auth: AuthService,\r\n private _settingsService: SettingsService,\r\n private http: HttpClient,\r\n private _webSocket: websocketService\r\n ) { }\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getAssetsForBomItem(bomItemGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Boms/bomitems/' + bomItemGuid + '/assets', { headers });\r\n }\r\n\r\n getAssetsForBom(bomGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Boms/' + bomGuid + '/assets', { headers });\r\n }\r\n\r\n getAssetsForBomDrawing(bomGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Boms/' + bomGuid + '/drawing', { headers });\r\n }\r\n\r\n getAssetsForSku(skuGuid: string, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n if (!archive) {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Skus/' + skuGuid + '/assets', { headers });\r\n } else {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'SkusArchive/' + skuGuid + '/assets', { headers });\r\n }\r\n }\r\n\r\n getAssetsForSkuAttribute(skuGuid: string, attributeGuid: string, archive = false, language = '') {\r\n let headers = this._settingsService.getHeaders();\r\n if (!archive) {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Skus/' + skuGuid + '/assets/' + attributeGuid + '?language=' + language, { headers });\r\n } else {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'SkusArchive/' + skuGuid + '/assets/' + attributeGuid + '?language=' + language, { headers });\r\n }\r\n }\r\n\r\n getAssetsForCategoryAttribute(skuGuid: string, attributeGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'categories/' + skuGuid + '/assets/' + attributeGuid, { headers });\r\n }\r\n\r\n getAssetsByType(skuGuid: string, attributeGuid: string, type: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + type + '/' + skuGuid + '/assets/' + attributeGuid, { headers });\r\n }\r\n\r\n getAssetsForCategories(categoryGuid: string, field: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Categories/' + categoryGuid + '/assets?field=' + field, { headers });\r\n }\r\n\r\n getAssetsByGuidArray(guids: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.post(this._settingsService.getSettings('apiUrl') + 'Dam/assets/array', { assetGuids: guids }, { headers });\r\n }\r\n\r\n /* ========================================================================\r\n UPDATE\r\n ======================================================================== */\r\n\r\n updateSkuImages(skuGuid: any, tabGuidImages: any, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n if (!archive) {\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Skus/field',\r\n {\r\n skuGuid: skuGuid,\r\n fieldName: 'skuImages',\r\n fieldValue: tabGuidImages,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('RefreshWithArgument', 'mediaRefresh', null);\r\n })\r\n );\r\n } else {\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'SkusArchive/field',\r\n {\r\n skuGuid: skuGuid,\r\n fieldName: 'skuImages',\r\n fieldValue: tabGuidImages,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('RefreshWithArgument', 'mediaRefresh', null);\r\n })\r\n );\r\n }\r\n }\r\n\r\n replaceSkuImages(skuGuid: any, assetguidToReplace: any, assetGuidToInsert: any, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n if (!archive) {\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Skus/skuimages/replaceAsset',\r\n {\r\n skuGuid: skuGuid,\r\n assetguidToReplace: assetguidToReplace,\r\n assetGuidToInsert: assetGuidToInsert,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('RefreshWithArgument', 'mediaRefresh', null);\r\n })\r\n );\r\n } else {\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'SkusArchive/skuimages/replaceAsset',\r\n {\r\n skuGuid: skuGuid,\r\n assetguidToReplace: assetguidToReplace,\r\n assetGuidToInsert: assetGuidToInsert,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('RefreshWithArgument', 'mediaRefresh', null);\r\n })\r\n );\r\n }\r\n }\r\n\r\n updateBomModel(bomGuid: any, drawing: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(\r\n this._settingsService.getSettings('apiUrl') + 'boms/field',\r\n {\r\n bomGuid: bomGuid,\r\n fieldName: 'bomDrawing',\r\n fieldValue: drawing,\r\n },\r\n options\r\n );\r\n }\r\n\r\n updateBomItemImage(bomItemGuid: any, tabGuidImages: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(\r\n this._settingsService.getSettings('apiUrl') + 'Boms/bomItems/field',\r\n {\r\n bomItemGuid: bomItemGuid,\r\n fieldName: 'bomItemImages',\r\n fieldValue: tabGuidImages,\r\n },\r\n options\r\n );\r\n }\r\n\r\n updateBomImage(bomGuid: any, field: any, guidBomDrawing: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(\r\n this._settingsService.getSettings('apiUrl') + 'Boms/field',\r\n {\r\n bomGuid: bomGuid,\r\n fieldName: field,\r\n fieldValue: guidBomDrawing,\r\n },\r\n options\r\n );\r\n }\r\n\r\n updateSkuAttributeImages(skuGuid: any, tabGuidImages: any, attributeGuid: any, archive = false, oneLanguage = '') {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n if (!archive) {\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Skus/field',\r\n {\r\n skuGuid: skuGuid,\r\n fieldName: attributeGuid,\r\n fieldValue: tabGuidImages,\r\n attribute: true,\r\n language: oneLanguage ? oneLanguage : ''\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('RefreshWithArgument', 'mediaRefresh', attributeGuid);\r\n })\r\n );\r\n } else {\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'SkusArchive/field',\r\n {\r\n skuGuid: skuGuid,\r\n fieldName: attributeGuid,\r\n fieldValue: tabGuidImages,\r\n attribute: true,\r\n language: oneLanguage ? oneLanguage : ''\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('RefreshWithArgument', 'mediaRefresh', attributeGuid);\r\n })\r\n );\r\n }\r\n }\r\n\r\n updateCategoryAttributeImages(categoryGuid: any, tabGuidImages: any, attributeGuid: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(\r\n this._settingsService.getSettings('apiUrl') + 'Categories/field',\r\n {\r\n categoryGuid: categoryGuid,\r\n fieldName: attributeGuid,\r\n fieldValue: tabGuidImages,\r\n attribute: true,\r\n language: '',\r\n },\r\n options\r\n );\r\n }\r\n\r\n updateCategoryImage(categoryGuid: any, tabGuidImages: any, fieldName: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(\r\n this._settingsService.getSettings('apiUrl') + 'Categories/field',\r\n {\r\n categoryGuid: categoryGuid,\r\n fieldName: fieldName,\r\n fieldValue: tabGuidImages,\r\n },\r\n options\r\n );\r\n }\r\n\r\n updateWorkflowImage(assetGuid: any, workitemGuid: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(\r\n this._settingsService.getSettings('apiUrl') + 'workflow/item/field',\r\n {\r\n workitemGuid: workitemGuid,\r\n fieldName: 'workitemBaseGuid',\r\n fieldValue: assetGuid,\r\n },\r\n options\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpHeaders, HttpClient } from '@angular/common/http';\r\nimport { Observable, map, debounceTime, distinctUntilChanged, switchMap } from 'rxjs';\r\nimport { SettingsService } from './settings.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SearchService {\r\n headers = this._settingsService.getHeaders();\r\n queryUrl: string = '?search=';\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private _settingsService: SettingsService\r\n ) { }\r\n\r\n search(terms: Observable<string>) {\r\n return terms.pipe(\r\n debounceTime(400),\r\n distinctUntilChanged(),\r\n switchMap((term) => this.searchEntries(term))\r\n );\r\n }\r\n\r\n searchEntries(term: string | number | boolean) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Dam/assets' + this.queryUrl + encodeURIComponent(term), { headers }).pipe(map((res) => res));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { UserObject } from './user';\r\nimport { SettingsService } from '../settings.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class UsersService {\r\n constructor(\r\n private http: HttpClient,\r\n private _settingsService: SettingsService,\r\n ) {}\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getUsers(\r\n start: number,\r\n limit: number,\r\n search: string,\r\n team: string,\r\n profil: string,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get<UserObject[]>(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Users?search=' +\r\n search +\r\n '&limit=' +\r\n limit +\r\n '&start=' +\r\n start +\r\n '&profileGuid=' +\r\n profil +\r\n '&teamGuid=' +\r\n team,\r\n { headers },\r\n );\r\n }\r\n\r\n getUsersWithSort(sort: string, order: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get<UserObject[]>(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Users?sort=' +\r\n sort +\r\n '&direction=' +\r\n order,\r\n { headers },\r\n );\r\n }\r\n\r\n getUserByUserLogin(login: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get<UserObject[]>(\r\n this._settingsService.getSettings('apiUrl') + 'Users/' + login,\r\n { headers },\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n CREATE\r\n ======================================================================== */\r\n\r\n createUser(\r\n login: string,\r\n password: string,\r\n profileguid: string,\r\n language: string,\r\n active: boolean,\r\n email: string,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Users',\r\n {\r\n userLogin: login,\r\n userPassword: password,\r\n userProfileGuid: profileguid,\r\n userLanguage: language,\r\n userIsActive: active,\r\n userEmail: email,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n uploadProfilePicture(formData: FormData, login: string) {\r\n let token = this._settingsService.getToken();\r\n let language = this._settingsService.getLanguage();\r\n let headers = {\r\n Authorization: 'Bearer ' + token,\r\n 'Accept-Language': language,\r\n };\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Users/' +\r\n login +\r\n '/upload/avatar',\r\n formData,\r\n options,\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n UPDATE\r\n ======================================================================== */\r\n\r\n updateUserByField(userGuid: string, fieldName: string, fieldValue: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(\r\n this._settingsService.getSettings('apiUrl') + 'Users/field',\r\n {\r\n userGuid: userGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n modifyUser(user: UserObject) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(\r\n this._settingsService.getSettings('apiUrl') + 'Users',\r\n {\r\n user: user,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n changePassword(login: string, oldPassword: string, newPassword: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Users/changepassword',\r\n {\r\n login: login,\r\n oldPassword: oldPassword,\r\n newPassword: newPassword,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n DELETE\r\n ======================================================================== */\r\n\r\n deleteUsers(listLogin: string[]) {\r\n let headers = this._settingsService.getHeaders();\r\n\r\n return this.http.request(\r\n 'delete',\r\n this._settingsService.getSettings('apiUrl') + 'Users',\r\n {\r\n headers: headers,\r\n body: {\r\n listingUsersToDelete: listLogin,\r\n },\r\n },\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { SettingsService } from '../settings.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PricesTaxService {\r\n constructor(\r\n private http: HttpClient,\r\n private _settingsService: SettingsService,\r\n ) {}\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getAllPriceList() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') + 'PricesLists',\r\n { headers },\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n CREATE\r\n ======================================================================== */\r\n\r\n createPriceList(priceList: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'PricesLists',\r\n {\r\n pricesListName: priceList.pricesListName,\r\n pricesListCreatedAt: priceList.pricesListCreatedAt,\r\n pricesListModifiedAt: priceList.pricesListModifiedAt,\r\n pricesListOwner: priceList.pricesListOwner,\r\n pricesListTeam: priceList.pricesListTeam,\r\n pricesListCurrency: priceList.pricesListCurrency,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n UPDATE\r\n ======================================================================== */\r\n\r\n updatePriceList(priceList: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(\r\n this._settingsService.getSettings('apiUrl') + 'PricesLists',\r\n {\r\n pricesListGuid: priceList.pricesListGuid,\r\n pricesListName: priceList.pricesListName,\r\n pricesListCreatedAt: priceList.pricesListCreatedAt,\r\n pricesListModifiedAt: priceList.pricesListModifiedAt,\r\n pricesListOwner: priceList.pricesListOwner,\r\n pricesListTeam: priceList.pricesListTeam,\r\n pricesListCurrency: priceList.pricesListCurrency,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n updatePriceListByField(\r\n pricesListGuid: string,\r\n fieldName: string,\r\n fieldValue: any,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(\r\n this._settingsService.getSettings('apiUrl') + 'PricesLists/field',\r\n {\r\n pricesListGuid: pricesListGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n DELETE\r\n ======================================================================== */\r\n\r\n deletePriceList(listingPricesLists: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.request(\r\n 'delete',\r\n this._settingsService.getSettings('apiUrl') + 'PricesLists',\r\n {\r\n headers: headers,\r\n body: {\r\n listingPricesListToDelete: listingPricesLists,\r\n },\r\n },\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { SettingsService } from '../settings.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class NotificationServiceService {\r\n private quantity = new Subject<any>();\r\n\r\n //private showNav$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\r\n private sidenav?: MatSidenav;\r\n\r\n constructor(\r\n private _settingsService: SettingsService,\r\n private http: HttpClient,\r\n ) {}\r\n\r\n sendUpdate(message: number) {\r\n //the component that wants to update something, calls this fn\r\n this.quantity.next(message); //next(void 0) will feed the value in Subject\r\n }\r\n\r\n getUpdate(): Observable<any> {\r\n //the receiver component calls this function\r\n return this.quantity.asObservable(); //it returns as an observable to which the receiver funtion will subscribe\r\n }\r\n\r\n getNotifications(start: any = 0, limit?: any) {\r\n let headers = this._settingsService.getHeaders();\r\n var limitParameter = limit ? '&limit=' + limit : '';\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Notifications?start=' +\r\n start +\r\n limitParameter,\r\n { headers },\r\n );\r\n }\r\n\r\n markAllView() {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Notifications/markallview',\r\n {},\r\n options,\r\n );\r\n }\r\n\r\n markasreaded(notificationGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Notifications/markasreaded?notificationGuid=' +\r\n notificationGuid,\r\n {},\r\n options,\r\n );\r\n }\r\n\r\n public setSidenav(sidenav: MatSidenav) {\r\n this.sidenav = sidenav;\r\n }\r\n\r\n public open() {\r\n return this.sidenav?.open();\r\n }\r\n\r\n public close() {\r\n return this.sidenav?.close();\r\n }\r\n\r\n public toggle(): void {\r\n this.sidenav?.toggle();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ThumbnailService {\r\n /**\r\n * Generates a thumbnail from an SVG string.\r\n * @param svgString The SVG content\r\n * @param maxWidth Maximum width of the thumbnail (default 800)\r\n * @param quality Quality of the output WebP (default 0.3)\r\n * @returns A Promise resolving to a Blob (image/webp)\r\n */\r\n async generateThumbnail(svgString: string, maxWidth: number = 800, quality: number = 0.7): Promise<Blob> {\r\n if (!svgString) {\r\n throw new Error('SVG string is empty');\r\n }\r\n\r\n // Parse the string to DOM\r\n const parser = new DOMParser();\r\n const doc = parser.parseFromString(svgString, 'image/svg+xml');\r\n const clone = doc.documentElement as unknown as SVGSVGElement;\r\n\r\n // Perform thorough cleaning to avoid ANY external resource that might taint the canvas\r\n this.cleanForThumbnail(clone);\r\n\r\n // Inline images to avoid \"tainted canvas\" error\r\n await this.inlineImages(clone);\r\n\r\n const width = parseFloat(clone.getAttribute('width') || '100');\r\n const height = parseFloat(clone.getAttribute('height') || '100');\r\n const aspectRatio = width / height || 1;\r\n\r\n const thumbWidth = Math.min(width, maxWidth);\r\n const thumbHeight = thumbWidth / aspectRatio;\r\n\r\n // Serialize cleaned SVG\r\n const serializedSvg = new XMLSerializer().serializeToString(clone);\r\n const dataUrl = 'data:image/svg+xml;charset=utf-8,' + encodeURIComponent(serializedSvg);\r\n\r\n return new Promise((resolve, reject) => {\r\n const img = new Image();\r\n\r\n img.onload = () => {\r\n try {\r\n const canvas = document.createElement('canvas');\r\n canvas.width = thumbWidth;\r\n canvas.height = thumbHeight;\r\n const ctx = canvas.getContext('2d');\r\n\r\n if (!ctx) {\r\n reject(new Error('Could not get canvas context'));\r\n return;\r\n }\r\n\r\n ctx.imageSmoothingEnabled = true;\r\n ctx.imageSmoothingQuality = 'high';\r\n\r\n // Fill background with white\r\n ctx.fillStyle = 'white';\r\n ctx.fillRect(0, 0, thumbWidth, thumbHeight);\r\n\r\n ctx.drawImage(img, 0, 0, thumbWidth, thumbHeight);\r\n\r\n canvas.toBlob(\r\n (blob) => {\r\n if (blob) resolve(blob);\r\n else reject(new Error('Canvas toBlob failed'));\r\n },\r\n 'image/webp',\r\n quality\r\n );\r\n } catch (err) {\r\n console.error('Canvas export failed', err);\r\n reject(err);\r\n }\r\n };\r\n\r\n img.onerror = (err) => {\r\n console.error('Image loading failed for thumbnail', err);\r\n reject(new Error('Image loading failed for thumbnail'));\r\n };\r\n\r\n img.src = dataUrl;\r\n });\r\n }\r\n\r\n private cleanForThumbnail(clone: SVGSVGElement) {\r\n // 1. Copy relevant page styles (especially CSS variables) into the SVG\r\n this.injectPageVariables(clone);\r\n\r\n // 2. Clean all <style> tags\r\n clone.querySelectorAll('style').forEach((styleEl) => {\r\n let css = styleEl.textContent || '';\r\n // Remove @import to avoid tainting.\r\n css = css.replace(/@import[^;]+;/gi, '');\r\n // Remove external url() references but keep data: urls and internal fragments\r\n css = css.replace(/url\\(\\s*[\"']?(?!data:|#)[^)]+\\)/gi, 'none');\r\n styleEl.textContent = css;\r\n });\r\n\r\n // 3. Remove blacklisted elements\r\n clone.querySelectorAll('script, link, iframe, object, embed').forEach((el) => el.remove());\r\n }\r\n\r\n private injectPageVariables(clone: SVGSVGElement) {\r\n // Get CSS variables from the main document to preserve theme colors\r\n const root = document.documentElement;\r\n const computed = getComputedStyle(root);\r\n\r\n // Subset of common variables to avoid bloat\r\n const varNames = ['--active', '--gray-1', '--gray-2', '--gray-3', '--gray-4', '--gray-5', '--white', '--black', '--radius-s', '--radius-m'];\r\n\r\n let varsCss = ':root {\\n';\r\n varNames.forEach((name) => {\r\n const val = computed.getPropertyValue(name).trim();\r\n if (val) varsCss += ` ${name}: ${val};\\n`;\r\n });\r\n varsCss += '}\\n';\r\n\r\n const styleEl = document.createElementNS('http://www.w3.org/2000/svg', 'style');\r\n styleEl.textContent = varsCss;\r\n clone.insertBefore(styleEl, clone.firstChild);\r\n }\r\n\r\n private async inlineImages(clone: SVGSVGElement): Promise<void> {\r\n const promises: Promise<void>[] = [];\r\n\r\n // 1. Handle elements that might be missing data urls\r\n // Note: Project uses <img> tags inside foreignObject or <image> tags\r\n clone.querySelectorAll('img, image').forEach((img) => {\r\n const isHTMLImg = img.tagName.toLowerCase() === 'img';\r\n const src = isHTMLImg ? (img as HTMLImageElement).src : img.getAttribute('href');\r\n\r\n if (src && !src.startsWith('data:')) {\r\n promises.push(\r\n this.toDataUrl(src)\r\n .then((dataUrl) => {\r\n if (isHTMLImg) (img as HTMLImageElement).src = dataUrl;\r\n else img.setAttribute('href', dataUrl);\r\n })\r\n .catch(() => {\r\n // If failed, we might want to keep it or remove it.\r\n // Removing it to avoid \"tainted canvas\" error.\r\n img.remove();\r\n })\r\n );\r\n }\r\n });\r\n\r\n // 2. Inline background images in style attributes\r\n clone.querySelectorAll('[style*=\"background-image\"]').forEach((el) => {\r\n const htmlEl = el as HTMLElement;\r\n const bg = htmlEl.style.backgroundImage;\r\n const match = bg.match(/url\\(\\s*[\"']?([^\"']+)[\"']?\\s*\\)/);\r\n if (match && match[1] && !match[1].startsWith('data:')) {\r\n promises.push(\r\n this.toDataUrl(match[1])\r\n .then((dataUrl) => {\r\n htmlEl.style.backgroundImage = `url(\"${dataUrl}\")`;\r\n })\r\n .catch(() => {\r\n htmlEl.style.backgroundImage = 'none';\r\n })\r\n );\r\n }\r\n });\r\n\r\n await Promise.all(promises);\r\n }\r\n\r\n private async toDataUrl(url: string): Promise<string> {\r\n try {\r\n const response = await fetch(url);\r\n if (!response.ok) throw new Error('Fetch failed');\r\n const blob = await response.blob();\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.onloadend = () => resolve(reader.result as string);\r\n reader.onerror = reject;\r\n reader.readAsDataURL(blob);\r\n });\r\n } catch {\r\n throw new Error(`Could not convert to data url: ${url}`);\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport JSZip from 'jszip';\r\nimport { SettingsService } from '../../settings.service';\r\nimport { ThumbnailService } from './thumbnail.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class GenerationService {\r\n constructor(\r\n private http: HttpClient,\r\n private _settingsService: SettingsService,\r\n private thumbnailService: ThumbnailService,\r\n ) {}\r\n\r\n generateDocument(objectGeneratePDF: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'DataSheets/generate/svg',\r\n objectGeneratePDF,\r\n options,\r\n );\r\n }\r\n\r\n async generatePdfByFile(objectGeneratePDF: any, files: any) {\r\n // ZIP\r\n const zip = new JSZip();\r\n\r\n if (objectGeneratePDF.source === 2) {\r\n zip.folder('thumbnails');\r\n }\r\n\r\n files.forEach((f: any) => {\r\n const fileName = f.sourceGuid ? `${f.sourceGuid}__${f.name}` : f.name;\r\n zip.file(fileName, f.svg);\r\n });\r\n\r\n // THUMBNAILS\r\n if (objectGeneratePDF.source === 2) {\r\n console.log(\r\n `ModalPdfService: Generating thumbnails for ${files.length} files...`,\r\n );\r\n const BATCH_SIZE = 5;\r\n for (let i = 0; i < files.length; i += BATCH_SIZE) {\r\n const batch = files.slice(i, i + BATCH_SIZE);\r\n await Promise.all(\r\n batch.map(async (f: any) => {\r\n try {\r\n const thumbnailBlob =\r\n await this.thumbnailService.generateThumbnail(f.svg);\r\n const fileName = f.sourceGuid\r\n ? `${f.sourceGuid}__${f.name}`\r\n : f.name;\r\n const thumbName = fileName.replace(/\\.svg$/i, '.webp');\r\n zip.file(`thumbnails/${thumbName}`, thumbnailBlob);\r\n } catch (err) {\r\n console.error(\r\n `ModalPdfService: Failed to generate thumbnail for ${f.name}`,\r\n err,\r\n );\r\n }\r\n }),\r\n );\r\n }\r\n }\r\n\r\n // ZIP BLOB\r\n const zipBlob = await zip.generateAsync({\r\n type: 'blob',\r\n compression: 'DEFLATE',\r\n compressionOptions: { level: 6 },\r\n });\r\n\r\n // CHUNKS\r\n const CHUNK_SIZE = 5 * 1024 * 1024;\r\n const totalChunks = Math.ceil(zipBlob.size / CHUNK_SIZE);\r\n const uploadId = `${objectGeneratePDF.sourceGuid}_${Date.now()}`;\r\n\r\n // CHUNKS LOOP\r\n for (let chunkIndex = 0; chunkIndex < totalChunks; chunkIndex++) {\r\n const start = chunkIndex * CHUNK_SIZE;\r\n const end = Math.min(start + CHUNK_SIZE, zipBlob.size);\r\n const chunk = zipBlob.slice(start, end);\r\n\r\n await this.sendChunk(\r\n objectGeneratePDF,\r\n chunk,\r\n uploadId,\r\n chunkIndex,\r\n totalChunks,\r\n );\r\n }\r\n }\r\n\r\n async sendChunk(\r\n objectPDF: any,\r\n chunkBlob: Blob,\r\n uploadId: string,\r\n chunkIndex: number,\r\n totalChunks: number,\r\n ) {\r\n const formData = new FormData();\r\n\r\n // On passe les datas de ton objet\r\n Object.keys(objectPDF).forEach((key) => {\r\n if (\r\n objectPDF[key] !== null &&\r\n objectPDF[key] !== undefined &&\r\n key !== 'files'\r\n ) {\r\n formData.append(key, objectPDF[key].toString());\r\n }\r\n });\r\n\r\n // Infos de gestion du Chunk\r\n formData.append('uploadId', uploadId);\r\n formData.append('chunkIndex', chunkIndex.toString());\r\n formData.append('totalChunks', totalChunks.toString());\r\n\r\n // Le morceau de fichier\r\n formData.append('chunkFile', chunkBlob, `chunk_${chunkIndex}.zip`);\r\n\r\n let headers = this._settingsService.getHeaders();\r\n if (headers instanceof HttpHeaders) {\r\n if (headers.has('Content-Type')) headers = headers.delete('Content-Type');\r\n } else {\r\n if (headers['Content-Type']) delete headers['Content-Type'];\r\n }\r\n\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'DataSheets/generate/import/svg',\r\n formData,\r\n { headers },\r\n )\r\n .toPromise();\r\n }\r\n\r\n getPublicationTemplate(\r\n start = 0,\r\n limit = 10000,\r\n type = 'ALL',\r\n search = '',\r\n active = 'true',\r\n sort = 'publicationtemplatename',\r\n direction = 'ASC',\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'DataSheets/publicationstemplates?start=' +\r\n start +\r\n '&limit=' +\r\n limit +\r\n '&type=' +\r\n type +\r\n '&search=' +\r\n search +\r\n '&active=' +\r\n active +\r\n '&sort=' +\r\n sort +\r\n '&direction=' +\r\n direction,\r\n { headers },\r\n );\r\n }\r\n\r\n registerBatch(batchConfig: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Exchanges/export/batch/datasheets',\r\n batchConfig,\r\n { headers },\r\n );\r\n }\r\n\r\n getBatchConfig(skuGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Exchanges/export/batch/datasheets/config/' +\r\n skuGuid,\r\n { headers },\r\n );\r\n }\r\n\r\n deleteBatchConfig(skuGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.delete(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Exchanges/export/batch/datasheets/' +\r\n skuGuid,\r\n { headers },\r\n );\r\n }\r\n\r\n getSkusDatas(\r\n language: string,\r\n attributeSkuGuid: string,\r\n templateGuid: string,\r\n onlyNeedRegeneration: boolean = true,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'DataSheets/skus/datas?language=' +\r\n language +\r\n '&attributeSkuGuid=' +\r\n attributeSkuGuid +\r\n '&templateGuid=' +\r\n templateGuid +\r\n '&onlyNeedRegeneration=' +\r\n onlyNeedRegeneration,\r\n { headers },\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { AuthService } from '../../auth.service';\r\nimport { SettingsService } from '../../settings.service';\r\nimport { websocketService } from '../../websocket.service';\r\nimport { finalize } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ProductSheetsService {\r\n constructor(\r\n private auth: AuthService,\r\n private _settingsService: SettingsService,\r\n private http: HttpClient,\r\n private _webSocket: websocketService,\r\n ) {}\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getProductSheetsByAssetGuid(assetGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/product-sheets/asset/' +\r\n assetGuid,\r\n { headers },\r\n );\r\n }\r\n\r\n getProductSheetLines(\r\n productSheetGuid: string,\r\n start = 0,\r\n limit = 10000,\r\n summary = false,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/product-sheets/' +\r\n productSheetGuid +\r\n '/lines?start=' +\r\n start +\r\n '&limit=' +\r\n limit +\r\n '&summary=' +\r\n summary,\r\n { headers },\r\n );\r\n }\r\n\r\n getProductSheetColumns(assetGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/product-sheets/columns/asset/' +\r\n assetGuid,\r\n { headers },\r\n );\r\n }\r\n\r\n getProductSheetLineByGuid(\r\n productSheetGuid: string,\r\n productSheetLineGuid: string,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/product-sheets/' +\r\n productSheetGuid +\r\n '/line',\r\n { lineGuid: productSheetLineGuid },\r\n { headers },\r\n );\r\n }\r\n\r\n getProductSheetLineByReference(productSheetGuid: string, reference: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/product-sheets/' +\r\n productSheetGuid +\r\n '/line',\r\n { lineRef: reference },\r\n { headers },\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n POST\r\n ======================================================================== */\r\n\r\n addProductSheetLine(\r\n productSheetLineAttributes: any,\r\n productSheetGuid: string,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/product-sheets/lines',\r\n {\r\n productSheetLineAttributes: productSheetLineAttributes,\r\n productSheetGuid: productSheetGuid,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n addProductSheetLines(productSheetLines: any[], productSheetGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/product-sheets/lines/bulk',\r\n {\r\n productSheetGuid,\r\n lines: productSheetLines,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n createProductSheetColumn(productSheetColumn: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/product-sheets/columns',\r\n productSheetColumn,\r\n options,\r\n );\r\n }\r\n\r\n createProductSheetAsset(assetName: string, folderGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/product-sheets/asset',\r\n {\r\n assetName: assetName,\r\n folderGuid: folderGuid,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n createProductSheet(sheetName: string, assetGuid: string, columns: any[] = []) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/product-sheets',\r\n {\r\n productSheetName: sheetName,\r\n assetGuid: assetGuid,\r\n columns: columns,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n importProductSheet(\r\n assetGuid: string,\r\n file: File,\r\n referenceColumn: string,\r\n imageColumns: string[],\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n if (headers instanceof HttpHeaders) {\r\n if (headers.has('Content-Type')) {\r\n headers = headers.delete('Content-Type');\r\n }\r\n } else if (headers['Content-Type']) {\r\n delete headers['Content-Type'];\r\n }\r\n const options = { headers: headers };\r\n\r\n const formData = new FormData();\r\n formData.append('file', file);\r\n formData.append('referenceColumn', referenceColumn);\r\n imageColumns.forEach((col) => formData.append('imageColumns', col));\r\n\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') +\r\n `Dam/product-sheets/import/${assetGuid}`,\r\n formData,\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n DELETE\r\n ======================================================================== */\r\n\r\n deleteProductSheet(productSheetGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.delete(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/product-sheets/' +\r\n productSheetGuid,\r\n { headers },\r\n )\r\n }\r\n\r\n deleteProductSheetColumn(productSheetColumnGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .delete(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/product-sheets/columns/' +\r\n productSheetColumnGuid,\r\n { headers },\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n deleteProductSheetLine(productSheetLineGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.delete(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/product-sheets/lines/' +\r\n productSheetLineGuid,\r\n { headers },\r\n )\r\n }\r\n\r\n /* ========================================================================\r\n PUT\r\n ======================================================================== */\r\n\r\n updateProductSheetLine(productSheetLine: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/product-sheets/lines',\r\n productSheetLine,\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n updateProductSheetColumn(productSheetColumn: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/product-sheets/columns',\r\n productSheetColumn,\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n}\r\n","export interface PublicationPageProps {\r\n publicationGuid?: string;\r\n pageId?: number;\r\n name?: string;\r\n status?: number;\r\n background?: string;\r\n order?: number;\r\n modifiedAt?: Date | string | null;\r\n type?: string;\r\n dataCount?: number;\r\n isMarketingBlock?: boolean;\r\n attributes?: any[];\r\n}\r\n\r\nexport class PublicationPage {\r\n private _publicationGuid: string = '';\r\n private _pageId: number = 0;\r\n private _name: string = '';\r\n private _status: number = 0; // PageStatus enum: Draft = 0, Waiting = 1, Ready = 2, InProcess = 3\r\n private _background: string = '';\r\n private _order: number = 0;\r\n private _modifiedAt: Date | string | null = null;\r\n private _type: string = 'SKUS';\r\n private _dataCount: number = 0;\r\n private _attributes: any[] = [];\r\n\r\n constructor(data: PublicationPageProps = {}) {\r\n this._publicationGuid = data.publicationGuid ?? '';\r\n this.pageId = data.pageId ?? 0;\r\n this.name = data.name ?? '';\r\n this.status = data.status ?? 0;\r\n this.background = data.background ?? '';\r\n this.order = data.order ?? 0;\r\n this.modifiedAt = data.modifiedAt ?? null;\r\n this.type = data.type ?? 'SKUS';\r\n this.dataCount = data.dataCount ?? 0;\r\n this.attributes = data.attributes ?? [];\r\n }\r\n\r\n get publicationGuid(): string {\r\n return this._publicationGuid;\r\n }\r\n set publicationGuid(value: string) {\r\n this._publicationGuid = value || '';\r\n }\r\n\r\n get pageId(): number {\r\n return this._pageId;\r\n }\r\n set pageId(value: number) {\r\n this._pageId = value || 0;\r\n }\r\n\r\n get name(): string {\r\n return this._name;\r\n }\r\n set name(value: string) {\r\n this._name = value || '';\r\n }\r\n\r\n get status(): number {\r\n return this._status;\r\n }\r\n set status(value: number) {\r\n this._status = value || 0;\r\n }\r\n\r\n get background(): string {\r\n return this._background;\r\n }\r\n set background(value: string) {\r\n this._background = value || '';\r\n }\r\n\r\n get order(): number {\r\n return this._order;\r\n }\r\n set order(value: number) {\r\n this._order = value || 0;\r\n }\r\n\r\n get modifiedAt(): Date | string | null {\r\n return this._modifiedAt;\r\n }\r\n set modifiedAt(value: Date | string | null) {\r\n this._modifiedAt = value;\r\n }\r\n\r\n get type(): string {\r\n return this._type;\r\n }\r\n set type(value: string) {\r\n this._type = value || 'SKUS';\r\n }\r\n\r\n get dataCount(): number {\r\n return this._dataCount;\r\n }\r\n set dataCount(value: number) {\r\n this._dataCount = value || 0;\r\n }\r\n\r\n get attributes(): any[] {\r\n return this._attributes;\r\n }\r\n set attributes(value: any[]) {\r\n this._attributes = value || [];\r\n }\r\n\r\n toJSON() {\r\n return {\r\n publicationGuid: this.publicationGuid,\r\n pageId: this.pageId,\r\n name: this.name,\r\n status: this.status,\r\n background: this.background,\r\n order: this.order,\r\n modifiedAt: this.modifiedAt,\r\n type: this.type,\r\n dataCount: this.dataCount,\r\n attributes: this.attributes,\r\n };\r\n }\r\n}\r\n\r\nexport interface PublicationPagesResponse {\r\n getPublicationPages: PublicationPage[];\r\n}\r\n","import { PublicationPage } from './publication-page.model';\r\n\r\nexport const DEFAULT_PUBLICATION_STR = '00000000-0000-0000-0000-000000000000';\r\n\r\nexport interface PublicationProps {\r\n publicationGuid?: string;\r\n publicationId?: number;\r\n publicationLocked?: boolean;\r\n publicationName?: string;\r\n publicationDescription?: string;\r\n publicationValidationDate?: Date | string | null;\r\n publicationDeadline?: Date | string | null;\r\n publicationActive?: boolean;\r\n publicationStatus?: number;\r\n publicationRemarks?: string;\r\n publicationMasterINDD?: string;\r\n publicationLibraryINDL?: string;\r\n publicationFinalINDD?: string;\r\n publicationPDF?: string;\r\n publicationTotalPages?: number;\r\n publicationContents?: string;\r\n publicationMasterSpreads?: string;\r\n publicationFormat?: string;\r\n publicationOrientationPortrait?: boolean;\r\n publicationPreview?: string;\r\n publicationDraft?: string;\r\n publicationBeta?: string;\r\n publicationAlpha?: string;\r\n publicationProgress?: number;\r\n publicationType?: string;\r\n publicationVersion?: number;\r\n publicationLangsBlocked?: string[];\r\n publicationPageStart?: number;\r\n publicationPageStartLeft?: boolean;\r\n selectionCode?: string;\r\n publicationTemplateGuid?: string;\r\n publicationCoverpage?: string;\r\n publicationDealGuid?: string;\r\n publicationRatebase?: number;\r\n publicationPriceListGuid?: string;\r\n publicationAccountGuid?: string;\r\n publicationAttributes?: any[];\r\n publicationLanguage?: string;\r\n publicationAutoGeneration?: boolean;\r\n publicationYouBooky?: boolean;\r\n publicationProductSheetGuid?: string | null;\r\n publicationProductSheetAssetGuid?: string | null;\r\n publicationRelecturePDFs?: string[];\r\n publicationTemplateDefaultBackgroundGuid?: string;\r\n publicationPageIdFirst?: string;\r\n publicationTemplateBackgroundName?: string;\r\n publicationPreviewUrl?: string;\r\n publicationTemplateName?: string;\r\n publicationCoverpageUrl?: string;\r\n publicationNbPages?: number;\r\n publicationNbSkus?: number;\r\n publicationPages?: any[];\r\n publicationFolderGuid?: string;\r\n\r\n // PascalCase properties for backward compatibility\r\n PublicationGuid?: string;\r\n PublicationId?: number;\r\n PublicationLocked?: boolean;\r\n PublicationName?: string;\r\n PublicationDescription?: string;\r\n PublicationValidationDate?: Date | string | null;\r\n PublicationDeadline?: Date | string | null;\r\n PublicationActive?: boolean;\r\n PublicationStatus?: number;\r\n PublicationRemarks?: string;\r\n PublicationMasterINDD?: string;\r\n PublicationLibraryINDL?: string;\r\n PublicationFinalINDD?: string;\r\n PublicationPDF?: string;\r\n PublicationTotalPages?: number;\r\n PublicationContents?: string;\r\n PublicationMasterSpreads?: string;\r\n PublicationFormat?: string;\r\n PublicationOrientationPortrait?: boolean;\r\n PublicationPreview?: string;\r\n PublicationDraft?: string;\r\n PublicationBeta?: string;\r\n PublicationAlpha?: string;\r\n PublicationProgress?: number;\r\n PublicationType?: string;\r\n PublicationVersion?: number;\r\n PublicationLangsBlocked?: string[];\r\n PublicationPageStart?: number;\r\n PublicationPageStartLeft?: boolean;\r\n SelectionCode?: string;\r\n PublicationTemplateGuid?: string;\r\n PublicationCoverpage?: string;\r\n PublicationDealGuid?: string;\r\n PublicationRatebase?: number;\r\n PublicationPriceListGuid?: string;\r\n PublicationAccountGuid?: string;\r\n PublicationAttributes?: any[];\r\n PublicationLanguage?: string;\r\n PublicationAutoGeneration?: boolean;\r\n PublicationYouBooky?: boolean;\r\n PublicationProductSheetGuid?: string | null;\r\n PublicationProductSheetAssetGuid?: string | null;\r\n PublicationRelecturePDFs?: string[];\r\n PublicationTemplateDefaultBackgroundGuid?: string;\r\n PublicationPageIdFirst?: string;\r\n PublicationTemplateBackgroundName?: string;\r\n PublicationPreviewUrl?: string;\r\n PublicationTemplateName?: string;\r\n PublicationCoverpageUrl?: string;\r\n PublicationNbPages?: number;\r\n PublicationNbSkus?: number;\r\n PublicationPages?: any[];\r\n PublicationFolderGuid?: string;\r\n}\r\n\r\nexport class Publication {\r\n private _publicationGuid: string = DEFAULT_PUBLICATION_STR;\r\n private _publicationId: number = 0;\r\n private _publicationLocked: boolean = false;\r\n private _publicationName: string = '';\r\n private _publicationDescription: string = '';\r\n private _publicationValidationDate: Date | string | null = null;\r\n private _publicationDeadline: Date | string | null = null;\r\n private _publicationActive: boolean = false;\r\n private _publicationStatus: number = 0;\r\n private _publicationRemarks: string = '';\r\n private _publicationMasterINDD: string = '';\r\n private _publicationLibraryINDL: string = '';\r\n private _publicationFinalINDD: string = '';\r\n private _publicationPDF: string = '';\r\n private _publicationTotalPages: number = 0;\r\n private _publicationContents: string = '';\r\n private _publicationMasterSpreads: string = '';\r\n private _publicationFormat: string = '';\r\n private _publicationOrientationPortrait: boolean = false;\r\n private _publicationPreview: string = '';\r\n private _publicationDraft: string = '';\r\n private _publicationBeta: string = '';\r\n private _publicationAlpha: string = '';\r\n private _publicationProgress: number = 0;\r\n private _publicationType: string = '';\r\n private _publicationVersion: number = 0;\r\n private _publicationLangsBlocked: string[] = [];\r\n private _publicationPageStart: number = 1;\r\n private _publicationPageStartLeft: boolean = false;\r\n private _publicationTemplateGuid: string = DEFAULT_PUBLICATION_STR;\r\n private _publicationCoverpage: string = '';\r\n private _publicationDealGuid: string = '';\r\n private _publicationRatebase: number = 0;\r\n private _publicationPriceListGuid: string = DEFAULT_PUBLICATION_STR;\r\n private _publicationAccountGuid: string = '';\r\n private _publicationAttributes: any[] = [];\r\n private _publicationLanguage: string = '';\r\n private _publicationAutoGeneration: boolean = true;\r\n private _publicationYouBooky: boolean = false;\r\n private _publicationProductSheetGuid: string | null = null;\r\n private _publicationProductSheetAssetGuid: string | null = null;\r\n private _publicationRelecturePDFs: string[] = [];\r\n private _publicationTemplateDefaultBackgroundGuid: string = '';\r\n private _publicationPageIdFirst: string = '';\r\n private _publicationTemplateBackgroundName: string = '';\r\n private _publicationPreviewUrl: string = '';\r\n private _publicationTemplateName: string = '';\r\n private _publicationCoverpageUrl: string = '';\r\n private _publicationNbPages: number = 0;\r\n private _publicationNbSkus: number = 0;\r\n private _publicationPages: PublicationPage[] = [];\r\n private _publicationFolderGuid: string = '';\r\n private _selectionCode: string = '';\r\n\r\n constructor(data: PublicationProps = {}) {\r\n this._publicationGuid = data.publicationGuid ?? DEFAULT_PUBLICATION_STR;\r\n this.publicationId = data.publicationId ?? 0;\r\n this.publicationLocked = data.publicationLocked ?? false;\r\n this.publicationName = data.publicationName ?? '';\r\n this.publicationDescription = data.publicationDescription ?? '';\r\n this.publicationValidationDate = data.publicationValidationDate ?? null;\r\n this.publicationDeadline = data.publicationDeadline ?? null;\r\n this.publicationActive = data.publicationActive ?? false;\r\n this.publicationStatus = data.publicationStatus ?? 0;\r\n this.publicationRemarks = data.publicationRemarks ?? '';\r\n this.publicationMasterINDD = data.publicationMasterINDD ?? '';\r\n this.publicationLibraryINDL = data.publicationLibraryINDL ?? '';\r\n this.publicationFinalINDD = data.publicationFinalINDD ?? '';\r\n this.publicationPDF = data.publicationPDF ?? '';\r\n this.publicationTotalPages = data.publicationTotalPages ?? 0;\r\n this.publicationContents = data.publicationContents ?? '';\r\n this.publicationMasterSpreads = data.publicationMasterSpreads ?? '';\r\n this.publicationFormat = data.publicationFormat ?? '';\r\n this.publicationOrientationPortrait = data.publicationOrientationPortrait ?? false;\r\n this.publicationPreview = data.publicationPreview ?? '';\r\n this.publicationDraft = data.publicationDraft ?? '';\r\n this.publicationBeta = data.publicationBeta ?? '';\r\n this.publicationAlpha = data.publicationAlpha ?? '';\r\n this.publicationProgress = data.publicationProgress ?? 0;\r\n this.publicationType = data.publicationType ?? '';\r\n this.publicationVersion = data.publicationVersion ?? 0;\r\n this.publicationLangsBlocked = data.publicationLangsBlocked ?? [];\r\n this.publicationPageStart = data.publicationPageStart ?? 1;\r\n this.publicationPageStartLeft = data.publicationPageStartLeft ?? false;\r\n this.selectionCode = data.selectionCode ?? data.SelectionCode ?? '';\r\n this.publicationTemplateGuid = data.publicationTemplateGuid ?? DEFAULT_PUBLICATION_STR;\r\n this.publicationCoverpage = data.publicationCoverpage ?? '';\r\n this.publicationDealGuid = data.publicationDealGuid ?? '';\r\n this.publicationRatebase = data.publicationRatebase ?? 0;\r\n this.publicationPriceListGuid = data.publicationPriceListGuid ?? DEFAULT_PUBLICATION_STR;\r\n this.publicationAccountGuid = data.publicationAccountGuid ?? '';\r\n this.publicationAttributes = data.publicationAttributes ?? [];\r\n this.publicationLanguage = data.publicationLanguage ?? '';\r\n this.publicationAutoGeneration = data.publicationAutoGeneration ?? true;\r\n this.publicationYouBooky = data.publicationYouBooky ?? false;\r\n this.publicationProductSheetGuid = data.publicationProductSheetGuid ?? null;\r\n this.publicationProductSheetAssetGuid = data.publicationProductSheetAssetGuid ?? null;\r\n this.publicationRelecturePDFs = data.publicationRelecturePDFs ?? [];\r\n this.publicationTemplateDefaultBackgroundGuid = data.publicationTemplateDefaultBackgroundGuid ?? '';\r\n this.publicationPageIdFirst = data.publicationPageIdFirst ?? '';\r\n this.publicationTemplateBackgroundName = data.publicationTemplateBackgroundName ?? '';\r\n this.publicationPreviewUrl = data.publicationPreviewUrl ?? '';\r\n this.publicationTemplateName = data.publicationTemplateName ?? '';\r\n this.publicationCoverpageUrl = data.publicationCoverpageUrl ?? '';\r\n this.publicationNbPages = data.publicationNbPages ?? 0;\r\n this.publicationNbSkus = data.publicationNbSkus ?? 0;\r\n this._publicationFolderGuid = data.publicationFolderGuid ?? data.PublicationFolderGuid ?? '';\r\n\r\n if (data.publicationPages) {\r\n const pages = data.publicationPages;\r\n this._publicationPages = Array.isArray(pages) ? pages.map((p) => new PublicationPage(p)) : [];\r\n } else {\r\n this._publicationPages = [];\r\n }\r\n }\r\n\r\n // Getters & Setters\r\n get publicationGuid(): string {\r\n return this._publicationGuid;\r\n }\r\n set publicationGuid(value: string) {\r\n this._publicationGuid = value || DEFAULT_PUBLICATION_STR;\r\n }\r\n\r\n get publicationId(): number {\r\n return this._publicationId;\r\n }\r\n set publicationId(value: number) {\r\n this._publicationId = value || 0;\r\n }\r\n\r\n get publicationLocked(): boolean {\r\n return this._publicationLocked;\r\n }\r\n set publicationLocked(value: boolean) {\r\n this._publicationLocked = !!value;\r\n }\r\n\r\n get publicationName(): string {\r\n return this._publicationName;\r\n }\r\n set publicationName(value: string) {\r\n this._publicationName = value || '';\r\n }\r\n\r\n get publicationDescription(): string {\r\n return this._publicationDescription;\r\n }\r\n set publicationDescription(value: string) {\r\n this._publicationDescription = value || '';\r\n }\r\n\r\n get publicationValidationDate(): Date | string | null {\r\n return this._publicationValidationDate;\r\n }\r\n set publicationValidationDate(value: Date | string | null) {\r\n this._publicationValidationDate = value;\r\n }\r\n\r\n get publicationDeadline(): Date | string | null {\r\n return this._publicationDeadline;\r\n }\r\n set publicationDeadline(value: Date | string | null) {\r\n this._publicationDeadline = value;\r\n }\r\n\r\n get publicationActive(): boolean {\r\n return this._publicationActive;\r\n }\r\n set publicationActive(value: boolean) {\r\n this._publicationActive = !!value;\r\n }\r\n\r\n get publicationStatus(): number {\r\n return this._publicationStatus;\r\n }\r\n set publicationStatus(value: number) {\r\n this._publicationStatus = value || 0;\r\n }\r\n\r\n get publicationRemarks(): string {\r\n return this._publicationRemarks;\r\n }\r\n set publicationRemarks(value: string) {\r\n this._publicationRemarks = value || '';\r\n }\r\n\r\n get publicationMasterINDD(): string {\r\n return this._publicationMasterINDD;\r\n }\r\n set publicationMasterINDD(value: string) {\r\n this._publicationMasterINDD = value || '';\r\n }\r\n\r\n get publicationLibraryINDL(): string {\r\n return this._publicationLibraryINDL;\r\n }\r\n set publicationLibraryINDL(value: string) {\r\n this._publicationLibraryINDL = value || '';\r\n }\r\n\r\n get publicationFinalINDD(): string {\r\n return this._publicationFinalINDD;\r\n }\r\n set publicationFinalINDD(value: string) {\r\n this._publicationFinalINDD = value || '';\r\n }\r\n\r\n get publicationPDF(): string {\r\n return this._publicationPDF;\r\n }\r\n set publicationPDF(value: string) {\r\n this._publicationPDF = value || '';\r\n }\r\n\r\n get publicationTotalPages(): number {\r\n return this._publicationTotalPages;\r\n }\r\n set publicationTotalPages(value: number) {\r\n this._publicationTotalPages = value || 0;\r\n }\r\n\r\n get publicationContents(): string {\r\n return this._publicationContents;\r\n }\r\n set publicationContents(value: string) {\r\n this._publicationContents = value || '';\r\n }\r\n\r\n get publicationMasterSpreads(): string {\r\n return this._publicationMasterSpreads;\r\n }\r\n set publicationMasterSpreads(value: string) {\r\n this._publicationMasterSpreads = value || '';\r\n }\r\n\r\n get publicationFormat(): string {\r\n return this._publicationFormat;\r\n }\r\n set publicationFormat(value: string) {\r\n this._publicationFormat = value || '';\r\n }\r\n\r\n get publicationOrientationPortrait(): boolean {\r\n return this._publicationOrientationPortrait;\r\n }\r\n set publicationOrientationPortrait(value: boolean) {\r\n this._publicationOrientationPortrait = !!value;\r\n }\r\n\r\n get publicationPreview(): string {\r\n return this._publicationPreview;\r\n }\r\n set publicationPreview(value: string) {\r\n this._publicationPreview = value || '';\r\n }\r\n\r\n get publicationDraft(): string {\r\n return this._publicationDraft;\r\n }\r\n set publicationDraft(value: string) {\r\n this._publicationDraft = value || '';\r\n }\r\n\r\n get publicationBeta(): string {\r\n return this._publicationBeta;\r\n }\r\n set publicationBeta(value: string) {\r\n this._publicationBeta = value || '';\r\n }\r\n\r\n get publicationAlpha(): string {\r\n return this._publicationAlpha;\r\n }\r\n set publicationAlpha(value: string) {\r\n this._publicationAlpha = value || '';\r\n }\r\n\r\n get publicationProgress(): number {\r\n return this._publicationProgress;\r\n }\r\n set publicationProgress(value: number) {\r\n this._publicationProgress = value || 0;\r\n }\r\n\r\n get publicationType(): string {\r\n return this._publicationType;\r\n }\r\n set publicationType(value: string) {\r\n this._publicationType = value || '';\r\n }\r\n\r\n get publicationVersion(): number {\r\n return this._publicationVersion;\r\n }\r\n set publicationVersion(value: number) {\r\n this._publicationVersion = value || 0;\r\n }\r\n\r\n get publicationLangsBlocked(): string[] {\r\n return this._publicationLangsBlocked;\r\n }\r\n set publicationLangsBlocked(value: string[]) {\r\n this._publicationLangsBlocked = value || [];\r\n }\r\n\r\n get publicationPageStart(): number {\r\n return this._publicationPageStart;\r\n }\r\n set publicationPageStart(value: number) {\r\n this._publicationPageStart = value || 1;\r\n }\r\n\r\n get publicationPageStartLeft(): boolean {\r\n return this._publicationPageStartLeft;\r\n }\r\n set publicationPageStartLeft(value: boolean) {\r\n this._publicationPageStartLeft = !!value;\r\n }\r\n\r\n get publicationTemplateGuid(): string {\r\n return this._publicationTemplateGuid;\r\n }\r\n set publicationTemplateGuid(value: string) {\r\n this._publicationTemplateGuid = value || DEFAULT_PUBLICATION_STR;\r\n }\r\n\r\n get publicationCoverpage(): string {\r\n return this._publicationCoverpage;\r\n }\r\n set publicationCoverpage(value: string) {\r\n this._publicationCoverpage = value || '';\r\n }\r\n\r\n get publicationDealGuid(): string {\r\n return this._publicationDealGuid;\r\n }\r\n set publicationDealGuid(value: string) {\r\n this._publicationDealGuid = value || '';\r\n }\r\n\r\n get publicationRatebase(): number {\r\n return this._publicationRatebase;\r\n }\r\n set publicationRatebase(value: number) {\r\n this._publicationRatebase = value || 0;\r\n }\r\n\r\n get publicationPriceListGuid(): string {\r\n return this._publicationPriceListGuid;\r\n }\r\n set publicationPriceListGuid(value: string) {\r\n this._publicationPriceListGuid = value || DEFAULT_PUBLICATION_STR;\r\n }\r\n\r\n get publicationAccountGuid(): string {\r\n return this._publicationAccountGuid;\r\n }\r\n set publicationAccountGuid(value: string) {\r\n this._publicationAccountGuid = value || '';\r\n }\r\n\r\n get publicationAttributes(): any[] {\r\n return this._publicationAttributes;\r\n }\r\n set publicationAttributes(value: any[]) {\r\n this._publicationAttributes = value || [];\r\n }\r\n\r\n get publicationLanguage(): string {\r\n return this._publicationLanguage;\r\n }\r\n set publicationLanguage(value: string) {\r\n this._publicationLanguage = value || '';\r\n }\r\n\r\n get publicationAutoGeneration(): boolean {\r\n return this._publicationAutoGeneration;\r\n }\r\n set publicationAutoGeneration(value: boolean) {\r\n this._publicationAutoGeneration = !!value;\r\n }\r\n\r\n get publicationYouBooky(): boolean {\r\n return this._publicationYouBooky;\r\n }\r\n set publicationYouBooky(value: boolean) {\r\n this._publicationYouBooky = !!value;\r\n }\r\n\r\n get publicationProductSheetGuid(): string | null {\r\n return this._publicationProductSheetGuid;\r\n }\r\n set publicationProductSheetGuid(value: string | null) {\r\n this._publicationProductSheetGuid = value;\r\n }\r\n\r\n get publicationProductSheetAssetGuid(): string | null {\r\n return this._publicationProductSheetAssetGuid;\r\n }\r\n set publicationProductSheetAssetGuid(value: string | null) {\r\n this._publicationProductSheetAssetGuid = value;\r\n }\r\n\r\n get publicationRelecturePDFs(): string[] {\r\n return this._publicationRelecturePDFs;\r\n }\r\n set publicationRelecturePDFs(value: string[]) {\r\n this._publicationRelecturePDFs = value || [];\r\n }\r\n\r\n get publicationTemplateDefaultBackgroundGuid(): string {\r\n return this._publicationTemplateDefaultBackgroundGuid;\r\n }\r\n set publicationTemplateDefaultBackgroundGuid(value: string) {\r\n this._publicationTemplateDefaultBackgroundGuid = value || '';\r\n }\r\n\r\n get publicationPageIdFirst(): string {\r\n return this._publicationPageIdFirst;\r\n }\r\n set publicationPageIdFirst(value: string) {\r\n this._publicationPageIdFirst = value || '';\r\n }\r\n\r\n get publicationTemplateBackgroundName(): string {\r\n return this._publicationTemplateBackgroundName;\r\n }\r\n set publicationTemplateBackgroundName(value: string) {\r\n this._publicationTemplateBackgroundName = value || '';\r\n }\r\n\r\n get publicationPreviewUrl(): string {\r\n return this._publicationPreviewUrl;\r\n }\r\n set publicationPreviewUrl(value: string) {\r\n this._publicationPreviewUrl = value || '';\r\n }\r\n\r\n get publicationTemplateName(): string {\r\n return this._publicationTemplateName;\r\n }\r\n set publicationTemplateName(value: string) {\r\n this._publicationTemplateName = value || '';\r\n }\r\n\r\n get publicationCoverpageUrl(): string {\r\n return this._publicationCoverpageUrl;\r\n }\r\n set publicationCoverpageUrl(value: string) {\r\n this._publicationCoverpageUrl = value || '';\r\n }\r\n\r\n get publicationNbPages(): number {\r\n return this._publicationNbPages;\r\n }\r\n set publicationNbPages(value: number) {\r\n this._publicationNbPages = value || 0;\r\n }\r\n\r\n get publicationNbSkus(): number {\r\n return this._publicationNbSkus;\r\n }\r\n set publicationNbSkus(value: number) {\r\n this._publicationNbSkus = value || 0;\r\n }\r\n\r\n get selectionCode(): string {\r\n return this._selectionCode;\r\n }\r\n set selectionCode(value: string) {\r\n this._selectionCode = value || '';\r\n }\r\n\r\n get publicationPages(): PublicationPage[] {\r\n return this._publicationPages;\r\n }\r\n set publicationPages(value: PublicationPage[]) {\r\n this._publicationPages = value || [];\r\n }\r\n\r\n get publicationFolderGuid(): string {\r\n return this._publicationFolderGuid;\r\n }\r\n set publicationFolderGuid(value: string) {\r\n this._publicationFolderGuid = value || '';\r\n }\r\n\r\n // PascalCase Backward Compatibility Getters & Setters\r\n get PublicationGuid(): string {\r\n return this.publicationGuid;\r\n }\r\n set PublicationGuid(value: string) {\r\n this.publicationGuid = value;\r\n }\r\n\r\n get PublicationId(): number {\r\n return this.publicationId;\r\n }\r\n set PublicationId(value: number) {\r\n this.publicationId = value;\r\n }\r\n\r\n get PublicationLocked(): boolean {\r\n return this.publicationLocked;\r\n }\r\n set PublicationLocked(value: boolean) {\r\n this.publicationLocked = value;\r\n }\r\n\r\n get PublicationName(): string {\r\n return this.publicationName;\r\n }\r\n set PublicationName(value: string) {\r\n this.publicationName = value;\r\n }\r\n\r\n get PublicationDescription(): string {\r\n return this.publicationDescription;\r\n }\r\n set PublicationDescription(value: string) {\r\n this.publicationDescription = value;\r\n }\r\n\r\n get PublicationValidationDate(): Date | string | null {\r\n return this.publicationValidationDate;\r\n }\r\n set PublicationValidationDate(value: Date | string | null) {\r\n this.publicationValidationDate = value;\r\n }\r\n\r\n get PublicationDeadline(): Date | string | null {\r\n return this.publicationDeadline;\r\n }\r\n set PublicationDeadline(value: Date | string | null) {\r\n this.publicationDeadline = value;\r\n }\r\n\r\n get PublicationActive(): boolean {\r\n return this.publicationActive;\r\n }\r\n set PublicationActive(value: boolean) {\r\n this.publicationActive = value;\r\n }\r\n\r\n get PublicationStatus(): number {\r\n return this.publicationStatus;\r\n }\r\n set PublicationStatus(value: number) {\r\n this.publicationStatus = value;\r\n }\r\n\r\n get PublicationRemarks(): string {\r\n return this.publicationRemarks;\r\n }\r\n set PublicationRemarks(value: string) {\r\n this.publicationRemarks = value;\r\n }\r\n\r\n get PublicationMasterINDD(): string {\r\n return this.publicationMasterINDD;\r\n }\r\n set PublicationMasterINDD(value: string) {\r\n this.publicationMasterINDD = value;\r\n }\r\n\r\n get PublicationLibraryINDL(): string {\r\n return this.publicationLibraryINDL;\r\n }\r\n set PublicationLibraryINDL(value: string) {\r\n this.publicationLibraryINDL = value;\r\n }\r\n\r\n get PublicationFinalINDD(): string {\r\n return this.publicationFinalINDD;\r\n }\r\n set PublicationFinalINDD(value: string) {\r\n this.publicationFinalINDD = value;\r\n }\r\n\r\n get PublicationPDF(): string {\r\n return this.publicationPDF;\r\n }\r\n set PublicationPDF(value: string) {\r\n this.publicationPDF = value;\r\n }\r\n\r\n get PublicationTotalPages(): number {\r\n return this.publicationTotalPages;\r\n }\r\n set PublicationTotalPages(value: number) {\r\n this.publicationTotalPages = value;\r\n }\r\n\r\n get PublicationContents(): string {\r\n return this.publicationContents;\r\n }\r\n set PublicationContents(value: string) {\r\n this.publicationContents = value;\r\n }\r\n\r\n get PublicationMasterSpreads(): string {\r\n return this.publicationMasterSpreads;\r\n }\r\n set PublicationMasterSpreads(value: string) {\r\n this.publicationMasterSpreads = value;\r\n }\r\n\r\n get PublicationFormat(): string {\r\n return this.publicationFormat;\r\n }\r\n set PublicationFormat(value: string) {\r\n this.publicationFormat = value;\r\n }\r\n\r\n get PublicationOrientationPortrait(): boolean {\r\n return this.publicationOrientationPortrait;\r\n }\r\n set PublicationOrientationPortrait(value: boolean) {\r\n this.publicationOrientationPortrait = value;\r\n }\r\n\r\n get PublicationPreview(): string {\r\n return this.publicationPreview;\r\n }\r\n set PublicationPreview(value: string) {\r\n this.publicationPreview = value;\r\n }\r\n\r\n get PublicationDraft(): string {\r\n return this.publicationDraft;\r\n }\r\n set PublicationDraft(value: string) {\r\n this.publicationDraft = value;\r\n }\r\n\r\n get PublicationBeta(): string {\r\n return this.publicationBeta;\r\n }\r\n set PublicationBeta(value: string) {\r\n this.publicationBeta = value;\r\n }\r\n\r\n get PublicationAlpha(): string {\r\n return this.publicationAlpha;\r\n }\r\n set PublicationAlpha(value: string) {\r\n this.publicationAlpha = value;\r\n }\r\n\r\n get PublicationProgress(): number {\r\n return this.publicationProgress;\r\n }\r\n set PublicationProgress(value: number) {\r\n this.publicationProgress = value;\r\n }\r\n\r\n get PublicationType(): string {\r\n return this.publicationType;\r\n }\r\n set PublicationType(value: string) {\r\n this.publicationType = value;\r\n }\r\n\r\n get PublicationVersion(): number {\r\n return this.publicationVersion;\r\n }\r\n set PublicationVersion(value: number) {\r\n this.publicationVersion = value;\r\n }\r\n\r\n get PublicationLangsBlocked(): string[] {\r\n return this.publicationLangsBlocked;\r\n }\r\n set PublicationLangsBlocked(value: string[]) {\r\n this.publicationLangsBlocked = value;\r\n }\r\n\r\n get PublicationPageStart(): number {\r\n return this.publicationPageStart;\r\n }\r\n set PublicationPageStart(value: number) {\r\n this.publicationPageStart = value;\r\n }\r\n\r\n get PublicationPageStartLeft(): boolean {\r\n return this.publicationPageStartLeft;\r\n }\r\n set PublicationPageStartLeft(value: boolean) {\r\n this.publicationPageStartLeft = value;\r\n }\r\n\r\n get PublicationTemplateGuid(): string {\r\n return this.publicationTemplateGuid;\r\n }\r\n set PublicationTemplateGuid(value: string) {\r\n this.publicationTemplateGuid = value;\r\n }\r\n\r\n get PublicationCoverpage(): string {\r\n return this.publicationCoverpage;\r\n }\r\n set PublicationCoverpage(value: string) {\r\n this.publicationCoverpage = value;\r\n }\r\n\r\n get PublicationDealGuid(): string {\r\n return this.publicationDealGuid;\r\n }\r\n set PublicationDealGuid(value: string) {\r\n this.publicationDealGuid = value;\r\n }\r\n\r\n get PublicationRatebase(): number {\r\n return this.publicationRatebase;\r\n }\r\n set PublicationRatebase(value: number) {\r\n this.publicationRatebase = value;\r\n }\r\n\r\n get PublicationPriceListGuid(): string {\r\n return this.publicationPriceListGuid;\r\n }\r\n set PublicationPriceListGuid(value: string) {\r\n this.publicationPriceListGuid = value;\r\n }\r\n\r\n get PublicationAccountGuid(): string {\r\n return this.publicationAccountGuid;\r\n }\r\n set PublicationAccountGuid(value: string) {\r\n this.publicationAccountGuid = value;\r\n }\r\n\r\n get PublicationAttributes(): any[] {\r\n return this.publicationAttributes;\r\n }\r\n set PublicationAttributes(value: any[]) {\r\n this.publicationAttributes = value;\r\n }\r\n\r\n get PublicationLanguage(): string {\r\n return this.publicationLanguage;\r\n }\r\n set PublicationLanguage(value: string) {\r\n this.publicationLanguage = value;\r\n }\r\n\r\n get PublicationAutoGeneration(): boolean {\r\n return this.publicationAutoGeneration;\r\n }\r\n set PublicationAutoGeneration(value: boolean) {\r\n this.publicationAutoGeneration = value;\r\n }\r\n\r\n get PublicationYouBooky(): boolean {\r\n return this.publicationYouBooky;\r\n }\r\n set PublicationYouBooky(value: boolean) {\r\n this.publicationYouBooky = value;\r\n }\r\n\r\n get PublicationProductSheetGuid(): string | null {\r\n return this.publicationProductSheetGuid;\r\n }\r\n set PublicationProductSheetGuid(value: string | null) {\r\n this.publicationProductSheetGuid = value;\r\n }\r\n\r\n get PublicationProductSheetAssetGuid(): string | null {\r\n return this.publicationProductSheetAssetGuid;\r\n }\r\n set PublicationProductSheetAssetGuid(value: string | null) {\r\n this.publicationProductSheetAssetGuid = value;\r\n }\r\n\r\n get PublicationRelecturePDFs(): string[] {\r\n return this.publicationRelecturePDFs;\r\n }\r\n set PublicationRelecturePDFs(value: string[]) {\r\n this.publicationRelecturePDFs = value;\r\n }\r\n\r\n get PublicationTemplateDefaultBackgroundGuid(): string {\r\n return this.publicationTemplateDefaultBackgroundGuid;\r\n }\r\n set PublicationTemplateDefaultBackgroundGuid(value: string) {\r\n this.publicationTemplateDefaultBackgroundGuid = value;\r\n }\r\n\r\n get PublicationPageIdFirst(): string {\r\n return this.publicationPageIdFirst;\r\n }\r\n set PublicationPageIdFirst(value: string) {\r\n this.publicationPageIdFirst = value;\r\n }\r\n\r\n get PublicationTemplateBackgroundName(): string {\r\n return this.publicationTemplateBackgroundName;\r\n }\r\n set PublicationTemplateBackgroundName(value: string) {\r\n this.publicationTemplateBackgroundName = value;\r\n }\r\n\r\n get PublicationPreviewUrl(): string {\r\n return this.publicationPreviewUrl;\r\n }\r\n set PublicationPreviewUrl(value: string) {\r\n this.publicationPreviewUrl = value;\r\n }\r\n\r\n get PublicationTemplateName(): string {\r\n return this.publicationTemplateName;\r\n }\r\n set PublicationTemplateName(value: string) {\r\n this.publicationTemplateName = value;\r\n }\r\n\r\n get PublicationCoverpageUrl(): string {\r\n return this.publicationCoverpageUrl;\r\n }\r\n set PublicationCoverpageUrl(value: string) {\r\n this.publicationCoverpageUrl = value;\r\n }\r\n\r\n get PublicationNbPages(): number {\r\n return this.publicationNbPages;\r\n }\r\n set PublicationNbPages(value: number) {\r\n this.publicationNbPages = value;\r\n }\r\n\r\n get PublicationNbSkus(): number {\r\n return this.publicationNbSkus;\r\n }\r\n set PublicationNbSkus(value: number) {\r\n this.publicationNbSkus = value;\r\n }\r\n\r\n get SelectionCode(): string {\r\n return this.selectionCode;\r\n }\r\n set SelectionCode(value: string) {\r\n this.selectionCode = value;\r\n }\r\n\r\n get PublicationPages(): PublicationPage[] {\r\n return this.publicationPages;\r\n }\r\n set PublicationPages(value: PublicationPage[]) {\r\n this.publicationPages = value;\r\n }\r\n\r\n get PublicationFolderGuid(): string {\r\n return this.publicationFolderGuid;\r\n }\r\n set PublicationFolderGuid(value: string) {\r\n this.publicationFolderGuid = value;\r\n }\r\n\r\n toJSON() {\r\n return {\r\n publicationGuid: this.publicationGuid,\r\n publicationId: this.publicationId,\r\n publicationLocked: this.publicationLocked,\r\n publicationName: this.publicationName,\r\n publicationDescription: this.publicationDescription,\r\n publicationValidationDate: this.publicationValidationDate,\r\n publicationDeadline: this.publicationDeadline,\r\n publicationActive: this.publicationActive,\r\n publicationStatus: this.publicationStatus,\r\n publicationRemarks: this.publicationRemarks,\r\n publicationMasterINDD: this.publicationMasterINDD,\r\n publicationLibraryINDL: this.publicationLibraryINDL,\r\n publicationFinalINDD: this.publicationFinalINDD,\r\n publicationPDF: this.publicationPDF,\r\n publicationTotalPages: this.publicationTotalPages,\r\n publicationContents: this.publicationContents,\r\n publicationMasterSpreads: this.publicationMasterSpreads,\r\n publicationFormat: this.publicationFormat,\r\n publicationOrientationPortrait: this.publicationOrientationPortrait,\r\n publicationPreview: this.publicationPreview,\r\n publicationDraft: this.publicationDraft,\r\n publicationBeta: this.publicationBeta,\r\n publicationAlpha: this.publicationAlpha,\r\n publicationProgress: this.publicationProgress,\r\n publicationType: this.publicationType,\r\n publicationVersion: this.publicationVersion,\r\n publicationLangsBlocked: this.publicationLangsBlocked,\r\n publicationPageStart: this.publicationPageStart,\r\n publicationPageStartLeft: this.publicationPageStartLeft,\r\n publicationTemplateGuid: this.publicationTemplateGuid,\r\n publicationCoverpage: this.publicationCoverpage,\r\n publicationDealGuid: this.publicationDealGuid,\r\n publicationRatebase: this.publicationRatebase,\r\n publicationPriceListGuid: this.publicationPriceListGuid,\r\n publicationAccountGuid: this.publicationAccountGuid,\r\n publicationAttributes: this.publicationAttributes,\r\n publicationLanguage: this.publicationLanguage,\r\n publicationAutoGeneration: this.publicationAutoGeneration,\r\n publicationYouBooky: this.publicationYouBooky,\r\n publicationProductSheetGuid: this.publicationProductSheetGuid,\r\n publicationProductSheetAssetGuid: this.publicationProductSheetAssetGuid,\r\n publicationRelecturePDFs: this.publicationRelecturePDFs,\r\n publicationTemplateDefaultBackgroundGuid: this.publicationTemplateDefaultBackgroundGuid,\r\n publicationPageIdFirst: this.publicationPageIdFirst,\r\n publicationTemplateBackgroundName: this.publicationTemplateBackgroundName,\r\n publicationPreviewUrl: this.publicationPreviewUrl,\r\n publicationTemplateName: this.publicationTemplateName,\r\n publicationCoverpageUrl: this.publicationCoverpageUrl,\r\n publicationNbPages: this.publicationNbPages,\r\n publicationNbSkus: this.publicationNbSkus,\r\n publicationFolderGuid: this.publicationFolderGuid,\r\n selectionCode: this.selectionCode,\r\n publicationPages: this.publicationPages.map((p) => p.toJSON()),\r\n };\r\n }\r\n}\r\n","export enum PublicationDataType {\r\n PRODUCT = 'PRODUCT',\r\n LINEBREAK = 'LINEBREAK',\r\n PAGEBREAK = 'PAGEBREAK',\r\n}\r\n\r\nexport interface PublicationDataProps {\r\n attributePublication?: any[];\r\n skus?: any[];\r\n priceObject?: any;\r\n hasVariant?: string | boolean;\r\n gabaritSelected?: any;\r\n\r\n publicationGuid?: string;\r\n pageId?: number;\r\n guid?: string;\r\n reference?: string;\r\n groupGuid?: string;\r\n order?: number;\r\n documentGuid?: string;\r\n modifiedAt?: Date | string | null;\r\n gabaritName?: string;\r\n extras?: string;\r\n isMarketingBlock?: boolean;\r\n skuGuids?: string[];\r\n skuGuidsToExclude?: string[];\r\n skuGroupOriginal?: string;\r\n sku?: string;\r\n name?: any;\r\n description?: any;\r\n picture?: any;\r\n attributes?: any[];\r\n splitVariantTable?: boolean;\r\n exist?: boolean;\r\n type?: PublicationDataType | string;\r\n}\r\n\r\nexport class PublicationData {\r\n // Dynamic properties attached dynamically in preview/generation pipelines\r\n public attributePublication?: any[];\r\n public skus?: any[];\r\n public priceObject?: any;\r\n public hasVariant?: string | boolean;\r\n public gabaritSelected?: any;\r\n\r\n private _publicationGuid: string = '';\r\n private _pageId: number = 0;\r\n private _guid: string = '';\r\n private _reference: string = '';\r\n private _groupGuid: string = '';\r\n private _order: number = 0;\r\n private _documentGuid: string = '';\r\n private _modifiedAt: Date | string | null = null;\r\n private _gabaritName: string = '';\r\n private _extras: string = '';\r\n private _isMarketingBlock: boolean = false;\r\n private _skuGuids: string[] = [];\r\n private _skuGuidsToExclude: string[] = [];\r\n private _skuGroupOriginal: string = '';\r\n private _sku: string = '';\r\n private _name: any = {};\r\n private _description: any = {};\r\n private _picture: any = {};\r\n private _attributes: any[] = [];\r\n private _splitVariantTable: boolean = true;\r\n private _exist: boolean = true;\r\n private _type: PublicationDataType = PublicationDataType.PRODUCT;\r\n\r\n constructor(data: PublicationDataProps = {}) {\r\n this.attributePublication = data.attributePublication;\r\n this.skus = data.skus;\r\n this.priceObject = data.priceObject;\r\n this.hasVariant = data.hasVariant;\r\n this.gabaritSelected = data.gabaritSelected;\r\n\r\n this._publicationGuid = data.publicationGuid ?? '';\r\n this.pageId = data.pageId ?? 0;\r\n this.guid = data.guid ?? '';\r\n this.reference = data.reference ?? '';\r\n this.groupGuid = data.groupGuid ?? '';\r\n this.order = data.order ?? 0;\r\n this.documentGuid = data.documentGuid ?? '';\r\n this.modifiedAt = data.modifiedAt ?? null;\r\n this.gabaritName = data.gabaritName ?? '';\r\n this.extras = data.extras ?? '';\r\n this.isMarketingBlock = data.isMarketingBlock ?? false;\r\n this.skuGuids = data.skuGuids ?? [];\r\n this.skuGuidsToExclude = data.skuGuidsToExclude ?? [];\r\n this.skuGroupOriginal = data.skuGroupOriginal ?? '';\r\n this.sku = data.sku ?? '';\r\n this.name = data.name ?? {};\r\n this.description = data.description ?? {};\r\n this.picture = data.picture ?? {};\r\n this.attributes = data.attributes ?? [];\r\n this.splitVariantTable = data.splitVariantTable ?? true;\r\n this.exist = data.exist ?? false;\r\n this.type = (data.type as PublicationDataType) ?? PublicationDataType.PRODUCT;\r\n }\r\n\r\n // Getters and Setters for the new cleaned properties\r\n get publicationGuid(): string {\r\n return this._publicationGuid;\r\n }\r\n set publicationGuid(value: string) {\r\n this._publicationGuid = value || '';\r\n }\r\n\r\n get pageId(): number {\r\n return this._pageId;\r\n }\r\n set pageId(value: number) {\r\n this._pageId = value || 0;\r\n }\r\n\r\n get guid(): string {\r\n return this._guid;\r\n }\r\n set guid(value: string) {\r\n this._guid = value || '';\r\n }\r\n\r\n get reference(): string {\r\n return this._reference;\r\n }\r\n set reference(value: string) {\r\n this._reference = value || '';\r\n }\r\n\r\n get groupGuid(): string {\r\n return this._groupGuid;\r\n }\r\n set groupGuid(value: string) {\r\n this._groupGuid = value || '';\r\n }\r\n\r\n get order(): number {\r\n return this._order;\r\n }\r\n set order(value: number) {\r\n this._order = value || 0;\r\n }\r\n\r\n get documentGuid(): string {\r\n return this._documentGuid;\r\n }\r\n set documentGuid(value: string) {\r\n this._documentGuid = value || '';\r\n }\r\n\r\n get modifiedAt(): Date | string | null {\r\n return this._modifiedAt;\r\n }\r\n set modifiedAt(value: Date | string | null) {\r\n this._modifiedAt = value;\r\n }\r\n\r\n get gabaritName(): string {\r\n return this._gabaritName;\r\n }\r\n set gabaritName(value: string) {\r\n this._gabaritName = value || '';\r\n }\r\n\r\n get extras(): string {\r\n return this._extras;\r\n }\r\n set extras(value: string) {\r\n this._extras = value || '';\r\n }\r\n\r\n get isMarketingBlock(): boolean {\r\n return this._isMarketingBlock;\r\n }\r\n set isMarketingBlock(value: boolean) {\r\n this._isMarketingBlock = !!value;\r\n }\r\n\r\n get skuGuids(): string[] {\r\n return this._skuGuids;\r\n }\r\n set skuGuids(value: string[]) {\r\n this._skuGuids = value || [];\r\n }\r\n\r\n get skuGuidsToExclude(): string[] {\r\n return this._skuGuidsToExclude;\r\n }\r\n set skuGuidsToExclude(value: string[]) {\r\n this._skuGuidsToExclude = value || [];\r\n }\r\n\r\n get skuGroupOriginal(): string {\r\n return this._skuGroupOriginal;\r\n }\r\n set skuGroupOriginal(value: string) {\r\n this._skuGroupOriginal = value || '';\r\n }\r\n\r\n get sku(): string {\r\n return this._sku;\r\n }\r\n set sku(value: string) {\r\n this._sku = value || '';\r\n }\r\n\r\n get name(): any {\r\n return this._name;\r\n }\r\n set name(value: any) {\r\n this._name = value || {};\r\n }\r\n\r\n get description(): any {\r\n return this._description;\r\n }\r\n set description(value: any) {\r\n this._description = value || {};\r\n }\r\n\r\n get picture(): any {\r\n return this._picture;\r\n }\r\n set picture(value: any) {\r\n this._picture = value || {};\r\n }\r\n\r\n get attributes(): any[] {\r\n return this._attributes;\r\n }\r\n set attributes(value: any[]) {\r\n this._attributes = value || [];\r\n }\r\n\r\n get splitVariantTable(): boolean {\r\n return this._splitVariantTable;\r\n }\r\n set splitVariantTable(value: boolean) {\r\n this._splitVariantTable = !!value;\r\n }\r\n\r\n get exist(): boolean {\r\n return this._exist;\r\n }\r\n set exist(value: boolean) {\r\n this._exist = !!value;\r\n }\r\n\r\n get type(): string {\r\n return this._type;\r\n }\r\n set type(value: string) {\r\n this._type = (value as PublicationDataType) || PublicationDataType.PRODUCT;\r\n }\r\n\r\n get isLineBreak(): boolean {\r\n return this._type === PublicationDataType.LINEBREAK;\r\n }\r\n\r\n get isPageBreak(): boolean {\r\n return this._type === PublicationDataType.PAGEBREAK;\r\n }\r\n\r\n get isBreak(): boolean {\r\n return this.isLineBreak || this.isPageBreak;\r\n }\r\n\r\n get isProduct(): boolean {\r\n return this._type === PublicationDataType.PRODUCT;\r\n }\r\n\r\n static createLineBreak(data: Partial<PublicationDataProps> = {}): PublicationData {\r\n return new PublicationData({\r\n ...data,\r\n type: PublicationDataType.LINEBREAK,\r\n });\r\n }\r\n\r\n static createPageBreak(data: Partial<PublicationDataProps> = {}): PublicationData {\r\n return new PublicationData({\r\n ...data,\r\n type: PublicationDataType.PAGEBREAK,\r\n });\r\n }\r\n\r\n // Serialization to plain JSON for backend API calls\r\n toJSON() {\r\n return {\r\n publicationGuid: this.publicationGuid,\r\n pageId: this.pageId,\r\n guid: this.guid,\r\n reference: this.reference,\r\n groupGuid: this.groupGuid,\r\n order: this.order,\r\n documentGuid: this.documentGuid,\r\n modifiedAt: this.modifiedAt,\r\n gabaritName: this.gabaritName,\r\n extras: this.extras,\r\n isMarketingBlock: this.isMarketingBlock,\r\n skuGuids: this.skuGuids,\r\n skuGuidsToExclude: this.skuGuidsToExclude,\r\n skuGroupOriginal: this.skuGroupOriginal,\r\n sku: this.sku,\r\n name: this.name,\r\n description: this.description,\r\n picture: this.picture,\r\n attributes: this.attributes,\r\n splitVariantTable: this.splitVariantTable,\r\n exist: this.exist,\r\n type: this.type,\r\n attributePublication: this.attributePublication,\r\n skus: this.skus,\r\n priceObject: this.priceObject,\r\n hasVariant: this.hasVariant,\r\n gabaritSelected: this.gabaritSelected,\r\n };\r\n }\r\n}\r\n\r\nexport class PublicationBreak extends PublicationData {\r\n constructor(type: PublicationDataType | 'LINEBREAK' | 'PAGEBREAK', data: Partial<PublicationDataProps> = {}) {\r\n super({\r\n ...data,\r\n type: type,\r\n reference: '',\r\n groupGuid: '',\r\n documentGuid: '',\r\n modifiedAt: null,\r\n gabaritName: '',\r\n extras: '',\r\n isMarketingBlock: false,\r\n exist: true,\r\n });\r\n }\r\n}\r\n\r\nexport interface PublicationProductsResponse {\r\n getPublicationProductsOfAPage: PublicationData[];\r\n getPublicationNumberProductsOfAPage: number;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { finalize, map } from 'rxjs/operators';\r\nimport { Observable, defer } from 'rxjs';\r\nimport { HubConnectionState } from '@aspnet/signalr';\r\nimport { SettingsService } from '../../settings.service';\r\nimport { websocketService } from '../../websocket.service';\r\nimport { Publication } from './publication.model';\r\nimport {\r\n PublicationPage,\r\n PublicationPagesResponse,\r\n} from './publication-page.model';\r\nimport {\r\n PublicationData,\r\n PublicationProductsResponse,\r\n} from './publication-data.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PublicationsService {\r\n constructor(\r\n private readonly _settingsService: SettingsService,\r\n private readonly http: HttpClient,\r\n private readonly _webSocket: websocketService,\r\n ) {}\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n //Is present in this page\r\n isPresent(\r\n publicationGuid: string,\r\n publicationDataReference: string,\r\n isSku: any,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/pages/skusgroups/ispresent',\r\n {\r\n publicationGuid: publicationGuid,\r\n publicationDataReference: publicationDataReference,\r\n isSku: isSku,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n getAllPagesByPublication(publicationGuid: string, language: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'DataSheets/previews?publicationGuid=' +\r\n publicationGuid +\r\n '&language=' +\r\n language,\r\n { headers },\r\n );\r\n }\r\n\r\n //get export easy catalog\r\n getExportEasycatalog(publicationGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Exchanges/export/easycatalog/' +\r\n publicationGuid,\r\n { headers },\r\n );\r\n }\r\n\r\n //get datasheets\r\n getDataSheets(\r\n source: string | number,\r\n sourceGuid: string,\r\n language: string,\r\n hd: boolean = false,\r\n youbooky: boolean = false,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'DataSheets/exists?source=' +\r\n source +\r\n '&sourceGuid=' +\r\n sourceGuid +\r\n '&language=' +\r\n language +\r\n '&hd=' +\r\n hd +\r\n '&youbooky=' +\r\n youbooky,\r\n { headers },\r\n );\r\n }\r\n\r\n //get xml\r\n getEasyCatalog(publication: Publication, lang: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Exchanges/export/easycatalog',\r\n {\r\n publicationGuid: publication.publicationGuid.toString(),\r\n exchangeLanguage: lang,\r\n },\r\n { headers },\r\n );\r\n }\r\n\r\n getEasyCatalogXML(publication: Publication, lang: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Exchanges/export/easycatalog/xml',\r\n {\r\n publicationGuid: publication.publicationGuid.toString(),\r\n exchangeLanguage: lang,\r\n },\r\n { headers },\r\n );\r\n }\r\n\r\n //Get all publications\r\n getGabarit() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/pages/skusgroups/gabarit',\r\n { headers },\r\n );\r\n }\r\n\r\n //Get one publication\r\n getPublication(publicationGuid: string): Observable<Publication> {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/' +\r\n publicationGuid,\r\n { headers },\r\n )\r\n .pipe(\r\n map((res: any) => {\r\n if (res && res.publication) {\r\n res.publication = new Publication(res.publication);\r\n }\r\n return res;\r\n }),\r\n );\r\n }\r\n\r\n getPublicationDocuments(publication: Publication) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/' +\r\n publication.publicationGuid +\r\n '/documents',\r\n { headers },\r\n );\r\n }\r\n\r\n migratePublication(publicationGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Publications/migrate',\r\n { publicationGuid },\r\n { headers },\r\n );\r\n }\r\n\r\n //Get page of publication\r\n getPageOfPublication(\r\n publication: Publication,\r\n ): Observable<PublicationPagesResponse> {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/' +\r\n publication.publicationGuid +\r\n '/pages',\r\n { headers },\r\n )\r\n .pipe(\r\n map((res: any) => {\r\n if (res && res.getPublicationPages) {\r\n res.getPublicationPages = res.getPublicationPages.map(\r\n (item: any) => new PublicationPage(item),\r\n );\r\n }\r\n return res as PublicationPagesResponse;\r\n }),\r\n );\r\n }\r\n\r\n //Get page by his numero\r\n getSkuForThisPage(\r\n publicationPage: PublicationPage,\r\n limit = 50,\r\n ): Observable<PublicationProductsResponse> {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/' +\r\n publicationPage.publicationGuid +\r\n '/pages/' +\r\n publicationPage.pageId +\r\n '?limit=' +\r\n limit,\r\n { headers },\r\n )\r\n .pipe(\r\n map((res: any) => {\r\n if (res && res.getPublicationProductsOfAPage) {\r\n res.getPublicationProductsOfAPage =\r\n res.getPublicationProductsOfAPage.map(\r\n (item: any) => new PublicationData(item),\r\n );\r\n }\r\n return res as PublicationProductsResponse;\r\n }),\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n CREATE\r\n ======================================================================== */\r\n\r\n //Create a publication\r\n createPublication(publication: Publication) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Publications',\r\n {\r\n publicationName: publication.publicationName,\r\n publicationFolderGuid: publication.publicationFolderGuid,\r\n publicationTemplateGuid: publication.publicationTemplateGuid,\r\n publicationRatebase: publication.publicationRatebase,\r\n publicationPriceListGuid: publication.publicationPriceListGuid,\r\n publicationAccountGuid: publication.publicationAccountGuid,\r\n publicationLanguage: publication.publicationLanguage,\r\n publicationProductSheetGuid: publication.publicationProductSheetGuid,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (\r\n this._webSocket.connection?.state === HubConnectionState.Connected\r\n ) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n }),\r\n );\r\n }\r\n\r\n createPublicationDeal(publication: Publication) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Publications/deal',\r\n {\r\n sourceId: publication.publicationGuid,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (\r\n this._webSocket.connection?.state === HubConnectionState.Connected\r\n ) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n }),\r\n );\r\n }\r\n\r\n //Create a Gabarit\r\n assignGabaritReference(\r\n listingPublicationDataGuidToUpdateGabarit: any,\r\n gabarit: string,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/pages/skusgroups/gabarit',\r\n {\r\n listingPublicationDataGuidToUpdateGabarit:\r\n listingPublicationDataGuidToUpdateGabarit,\r\n gabarit: gabarit,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (\r\n this._webSocket.connection?.state === HubConnectionState.Connected\r\n ) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n }),\r\n );\r\n }\r\n\r\n //create product in publication\r\n createProductInPublication(products: PublicationData | PublicationData[]) {\r\n let payload: any;\r\n if (Array.isArray(products)) {\r\n payload = products.map((item) =>\r\n typeof item?.toJSON === 'function' ? item.toJSON() : item,\r\n );\r\n } else {\r\n payload =\r\n typeof products?.toJSON === 'function' ? products.toJSON() : products;\r\n }\r\n\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/assignSkusGroups',\r\n {\r\n listingGroupsToAdding: payload,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (\r\n this._webSocket.connection?.state === HubConnectionState.Connected\r\n ) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n }),\r\n );\r\n }\r\n\r\n checkProductInPublication(\r\n products: PublicationData | PublicationData[],\r\n templateGuid: string,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n let payload: any;\r\n if (Array.isArray(products)) {\r\n payload = products.map((item) =>\r\n typeof item?.toJSON === 'function' ? item.toJSON() : item,\r\n );\r\n } else {\r\n payload =\r\n typeof products?.toJSON === 'function' ? products.toJSON() : products;\r\n }\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/checkSkusGroups',\r\n {\r\n listingGroupsToAdding: payload,\r\n templateGuid: templateGuid,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (\r\n this._webSocket.connection?.state === HubConnectionState.Connected\r\n ) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n }),\r\n );\r\n }\r\n\r\n checkExcludeProductInPublication(\r\n products: PublicationData | PublicationData[],\r\n ) {\r\n let payload: any;\r\n if (Array.isArray(products)) {\r\n payload = products.map((item) =>\r\n typeof item?.toJSON === 'function' ? item.toJSON() : item,\r\n );\r\n } else {\r\n payload =\r\n typeof products?.toJSON === 'function' ? products.toJSON() : products;\r\n }\r\n\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/checkExcludeSkusGroups',\r\n {\r\n listingGroupsToExclude: payload,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (\r\n this._webSocket.connection?.state === HubConnectionState.Connected\r\n ) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n }),\r\n );\r\n }\r\n\r\n //Duplicate a publication\r\n duplicatePublication(\r\n sourcePublicationGuid: string,\r\n targetPublication: Publication,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Publications/duplicate',\r\n {\r\n publicationGuid: sourcePublicationGuid, //publication of old publication to duplicate\r\n publicationName: targetPublication.publicationName, //new name\r\n publicationFolderGuid: targetPublication.publicationFolderGuid, //folder where to put the new publication\r\n publicationRatebase: targetPublication.publicationRatebase, //ratebase of the new publication\r\n publicationPriceListGuid: targetPublication.publicationPriceListGuid, //pricelist of the new publication\r\n publicationAccountGuid: targetPublication.publicationAccountGuid, //account of the new publication\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (\r\n this._webSocket.connection?.state === HubConnectionState.Connected\r\n ) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n }),\r\n );\r\n }\r\n\r\n // Create a template\r\n addTemplate(\r\n name: string,\r\n type: string,\r\n isActive: boolean,\r\n formatName: string,\r\n linkedBackgroundGuid: string,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'DataSheets/new',\r\n {\r\n publicationTemplateName: name,\r\n publicationTemplateType: type,\r\n publicationTemplateIsActive: isActive,\r\n publicationTemplateFormatName: formatName,\r\n publicationTemplateLinkedTemplate: linkedBackgroundGuid,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (\r\n this._webSocket.connection?.state === HubConnectionState.Connected\r\n ) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n }),\r\n );\r\n }\r\n\r\n // Duplicate a template\r\n duplicateTemplate(name: string, duplicateGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'DataSheets/duplicate',\r\n {\r\n publicationTemplateName: name,\r\n publicationTemplateGuid: duplicateGuid,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (\r\n this._webSocket.connection?.state === HubConnectionState.Connected\r\n ) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n }),\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n UPDATE\r\n ======================================================================== */\r\n\r\n updateFieldForPublication(\r\n publicationGuid: string,\r\n fieldName: string,\r\n fieldValue: any,\r\n attribute: any,\r\n language: any,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Publications/field',\r\n {\r\n publicationGuid: publicationGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n attribute: attribute,\r\n language: language,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n updateFieldForPublicationPages(\r\n publicationGuid: string,\r\n fieldName: string,\r\n fieldValue: any,\r\n attribute: any,\r\n language: any,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/pages/field',\r\n {\r\n publicationGuid: publicationGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n attribute: attribute,\r\n language: language,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n updateFieldForPublicationDatas(\r\n publicationDataGuid: string,\r\n fieldName: string,\r\n fieldValue: any,\r\n attribute: any,\r\n language: string,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/datas/field',\r\n {\r\n publicationDataGuid: publicationDataGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n attribute: attribute,\r\n language: language,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n setPublicationTemplateGuid(publicationGuid: string, templateGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let body = {\r\n publicationGuid: publicationGuid,\r\n fieldName: 'publicationTemplateGuid',\r\n fieldValue: templateGuid,\r\n };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Publications/field',\r\n body,\r\n { headers },\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (\r\n this._webSocket.connection?.state === HubConnectionState.Connected\r\n ) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n }),\r\n );\r\n }\r\n\r\n setPublicationCover(publicationGuid: string, covername: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let body = {\r\n publicationGuid: publicationGuid,\r\n fieldName: 'publicationCoverpage',\r\n fieldValue: covername + '.svg',\r\n };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Publications/field',\r\n body,\r\n { headers },\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (\r\n this._webSocket.connection?.state === HubConnectionState.Connected\r\n ) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n }),\r\n );\r\n }\r\n\r\n setPublicationStartPage(publicationGuid: string, startPageNumber: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let body = {\r\n publicationGuid: publicationGuid,\r\n fieldName: 'publicationPageStart',\r\n fieldValue: startPageNumber,\r\n };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Publications/field',\r\n body,\r\n { headers },\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (\r\n this._webSocket.connection?.state === HubConnectionState.Connected\r\n ) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n }),\r\n );\r\n }\r\n\r\n //Create a page in publication\r\n updateOrCreatePageInPublication(publicationPage: PublicationPage) {\r\n let payload =\r\n typeof publicationPage?.toJSON === 'function'\r\n ? publicationPage.toJSON()\r\n : publicationPage;\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Publications/pages',\r\n payload,\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (\r\n this._webSocket.connection?.state === HubConnectionState.Connected\r\n ) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n }),\r\n );\r\n }\r\n\r\n //update publication field\r\n updatePublicationField(\r\n publicationGuid: string,\r\n fieldName: string,\r\n fieldValue: any,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Publications/field',\r\n {\r\n publicationGuid: publicationGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (\r\n this._webSocket.connection?.state === HubConnectionState.Connected\r\n ) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n }),\r\n );\r\n }\r\n\r\n updatePublicationDataField(\r\n publicationDataGuid: string,\r\n fieldName: string,\r\n fieldValue: any,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/datasid/field',\r\n {\r\n publicationDataGuid: publicationDataGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (\r\n this._webSocket.connection?.state === HubConnectionState.Connected\r\n ) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n }),\r\n );\r\n }\r\n\r\n //Change the order of the section\r\n moveSections(publicationPageId: string | number, number: number) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/pages/ordershow',\r\n {\r\n publicationPageId: publicationPageId,\r\n number: number,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n moveSkusGroupInPage(\r\n skusData: { publicationDataGuid: string; number: number }[],\r\n ) {\r\n const headers = this._settingsService.getHeaders();\r\n const options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/pages/skusgroups/ordershow',\r\n skusData,\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (\r\n this._webSocket.connection?.state === HubConnectionState.Connected\r\n ) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n }),\r\n );\r\n }\r\n\r\n changeOrderSkusBySort(payload: any) {\r\n const headers = this._settingsService.getHeaders();\r\n const options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/pages/skusgroups/changeorder',\r\n payload,\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (\r\n this._webSocket.connection?.state === HubConnectionState.Connected\r\n ) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n }),\r\n );\r\n }\r\n\r\n moveSkusToNewSection(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/pages/skusgroups/move',\r\n object,\r\n options,\r\n );\r\n }\r\n\r\n updateTemplateField(\r\n publicationTemplateGuid: string,\r\n fieldName: string,\r\n fieldValue: any,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'DataSheets/field',\r\n {\r\n publicationTemplateGuid: publicationTemplateGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (\r\n this._webSocket.connection?.state === HubConnectionState.Connected\r\n ) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n }),\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n DELETE\r\n ======================================================================== */\r\n\r\n //delete pages in publication\r\n deletePagesInPublication(listingPagesToDelete: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .request(\r\n 'delete',\r\n this._settingsService.getSettings('apiUrl') + 'Publications/pages',\r\n {\r\n headers: headers,\r\n body: {\r\n listingPagesToDelete: listingPagesToDelete,\r\n },\r\n },\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (\r\n this._webSocket.connection?.state === HubConnectionState.Connected\r\n ) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n }),\r\n );\r\n }\r\n\r\n //delete product in publication\r\n deleteProductInPublication(listingSkusGroupsUidToDelete: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .request(\r\n 'delete',\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/removeSkusGroups',\r\n {\r\n headers: headers,\r\n body: {\r\n listingSkusGroupsToDelete: listingSkusGroupsUidToDelete,\r\n },\r\n },\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (\r\n this._webSocket.connection?.state === HubConnectionState.Connected\r\n ) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n }),\r\n );\r\n }\r\n upsertExcludeSkuGuids(\r\n publicationGuid: string,\r\n publicationPageId: string | number,\r\n publicationDataReference: string,\r\n skuGuidsExcludesCheck: any,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/pages/skusgroups/excludes',\r\n {\r\n publicationGuid: publicationGuid,\r\n publicationPageId: publicationPageId,\r\n publicationDataReference: publicationDataReference,\r\n listingUidToUpdateExcludes: skuGuidsExcludesCheck,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (\r\n this._webSocket.connection?.state === HubConnectionState.Connected\r\n ) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n }),\r\n );\r\n }\r\n\r\n // FIELDS FOR PUBLICATION\r\n getFieldsPublications() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') + 'Exchanges/allfields',\r\n { headers },\r\n );\r\n }\r\n\r\n getSkuForThisPagePreview(\r\n publicationGuid: string,\r\n publicationPageId: string | number,\r\n language: string,\r\n ratebase: number,\r\n priceListGuid: string | null,\r\n accountGuid: string | null,\r\n limit = 50,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/pages/skus?publicationGuid=' +\r\n publicationGuid +\r\n '&publicationPageId=' +\r\n publicationPageId +\r\n '&language=' +\r\n language +\r\n '&limit=' +\r\n limit +\r\n '&ratebase=' +\r\n ratebase +\r\n '&priceList=' +\r\n priceListGuid +\r\n '&accountGuid=' +\r\n accountGuid,\r\n { headers },\r\n );\r\n }\r\n\r\n // Only for sku (not catalog)\r\n getSkuPreview(\r\n sourceId: string | number,\r\n language: string,\r\n ratebase: number,\r\n priceListGuid: string | null,\r\n accountGuid: string | null,\r\n productSheetGuid: string | null = null,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let url =\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/sku?sourceId=' +\r\n sourceId +\r\n '&language=' +\r\n language +\r\n '&ratebase=' +\r\n ratebase +\r\n '&priceList=' +\r\n priceListGuid +\r\n '&accountGuid=' +\r\n accountGuid;\r\n if (productSheetGuid) {\r\n url += '&productSheetGuid=' + productSheetGuid;\r\n }\r\n return this.http.get(url, { headers });\r\n }\r\n\r\n getPublicationSkuPrice(publicationGuid: string, sku: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/pages/skuprice?publicationGuid=' +\r\n publicationGuid +\r\n '&skuRef=' +\r\n encodeURIComponent(sku),\r\n { headers },\r\n );\r\n }\r\n\r\n updatePublicationSkuPrice(\r\n publicationGuid: string,\r\n sku: string,\r\n skuPrice: any,\r\n skuPricePromotion: any,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/pages/skuprice',\r\n {\r\n publicationGuid: publicationGuid,\r\n skuRef: sku,\r\n skuPrice,\r\n skuPricePromotion,\r\n },\r\n { headers },\r\n );\r\n }\r\n\r\n // FONTS\r\n getFonts() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') + 'Publications/fonts',\r\n { headers },\r\n );\r\n }\r\n\r\n getFontFaceBase64(\r\n url: string,\r\n fontName: string,\r\n ): Observable<string | undefined> {\r\n const headers = this._settingsService.getHeaders();\r\n\r\n return defer(async () => {\r\n try {\r\n const response = await fetch(url, { headers });\r\n if (!response.ok) {\r\n throw new Error(\r\n `Erreur lors du téléchargement de la police : ${response.status}`,\r\n );\r\n }\r\n\r\n const blob = await response.blob();\r\n const base64 = await this.blobToBase64(blob);\r\n\r\n const { mime, type } = this.getFontMimeAndType(url);\r\n\r\n const cleanBase64 =\r\n typeof base64 === 'string' && base64.startsWith('data:')\r\n ? base64.split(',')[1]\r\n : base64;\r\n\r\n const fontFaceStyle = `\r\n @font-face {\r\n font-family: '${fontName}';\r\n src: url('data:${mime};base64,${cleanBase64}') format('${type}');\r\n font-weight: normal;\r\n font-style: normal;\r\n }\r\n `;\r\n\r\n return fontFaceStyle as string;\r\n } catch {\r\n console.log(\"[ERROR] Getting the font '\" + fontName + \"'\");\r\n return undefined;\r\n }\r\n });\r\n }\r\n\r\n blobToBase64(blob: Blob): Promise<string | ArrayBuffer> {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.onloadend = () => resolve(reader.result!);\r\n reader.onerror = reject;\r\n reader.readAsDataURL(blob);\r\n });\r\n }\r\n\r\n getFontMimeAndType(fileUrl: any) {\r\n const ext = fileUrl.split('.').pop().toLowerCase();\r\n switch (ext) {\r\n case 'otf':\r\n return { mime: 'font/otf', type: 'opentype' };\r\n case 'ttf':\r\n return { mime: 'font/ttf', type: 'truetype' };\r\n case 'woff':\r\n return { mime: 'font/woff', type: 'woff' };\r\n case 'woff2':\r\n return { mime: 'font/woff2', type: 'woff2' };\r\n default:\r\n return { mime: 'application/octet-stream', type: 'truetype' };\r\n }\r\n }\r\n\r\n // ***********************************************************************************\r\n // * DOCUMENTS\r\n // ***********************************************************************************\r\n\r\n createDocumentFromPublication(\r\n documentName: string,\r\n publicationGuid: string,\r\n folderSelected: string,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/documents',\r\n {\r\n documentName: documentName,\r\n documentType: 'publication',\r\n documentCatalogId: publicationGuid,\r\n folderGuid: folderSelected,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n createEmptyDocumentFromPublication(\r\n documentName: string,\r\n publicationGuid: string,\r\n folderSelected: string,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/documents',\r\n {\r\n documentName: documentName,\r\n documentType: 'publication',\r\n documentCatalogId: publicationGuid,\r\n folderGuid: folderSelected,\r\n isEmpty: true,\r\n empty: true,\r\n isBlank: true,\r\n createFromScratch: true,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n // ***********************************************************************************\r\n // * YOUBOOKY\r\n // ***********************************************************************************\r\n\r\n shareToYoubooky(publicationGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Publications/youbooky',\r\n {\r\n publicationGuid: publicationGuid,\r\n type: 'publications',\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n}\r\n","export const DEFAULT_TEMPLATEGUID = '00000000-0000-0000-0000-000000000000';\r\n\r\nexport interface TemplateProps {\r\n id?: number;\r\n guid?: string;\r\n name?: string;\r\n defaultBackground?: string;\r\n defaultProductBlock?: string;\r\n unit?: string;\r\n version?: number;\r\n productSheetAssetGuid?: string | null;\r\n}\r\n\r\nexport class Template {\r\n private _id: number = -1;\r\n private _guid: string | null = null;\r\n private _name: string | null = null;\r\n private _defaultBackground: string = '';\r\n private _defaultProductBlock: string = '';\r\n private _unit: string = 'mm';\r\n private _version: number = 0;\r\n private _productSheetAssetGuid: string | null = null;\r\n\r\n constructor(data: TemplateProps = {}) {\r\n this.id = data.id ?? -1;\r\n this.name = data.name ?? '';\r\n this.guid = data.guid ?? null;\r\n this.defaultBackground = data.defaultBackground ?? '';\r\n this.defaultProductBlock = data.defaultProductBlock ?? '';\r\n this.unit = data.unit ?? 'mm';\r\n this.version = data.version ?? 0;\r\n this.productSheetAssetGuid = data.productSheetAssetGuid ?? null;\r\n }\r\n\r\n get id(): number {\r\n return this._id;\r\n }\r\n set id(value: number) {\r\n this._id = value;\r\n }\r\n\r\n get guid(): string | null {\r\n return this._guid;\r\n }\r\n set guid(value: string | null) {\r\n this._guid = value;\r\n }\r\n\r\n get name(): string | null {\r\n return this._name;\r\n }\r\n set name(value: string | null) {\r\n this._name = value;\r\n }\r\n\r\n get defaultBackground(): string {\r\n return this._defaultBackground;\r\n }\r\n set defaultBackground(value: string) {\r\n this._defaultBackground = value;\r\n }\r\n\r\n get defaultProductBlock(): string {\r\n return this._defaultProductBlock;\r\n }\r\n set defaultProductBlock(value: string) {\r\n this._defaultProductBlock = value;\r\n }\r\n\r\n get unit(): string {\r\n return this._unit;\r\n }\r\n set unit(value: string) {\r\n this._unit = value;\r\n }\r\n\r\n get version(): number {\r\n return this._version;\r\n }\r\n set version(value: number) {\r\n this._version = value;\r\n }\r\n\r\n get productSheetAssetGuid(): string | null {\r\n return this._productSheetAssetGuid;\r\n }\r\n set productSheetAssetGuid(value: string | null) {\r\n this._productSheetAssetGuid = value;\r\n }\r\n\r\n toJSON() {\r\n return {\r\n id: this._id,\r\n guid: this._guid,\r\n defaultBackground: this._defaultBackground,\r\n defaultProductBlock: this._defaultProductBlock,\r\n unit: this._unit,\r\n version: this._version,\r\n productSheetAssetGuid: this._productSheetAssetGuid,\r\n };\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { finalize, map } from 'rxjs/operators';\r\nimport { Observable } from 'rxjs';\r\nimport { AuthService } from '../../auth.service';\r\nimport { SettingsService } from '../../settings.service';\r\nimport { websocketService } from '../../websocket.service';\r\nimport { Template, TemplateProps } from './template.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TemplatesService {\r\n constructor(\r\n private auth: AuthService,\r\n private _settingsService: SettingsService,\r\n private http: HttpClient,\r\n private _webSocket: websocketService,\r\n ) {}\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getTemplate(templateGuid: string): Observable<Template> {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .get<TemplateProps>(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/template?templateGuid=' +\r\n templateGuid,\r\n { headers },\r\n )\r\n .pipe(map((res: TemplateProps) => new Template(res)));\r\n }\r\n\r\n getTemplateDimensions() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'DataSheets/templateDimensions',\r\n { headers },\r\n );\r\n }\r\n\r\n templateSetDefault(\r\n assetGuid: string,\r\n defaultType: string,\r\n defaultGuid: string,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/template/default',\r\n {\r\n templateGuid: assetGuid,\r\n defaultType: defaultType,\r\n defaultGuid: defaultGuid,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n createTemplate(\r\n folderGuid: string,\r\n templateName: string,\r\n templateUnit = 'mm',\r\n templateProductSheetAssetGuid?: string,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/template',\r\n {\r\n folderGuid: folderGuid,\r\n templateName: templateName,\r\n templateUnit: templateUnit,\r\n templateProductSheetAssetGuid: templateProductSheetAssetGuid,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n duplicateTemplate(duplicateGuid: string, name: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/template/duplicate',\r\n {\r\n templateName: name,\r\n assetGuid: duplicateGuid,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n updateFieldForTemplate(\r\n templateGuid: string,\r\n fieldName: string,\r\n fieldValue: string,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/template/field',\r\n {\r\n templateGuid: templateGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n migrateTemplate(assetGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/templates/migrate',\r\n { assetGuid },\r\n { headers },\r\n );\r\n }\r\n}\r\n","import { DEFAULT_TEMPLATEGUID } from './template.model';\r\n\r\nexport interface PublicationTemplateProps {\r\n guid?: string;\r\n name?: string;\r\n type?: string;\r\n createdAt?: Date | string;\r\n modifiedAt?: Date | string | null;\r\n active?: boolean;\r\n settingVariants?: any;\r\n default?: boolean;\r\n linkedTemplate?: string;\r\n templateGuid?: string;\r\n version?: string;\r\n thumbnail?: string;\r\n productSheetGuid?: string | null;\r\n productSheetAssetGuid?: string | null;\r\n url?: string;\r\n formatName?: string;\r\n backgroundName?: string;\r\n backgroundFormatName?: string;\r\n svgContent?: string | null;\r\n svgUrl?: string;\r\n marginHorizontal?: number;\r\n}\r\n\r\nexport class PublicationTemplate {\r\n private _guid: string = '';\r\n private _name: string = '';\r\n private _type: string = '';\r\n private _createdAt: Date | string = '';\r\n private _modifiedAt: Date | string | null = null;\r\n private _active: boolean = true;\r\n private _settingVariants: any = {};\r\n private _default: boolean = false;\r\n private _linkedTemplate: string = '';\r\n private _templateGuid: string = DEFAULT_TEMPLATEGUID;\r\n private _version: string = '';\r\n private _thumbnail: string = '';\r\n private _productSheetAssetGuid: string | null = null;\r\n private _url: string = '';\r\n\r\n // MORE PROPERTIES (for front only)\r\n private _nameNoSvg: string = '';\r\n private _width: number = 0;\r\n private _height: number = 0;\r\n private _headerHeight: number = 0;\r\n private _footerHeight: number = 0;\r\n private _leftMargin: number = 0;\r\n private _rightMargin: number = 0;\r\n private _bleedMarginTop: number = 0;\r\n private _bleedMarginBottom: number = 0;\r\n private _bleedMarginLeft: number = 0;\r\n private _bleedMarginRight: number = 0;\r\n private _pathFile: string = '';\r\n private _svgImage: string | null = null;\r\n private _backgroundFormatName: string = '';\r\n private _svgContent: string | null = null;\r\n private _svgUrl: string = '';\r\n private _marginHorizontal: number = 0;\r\n private _isSvgLoaded: boolean = false;\r\n\r\n constructor(data: PublicationTemplateProps = {}) {\r\n this.guid = data.guid ?? '';\r\n this.name = data.name ?? data.backgroundName ?? '';\r\n this.type = data.type ?? '';\r\n this.createdAt = data.createdAt ?? new Date();\r\n this.modifiedAt = data.modifiedAt ?? null;\r\n this.active = data.active ?? true;\r\n this.settingVariants = data.settingVariants ?? {};\r\n this.default = data.default ?? false;\r\n this.linkedTemplate = data.linkedTemplate ?? '';\r\n this.templateGuid = data.templateGuid ?? DEFAULT_TEMPLATEGUID;\r\n this.version = data.version ?? '';\r\n this.thumbnail = data.thumbnail ?? '';\r\n this.productSheetAssetGuid = data.productSheetAssetGuid ?? null;\r\n this.url = data.url ?? '';\r\n this.formatName = data.formatName ?? data.backgroundFormatName ?? '';\r\n this.svgContent = data.svgContent ?? null;\r\n this.svgUrl = data.svgUrl ?? '';\r\n this.marginHorizontal = data.marginHorizontal ?? 0;\r\n }\r\n\r\n // Getters and Setters for the standard property names\r\n get guid(): string {\r\n return this._guid;\r\n }\r\n set guid(value: string) {\r\n this._guid = value || '';\r\n }\r\n\r\n get name(): string {\r\n return this._name;\r\n }\r\n set name(value: string) {\r\n this._name = value || '';\r\n }\r\n\r\n get type(): string {\r\n return this._type;\r\n }\r\n set type(value: string) {\r\n this._type = value || '';\r\n }\r\n\r\n get createdAt(): Date | string {\r\n return this._createdAt;\r\n }\r\n set createdAt(value: Date | string) {\r\n this._createdAt = value || new Date();\r\n }\r\n\r\n get modifiedAt(): Date | string | null {\r\n return this._modifiedAt;\r\n }\r\n set modifiedAt(value: Date | string | null) {\r\n this._modifiedAt = value;\r\n }\r\n\r\n get active(): boolean {\r\n return this._active;\r\n }\r\n set active(value: boolean) {\r\n this._active = !!value;\r\n }\r\n\r\n get settingVariants(): any {\r\n return this._settingVariants;\r\n }\r\n set settingVariants(value: any) {\r\n this._settingVariants = value || {};\r\n }\r\n\r\n get default(): boolean {\r\n return this._default;\r\n }\r\n set default(value: boolean) {\r\n this._default = !!value;\r\n }\r\n\r\n get linkedTemplate(): string {\r\n return this._linkedTemplate;\r\n }\r\n set linkedTemplate(value: string) {\r\n this._linkedTemplate = value || '';\r\n }\r\n\r\n get templateGuid(): string {\r\n return this._templateGuid;\r\n }\r\n set templateGuid(value: string) {\r\n this._templateGuid = value || DEFAULT_TEMPLATEGUID;\r\n }\r\n\r\n get version(): string {\r\n return this._version;\r\n }\r\n set version(value: string) {\r\n this._version = value || '';\r\n }\r\n\r\n get thumbnail(): string {\r\n return this._thumbnail;\r\n }\r\n set thumbnail(value: string) {\r\n this._thumbnail = value || '';\r\n }\r\n\r\n get productSheetAssetGuid(): string | null {\r\n return this._productSheetAssetGuid;\r\n }\r\n set productSheetAssetGuid(value: string | null) {\r\n this._productSheetAssetGuid = value;\r\n }\r\n\r\n get url(): string {\r\n return this._url;\r\n }\r\n set url(value: string) {\r\n this._url = value || '';\r\n }\r\n\r\n // MORE ONLY FOR FRONT\r\n get nameNoSvg(): string {\r\n return this._nameNoSvg;\r\n }\r\n set nameNoSvg(value: string) {\r\n this._nameNoSvg = value || '';\r\n }\r\n\r\n get width() {\r\n return this._width;\r\n }\r\n set width(value: number) {\r\n this._width = value || 0;\r\n }\r\n\r\n get height() {\r\n return this._height;\r\n }\r\n set height(value: number) {\r\n this._height = value || 0;\r\n }\r\n\r\n get headerHeight() {\r\n return this._headerHeight;\r\n }\r\n set headerHeight(value: number) {\r\n this._headerHeight = value || 0;\r\n }\r\n\r\n get footerHeight() {\r\n return this._footerHeight;\r\n }\r\n set footerHeight(value: number) {\r\n this._footerHeight = value || 0;\r\n }\r\n\r\n get leftMargin() {\r\n return this._leftMargin;\r\n }\r\n set leftMargin(value: number) {\r\n this._leftMargin = value || 0;\r\n }\r\n\r\n get rightMargin() {\r\n return this._rightMargin;\r\n }\r\n set rightMargin(value: number) {\r\n this._rightMargin = value || 0;\r\n }\r\n\r\n get bleedMarginTop() {\r\n return this._bleedMarginTop;\r\n }\r\n set bleedMarginTop(value: number) {\r\n this._bleedMarginTop = value || 0;\r\n }\r\n\r\n get bleedMarginBottom() {\r\n return this._bleedMarginBottom;\r\n }\r\n set bleedMarginBottom(value: number) {\r\n this._bleedMarginBottom = value || 0;\r\n }\r\n\r\n get bleedMarginLeft() {\r\n return this._bleedMarginLeft;\r\n }\r\n set bleedMarginLeft(value: number) {\r\n this._bleedMarginLeft = value || 0;\r\n }\r\n\r\n get bleedMarginRight() {\r\n return this._bleedMarginRight;\r\n }\r\n set bleedMarginRight(value: number) {\r\n this._bleedMarginRight = value || 0;\r\n }\r\n\r\n get pathFile() {\r\n return this._pathFile;\r\n }\r\n set pathFile(value: string) {\r\n this._pathFile = value;\r\n }\r\n\r\n get svgImage() {\r\n return this._svgImage;\r\n }\r\n set svgImage(value: string | null) {\r\n this._svgImage = value;\r\n }\r\n\r\n get formatName(): string {\r\n return this._backgroundFormatName;\r\n }\r\n set formatName(value: string) {\r\n this._backgroundFormatName = value || '';\r\n }\r\n\r\n get svgContent(): string | null {\r\n return this._svgContent;\r\n }\r\n set svgContent(value: string | null) {\r\n this._svgContent = value;\r\n }\r\n\r\n get svgUrl(): string {\r\n return this._svgUrl;\r\n }\r\n set svgUrl(value: string) {\r\n this._svgUrl = value || '';\r\n }\r\n\r\n get marginHorizontal(): number {\r\n return this._marginHorizontal;\r\n }\r\n set marginHorizontal(value: number) {\r\n this._marginHorizontal = value || 0;\r\n }\r\n\r\n get isSvgLoaded(): boolean {\r\n return this._isSvgLoaded;\r\n }\r\n set isSvgLoaded(value: boolean) {\r\n this._isSvgLoaded = value;\r\n }\r\n\r\n toJSON() {\r\n return {\r\n guid: this.guid,\r\n name: this.name,\r\n type: this.type,\r\n createdAt: this.createdAt,\r\n modifiedAt: this.modifiedAt,\r\n active: this.active,\r\n settingVariants: this.settingVariants,\r\n default: this.default,\r\n linkedTemplate: this.linkedTemplate,\r\n templateGuid: this.templateGuid,\r\n version: this.version,\r\n thumbnail: this.thumbnail,\r\n productSheetAssetGuid: this.productSheetAssetGuid,\r\n url: this.url,\r\n };\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpHeaders, HttpClient } from '@angular/common/http';\r\nimport { throws } from 'assert';\r\nimport { finalize, map } from 'rxjs/operators';\r\nimport { Observable } from 'rxjs';\r\nimport { AuthService } from '../../auth.service';\r\nimport { SettingsService } from '../../settings.service';\r\nimport { websocketService } from '../../websocket.service';\r\nimport { PublicationTemplate } from './publication-template.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PublicationsTemplatesService {\r\n constructor(\r\n private auth: AuthService,\r\n private _settingsService: SettingsService,\r\n private http: HttpClient,\r\n private _webSocket: websocketService,\r\n ) {}\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getPublicationTemplate(\r\n publicationTemplateGuid: any,\r\n ): Observable<PublicationTemplate> {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .get<any>(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'DataSheets/' +\r\n publicationTemplateGuid,\r\n { headers },\r\n )\r\n .pipe(map((res: any) => new PublicationTemplate(res)));\r\n }\r\n\r\n // get all templates with parameters\r\n getPublicationsTemplates(\r\n start: number,\r\n limit: number,\r\n searchWord?: string,\r\n typeSelected?: string,\r\n columnSort?: any,\r\n direction?: string,\r\n active?: boolean,\r\n delautTemplate?: boolean,\r\n ) {\r\n let searchParam = searchWord ? '&search=' + searchWord : '';\r\n let typeParam = typeSelected ? '&type=' + typeSelected : '';\r\n let columnSortParam = columnSort ? '&sort=' + columnSort : '';\r\n let directionParam = direction ? '&direction=' + direction : '';\r\n let activeParam = active ? '&active=' + active : '';\r\n let delautTemplateParam = delautTemplate\r\n ? '&defaultTemplate=' + delautTemplate\r\n : '';\r\n\r\n let headers = this._settingsService.getHeaders();\r\n let params = `?start=${start}&limit=${limit}${searchParam}${typeParam}${columnSortParam}${directionParam}${activeParam}${delautTemplateParam}`;\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n `DataSheets/publicationstemplates${params}`,\r\n { headers },\r\n );\r\n }\r\n\r\n duplicatePublicationTemplate(name: string, duplicateGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'DataSheets/duplicate',\r\n {\r\n publicationTemplateName: name,\r\n publicationTemplateGuid: duplicateGuid,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n deletePublicationTemplate(publicationtemplateguid: string) {\r\n let listingTemplateGuidToDelete = [publicationtemplateguid];\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .request(\r\n 'delete',\r\n this._settingsService.getSettings('apiUrl') +\r\n 'DataSheets/publicationstemplates',\r\n {\r\n headers: headers,\r\n body: {\r\n listingPublicationTemplateToDelete: listingTemplateGuidToDelete,\r\n },\r\n },\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n deletePublicationTemplates(listingTemplateGuidToDelete: string[]) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .request(\r\n 'delete',\r\n this._settingsService.getSettings('apiUrl') +\r\n 'DataSheets/publicationstemplates',\r\n {\r\n headers: headers,\r\n body: {\r\n listingPublicationTemplateToDelete: listingTemplateGuidToDelete,\r\n },\r\n },\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n renamePublicationTemplate(\r\n publicationTemplateGuid: string,\r\n fieldValue: string,\r\n templateGuid: string,\r\n ) {\r\n let fieldName = 'publicationTemplateName';\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'DataSheets/field',\r\n {\r\n publicationTemplateGuid: publicationTemplateGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n templateGuid: templateGuid,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n changePublicationTemplateType(\r\n publicationTemplateGuid: string,\r\n fieldValue: string,\r\n templateGuid: string,\r\n ) {\r\n let fieldName = 'publicationTemplateType';\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n\r\n switch (fieldValue) {\r\n case 'coverpage':\r\n fieldValue = 'COVER';\r\n }\r\n fieldValue = fieldValue.toUpperCase();\r\n\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'DataSheets/field',\r\n {\r\n publicationTemplateGuid: publicationTemplateGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n templateGuid: templateGuid,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n updatePublicationTemplateBackgroundLink(\r\n publicationTemplateGuid: string,\r\n fieldValue: string,\r\n templateGuid: string,\r\n ) {\r\n let fieldName = 'publicationtemplatelinkedtemplate';\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'DataSheets/field',\r\n {\r\n publicationTemplateGuid: publicationTemplateGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n templateGuid: templateGuid,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n addPublicationTemplate(\r\n templateGuid: string,\r\n name: string,\r\n type: string,\r\n formatName: string,\r\n linkedBackgroundGuid: string,\r\n width: number,\r\n height: number,\r\n marginTop?: number,\r\n marginBottom?: number,\r\n marginLeft?: number,\r\n marginRight?: number,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'DataSheets/new',\r\n {\r\n publicationTemplateName: name,\r\n publicationTemplateType: type,\r\n publicationTemplateIsActive: true,\r\n publicationTemplateFormatName: formatName,\r\n publicationTemplateLinkedTemplate: linkedBackgroundGuid,\r\n publicationTemplateTemplateGuid: templateGuid,\r\n publicationTemplateWidth: width,\r\n publicationTemplateHeight: height,\r\n publicationTemplateMarginTop: marginTop,\r\n publicationTemplateMarginBottom: marginBottom,\r\n publicationTemplateMarginLeft: marginLeft,\r\n publicationTemplateMarginRight: marginRight,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n getTemplateBackgrounds(\r\n templateGuid: string,\r\n ): Observable<{ backgrounds: PublicationTemplate[] }> {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'DataSheets/backgrounds/template?templateGuid=' +\r\n templateGuid,\r\n { headers },\r\n )\r\n .pipe(\r\n map((res: any) => {\r\n return {\r\n backgrounds: (res.backgrounds || res.Backgrounds || []).map(\r\n (item: any) => new PublicationTemplate(item),\r\n ),\r\n };\r\n }),\r\n );\r\n }\r\n\r\n getTemplateProductBlocks(\r\n templateGuid: string,\r\n ): Observable<{ productBlocks: PublicationTemplate[] }> {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'DataSheets/productblocks/template?templateGuid=' +\r\n templateGuid,\r\n { headers },\r\n )\r\n .pipe(\r\n map((res: any) => {\r\n return {\r\n productBlocks: (res.productBlocks || []).map(\r\n (item: any) => new PublicationTemplate(item),\r\n ),\r\n };\r\n }),\r\n );\r\n }\r\n\r\n getTemplateCoverpages(\r\n templateGuid: string,\r\n ): Observable<{ coverpages: PublicationTemplate[] }> {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'DataSheets/coverpages/template?templateGuid=' +\r\n templateGuid,\r\n { headers },\r\n )\r\n .pipe(\r\n map((res: any) => {\r\n return {\r\n coverpages: (res.coverpages || res.Coverpages || []).map(\r\n (item: any) => new PublicationTemplate(item),\r\n ),\r\n };\r\n }),\r\n );\r\n }\r\n\r\n getTemplateMarketings(\r\n templateGuid: string,\r\n ): Observable<{ marketing: PublicationTemplate[] }> {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'DataSheets/marketing/template?templateGuid=' +\r\n templateGuid,\r\n { headers },\r\n )\r\n .pipe(\r\n map((res: any) => {\r\n return {\r\n marketing: (res.marketing || res.Marketing || []).map(\r\n (item: any) => new PublicationTemplate(item),\r\n ),\r\n };\r\n }),\r\n );\r\n }\r\n\r\n getCoverPages() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') + 'DataSheets/coverpages',\r\n { headers },\r\n );\r\n }\r\n\r\n deleteCoverPage(imageGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.request(\r\n 'delete',\r\n this._settingsService.getSettings('apiUrl') + 'DataSheets/coverpages',\r\n {\r\n headers: headers,\r\n body: { coverName: imageGuid },\r\n },\r\n );\r\n }\r\n\r\n deleteMarketing(imageGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.request(\r\n 'delete',\r\n this._settingsService.getSettings('apiUrl') + 'DataSheets/marketing',\r\n {\r\n headers: headers,\r\n body: { marketingName: imageGuid },\r\n },\r\n );\r\n }\r\n\r\n getBackgrounds() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') + 'DataSheets/backgrounds',\r\n { headers },\r\n );\r\n }\r\n\r\n deleteBackground(imageGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.request(\r\n 'delete',\r\n this._settingsService.getSettings('apiUrl') + 'DataSheets/backgrounds',\r\n {\r\n headers: headers,\r\n body: { backgroundName: imageGuid },\r\n },\r\n );\r\n }\r\n\r\n getGabarits() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') + 'DataSheets/gabarits',\r\n { headers },\r\n );\r\n }\r\n\r\n deleteGabarits(imageGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.request(\r\n 'delete',\r\n this._settingsService.getSettings('apiUrl') + 'DataSheets/gabarits',\r\n {\r\n headers: headers,\r\n body: { gabaritName: imageGuid },\r\n },\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { SettingsService } from '../../settings.service';\r\nimport { websocketService } from '../../websocket.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class DocumentsService {\r\n constructor(\r\n private _settingsService: SettingsService,\r\n private http: HttpClient,\r\n private _webSocket: websocketService,\r\n ) {}\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n // DOCUMENTS\r\n getDocument(assetGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/documents/' +\r\n assetGuid,\r\n { headers },\r\n );\r\n }\r\n\r\n existDocument(assetGuid: string, version: string = 'v1') {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/documents/exist/' +\r\n assetGuid +\r\n '/' +\r\n version,\r\n { headers },\r\n );\r\n }\r\n\r\n createDocument(assetName: string, folderGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/documents',\r\n {\r\n documentName: assetName,\r\n folderGuid: folderGuid,\r\n documentType: 'document',\r\n },\r\n options,\r\n );\r\n }\r\n\r\n duplicateDocument(assetGuid: string, documentName: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/documents/duplicate',\r\n {\r\n assetGuid: assetGuid,\r\n documentName: documentName,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n updateDocumentPagePosition(\r\n assetGuid: string,\r\n pageGuid: string,\r\n position: number,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.put(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/documents/page/' +\r\n assetGuid +\r\n '/' +\r\n pageGuid +\r\n '/' +\r\n position,\r\n {},\r\n { headers },\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n DOCUMENTS IMPORT (PDF to SVG)\r\n ======================================================================== */\r\n\r\n importDocumentFiles(assetGuid: string, overwrite: boolean, files: any[]) {\r\n let headers = this._settingsService.getHeaders();\r\n if (headers instanceof HttpHeaders) {\r\n if (headers.has('Content-Type')) {\r\n headers = headers.delete('Content-Type');\r\n }\r\n } else if (headers['Content-Type']) {\r\n delete headers['Content-Type'];\r\n }\r\n const options = { headers: headers };\r\n\r\n const formData = new FormData();\r\n formData.append('assetGuid', assetGuid);\r\n if (overwrite !== null && overwrite !== undefined) {\r\n formData.append('overwrite', overwrite.toString());\r\n }\r\n\r\n if (files && files.length > 0) {\r\n for (const file of files) {\r\n formData.append('files', file);\r\n }\r\n }\r\n\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/documents/import',\r\n formData,\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n migrateDocument(assetGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/documents/migrate',\r\n { assetGuid },\r\n { headers },\r\n );\r\n }\r\n}\r\n","export interface DocumentProps {\r\n documentGuid?: string;\r\n documentVersion?: number;\r\n documentPublicationGuid?: string | null;\r\n productSheetGuid?: string | null;\r\n productSheetAssetGuid?: string | null;\r\n}\r\n\r\nexport class Document {\r\n private _documentGuid: string = '';\r\n private _documentVersion: number = 0;\r\n private _documentPublicationGuid: string | null = null;\r\n private _productSheetGuid: string | null = null;\r\n private _productSheetAssetGuid: string | null = null;\r\n\r\n constructor(data: DocumentProps = {}) {\r\n this.documentGuid = data.documentGuid ?? '';\r\n this.documentVersion = data.documentVersion ?? 0;\r\n this.documentPublicationGuid = data.documentPublicationGuid ?? null;\r\n this.productSheetGuid = data.productSheetGuid ?? null;\r\n this.productSheetAssetGuid = data.productSheetAssetGuid ?? null;\r\n }\r\n\r\n get documentGuid(): string {\r\n return this._documentGuid;\r\n }\r\n set documentGuid(value: string) {\r\n this._documentGuid = value || '';\r\n }\r\n\r\n get documentVersion(): number {\r\n return this._documentVersion;\r\n }\r\n set documentVersion(value: number) {\r\n this._documentVersion = value || 0;\r\n }\r\n\r\n get documentPublicationGuid(): string | null {\r\n return this._documentPublicationGuid;\r\n }\r\n set documentPublicationGuid(value: string | null) {\r\n this._documentPublicationGuid = value;\r\n }\r\n\r\n get productSheetGuid(): string | null {\r\n return this._productSheetGuid;\r\n }\r\n set productSheetGuid(value: string | null) {\r\n this._productSheetGuid = value;\r\n }\r\n\r\n get productSheetAssetGuid(): string | null {\r\n return this._productSheetAssetGuid;\r\n }\r\n set productSheetAssetGuid(value: string | null) {\r\n this._productSheetAssetGuid = value;\r\n }\r\n\r\n toJSON() {\r\n return {\r\n documentGuid: this.documentGuid,\r\n documentVersion: this.documentVersion,\r\n documentPublicationGuid: this.documentPublicationGuid,\r\n productSheetGuid: this.productSheetGuid,\r\n productSheetAssetGuid: this.productSheetAssetGuid,\r\n };\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { SettingsService } from './settings.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StripeService {\r\n constructor(\r\n private http: HttpClient,\r\n private _settingsService: SettingsService\r\n ) { }\r\n\r\n createCheckoutSession(subscriptionGuid: string, successUrl: string, cancelUrl: string) {\r\n const headers = this._settingsService.getHeaders();\r\n const options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Stripe/checkout-session',\r\n {\r\n subscriptionGuid: subscriptionGuid,\r\n successUrl: successUrl,\r\n cancelUrl: cancelUrl,\r\n },\r\n options\r\n );\r\n }\r\n\r\n changeSubscription(newSubscriptionGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n const options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Stripe/change-subscription',\r\n {\r\n newSubscriptionGuid: newSubscriptionGuid,\r\n },\r\n options\r\n );\r\n }\r\n\r\n cancelSubscription(newSubscriptionGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n const options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Stripe/cancel-subscription',\r\n {\r\n newSubscriptionGuid: newSubscriptionGuid,\r\n },\r\n options\r\n );\r\n }\r\n\r\n getInvoices() {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') + 'Stripe/invoices',\r\n { headers }\r\n );\r\n }\r\n}\r\n","/*\r\n * Public API Surface of solidpepper-service\r\n */\r\n\r\nexport * from './lib/menu.service';\r\nexport * from './lib/settings.service';\r\nexport * from './lib/views.service';\r\nexport * from './lib/rights.service';\r\nexport * from './lib/auth.service';\r\nexport * from './lib/websocket.service';\r\nexport * from './lib/companies/companies.service';\r\nexport * from './lib/companies/company.service';\r\nexport * from './lib/companies/company.model';\r\nexport * from './lib/teams.service';\r\nexport * from './lib/dam-assets-profiles.service';\r\nexport * from './lib/dam-assets-selections.service';\r\nexport * from './lib/workflows-desks.service';\r\nexport * from './lib/workflows-historical.service';\r\nexport * from './lib/login/login.service';\r\nexport * from './lib/sidebar-right.service';\r\nexport * from './lib/completeness.service';\r\nexport * from './lib/status.service';\r\nexport * from './lib/exports.service';\r\nexport * from './lib/locale-number.pipe';\r\nexport * from './lib/time-elapsed.pipe';\r\nexport * from './lib/directive/easypiechart/easypiechart.directive';\r\nexport * from './lib/categories.service';\r\nexport * from './lib/skus.service';\r\nexport * from './lib/supplier/suppliers.service';\r\nexport * from './lib/accounts.service';\r\nexport * from './lib/frameworkagreements.service';\r\nexport * from './lib/translate.service';\r\nexport * from './lib/translator.service';\r\nexport * from './lib/attribute/attributes.service';\r\nexport * from './lib/masks/masks.service';\r\nexport * from './lib/dam-assets.service';\r\nexport * from './lib/media-selection.service';\r\nexport * from './lib/search.service';\r\nexport * from './lib/users/users.service';\r\nexport * from './lib/prices-tax/prices-tax.service';\r\nexport * from './lib/notifications/notification-service.service';\r\nexport * from './lib/publications/generation/generation.service';\r\nexport * from './lib/publications/generation/thumbnail.service';\r\nexport * from './lib/publications/productsheet/productsheets.service';\r\nexport * from './lib/publications/publication/publications.service';\r\nexport * from './lib/publications/publication/publication.model';\r\nexport * from './lib/publications/publication/publication-page.model';\r\nexport * from './lib/publications/publication/publication-data.model';\r\nexport * from './lib/publications/template/templates.service';\r\nexport * from './lib/publications/template/publications-templates.service';\r\nexport * from './lib/publications/template/template.model';\r\nexport * from './lib/publications/template/publication-template.model';\r\nexport * from './lib/publications/document/documents.service';\r\nexport * from './lib/publications/document/document.model';\r\n\r\nexport * from './lib/stripe.service';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.SettingsService","i1","i2","i3.RightsService","i4","i5.SettingsService","i6.ViewsService","i1.SettingsService","NotificationServiceService","i4.NotificationServiceService","i3.SettingsService","i4.CompanyService","i6.websocketService","i3.AuthService","i3.websocketService","i1.AuthService","i3","i4.websocketService","map","i2.CompanyService","i4.SettingsService","i3.ThumbnailService","finalize"],"mappings":";;;;;;;;;;;;;;;MAMa,aAAa,CAAA;AAGxB,IAAA,WAAA,GAAA;AAFQ,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,aAAa,CAAM,CAAC,CAAC;IAEtC;AAEhB,IAAA,UAAU,CAAC,MAAW,EAAA;AACpB,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC;IACtC;IAEA,SAAS,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;IAC/C;+GAXW,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAFZ,MAAM,EAAA,CAAA,CAAA;;4FAEP,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCDY,wBAAwB,GAAG,IAAI,cAAc,CAAe,wBAAwB;MACpF,mBAAmB,GAAG,IAAI,cAAc,CAAS,mBAAmB;MAOpE,eAAe,CAAA;AA2B1B,IAAA,WAAA,CACU,IAAgB,EAC8B,WAA0B,EAC/B,cAAuB,EAAA;QAFhE,IAAA,CAAA,IAAI,GAAJ,IAAI;QAC0C,IAAA,CAAA,WAAW,GAAX,WAAW;QAChB,IAAA,CAAA,cAAc,GAAd,cAAc;AA3BzD,QAAA,IAAA,CAAA,MAAM,GAAQ;AACpB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,WAAW,EAAE,KAAK;AAClB,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,cAAc,EAAE,KAAK;AACrB,YAAA,eAAe,EAAE,KAAK;AACtB,YAAA,aAAa,EAAE,KAAK;AACpB,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,cAAc,EAAE,KAAK;AACrB,YAAA,gBAAgB,EAAE,KAAK;AACvB,YAAA,cAAc,EAAE,KAAK;AACrB,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,aAAa,EAAE,aAAa;SAC7B;QAIO,IAAA,CAAA,KAAK,GAAW,EAAE;AAOxB;;AAE+E;;;QAG/E,IAAI,CAAC,IAAI,GAAG;AACV,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,GAAG,EAAE,cAAc;AACnB,YAAA,OAAO,EAAE,wBAAwB;SAClC;;;QAKD,IAAI,CAAC,QAAQ,GAAG;AACd,YAAA,MAAM,EAAE,IAAI,CAAC,cAAc,IAAI,6CAA6C;;;SAG7E;;;;;;;;;;;;;;AAiBD;;AAE8E;QAE9E,IAAI,CAAC,GAAG,GAAG;AACT,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,WAAW,EAAE,EAAE;AACf,YAAA,IAAI,EAAE,MAAM;SACb;IACH;IAEA,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,OAAO,IAAI,CAAC,WAAW,EAAE;QAC3B;AAEA,QAAA,IAAI,KAAK;QACT,IAAI,YAAY,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE;YACpD,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC;QAC1D;aAAO;YACL,KAAK,GAAG,eAAe;QACzB;AAEA,QAAA,OAAO,KAAK;IACd;IAEA,iBAAiB,GAAA;AACf,QAAA,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE;AACjC,QAAA,IAAI,OAAO,GAAQ;AACjB,YAAA,cAAc,EAAE,kBAAkB;AAClC,YAAA,iBAAiB,EAAE,QAAQ;SAC5B;AACD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,mBAAmB,EAAE;YACrE,OAAO;AACR,SAAA,CAAC;IACJ;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,QAAa;QACjB,YAAY,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK;AAC3C,eAAG,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC;AAC5D,eAAG,QAAQ,GAAG,IAAI,CAAC;AACrB,QAAA,OAAO,QAAQ;IACjB;IAEA,UAAU,GAAA;AACR,QAAA,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE;AAC3B,QAAA,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE;QACjC,IAAI,CAAC,OAAO,GAAG;YACb,aAAa,EAAE,SAAS,GAAG,KAAK;AAChC,YAAA,cAAc,EAAE,kBAAkB;AAClC,YAAA,iBAAiB,EAAE,QAAQ;SAC5B;QACD,OAAO,IAAI,CAAC,OAAO;IACrB;AAEA,IAAA,aAAa,CAAC,IAAqB,EAAA;AACjC,QAAA,OAAO,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU;IACvD;AAEA,IAAA,WAAW,CAAC,IAAY,EAAA;AACtB,QAAA,OAAO,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ;IACnD;AAEA,IAAA,aAAa,CAAC,IAAqB,EAAA;AACjC,QAAA,OAAO,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG;IACzC;AAEA,IAAA,cAAc,CAAC,IAAqB,EAAA;AAClC,QAAA,OAAO,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI;IAC3C;AAEA,IAAA,gBAAgB,CAAC,IAAY,EAAA;AAC3B,QAAA,OAAO,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM;IAC/C;IAEA,WAAW,CAAC,IAAqB,EAAE,KAAU,EAAA;AAC3C,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK;IAC7B;IAEA,aAAa,CAAC,IAAqB,EAAE,KAAU,EAAA;QAC7C,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE;AACzC,YAAA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK;QACxB;IACF;IAEA,cAAc,CAAC,IAAqB,EAAE,KAAU,EAAA;QAC9C,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE;AAC1C,YAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK;QACzB;IACF;IAEA,gBAAgB,CAAC,IAAY,EAAE,KAAc,EAAA;QAC3C,UAAU,CAAC,MAAK;YACd,IAAI,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,WAAW,EAAE;AAC9C,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK;YAC3B;QACF,CAAC,EAAE,CAAC,CAAC;IACP;AAEA,IAAA,mBAAmB,CAAC,IAAS,EAAA;AAC3B,QAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAClE;AAEA;;AAE6E;IAE7E,QAAQ,GAAA;QACN,OAAO,IAAI,CAAC,KAAK;IACnB;AAEA,IAAA,QAAQ,CAAC,KAAa,EAAA;AACpB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;QAClB,IAAI,CAAC,QAAQ,GAAG;AACd,YAAA,MAAM,EAAE,sCAAsC,GAAG,IAAI,CAAC,KAAK,GAAG,OAAO;SACtE;IACH;AAEA,IAAA,QAAQ,CAAC,KAAa,EAAA;AACpB,QAAA,YAAY,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxC;AAEA;;AAE6E;AAE7E,IAAA,2BAA2B,CAAC,KAAa,EAAE,WAAA,GAA6B,IAAI,EAAA;AAC1E,QAAA,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE;AAC/B,QAAA,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,wBAAwB,GAAG,KAAK;AACvE,QAAA,IAAI,WAAW;AAAE,YAAA,GAAG,IAAI,eAAe,GAAG,WAAW;AACrD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;IACxC;AAEA,IAAA,iCAAiC,CAAC,WAAgB,EAAA;AAChD,QAAA,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE;QAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,kBAAkB,GAAG,WAAW,EAC7D,EAAE,OAAO,EAAE,CACZ;IACH;+GA/MW,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EA6BJ,wBAAwB,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EACxB,mBAAmB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AA9B9B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFd,MAAM,EAAA,CAAA,CAAA;;4FAEP,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;0BA8BI;;0BAAY,MAAM;2BAAC,wBAAwB;;0BAC3C;;0BAAY,MAAM;2BAAC,mBAAmB;;;MCnC9B,YAAY,CAAA;IACvB,WAAA,CACU,IAAgB,EAChB,gBAAiC,EAAA;QADjC,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;IACtB;AAEJ;;AAE2E;AAE3E,IAAA,WAAW,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,GAAG,EAAE,MAAM,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,SAAS,GAAG,KAAK,EAAA;QAC3E,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,kBAAkB,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,IAAI,GAAG,aAAa,GAAG,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC;IACrM;IAEA,QAAQ,GAAA;QACN,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC;IAC1F;IAEA,SAAS,GAAA;QACP,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,cAAc,EAAE,EAAE,OAAO,EAAE,CAAC;IACjG;AAEA,IAAA,aAAa,CAAC,QAAgB,EAAA;QAC5B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC;IAChH;IAEA,qBAAqB,CAAC,QAAgB,EAAE,OAAe,EAAA;QACrD,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC;IACzI;AAEA;;AAE2E;AAC3E,IAAA,WAAW,CAAC,QAAa,EAAE,eAAoB,EAAE,QAAa,EAAE,UAAe,EAAE,kBAAuB,EAAE,SAAc,EAAE,iBAAsB,EAAE,SAAc,EAAE,YAAiB,EAAA;QACjL,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,OAAO,EACrD;AACE,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,eAAe,EAAE,eAAe;AAChC,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,kBAAkB,EAAE,kBAAkB;AACtC,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,iBAAiB,EAAE,iBAAiB;AACpC,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,YAAY,EAAE,YAAY;SAC3B,EACD,OAAO,CACR;IACH;AACA;;AAE2E;IAC3E,WAAW,CAAC,QAAa,EAAE,SAAc,EAAE,UAAe,EAAE,QAAQ,GAAG,IAAI,EAAA;QACzE,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,aAAa,EAC3D;AACE,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,UAAU,EAAE,UAAU;YACtB,QAAQ,EAAE,QAAQ;SACnB,EACD,OAAO,CACR;IACH;AACA;;AAE2E;AAC3E,IAAA,WAAW,CAAC,QAAgB,EAAA;QAC1B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,QAAQ,GAAG,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC;IACzG;+GAhFW,YAAY,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cAFX,MAAM,EAAA,CAAA,CAAA;;4FAEP,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCOY,WAAW,CAAA;IAqFtB,WAAA,CACS,EAAoB,EACnB,IAAgB,EACjB,MAAqB,EACpB,MAAc,EACd,gBAAiC,EACjC,KAAmB,EAAA;QALpB,IAAA,CAAA,EAAE,GAAF,EAAE;QACD,IAAA,CAAA,IAAI,GAAJ,IAAI;QACL,IAAA,CAAA,MAAM,GAAN,MAAM;QACL,IAAA,CAAA,MAAM,GAAN,MAAM;QACN,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;QAChB,IAAA,CAAA,KAAK,GAAL,KAAK;QArEf,IAAA,CAAA,WAAW,GAAG,WAAW;QAwDzB,IAAA,CAAA,WAAW,GAAG,KAAK;QACnB,IAAA,CAAA,cAAc,GAAG,KAAK;QACtB,IAAA,CAAA,gBAAgB,GAAG,KAAK;QACxB,IAAA,CAAA,eAAe,GAAG,KAAK;AAYrB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;AAEnB,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC,OAAO,KAAI;AACtE,YAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO;AAEhC,YAAA,IACE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC;AAC1E,gBAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC;AAC1E,gBAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,mBAAmB,CAAC,EAC7E;AACA,gBAAA,IAAI,CAAC,WAAW,GAAG,IAAI;YACzB;AAEA,YAAA,IACE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,CAAC,mBAAmB,CAAC;AACvF,gBAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,sBAAsB,CAAC,CAAC,mBAAmB,CAAC;AACzF,gBAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC,mBAAmB,CAAC;AACxF,gBAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,4BAA4B,CAAC,CAAC,mBAAmB,CAAC;AAC/F,gBAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,CAAC,mBAAmB,CAAC;AACvF,gBAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,sCAAsC,CAAC,CAAC,mBAAmB,CAAC;AACzG,gBAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,sBAAsB,CAAC,CAAC,mBAAmB,CAAC;AACzF,gBAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,wBAAwB,CAAC,CAAC,mBAAmB,CAAC;AAE3F,gBAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI;AAE9B,YAAA,IACE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC;AAC1E,gBAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC;AAC5E,gBAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,gBAAgB,CAAC,CAAC,mBAAmB,CAAC;AACnF,gBAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC;AAC5E,gBAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC;AAC5E,gBAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC;AAE5E,gBAAA,IAAI,CAAC,eAAe,GAAG,IAAI;AAE7B,YAAA,IACE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC;AAC1E,gBAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC;AAChF,gBAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,kBAAkB,CAAC,CAAC,mBAAmB,CAAC;AACrF,gBAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,gBAAgB,CAAC,CAAC,mBAAmB,CAAC;AACnF,gBAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,mBAAmB,CAAC;AAE3E,gBAAA,IAAI,CAAC,cAAc,GAAG,IAAI;YAE5B,IAAI,CAAC,UAAU,EAAE;AACnB,QAAA,CAAC,CAAC;IACJ;IAEA,OAAO,GAAA;QACL,OAAO,IAAI,CAAC,SAAS;IACvB;IAEA,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;QAEnB,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC;AAAE,YAAA,IAAI,CAAC,WAAW,GAAG,WAAW;aACpE,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC;AAAE,YAAA,IAAI,CAAC,WAAW,GAAG,UAAU;aACvE,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC;AAAE,YAAA,IAAI,CAAC,WAAW,GAAG,WAAW;aACzE,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC;AAAE,YAAA,IAAI,CAAC,WAAW,GAAG,UAAU;aACvE,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC;AAAE,YAAA,IAAI,CAAC,WAAW,GAAG,OAAO;aACjE,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC;AAAE,YAAA,IAAI,CAAC,WAAW,GAAG,OAAO;aACjE,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC;AAAE,YAAA,IAAI,CAAC,WAAW,GAAG,aAAa;aAC7E,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC;AAAE,YAAA,IAAI,CAAC,WAAW,GAAG,UAAU;aACvE,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;AAAE,YAAA,IAAI,CAAC,WAAW,GAAG,KAAK;AAElE,QAAA,QAAQ,IAAI,CAAC,WAAW;AACtB,YAAA,KAAK,WAAW;AACd,gBAAA,IAAI,CAAC,WAAW,GAAG,EAAE;gBACrB,IAAI,CAAC,aAAa,EAAE;gBACpB;AACF,YAAA,KAAK,WAAW;AACd,gBAAA,IAAI,CAAC,WAAW,GAAG,EAAE;gBACrB,IAAI,CAAC,aAAa,EAAE;gBACpB;AACF,YAAA,KAAK,UAAU;AACb,gBAAA,IAAI,CAAC,WAAW,GAAG,EAAE;gBACrB,IAAI,CAAC,YAAY,EAAE;gBACnB;AACF,YAAA,KAAK,OAAO;AACV,gBAAA,IAAI,CAAC,WAAW,GAAG,EAAE;gBACrB,IAAI,CAAC,SAAS,EAAE;gBAChB;AACF,YAAA,KAAK,OAAO;AACV,gBAAA,IAAI,CAAC,WAAW,GAAG,EAAE;gBACrB,IAAI,CAAC,SAAS,EAAE;gBAChB;AACF,YAAA,KAAK,aAAa;AAChB,gBAAA,IAAI,CAAC,WAAW,GAAG,EAAE;gBACrB,IAAI,CAAC,eAAe,EAAE;gBACtB;AACF,YAAA,KAAK,UAAU;AACb,gBAAA,IAAI,CAAC,WAAW,GAAG,EAAE;gBACrB,IAAI,CAAC,YAAY,EAAE;gBACnB;AACF,YAAA,KAAK,KAAK;AACR,gBAAA,IAAI,CAAC,WAAW,GAAG,EAAE;gBACrB,IAAI,CAAC,OAAO,EAAE;gBACd;AACF,YAAA,KAAK,UAAU;AACb,gBAAA,IAAI,CAAC,WAAW,GAAG,EAAE;AAErB,gBAAA,IAAI,CAAC,WAAW,GAAG,KAAK;AACxB,gBAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK;AAC7B,gBAAA,IAAI,CAAC,eAAe,GAAG,KAAK;AAE5B,gBAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;AAC1B,oBAAA,IACE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC;AAC1E,wBAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC;AAC1E,wBAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,mBAAmB,CAAC;AAE7E,wBAAA,IAAI,CAAC,WAAW,GAAG,IAAI;AAEzB,oBAAA,IACE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,CAAC,mBAAmB,CAAC;AACvF,wBAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,sBAAsB,CAAC,CAAC,mBAAmB,CAAC;AACzF,wBAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC,mBAAmB,CAAC;AACxF,wBAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,4BAA4B,CAAC,CAAC,mBAAmB,CAAC;AAC/F,wBAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,CAAC,mBAAmB,CAAC;AACvF,wBAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,sCAAsC,CAAC,CAAC,mBAAmB,CAAC;AACzG,wBAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,sBAAsB,CAAC,CAAC,mBAAmB,CAAC;AACzF,wBAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,wBAAwB,CAAC,CAAC,mBAAmB,CAAC;AAE3F,wBAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI;AAE9B,oBAAA,IACE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC;AAC1E,wBAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC;AAC5E,wBAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,gBAAgB,CAAC,CAAC,mBAAmB,CAAC;AACnF,wBAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC;AAC5E,wBAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC;AAC5E,wBAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC;AAE5E,wBAAA,IAAI,CAAC,eAAe,GAAG,IAAI;AAE7B,oBAAA,IACE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC;AAC1E,wBAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC;AAChF,wBAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,kBAAkB,CAAC,CAAC,mBAAmB,CAAC;AACrF,wBAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,gBAAgB,CAAC,CAAC,mBAAmB,CAAC;AACnF,wBAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,mBAAmB,CAAC;AAE3E,wBAAA,IAAI,CAAC,cAAc,GAAG,IAAI;gBAC9B;AACA,gBAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;gBACxB;;IAEN;AAEA,IAAA,OAAO,CACL,KASE,EAAA;AAEF,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;AACzB,QAAA,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AACrB,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;AAC3B,QAAA,CAAC,CAAC;IACJ;IAEA,gBAAgB,GAAA;QACd,OAAO,IAAI,CAAC,WAAW;IACzB;AAEA;;AAE6E;IAE7E,aAAa,GAAA;QACX,IAAI,IAAI,CAAC,WAAW,IAAI,WAAW,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;AACxC,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACnB,YAAA,IAAI,CAAC,WAAW,GAAG,WAAW;QAChC;IACF;IAEA,aAAa,GAAA;QACX,IAAI,IAAI,CAAC,WAAW,IAAI,WAAW,IAAI,IAAI,CAAC,iBAAiB,EAAE;AAC7D,YAAA,IAAI,CAAC,mDAAmD,CAAC,IAAI,CAAC,EAAE,CAAC;YACjE,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;AACxC,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACnB,YAAA,IAAI,CAAC,WAAW,GAAG,WAAW;QAChC;IACF;IAEA,YAAY,GAAA;QACV,IAAI,IAAI,CAAC,WAAW,IAAI,UAAU,IAAI,IAAI,CAAC,iBAAiB,EAAE;AAC5D,YAAA,IAAI,CAAC,kDAAkD,CAAC,IAAI,CAAC,EAAE,CAAC;YAChE,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;AACvC,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACnB,YAAA,IAAI,CAAC,WAAW,GAAG,UAAU;QAC/B;IACF;IAEA,SAAS,GAAA;QACP,IAAI,IAAI,CAAC,WAAW,IAAI,OAAO,IAAI,IAAI,CAAC,iBAAiB,EAAE;AACzD,YAAA,IAAI,CAAC,+CAA+C,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;AACpC,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACnB,YAAA,IAAI,CAAC,WAAW,GAAG,OAAO;QAC5B;IACF;IAEA,SAAS,GAAA;QACP,IAAI,IAAI,CAAC,WAAW,IAAI,OAAO,IAAI,IAAI,CAAC,iBAAiB,EAAE;AACzD,YAAA,IAAI,CAAC,+CAA+C,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;AACpC,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACnB,YAAA,IAAI,CAAC,WAAW,GAAG,OAAO;QAC5B;IACF;IAEA,eAAe,GAAA;QACb,IAAI,IAAI,CAAC,WAAW,IAAI,aAAa,IAAI,IAAI,CAAC,iBAAiB,EAAE;AAC/D,YAAA,IAAI,CAAC,sDAAsD,CAAC,IAAI,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;AAC1C,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACnB,YAAA,IAAI,CAAC,WAAW,GAAG,aAAa;QAClC;IACF;IAEA,YAAY,GAAA;QACV,IAAI,IAAI,CAAC,WAAW,IAAI,UAAU,IAAI,IAAI,CAAC,iBAAiB,EAAE;AAC5D,YAAA,IAAI,CAAC,kDAAkD,CAAC,IAAI,CAAC,EAAE,CAAC;YAChE,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;AACvC,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACnB,YAAA,IAAI,CAAC,WAAW,GAAG,UAAU;QAC/B;IACF;IAEA,OAAO,GAAA;QACL,IAAI,IAAI,CAAC,WAAW,IAAI,KAAK,IAAI,IAAI,CAAC,iBAAiB,EAAE;AACvD,YAAA,IAAI,CAAC,6CAA6C,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;AAClC,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACnB,YAAA,IAAI,CAAC,WAAW,GAAG,KAAK;QAC1B;IACF;AAEA,IAAA,YAAY,CAAC,QAAa,EAAA;AACxB,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,UAAU,IAAI,IAAI,CAAC,iBAAiB,MAAM,QAAQ,IAAI,IAAI,CAAC,iBAAiB,CAAC;AAAE,YAAA,IAAI,CAAC,kDAAkD,CAAC,IAAI,CAAC,EAAE,CAAC;AACxK,QAAA,IAAI,CAAC,WAAW,GAAG,UAAU;IAC/B;AAEA;;AAE6E;IAErE,mBAAmB,GAAA;AACzB,QAAA,MAAM,SAAS,GAAG;AAChB,YAAA,MAAM,EAAE,IAAI;AACZ,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,IAAI,EAAE,YAAY;AAClB,YAAA,IAAI,EAAE,mBAAmB;SAC1B;AAED,QAAA,MAAM,IAAI,GAAG,CAAC,SAAS,CAAC;AAExB,QAAA,OAAO,IAAI;IACb;IAEQ,mBAAmB,GAAA;AACzB,QAAA,MAAM,KAAK,GAAG;AACZ,YAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC,mBAAmB,CAAC;YACvF,IAAI,EAAE,IAAI,CAAC,kBAAkB;AAC7B,YAAA,IAAI,EAAE,0BAA0B;AAChC,YAAA,IAAI,EAAE,cAAc;SACrB;AAED,QAAA,MAAM,SAAS,GAAG;AAChB,YAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC,mBAAmB,CAAC;YACvF,IAAI,EAAE,IAAI,CAAC,cAAc;AACzB,YAAA,IAAI,EAAE,0BAA0B;AAChC,YAAA,IAAI,EAAE,kBAAkB;SACzB;AAED,QAAA,MAAM,KAAK,GAAG;AACZ,YAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC;YACnF,IAAI,EAAE,IAAI,CAAC,yBAAyB;AACpC,YAAA,IAAI,EAAE,yBAAyB;AAC/B,YAAA,IAAI,EAAE,uBAAuB;SAC9B;AAED,QAAA,MAAM,KAAK,GAAG;AACZ,YAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,mBAAmB,CAAC,CAAC,mBAAmB,CAAC;YAC/F,IAAI,EAAE,IAAI,CAAC,mBAAmB;AAC9B,YAAA,IAAI,EAAE,0BAA0B;AAChC,YAAA,IAAI,EAAE,kBAAkB;SACzB;AAED,QAAA,MAAM,OAAO,GAAG;AACd,YAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC;YACrF,IAAI,EAAE,IAAI,CAAC,wBAAwB;AACnC,YAAA,IAAI,EAAE,oBAAoB;AAC1B,YAAA,IAAI,EAAE,cAAc;SACrB;AAED,QAAA,MAAM,IAAI,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC;AAEtD,QAAA,OAAO,IAAI;IACb;IAEQ,kBAAkB,GAAA;QACxB,MAAM,SAAS,GAA+D,EAAE;QAChF,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;YAC3C,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAA8E,KAAI;gBACnG,SAAS,CAAC,IAAI,CAAC;AACb,oBAAA,MAAM,EAAE,IAAI;AACZ,oBAAA,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC5B,oBAAA,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,QAAQ;oBAC3C,IAAI,EAAE,OAAO,CAAC,QAAQ;AACvB,iBAAA,CAAC;AACJ,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;AAEF,QAAA,MAAM,IAAI,GAAG;AACX,YAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,mBAAmB,CAAC;YACrF,IAAI,EAAE,IAAI,CAAC,SAAS;AACpB,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,IAAI,EAAE,YAAY;SACnB;AAED,QAAA,MAAM,cAAc,GAAG;AACrB,YAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,mBAAmB,CAAC;YACvF,IAAI,EAAE,IAAI,CAAC,mBAAmB;AAC9B,YAAA,IAAI,EAAE,0BAA0B;AAChC,YAAA,IAAI,EAAE,eAAe;SACtB;AAED,QAAA,MAAM,SAAS,GAAG;AAChB,YAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC,mBAAmB,CAAC;YACtF,IAAI,EAAE,IAAI,CAAC,cAAc;AACzB,YAAA,IAAI,EAAE,qBAAqB;AAC3B,YAAA,IAAI,EAAE,cAAc;SACrB;AAED,QAAA,MAAM,KAAK,GAAG;AACZ,YAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC;YAClF,IAAI,EAAE,IAAI,CAAC,UAAU;AACrB,YAAA,IAAI,EAAE,iBAAiB;AACvB,YAAA,IAAI,EAAE,YAAY;AAClB,YAAA,OAAO,EAAE,SAAS;SACnB;QAED,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,KAAK,CAAC;AAErD,QAAA,OAAO,IAAI;IACb;IAEQ,eAAe,GAAA;AACrB,QAAA,MAAM,MAAM,GAAG;AACb,YAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,mBAAmB,CAAC;YAChF,IAAI,EAAE,IAAI,CAAC,WAAW;AACtB,YAAA,IAAI,EAAE,oBAAoB;AAC1B,YAAA,IAAI,EAAE,aAAa;SACpB;AAED,QAAA,MAAM,MAAM,GAAG;AACb,YAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,mBAAmB,CAAC;YAChF,IAAI,EAAE,IAAI,CAAC,WAAW;AACtB,YAAA,IAAI,EAAE,oBAAoB;AAC1B,YAAA,IAAI,EAAE,aAAa;SACpB;AAED,QAAA,MAAM,SAAS,GAAG;AAChB,YAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,mBAAmB,CAAC;YACnF,IAAI,EAAE,IAAI,CAAC,WAAW;AACtB,YAAA,IAAI,EAAE,uBAAuB;AAC7B,YAAA,IAAI,EAAE,qBAAqB;SAC5B;AAED,QAAA,MAAM,OAAO,GAAG;AACd,YAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,mBAAmB,CAAC;YAClF,IAAI,EAAE,IAAI,CAAC,YAAY;AACvB,YAAA,IAAI,EAAE,iBAAiB;AACvB,YAAA,IAAI,EAAE,qBAAqB;SAC5B;AAED,QAAA,MAAM,SAAS,GAAG;AAChB,YAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,gBAAgB,CAAC;YACvE,IAAI,EAAE,IAAI,CAAC,cAAc;AACzB,YAAA,IAAI,EAAE,kBAAkB;AACxB,YAAA,OAAO,EAAE;AACP,gBAAA;AACE,oBAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,CAAC,mBAAmB,CAAC;oBACtF,IAAI,EAAE,IAAI,CAAC,cAAc;AACzB,oBAAA,IAAI,EAAE,kBAAkB;AACxB,oBAAA,IAAI,EAAE,aAAa;AACpB,iBAAA;AACD,gBAAA;AACE,oBAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,qBAAqB,CAAC,CAAC,mBAAmB,CAAC;oBACjG,IAAI,EAAE,IAAI,CAAC,wBAAwB;AACnC,oBAAA,IAAI,EAAE,iCAAiC;AACvC,oBAAA,IAAI,EAAE,sBAAsB;AAC7B,iBAAA;AACD,gBAAA;AACE,oBAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,eAAe,CAAC,CAAC,mBAAmB,CAAC;oBAC3F,IAAI,EAAE,IAAI,CAAC,kBAAkB;AAC7B,oBAAA,IAAI,EAAE,2BAA2B;AACjC,oBAAA,IAAI,EAAE,aAAa;AACpB,iBAAA;AACD,gBAAA;AACE,oBAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,mBAAmB,CAAC;oBACpF,IAAI,EAAE,IAAI,CAAC,WAAW;AACtB,oBAAA,IAAI,EAAE,oBAAoB;AAC1B,oBAAA,IAAI,EAAE,iBAAiB;AACxB,iBAAA;AACF,aAAA;SACF;AAED,QAAA,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC;AAE5D,QAAA,OAAO,IAAI;IACb;IAEQ,eAAe,GAAA;AACrB,QAAA,MAAM,OAAO,GAAG;AACd,YAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,mBAAmB,CAAC;YACnF,IAAI,EAAE,IAAI,CAAC,YAAY;AACvB,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,IAAI,EAAE,eAAe;SACtB;AAED,QAAA,MAAM,eAAe,GAAG;AACtB,YAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,0BAA0B,CAAC,CAAC,mBAAmB,CAAC;YAClG,IAAI,EAAE,IAAI,CAAC,oBAAoB;AAC/B,YAAA,IAAI,EAAE,yBAAyB;AAC/B,YAAA,IAAI,EAAE,cAAc;SACrB;AAED,QAAA,MAAM,YAAY,GAAG;AACnB,YAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,kBAAkB,CAAC,CAAC,mBAAmB,CAAC;YAC1F,IAAI,EAAE,IAAI,CAAC,iBAAiB;AAC5B,YAAA,IAAI,EAAE,sBAAsB;AAC5B,YAAA,IAAI,EAAE,kBAAkB;SACzB;AAED,QAAA,MAAM,aAAa,GAAG;AACpB,YAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,kBAAkB,CAAC,CAAC,mBAAmB,CAAC;YAC1F,IAAI,EAAE,IAAI,CAAC,kBAAkB;AAC7B,YAAA,IAAI,EAAE,uBAAuB;AAC7B,YAAA,IAAI,EAAE,kBAAkB;SACzB;AAED,QAAA,MAAM,cAAc,GAAG;AACrB,YAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC,CAAC,mBAAmB,CAAC;YAC3F,IAAI,EAAE,IAAI,CAAC,mBAAmB;AAC9B,YAAA,IAAI,EAAE,wBAAwB;AAC9B,YAAA,IAAI,EAAE,2CAA2C;SAClD;AAED,QAAA,MAAM,gBAAgB,GAAG;AACvB,YAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,mBAAmB,CAAC;YAC7F,IAAI,EAAE,IAAI,CAAC,qBAAqB;AAChC,YAAA,IAAI,EAAE,0BAA0B;AAChC,YAAA,IAAI,EAAE,oBAAoB;SAC3B;;;;;;;AASD,QAAA,MAAM,YAAY,GAAG;AACnB,YAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,mBAAmB,CAAC;YACnF,IAAI,EAAE,IAAI,CAAC,iBAAiB;AAC5B,YAAA,IAAI,EAAE,uBAAuB;AAC7B,YAAA,IAAI,EAAE,wBAAwB;SAC/B;AAED,QAAA,MAAM,eAAe,GAAG;AACtB,YAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,mBAAmB,CAAC;YACnF,IAAI,EAAE,IAAI,CAAC,oBAAoB;AAC/B,YAAA,IAAI,EAAE,yBAAyB;AAC/B,YAAA,IAAI,EAAE,cAAc;SACrB;AAED,QAAA,MAAM,IAAI,GAAG;YACX,OAAO;YACP,YAAY;YACZ,aAAa;YACb,eAAe;YACf,cAAc;YACd,gBAAgB;;;;SAIjB;AAED,QAAA,OAAO,IAAI;IACb;IAEQ,qBAAqB,GAAA;AAC3B,QAAA,MAAM,WAAW,GAAG;AAClB,YAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,CAAC,mBAAmB,CAAC;YAC7F,IAAI,EAAE,IAAI,CAAC,gBAAgB;AAC3B,YAAA,IAAI,EAAE,sBAAsB;AAC5B,YAAA,IAAI,EAAE,kBAAkB;SACzB;AAED,QAAA,MAAM,SAAS,GAAG;AAChB,YAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,CAAC,sBAAsB,CAAC,CAAC,mBAAmB,CAAC;YACrG,IAAI,EAAE,IAAI,CAAC,yBAAyB;AACpC,YAAA,IAAI,EAAE,wBAAwB;AAC9B,YAAA,IAAI,EAAE,uBAAuB;SAC9B;AAED,QAAA,MAAM,SAAS,GAAG;AAChB,YAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,CAAC,mBAAmB,CAAC;YAC1F,IAAI,EAAE,IAAI,CAAC,yBAAyB;AACpC,YAAA,IAAI,EAAE,wBAAwB;AAC9B,YAAA,IAAI,EAAE,mBAAmB;SAC1B;AAED,QAAA,MAAM,UAAU,GAAG;YACjB,IAAI,EAAE,IAAI,CAAC,eAAe;SAC3B;QAED,MAAM,IAAI,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC;AAE5D,QAAA,OAAO,IAAI;IACb;IAEQ,kBAAkB,GAAA;AACxB,QAAA,MAAM,QAAQ,GAAG;AACf,YAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,mBAAmB,CAAC;YACrF,IAAI,EAAE,IAAI,CAAC,YAAY;AACvB,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,IAAI,EAAE,WAAW;SAClB;AACD,QAAA,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC;AACvB,QAAA,OAAO,IAAI;IACb;IAEQ,aAAa,GAAA;AACnB,QAAA,MAAM,GAAG,GAAG;AACV,YAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC;YAC7E,IAAI,EAAE,IAAI,CAAC,QAAQ;AACnB,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,IAAI,EAAE,qBAAqB;SAC5B;AAED,QAAA,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC;AAClB,QAAA,OAAO,IAAI;IACb;AAEA;;AAE6E;AAErE,IAAA,+CAA+C,CAAC,EAAoB,EAAA;QAC1E,EAAE,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACjD,YAAA,IAAI,CAAC,WAAW,GAAG,GAAG;AACxB,QAAA,CAAC,CAAC;QAEF,EAAE,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACrD,YAAA,IAAI,CAAC,WAAW,GAAG,GAAG;AACxB,QAAA,CAAC,CAAC;QAEF,EAAE,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AAClD,YAAA,IAAI,CAAC,WAAW,GAAG,GAAG;AACxB,QAAA,CAAC,CAAC;QAEF,EAAE,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AAClD,YAAA,IAAI,CAAC,YAAY,GAAG,GAAG;AACzB,QAAA,CAAC,CAAC;QAEF,EAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACpD,YAAA,IAAI,CAAC,cAAc,GAAG,GAAG;YACzB,EAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACpD,gBAAA,IAAI,CAAC,cAAc,GAAG,GAAG;gBACzB,EAAE,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AAC9D,oBAAA,IAAI,CAAC,wBAAwB,GAAG,GAAG;oBACnC,EAAE,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACxD,wBAAA,IAAI,CAAC,kBAAkB,GAAG,GAAG;wBAC7B,EAAE,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACjD,4BAAA,IAAI,CAAC,WAAW,GAAG,GAAG;AACxB,wBAAA,CAAC,CAAC;AACJ,oBAAA,CAAC,CAAC;AACJ,gBAAA,CAAC,CAAC;AACJ,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;IACJ;AAEQ,IAAA,6CAA6C,CAAC,EAAoB,EAAA;QACxE,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AAC9C,YAAA,IAAI,CAAC,QAAQ,GAAG,GAAG;AACrB,QAAA,CAAC,CAAC;IACJ;AAEQ,IAAA,kDAAkD,CAAC,EAAoB,EAAA;QAC7E,EAAE,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACtD,YAAA,IAAI,CAAC,YAAY,GAAG,GAAG;AACzB,QAAA,CAAC,CAAC;IACJ;AAEQ,IAAA,kDAAkD,CAAC,EAAoB,EAAA;QAC7E,EAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACpD,YAAA,IAAI,CAAC,WAAW,GAAG,GAAG;YACtB,EAAE,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACzD,gBAAA,IAAI,CAAC,gBAAgB,GAAG,GAAG;gBAC3B,EAAE,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACtD,oBAAA,IAAI,CAAC,aAAa,GAAG,GAAG;oBACxB,EAAE,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AAC5D,wBAAA,IAAI,CAAC,kBAAkB,GAAG,GAAG;wBAC7B,EAAE,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AAC7D,4BAAA,IAAI,CAAC,oBAAoB,GAAG,GAAG;4BAC/B,EAAE,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AAC7D,gCAAA,IAAI,CAAC,mBAAmB,GAAG,GAAG;gCAC9B,EAAE,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AAC5D,oCAAA,IAAI,CAAC,iBAAiB,GAAG,GAAG;oCAC5B,EAAE,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACxD,wCAAA,IAAI,CAAC,eAAe,GAAG,GAAG;wCAC1B,EAAE,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACtD,4CAAA,IAAI,CAAC,aAAa,GAAG,GAAG;4CACxB,EAAE,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AAC5D,gDAAA,IAAI,CAAC,mBAAmB,GAAG,GAAG;gDAC9B,EAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACpD,oDAAA,IAAI,CAAC,WAAW,GAAG,GAAG;oDACtB,EAAE,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACtD,wDAAA,IAAI,CAAC,aAAa,GAAG,GAAG;wDACxB,EAAE,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AAC/D,4DAAA,IAAI,CAAC,YAAY,GAAG,GAAG;4DACvB,EAAE,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AAC3E,gEAAA,IAAI,CAAC,wBAAwB,GAAG,GAAG;gEACnC,EAAE,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACvD,oEAAA,IAAI,CAAC,cAAc,GAAG,GAAG;oEACzB,EAAE,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACzD,wEAAA,IAAI,CAAC,eAAe,GAAG,GAAG;wEAC1B,EAAE,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AAC/D,4EAAA,IAAI,CAAC,oBAAoB,GAAG,GAAG;4EAC/B,EAAE,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AAC1D,gFAAA,IAAI,CAAC,iBAAiB,GAAG,GAAG;gFAC5B,EAAE,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACnD,oFAAA,IAAI,CAAC,SAAS,GAAG,GAAG;oFACpB,EAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACpD,wFAAA,IAAI,CAAC,WAAW,GAAG,GAAG;wFACtB,EAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACpD,4FAAA,IAAI,CAAC,WAAW,GAAG,GAAG;4FACtB,EAAE,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACnD,gGAAA,IAAI,CAAC,UAAU,GAAG,GAAG;gGACrB,EAAE,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACnD,oGAAA,IAAI,CAAC,UAAU,GAAG,GAAG;oGACrB,EAAE,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACvD,wGAAA,IAAI,CAAC,cAAc,GAAG,GAAG;wGACzB,EAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACpD,4GAAA,IAAI,CAAC,WAAW,GAAG,GAAG;4GACtB,EAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACpD,gHAAA,IAAI,CAAC,WAAW,GAAG,GAAG;gHACtB,EAAE,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACtD,oHAAA,IAAI,CAAC,aAAa,GAAG,GAAG;oHACxB,EAAE,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACzD,wHAAA,IAAI,CAAC,cAAc,GAAG,GAAG;wHACzB,EAAE,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACvD,4HAAA,IAAI,CAAC,aAAa,GAAG,GAAG;4HACxB,EAAE,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACnD,gIAAA,IAAI,CAAC,UAAU,GAAG,GAAG;gIACrB,EAAE,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACzD,oIAAA,IAAI,CAAC,gBAAgB,GAAG,GAAG;oIAC3B,EAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACpD,wIAAA,IAAI,CAAC,WAAW,GAAG,GAAG;wIACtB,EAAE,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AAC7D,4IAAA,IAAI,CAAC,mBAAmB,GAAG,GAAG;4IAC9B,EAAE,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACrD,gJAAA,IAAI,CAAC,YAAY,GAAG,GAAG;gJACvB,EAAE,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACnD,oJAAA,IAAI,CAAC,SAAS,GAAG,GAAG;oJACpB,EAAE,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACnD,wJAAA,IAAI,CAAC,UAAU,GAAG,GAAG;AAErB,wJAAA,MAAM,MAAM,GAAG;4JACb,MAAM,EAAE,IAAI,CAAC,WAAW;4JACxB,IAAI,EAAE,IAAI,CAAC,WAAW;AACtB,4JAAA,IAAI,EAAE,aAAa;AACnB,4JAAA,OAAO,EAAE;AACP,gKAAA;AACE,oKAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC;oKAClF,IAAI,EAAE,IAAI,CAAC,UAAU;AACrB,oKAAA,IAAI,EAAE,iBAAiB;AACxB,iKAAA;AACD,gKAAA;AACE,oKAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC;oKAClF,IAAI,EAAE,IAAI,CAAC,UAAU;AACrB,oKAAA,IAAI,EAAE,iBAAiB;AACxB,iKAAA;AACD,gKAAA;AACE,oKAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,mBAAmB,CAAC;oKACrF,IAAI,EAAE,IAAI,CAAC,WAAW;AACtB,oKAAA,IAAI,EAAE,mBAAmB;AAC1B,iKAAA;AACF,6JAAA;yJACF;AAED,wJAAA,MAAM,UAAU,GAAG;4JACjB,MAAM,EAAE,IAAI,CAAC,gBAAgB;4JAC7B,IAAI,EAAE,IAAI,CAAC,eAAe;AAC1B,4JAAA,IAAI,EAAE,kBAAkB;AACxB,4JAAA,OAAO,EAAE;AACP,gKAAA;AACE,oKAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,CAAC,mBAAmB,CAAC;oKAC/F,IAAI,EAAE,IAAI,CAAC,aAAa;AACxB,oKAAA,IAAI,EAAE,2BAA2B;AAClC,iKAAA;AACD,gKAAA;AACE,oKAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,sBAAsB,CAAC,CAAC,mBAAmB,CAAC;oKACjG,IAAI,EAAE,IAAI,CAAC,mBAAmB;AAC9B,oKAAA,IAAI,EAAE,iCAAiC;AACxC,iKAAA;AACD,gKAAA;AACE,oKAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,sBAAsB,CAAC,CAAC,mBAAmB,CAAC;oKACjG,IAAI,EAAE,IAAI,CAAC,WAAW;AACtB,oKAAA,IAAI,EAAE,6BAA6B;AACpC,iKAAA;AACD,gKAAA;AACE,oKAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,CAAC,mBAAmB,CAAC;oKAC/F,IAAI,EAAE,IAAI,CAAC,aAAa;AACxB,oKAAA,IAAI,EAAE,+BAA+B;AACtC,iKAAA;AACD,gKAAA;AACE,oKAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,4BAA4B,CAAC,CAAC,mBAAmB,CAAC;oKACvG,IAAI,EAAE,IAAI,CAAC,YAAY;AACvB,oKAAA,IAAI,EAAE,uCAAuC;AAC9C,iKAAA;AACD,gKAAA;AACE,oKAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,sCAAsC,CAAC,CAAC,mBAAmB,CAAC;oKACjH,IAAI,EAAE,IAAI,CAAC,wBAAwB;AACnC,oKAAA,IAAI,EAAE,kDAAkD;AACzD,iKAAA;AACD,gKAAA;AACE,oKAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC,mBAAmB,CAAC;oKAChG,IAAI,EAAE,IAAI,CAAC,cAAc;AACzB,oKAAA,IAAI,EAAE,gCAAgC;AACvC,iKAAA;AACD,gKAAA;AACE,oKAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,sBAAsB,CAAC,CAAC,mBAAmB,CAAC;oKACjG,IAAI,EAAE,IAAI,CAAC,eAAe;AAC1B,oKAAA,IAAI,EAAE,iCAAiC;AACxC,iKAAA;AACD,gKAAA;AACE,oKAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,sBAAsB,CAAC,CAAC,mBAAmB,CAAC;oKACjG,IAAI,EAAE,IAAI,CAAC,oBAAoB;AAC/B,oKAAA,IAAI,EAAE,sCAAsC;AAC7C,iKAAA;AACD,gKAAA;AACE,oKAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,wBAAwB,CAAC,CAAC,mBAAmB,CAAC;oKACnG,IAAI,EAAE,IAAI,CAAC,iBAAiB;AAC5B,oKAAA,IAAI,EAAE,mCAAmC;AAC1C,iKAAA;AACF,6JAAA;yJACF;AAED,wJAAA,MAAM,KAAK,GAAG;AACZ,4JAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC;4JAClF,IAAI,EAAE,IAAI,CAAC,SAAS;AACpB,4JAAA,IAAI,EAAE,iBAAiB;AACvB,4JAAA,IAAI,EAAE,aAAa;yJACpB;AAED,wJAAA,MAAM,KAAK,GAAG;AACZ,4JAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,mBAAmB,CAAC,CAAC,mBAAmB,CAAC;4JAC9F,IAAI,EAAE,IAAI,CAAC,UAAU;AACrB,4JAAA,IAAI,EAAE,8BAA8B;AACpC,4JAAA,IAAI,EAAE,kBAAkB;yJACzB;AAED,wJAAA,MAAM,QAAQ,GAAG;4JACf,MAAM,EAAE,IAAI,CAAC,cAAc;4JAC3B,IAAI,EAAE,IAAI,CAAC,aAAa;AACxB,4JAAA,IAAI,EAAE,YAAY;AAClB,4JAAA,OAAO,EAAE;AACP,gKAAA;AACE,oKAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC;oKACxF,IAAI,EAAE,IAAI,CAAC,aAAa;AACxB,oKAAA,IAAI,EAAE,qBAAqB;AAC5B,iKAAA;AACD,gKAAA;AACE,oKAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC;oKAClF,IAAI,EAAE,IAAI,CAAC,UAAU;AACrB,oKAAA,IAAI,EAAE,gCAAgC;AACvC,iKAAA;AACD,gKAAA;AACE,oKAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,gBAAgB,CAAC,CAAC,mBAAmB,CAAC;oKAC3F,IAAI,EAAE,IAAI,CAAC,cAAc;AACzB,oKAAA,IAAI,EAAE,sBAAsB;AAC7B,iKAAA;AACD,gKAAA;AACE,oKAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,kBAAkB,CAAC,CAAC,mBAAmB,CAAC;oKAC7F,IAAI,EAAE,IAAI,CAAC,gBAAgB;AAC3B,oKAAA,IAAI,EAAE,uBAAuB;AAC9B,iKAAA;AACD,gKAAA;AACE,oKAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,mBAAmB,CAAC;oKACnF,IAAI,EAAE,IAAI,CAAC,WAAW;AACtB,oKAAA,IAAI,EAAE,kBAAkB;AACzB,iKAAA;AACD,gKAAA;AACE,oKAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,mBAAmB,CAAC;AACnF,oKAAA,IAAI,EAAE,cAAc;AACpB,oKAAA,IAAI,EAAE,wBAAwB;AAC/B,iKAAA;AACF,6JAAA;yJACF;AACD,wJAAA,MAAM,SAAS,GAAG;4JAChB,MAAM,EAAE,IAAI,CAAC,eAAe;4JAC5B,IAAI,EAAE,IAAI,CAAC,cAAc;AACzB,4JAAA,IAAI,EAAE,qBAAqB;AAC3B,4JAAA,OAAO,EAAE;AACP,gKAAA;AACE,oKAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC;oKACpF,IAAI,EAAE,IAAI,CAAC,WAAW;AACtB,oKAAA,IAAI,EAAE,kBAAkB;AACzB,iKAAA;AACD,gKAAA;AACE,oKAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC;oKACpF,IAAI,EAAE,IAAI,CAAC,WAAW;AACtB,oKAAA,IAAI,EAAE,kBAAkB;AACzB,iKAAA;AACD,gKAAA;AACE,oKAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC;oKACpF,IAAI,EAAE,IAAI,CAAC,WAAW;AACtB,oKAAA,IAAI,EAAE,kBAAkB;AACzB,iKAAA;AACD,gKAAA;AACE,oKAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC;oKACpF,IAAI,EAAE,IAAI,CAAC,YAAY;AACvB,oKAAA,IAAI,EAAE,mBAAmB;AAC1B,iKAAA;AACD,gKAAA;AACE,oKAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,gBAAgB,CAAC,CAAC,mBAAmB,CAAC;oKAC3F,IAAI,EAAE,IAAI,CAAC,mBAAmB;AAC9B,oKAAA,IAAI,EAAE,2BAA2B;AAClC,iKAAA;AACD,gKAAA;AACE,oKAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC;oKAClF,IAAI,EAAE,IAAI,CAAC,SAAS;AACpB,oKAAA,IAAI,EAAE,iBAAiB;AACxB,iKAAA;AACF,6JAAA;yJACF;AACD,wJAAA,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC;AACpE,wJAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;AACpB,oJAAA,CAAC,CAAC;AACJ,gJAAA,CAAC,CAAC;AACJ,4IAAA,CAAC,CAAC;AACJ,wIAAA,CAAC,CAAC;AACJ,oIAAA,CAAC,CAAC;AACJ,gIAAA,CAAC,CAAC;AACJ,4HAAA,CAAC,CAAC;AACJ,wHAAA,CAAC,CAAC;AACJ,oHAAA,CAAC,CAAC;AACJ,gHAAA,CAAC,CAAC;AACJ,4GAAA,CAAC,CAAC;AACJ,wGAAA,CAAC,CAAC;AACJ,oGAAA,CAAC,CAAC;AACJ,gGAAA,CAAC,CAAC;AACJ,4FAAA,CAAC,CAAC;AACJ,wFAAA,CAAC,CAAC;AACJ,oFAAA,CAAC,CAAC;AACJ,gFAAA,CAAC,CAAC;AACJ,4EAAA,CAAC,CAAC;AACJ,wEAAA,CAAC,CAAC;AACJ,oEAAA,CAAC,CAAC;AACJ,gEAAA,CAAC,CAAC;AACJ,4DAAA,CAAC,CAAC;AACJ,wDAAA,CAAC,CAAC;AACJ,oDAAA,CAAC,CAAC;AACJ,gDAAA,CAAC,CAAC;AACJ,4CAAA,CAAC,CAAC;AACJ,wCAAA,CAAC,CAAC;AACJ,oCAAA,CAAC,CAAC;AACJ,gCAAA,CAAC,CAAC;AACJ,4BAAA,CAAC,CAAC;AACJ,wBAAA,CAAC,CAAC;AACJ,oBAAA,CAAC,CAAC;AACJ,gBAAA,CAAC,CAAC;AACJ,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;IACJ;AAEQ,IAAA,+CAA+C,CAAC,EAAoB,EAAA;QAC1E,EAAE,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AAClD,YAAA,IAAI,CAAC,YAAY,GAAG,GAAG;AACzB,QAAA,CAAC,CAAC;QACF,EAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACpD,YAAA,IAAI,CAAC,cAAc,GAAG,GAAG;AAC3B,QAAA,CAAC,CAAC;QACF,EAAE,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACvD,YAAA,IAAI,CAAC,iBAAiB,GAAG,GAAG;AAC9B,QAAA,CAAC,CAAC;QACF,EAAE,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACxD,YAAA,IAAI,CAAC,mBAAmB,GAAG,GAAG;AAChC,QAAA,CAAC,CAAC;QACF,EAAE,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AAC1D,YAAA,IAAI,CAAC,oBAAoB,GAAG,GAAG;AACjC,QAAA,CAAC,CAAC;QACF,EAAE,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACtD,YAAA,IAAI,CAAC,kBAAkB,GAAG,GAAG;AAC/B,QAAA,CAAC,CAAC;QACF,EAAE,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACvD,YAAA,IAAI,CAAC,mBAAmB,GAAG,GAAG;AAChC,QAAA,CAAC,CAAC;QACF,EAAE,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AAC1D,YAAA,IAAI,CAAC,qBAAqB,GAAG,GAAG;AAClC,QAAA,CAAC,CAAC;QACF,EAAE,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACxD,YAAA,IAAI,CAAC,cAAc,GAAG,GAAG;AAC3B,QAAA,CAAC,CAAC;QACF,EAAE,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACvD,YAAA,IAAI,CAAC,iBAAiB,GAAG,GAAG;AAC9B,QAAA,CAAC,CAAC;QACF,EAAE,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AAC1D,YAAA,IAAI,CAAC,oBAAoB,GAAG,GAAG;AACjC,QAAA,CAAC,CAAC;QACF,EAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACpD,YAAA,IAAI,CAAC,cAAc,GAAG,GAAG;AAC3B,QAAA,CAAC,CAAC;IACJ;AAEQ,IAAA,kDAAkD,CAAC,EAAoB,EAAA;QAC7E,EAAE,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AAC5D,YAAA,IAAI,CAAC,mBAAmB,GAAG,GAAG;AAChC,QAAA,CAAC,CAAC;QAEF,EAAE,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACvD,YAAA,IAAI,CAAC,cAAc,GAAG,GAAG;AAC3B,QAAA,CAAC,CAAC;QAEF,EAAE,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AAClD,YAAA,IAAI,CAAC,SAAS,GAAG,GAAG;AACtB,QAAA,CAAC,CAAC;QAEF,EAAE,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACnD,YAAA,IAAI,CAAC,UAAU,GAAG,GAAG;AACvB,QAAA,CAAC,CAAC;IACJ;AAEQ,IAAA,mDAAmD,CAAC,EAAoB,EAAA;QAC9E,EAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACpD,YAAA,IAAI,CAAC,kBAAkB,GAAG,GAAG;AAC/B,QAAA,CAAC,CAAC;QACF,EAAE,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACxD,YAAA,IAAI,CAAC,cAAc,GAAG,GAAG;AAC3B,QAAA,CAAC,CAAC;QACF,EAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACpD,YAAA,IAAI,CAAC,yBAAyB,GAAG,GAAG;AACtC,QAAA,CAAC,CAAC;QACF,EAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACpD,YAAA,IAAI,CAAC,mBAAmB,GAAG,GAAG;AAChC,QAAA,CAAC,CAAC;QACF,EAAE,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACzD,YAAA,IAAI,CAAC,wBAAwB,GAAG,GAAG;AACrC,QAAA,CAAC,CAAC;IACJ;AAEQ,IAAA,sDAAsD,CAAC,EAAoB,EAAA;QACjF,EAAE,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AAC9D,YAAA,IAAI,CAAC,gBAAgB,GAAG,GAAG;AAC7B,QAAA,CAAC,CAAC;QACF,EAAE,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AAC3D,YAAA,IAAI,CAAC,yBAAyB,GAAG,GAAG;AACtC,QAAA,CAAC,CAAC;QACF,EAAE,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AAC3D,YAAA,IAAI,CAAC,yBAAyB,GAAG,GAAG;AACtC,QAAA,CAAC,CAAC;QACF,EAAE,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AAC5D,YAAA,IAAI,CAAC,eAAe,GAAG,GAAG;AAC5B,QAAA,CAAC,CAAC;QACF,EAAE,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACxD,YAAA,IAAI,CAAC,sBAAsB,GAAG,GAAG;AACnC,QAAA,CAAC,CAAC;QACF,EAAE,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACxD,YAAA,IAAI,CAAC,sBAAsB,GAAG,GAAG;AACnC,QAAA,CAAC,CAAC;IACJ;+GAnjCW,WAAW,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,aAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAX,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,cAFV,MAAM,EAAA,CAAA,CAAA;;4FAEP,WAAW,EAAA,UAAA,EAAA,CAAA;kBAHvB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCLY,cAAc,CAAA;IACzB,WAAA,CACU,IAAgB,EAChB,gBAAiC,EAAA;QADjC,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;IACvB;AAEH;;AAE2E;;IAG3E,kBAAkB,GAAA;QAChB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,UAAU,EACxD,EAAE,OAAO,EAAE,CACZ;IACH;IAEA,gBAAgB,GAAA;QACd,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,wBAAwB,EACtE,EAAE,OAAO,EAAE,CACZ;IACH;AAEA;;AAE2E;;AAG3E,IAAA,WAAW,CAAC,WAAgB,EAAE,SAAc,EAAE,UAAe,EAAA;QAC3D,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,UAAU,EACxD;AACE,YAAA,WAAW,EAAE,WAAW;AACxB,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,UAAU,EAAE,UAAU;SACvB,EACD,OAAO,CACR;IACH;AAEA,IAAA,UAAU,CAAC,WAAmB,EAAA;QAC5B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,mCAAmC;AACnC,YAAA,WAAW,EACb,EAAE,EACF,OAAO,CACR;IACH;IAEA,cAAc,CACZ,KAAsB,EACtB,KAAsB,EACtB,KAAa,EACb,IAAY,EACZ,SAAiB,EAAA;QAEjB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,oBAAoB;YACpB,KAAK;YACL,SAAS;YACT,KAAK;YACL,aAAa;YACb,KAAK;YACL,QAAQ;YACR,IAAI;YACJ,aAAa;AACb,YAAA,SAAS,EACX;YACE,OAAO;AACR,SAAA,CACF;IACH;AAEA,IAAA,aAAa,CAAC,KAAU,EAAA;QACtB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,aAAa,EAC3D;AACE,YAAA,SAAS,EAAE,KAAK;SACjB,EACD,OAAO,CACR;IACH;+GA9FW,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAN,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cAFb,MAAM,EAAA,CAAA,CAAA;;4FAEP,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;yCCGY,0BAA0B,CAAA;IAMrC,WAAA,CACU,gBAAiC,EACjC,IAAgB,EAAA;QADhB,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;QAChB,IAAA,CAAA,IAAI,GAAJ,IAAI;AAPN,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,EAAO;IAQjC;AAEJ,IAAA,UAAU,CAAC,OAAe,EAAA;;QAExB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9B;IAEA,SAAS,GAAA;;QAEP,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;IACtC;AAEA,IAAA,gBAAgB,CAAC,KAAA,GAAa,CAAC,EAAE,KAAW,EAAA;QAC1C,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,cAAc,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,EAAE;QACnD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,sBAAsB,GAAG,KAAK,GAAG,cAAc,EAAE,EAAE,OAAO,EAAE,CAAC;IAClI;IAEA,WAAW,GAAA;QACT,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,2BAA2B,EAAE,EAAE,EAAE,OAAO,CAAC;IAC/G;AAEA,IAAA,YAAY,CAAC,gBAAwB,EAAA;QACnC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,8CAA8C,GAAG,gBAAgB,EAAE,EAAE,EAAE,OAAO,CAAC;IACrJ;AAEO,IAAA,UAAU,CAAC,OAAmB,EAAA;AACnC,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;IACxB;IAEO,IAAI,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE;IAC7B;IAEO,KAAK,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE;IAC9B;IAEO,MAAM,GAAA;AACX,QAAA,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE;IACxB;+GArDW,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAO,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAL,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,cAFzB,MAAM,EAAA,CAAA,CAAA;;4FAEPM,4BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCGY,gBAAgB,CAAA;AAQ3B,IAAA,WAAA,CACU,SAA0B,EAC3B,OAAe,EACd,MAAqB,EACtB,aAAyC;;IAExC,MAAc,EAAA;QALd,IAAA,CAAA,SAAS,GAAT,SAAS;QACV,IAAA,CAAA,OAAO,GAAP,OAAO;QACN,IAAA,CAAA,MAAM,GAAN,MAAM;QACP,IAAA,CAAA,aAAa,GAAb,aAAa;QAEZ,IAAA,CAAA,MAAM,GAAN,MAAM;QAZT,IAAA,CAAA,WAAW,GAAY,KAAK;QAE5B,IAAA,CAAA,kBAAkB,GAAQ,EAAE;QAC5B,IAAA,CAAA,oBAAoB,GAAG,KAAK;QAC5B,IAAA,CAAA,IAAI,GAAQ,EAAE;QAUnB,IAAI,CAAC,cAAc,EAAE;IACvB;IAEA,cAAc,GAAA;AACZ,QAAA,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;AAE3E,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,OAAO,CAAC,oBAAoB;AAC/C,iBAAA,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK;AACvC,iBAAA,OAAO,CACN,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,mBAAmB,GAAG,IAAI,CAAC,SAAS,EAC3E;gBACE,kBAAkB,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE;AACzD,gBAAA,iBAAiB,EAAE,IAAI;aACxB;AAEF,iBAAA,KAAK,EAAE;YAEV,IAAI,CAAC,gBAAgB,EAAE;YACvB,IAAI,CAAC,SAAS,EAAE;AAEhB,YAAA,IAAI,QAAQ,IAAI,QAAQ,EAAE;AACxB,gBAAA,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,MAAK;AACjD,oBAAA,IAAI,QAAQ,CAAC,eAAe,KAAK,SAAS,EAAE;;;oBAG5C;AACA,oBAAA,IAAI,QAAQ,CAAC,eAAe,KAAK,QAAQ,EAAE;;;oBAG3C;AACF,gBAAA,CAAC,CAAC;YACJ;QACF;IACF;IAEA,OAAO,GAAA;AACL,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,YAAA,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,KAAK,OAAO,CAAC,kBAAkB,CAAC,YAAY,EAAE;AACrE,gBAAA,IAAI,CAAC;AACF,qBAAA,KAAK;qBACL,IAAI,CAAC,MAAK;AACT,oBAAA,IAAI,CAAC,WAAW,GAAG,IAAI;AACvB,oBAAA,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;wBAC3C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC3E;AACF,gBAAA,CAAC;AACA,qBAAA,KAAK,CAAC,CAAC,GAAG,KAAI;;AAEb,oBAAA,IAAI,CAAC,WAAW,GAAG,KAAK;AACxB,oBAAA,UAAU,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;AACzC,gBAAA,CAAC,CAAC;YACN;AAAO,iBAAA,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,KAAK,OAAO,CAAC,kBAAkB,CAAC,SAAS,EAAE;;AAEzE,gBAAA,IAAI,CAAC,WAAW,GAAG,IAAI;YACzB;QACF;aAAO;YACL,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,CAAC,OAAO,EAAE;QAChB;IACF;IAEA,SAAS,GAAA;AACP,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,gBAAgB,CAAC;AACrC,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,kBAAkB,CAAC;AACvC,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,gBAAgB,CAAC;QACrC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,GAAG,KAAI;YAC3C,IAAI,WAAW,GAAG,GAAG;AACrB,YAAA,IAAI,YAAY,CAAC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,IAAI,WAAW,EAAE;AACnF,gBAAA,IAAI,CAAC,SAAS,CAAC,iCAAiC,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACnF,oBAAA,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;AAC7B,gBAAA,CAAC,CAAC;YACJ;AACF,QAAA,CAAC,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,GAAG,KAAI;AAC7C,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;;AAEnB,gBAAA,IAAI,CAAC,kBAAkB,GAAG,GAAG;gBAC7B,IAAI,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,IAAI,IAAI,EAAE;oBACpD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,CAAC;gBACzC;gBACA,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;;;;;;;;;;;;;AAatD,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,GAAG,KAAI;AAC3C,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;;gBAEnB,IAAI,GAAG,CAAC,aAAa,CAAC,sBAAsB,IAAI,IAAI,CAAC,SAAS,EAAE;AAC9D,oBAAA,IAAI,CAAC,kBAAkB,GAAG,GAAG;;;;;;;;;;;;;;gBAgB/B;AACF,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;IACJ;IAEA,gBAAgB,GAAA;QACd,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;AAC9B,YAAA,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;;gBAE9B,UAAU,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC;YACxC;AACA,YAAA,IAAI,CAAC,oBAAoB,GAAG,KAAK;AACnC,QAAA,CAAC,CAAC;IACJ;IAEA,UAAU,GAAA;AACR,QAAA,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,OAAO,CAAC,kBAAkB,CAAC,SAAS,EAAE;AACjE,YAAA,IAAI,CAAC,WAAW,GAAG,KAAK;AACxB,YAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI;AAChC,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;QACxB;IACF;+GA3JW,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAD,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAL,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,aAAA,EAAA,EAAA,EAAA,KAAA,EAAAM,4BAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cAFf,MAAM,EAAA,CAAA,CAAA;;4FAEP,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCGY,WAAW,CAAA;AAOtB,IAAA,WAAA,CACU,OAAe,EACf,IAAgB,EAChB,gBAAiC,EACjC,UAA0B,EAC1B,MAAiB,EACjB,UAA4B,EAC5B,YAAsB,EAAA;QANtB,IAAA,CAAA,OAAO,GAAP,OAAO;QACP,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;QAChB,IAAA,CAAA,UAAU,GAAV,UAAU;QACV,IAAA,CAAA,MAAM,GAAN,MAAM;QACN,IAAA,CAAA,UAAU,GAAV,UAAU;QACV,IAAA,CAAA,YAAY,GAAZ,YAAY;QAXd,IAAA,CAAA,2BAA2B,GAAQ,EAAE;AAa3C,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;YACrB,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AAC1D,gBAAA,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,SAAS,CAAC;AACtC,YAAA,CAAC,CAAC;QACJ;IACF;AAEA;;AAE2E;IAE3E,iBAAiB,GAAA;QACf,OAAO,IAAI,CAAC,cAAc;IAC5B;AAEA,IAAA,iBAAiB,CAAC,cAAmB,EAAA;AACnC,QAAA,IAAI,CAAC,cAAc,GAAG,cAAc;IACtC;AAEA;;AAE2E;AAE3E,IAAA,SAAS,CAAC,KAAa,EAAA;AACrB,QAAA,IAAI,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;QAEhE,IAAI,KAAK,EAAE;YACT,YAAY,CAAC,OAAO,CAAC,aAAa,GAAG,KAAK,EAAE,KAAK,CAAC;QACpD;aAAO;;YAEL,IAAI,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE;YAC5C,YAAY,CAAC,OAAO,CAAC,aAAa,GAAG,KAAK,EAAE,KAAK,CAAC;QACpD;;IAEF;AAEA,IAAA,eAAe,CAAC,KAAa,EAAA;AAC3B,QAAA,IAAI,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;QAEhE,IAAI,KAAK,EAAE;YACT,YAAY,CAAC,OAAO,CAAC,oBAAoB,GAAG,KAAK,EAAE,KAAK,CAAC;QAC3D;aAAO;;YAEL,IAAI,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE;YAC5C,YAAY,CAAC,OAAO,CAAC,oBAAoB,GAAG,KAAK,EAAE,KAAK,CAAC;QAC3D;IACF;AAEA,IAAA,uBAAuB,CAAC,KAAa,EAAA;AACnC,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK;IAC7B;IAEA,iBAAiB,GAAA;QACf,OAAO,IAAI,CAAC,cAAc;IAC5B;AAEA;;AAE2E;IAE3E,MAAM,GAAA;AACJ,QAAA,IAAI,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;AAEhE,QAAA,IAAI,CAAC,gBAAgB,EAAE,CAAC,SAAS,EAAE;AAEnC,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YAChD,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;AACtC,gBAAA,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,EAAE;AAChD,oBAAA,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC5B;AACF,YAAA,CAAC,CAAC;QACJ;AAEA,QAAA,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE;QAE5B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC3C;IAEA,kBAAkB,GAAA;;;;QAKhB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC9C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC7C;IAEA,gBAAgB,GAAA;QACd,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,cAAc,EAC5D,EAAE,OAAO,EAAE,CACZ;IACH;AAEA;;AAE2E;AAE3E,IAAA,QAAQ,CAAC,2BAAgD,EAAA;AACvD,QAAA,IAAI,CAAC,2BAA2B;YAC9B,2BAA2B,CAAC,cAAc,CAAC;IAC/C;AAEA;;AAE2E;IAE3E,eAAe,GAAA;QACb,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,cAAc,EAC5D,EAAE,OAAO,EAAE,CACZ;IACH;AAEA,IAAA,yBAAyB,CAAC,SAA0B,EAAA;AAClD,QAAA,IAAI,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,EAAE;AAC/C,YAAA,OAAO,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC;QACpD;aAAO;AACL,YAAA,OAAO,EAAE;QACX;IACF;AAEA;;AAE2E;IAE3E,qBAAqB,CACnB,OAAyB,EACzB,gBAAmC,EAAA;AAEnC,QAAA,MAAM,MAAM,GAAoB;AAC9B,YAAA,UAAU,EAAE,CAAC,iBAAiB,EAAE,WAAW,CAAC;AAC5C,YAAA,aAAa,EAAE,oBAAoB;AACnC,YAAA,SAAS,EAAE,KAAK;AAChB,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,MAAM;YAChB,gBAAgB;SACjB;AAED,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC;AAEnD,QAAA,OAAO,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE;IAC5C;IAEA,sBAAsB,GAAA;AACpB,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;IACxB;AAEA,IAAA,YAAY,CAAC,OAAY,EAAA;QACvB,OAAO,IAAI,CAAC;aACT,IAAI,CAAC,OAAO,EAAE;AACb,YAAA,cAAc,EAAE,OAAO;AACvB,YAAA,WAAW,EAAE,WAAW;AACxB,YAAA,SAAS,EAAE,cAAc;SAC1B;AACA,aAAA,MAAM,CAAC,IAAI,CACV,CAAC,GAAG,KAAI;AACN,YAAA,IAAI,CAAC,UAAU,GAAG,qBAAqB;AACvC,YAAA,OAAO,GAAG;AACZ,QAAA,CAAC,EACD,CAAC,GAAG,KAAI;AACN,YAAA,IAAI,CAAC,UAAU,GAAG,yCAAyC;AAC3D,YAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC;AACnC,QAAA,CAAC,CACF;IACL;IAEA,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;IAChC;AAEQ,IAAA,gBAAgB,CAAC,MAAW,EAAA;AAClC,QAAA,IAAI,MAAM,KAAK,mBAAmB,CAAC,GAAG,EAAE;AACtC,YAAA,OAAO,iBAAiB;QAC1B;AAAO,aAAA,IAAI,MAAM,KAAK,mBAAmB,CAAC,cAAc,EAAE;AACxD,YAAA,OAAO,2BAA2B;QACpC;aAAO;AACL,YAAA,OAAO,iBAAiB;QAC1B;IACF;AAEA;;AAE2E;IAE3E,UAAU,GAAA;QACR,IAAI,QAAQ,GAAG,KAAK;QACpB,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,eAAe,EAAE;YACxD,QAAQ,GAAG,IAAI;QACjB;AACA,QAAA,OAAO,QAAQ;IACjB;IAEA,cAAc,GAAA;AACZ,QAAA,OAAO,MAAM;IACf;AAEA,IAAA,iBAAiB,CAAC,KAAyB,EAAA;AACzC,QAAA,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG,EAAE;YACvB,IAAI,CAAC,MAAM,EAAE;QACf;IACF;AACA,IAAA,KAAK,CAAC,EAAU,EAAA;AACd,QAAA,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC1D;+GA/NW,WAAW,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAR,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAQ,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAX,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,cAFV,MAAM,EAAA,CAAA,CAAA;;4FAEP,WAAW,EAAA,UAAA,EAAA,CAAA;kBAHvB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCFY,gBAAgB,CAAA;IAC3B,WAAA,CACU,IAAgB,EAChB,gBAAiC,EAAA;QADjC,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;IACvB;AAEH;;AAE2E;IAE3E,kBAAkB,GAAA;QAChB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC;AACT,aAAA,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,kBAAkB,EAChE,EAAE,OAAO,EAAE;aAEZ,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;IACtD;AAEA,IAAA,YAAY,CACV,KAAA,GAAgB,CAAC,EACjB,QAAgB,GAAG,EACnB,MAAA,GAAiB,EAAE,EACnB,IAAA,GAAe,aAAa,EAC5B,YAAoB,KAAK,EAAA;QAEzB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC;aACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,kBAAkB;YAClB,KAAK;YACL,SAAS;YACT,KAAK;YACL,UAAU;YACV,MAAM;YACN,QAAQ;YACR,IAAI;YACJ,aAAa;AACb,YAAA,SAAS,EACX,EAAE,OAAO,EAAE;AAEZ,aAAA,IAAI,CACH,GAAG,CAAC,CAAC,GAAG,KAAI;AACV,YAAA,IAAI,GAAG,CAAC,OAAO,EAAE;AACf,gBAAA,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE;YAC7C;YACA,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;QAC/B,CAAC,CAAC,CACH;IACL;AAEA,IAAA,iBAAiB,CACf,WAAgB,EAChB,QAAgB,CAAC,EACjB,QAAgB,EAAE,EAAA;QAElB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC;aACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,8BAA8B;YAC9B,WAAW;YACX,SAAS;YACT,KAAK;YACL,SAAS;AACT,YAAA,KAAK,EACP,EAAE,OAAO,EAAE;AAEZ,aAAA,IAAI,CACH,GAAG,CAAC,CAAC,GAAG,KACN,GAAG,CAAC,OAAO,GAAG,GAAG,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAC3D,CACF;IACL;IAEA,iBAAiB,GAAA;QACf,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC;AACT,aAAA,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,mBAAmB,EACjE,EAAE,OAAO,EAAE;aAEZ,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;IACxD;AAEA,IAAA,gBAAgB,CAAC,qBAA8B,EAAE,gBAAyB,EAAE,YAAqB,EAAA;QAC/F,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,IAAI,WAAW,GAAG,EAAE;QACpB,IAAI,qBAAqB,EAAE;AACzB,YAAA,WAAW,IAAI,yBAAyB,GAAG,qBAAqB;QAClE;QACA,IAAI,gBAAgB,EAAE;YACpB,WAAW;AACT,gBAAA,CAAC,WAAW,GAAG,GAAG,GAAG,GAAG,IAAI,mBAAmB,GAAG,gBAAgB;QACtE;QACA,IAAI,YAAY,EAAE;YAChB,WAAW;AACT,gBAAA,CAAC,WAAW,GAAG,GAAG,GAAG,GAAG,IAAI,eAAe,GAAG,YAAY;QAC9D;AACA,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,kBAAkB;AAClB,YAAA,WAAW,EACb,EAAE,OAAO,EAAE,CACZ;IACH;AAEA;;AAE2E;AAE3E,IAAA,aAAa,CACX,WAAgB,EAChB,WAAmB,EACnB,iBAAgC,IAAI,EACpC,eAAA,GAAiC,IAAI,EACrC,eAAA,GAAiC,IAAI,EACrC,cAAA,GAAgC,IAAI,EACpC,WAAA,GAA6B,IAAI,EACjC,YAAA,GAA8B,IAAI,EAClC,cAAA,GAAgC,IAAI,EACpC,yBAAA,GAA2C,IAAI,EAC/C,gBAAA,GAAkC,IAAI,EACtC,sBAAqC,IAAI,EACzC,eAA8B,IAAI,EAClC,kBAAiC,IAAI,EAAA;QAErC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,WAAW,EACzD;AACE,YAAA,WAAW,EAAE,WAAW;AACxB,YAAA,WAAW,EAAE,WAAW;AACxB,YAAA,cAAc,EAAE,cAAc;AAC9B,YAAA,eAAe,EAAE,eAAe;AAChC,YAAA,eAAe,EAAE,eAAe;AAChC,YAAA,cAAc,EAAE,cAAc;AAC9B,YAAA,WAAW,EAAE,WAAW;AACxB,YAAA,YAAY,EAAE,YAAY;AAC1B,YAAA,cAAc,EAAE,cAAc;AAC9B,YAAA,yBAAyB,EAAE,yBAAyB;AACpD,YAAA,gBAAgB,EAAE,gBAAgB;AAClC,YAAA,mBAAmB,EAAE,mBAAmB;AACxC,YAAA,YAAY,EAAE,YAAY;AAC1B,YAAA,eAAe,EAAE,eAAe;SACjC,EACD,OAAO,CACR;IACH;AAEA;;AAE2E;AAE3E,IAAA,aAAa,CACX,WAAmB,EACnB,eAA8B,IAAI,EAClC,kBAA0B,IAAI,EAAA;QAE9B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,WAAW,EACzD;AACE,YAAA,WAAW,EAAE,WAAW;AACxB,YAAA,YAAY,EAAE,YAAY;AAC1B,YAAA,eAAe,EAAE,eAAe;AACjC,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,GAAG,CAAC,CAAC,GAAG,KACN,GAAG,CAAC,OAAO,GAAG,GAAG,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CACzD,CACF;IACL;AAcA,IAAA,gBAAgB,CACd,QAAmC,EACnC,WAAmB,EACnB,IAAmC,EACnC,SAAkB,EAAA;AAElB,QAAA,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,EAAE;AAC3B,YAAA,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC;QAClE;QACA,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,MAAM,IAAI,GAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;QAC1D,IAAI,QAAQ,EAAE;AACZ,YAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;QAC1B;QACA,IAAI,SAAS,EAAE;AACb,YAAA,IAAI,CAAC,SAAS,GAAG,SAAS;QAC5B;QACA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,iBAAiB,EAC/D,IAAI,EACJ,OAAO,CACR;IACH;AAEA,IAAA,aAAa,CAAC,WAAmB,EAAA;QAC/B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,qBAAqB,EACnE,EAAE,cAAc,EAAE,WAAW,EAAE,EAC/B,OAAO,CACR;IACH;AAEA,IAAA,aAAa,CAAC,OAAY,EAAA;QACxB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,WAAW,EACzD,OAAO,EACP,EAAE,OAAO,EAAE,CACZ;IACH;AAEA,IAAA,iBAAiB,CACf,QAAgB,EAChB,WAAmB,EACnB,WAAmB,EAAA;QAEnB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,iBAAiB,EAC/D,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,EACtC,EAAE,OAAO,EAAE,CACZ;IACH;AAEA;;AAE2E;AAE3E,IAAA,eAAe,CAAC,cAAwB,EAAA;QACtC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CACrB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,WAAW,EACzD;AACE,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,IAAI,EAAE;AACJ,gBAAA,wBAAwB,EAAE,cAAc;AACzC,aAAA;AACF,SAAA,CACF;IACH;IAEA,qBAAqB,CAAC,QAAgB,EAAE,WAAmB,EAAA;QACzD,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CACrB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,2BAA2B;YAC3B,QAAQ;YACR,eAAe;YACf,WAAW,EACb,OAAO,CACR;IACH;IAEA,iBAAiB,CAAC,QAAgB,EAAE,WAAmB,EAAA;QACrD,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CACrB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,CAAA,yBAAA,EAA4B,QAAQ,gBAAgB,WAAW,CAAA,CAAE,EACnE,EAAE,OAAO,EAAE,CACZ;IACH;+GA/RW,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAZ,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cAFf,MAAM,EAAA,CAAA,CAAA;;4FAEP,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCDY,YAAY,CAAA;AACvB,IAAA,WAAA,CACU,IAAgB,EAChB,SAA0B,EAC1B,IAAiB,EAAA;QAFjB,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,SAAS,GAAT,SAAS;QACT,IAAA,CAAA,IAAI,GAAJ,IAAI;IACV;AAEJ;;AAE6E;IAE7E,gBAAgB,CAAC,GAAQ,EAAE,KAAU,EAAA;QACnC,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;QACzC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,aAAa,GAAG,GAAG,GAAG,aAAa,GAAG,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC;IACvH;IAEA,WAAW,GAAA;QACT,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;AACzC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,OAAO,EAAE;YACnE,OAAO;AACR,SAAA,CAAC;IACJ;AAEA;;AAE6E;IAE7E,UAAU,CAAC,QAAa,EAAE,QAAa,EAAE,KAAU,EAAE,QAAa,EAAE,KAAU,EAAA;QAC5E,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;AACzC,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,OAAO,EAC9C;AACE,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,YAAY,EAAE,QAAQ;AACtB,YAAA,SAAS,EAAE,KAAK;AAChB,YAAA,eAAe,EAAE,QAAQ;AACzB,YAAA,YAAY,EAAE,KAAK;SACpB,EACD,OAAO,CACR;IACH;AAEA;;AAE6E;IAE7E,UAAU,CAAC,IAAS,EAAE,IAAS,EAAE,IAAS,EAAE,MAAW,EAAE,KAAU,EAAE,KAAU,EAAA;QAC7E,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;AACzC,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,OAAO,EAC9C;AACE,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,eAAe,EAAE,IAAI;AACrB,YAAA,YAAY,EAAE,MAAM;AACpB,YAAA,SAAS,EAAE,KAAK;AAChB,YAAA,YAAY,EAAE,KAAK;SACpB,EACD,OAAO,CACR;IACH;AAEA;;AAE6E;AAE7E,IAAA,eAAe,CAAC,IAAS,EAAA;QACvB,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;AACzC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,OAAO,EAAE;AACjF,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,IAAI,EAAE;AACJ,gBAAA,oBAAoB,EAAE,IAAI;AAC3B,aAAA;AACF,SAAA,CAAC;IACJ;IAEA,UAAU,CAAC,WAAmB,EAAE,EAAA;QAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;QACzC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,QAAQ,GAAG,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC;IAC7G;+GAjFW,YAAY,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAa,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cAFX,MAAM,EAAA,CAAA,CAAA;;4FAEP,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCEY,wBAAwB,CAAA;AACnC,IAAA,WAAA,CACU,SAA0B,EAC1B,IAAgB,EAChB,UAA4B,EAAA;QAF5B,IAAA,CAAA,SAAS,GAAT,SAAS;QACT,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,UAAU,GAAV,UAAU;IAChB;AAEJ;;AAE2E;IAE3E,iBAAiB,CAAC,KAAU,EAAE,KAAU,EAAE,MAAc,EAAE,QAAgB,EAAE,SAAiB,EAAA;QAC3F,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;AACzC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,uBAAuB,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,GAAG,YAAY,GAAG,QAAQ,GAAG,aAAa,GAAG,SAAS,EAAE;YAC3L,OAAO;AACR,SAAA,CAAC;IACJ;AAEA,IAAA,gBAAgB,CAAC,gBAAwB,EAAA;QACvC,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;QACzC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,iBAAiB,GAAG,gBAAgB,EAAE,EAAE,OAAO,EAAE,CAAC;IAChH;AAEA,IAAA,mBAAmB,CAAC,gBAAqB,EAAE,qBAA0B,EAAE,iBAAsB,EAAA;QAC3F,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;AACzC,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,gBAAgB,EACvD;AACE,YAAA,gBAAgB,EAAE,gBAAgB;AAClC,YAAA,qBAAqB,EAAE,qBAAqB;AAC5C,YAAA,iBAAiB,EAAE,iBAAiB;AACrC,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA,IAAA,mBAAmB,CAAC,gBAAqB,EAAE,gBAAqB,EAAE,qBAA0B,EAAE,iBAAsB,EAAA;QAClH,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;AAC3C,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,GAAG,CACF,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,gBAAgB,EACvD;AACE,YAAA,gBAAgB,EAAE,gBAAgB;AAClC,YAAA,gBAAgB,EAAE,gBAAgB;AAClC,YAAA,qBAAqB,EAAE,qBAAqB;AAC5C,YAAA,iBAAiB,EAAE,iBAAiB;AACrC,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA,IAAA,kBAAkB,CAAC,IAAS,EAAE,SAAc,EAAE,UAAe,EAAA;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;AAC3C,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,GAAG,CACF,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,sBAAsB,EAC7D;AACE,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,UAAU,EAAE,UAAU;AACvB,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA;;AAE2E;AAE3E,IAAA,oBAAoB,CAAC,6BAAkC,EAAA;QACrD,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;QACzC,OAAO,IAAI,CAAC;AACT,aAAA,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,gBAAgB,EAAE;AAC1E,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,IAAI,EAAE;AACJ,gBAAA,mBAAmB,EAAE,6BAA6B;AACnD,aAAA;SACF;AACA,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA,IAAA,kBAAkB,CAAC,gBAAwB,EAAA;QACzC,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;AACzC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,iBAAiB,GAAG,gBAAgB,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CACxI,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACH;+GA/GW,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAN,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAL,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAY,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cAFvB,MAAM,EAAA,CAAA,CAAA;;4FAEP,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCCY,0BAA0B,CAAA;AACrC,IAAA,WAAA,CACU,SAA0B,EAC1B,IAAgB,EAChB,UAA4B,EAAA;QAF5B,IAAA,CAAA,SAAS,GAAT,SAAS;QACT,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,UAAU,GAAV,UAAU;IAChB;AAEJ;;AAE2E;IAE3E,mBAAmB,CAAC,KAAU,EAAE,KAAU,EAAE,MAAc,EAAE,IAAY,EAAE,SAAiB,EAAA;QACzF,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;AACzC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,yBAAyB,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,IAAI,GAAG,aAAa,GAAG,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC;IACrM;AAEA,IAAA,kBAAkB,CAAC,mBAA2B,EAAA;QAC5C,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;QACzC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,mBAAmB,GAAG,mBAAmB,EAAE,EAAE,OAAO,EAAE,CAAC;IACrH;AAEA,IAAA,qBAAqB,CAAC,kBAAuB,EAAE,kBAAuB,EAAE,uBAA4B,EAAE,gBAAqB,EAAA;QACzH,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;AACzC,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,kBAAkB,EACzD;AACE,YAAA,IAAI,EAAE,kBAAkB;AACxB,YAAA,IAAI,EAAE,kBAAkB;AACxB,YAAA,UAAU,EAAE,uBAAuB;AACnC,YAAA,gBAAgB,EAAE,gBAAgB;AACnC,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA,IAAA,2BAA2B,CAAC,IAAS,EAAE,SAAc,EAAE,UAAe,EAAA;QACpE,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;AAC3C,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,GAAG,CACF,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,wBAAwB,EAC/D;AACE,YAAA,mBAAmB,EAAE,IAAI;AACzB,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,UAAU,EAAE,UAAU;AACvB,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA,IAAA,0BAA0B,CAAC,mCAAwC,EAAA;QACjE,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;QACzC,OAAO,IAAI,CAAC;AACT,aAAA,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,6BAA6B,EAAE;AACrF,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,IAAI,EAAE;AACJ,gBAAA,mCAAmC,EAAE,mCAAmC;AACzE,aAAA;SACF;AACA,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA,IAAA,sBAAsB,CAAC,+BAAoC,EAAA;QACzD,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;QACzC,OAAO,IAAI,CAAC;AACT,aAAA,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,kBAAkB,EAAE;AAC5E,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,IAAI,EAAE;AACJ,gBAAA,+BAA+B,EAAE,+BAA+B;AACjE,aAAA;SACF;AACA,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;IAEA,+BAA+B,CAAC,IAAS,EAAE,WAAgB,EAAA;QACzD,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;AACzC,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,iDAAiD,EACxF;AACE,YAAA,mBAAmB,EAAE,IAAI;AACzB,YAAA,KAAK,EAAE,WAAW;AACnB,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;IAEA,uBAAuB,CAAC,IAAS,EAAE,WAAgB,EAAA;QACjD,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;AACzC,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,0CAA0C,EACjF;AACE,YAAA,mBAAmB,EAAE,IAAI;AACzB,YAAA,KAAK,EAAE,WAAW;AACnB,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;+GAlIW,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAP,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAL,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAY,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,cAFzB,MAAM,EAAA,CAAA,CAAA;;4FAEP,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCCY,qBAAqB,CAAA;AAChC,IAAA,WAAA,CACU,IAAgB,EAChB,gBAAiC,EACjC,UAA4B,EAAA;QAF5B,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;QAChB,IAAA,CAAA,UAAU,GAAV,UAAU;IAChB;AAEJ,IAAA,yBAAyB,CAAC,MAAW,EAAA;QACnC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,oBAAoB,EAAE,MAAM,EAAE,OAAO,CAAC;IAC3G;AAEA;;AAE2E;IAE3E,WAAW,CAAC,KAAa,EAAE,KAAa,EAAA;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAClD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,sBAAsB,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC;IACrI;AAEA,IAAA,aAAa,CAAC,YAAoB,EAAA;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAClD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,gBAAgB,GAAG,YAAY,EAAE,EAAE,OAAO,EAAE,CAAC;IAClH;AAEA,IAAA,OAAO,CAAC,MAAW,EAAA;QACjB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CACxG,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAChE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC;QAC7D,CAAC,CAAC,CACH;IACH;AAEA,IAAA,gBAAgB,CAAC,MAAW,EAAA;QAC1B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CACvG,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAChE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC;QAC7D,CAAC,CAAC,CACH;IACH;AAEA,IAAA,qBAAqB,CAAC,MAAW,EAAA;QAC/B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,qBAAqB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAC7G,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAChE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC;YAC3D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;QACnE,CAAC,CAAC,CACH;IACH;AAEA,IAAA,gBAAgB,CAAC,YAAoB,EAAA;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAClD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,gBAAgB,GAAG,YAAY,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CACtH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAChE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC;QAC7D,CAAC,CAAC,CACH;IACH;AAEA;;AAE2E;AAE3E,IAAA,qBAAqB,CAAC,KAAa,EAAE,KAAa,EAAE,YAAoB,EAAA;QACtE,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAClD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,0BAA0B,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,gBAAgB,GAAG,YAAY,EAAE,EAAE,OAAO,EAAE,CAAC;IAC3K;IAEA,iBAAiB,CAAC,YAAoB,EAAE,QAAgB,EAAA;QACtD,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAClD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,oBAAoB,GAAG,YAAY,GAAG,GAAG,GAAG,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC;IACvI;AAEA,IAAA,iBAAiB,CAAC,MAAW,EAAA;QAC3B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,mBAAmB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAC5G,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAChE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;YACjE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC;YAC3D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;QACnE,CAAC,CAAC,CACH;IACH;AAEA,IAAA,oBAAoB,CAAC,MAAW,EAAA;QAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,mBAAmB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAC3G,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAChE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;YACjE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC;QAC7D,CAAC,CAAC,CACH;IACH;AAEA,IAAA,yBAAyB,CAAC,MAAW,EAAA;QACnC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,yBAAyB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CACjH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAChE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;YACjE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC;QAC7D,CAAC,CAAC,CACH;IACH;IAEA,oBAAoB,CAAC,YAAoB,EAAE,QAAgB,EAAA;QACzD,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAClD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,oBAAoB,GAAG,YAAY,GAAG,GAAG,GAAG,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAC3I,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAChE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;YACjE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC;YAC3D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;QACnE,CAAC,CAAC,CACH;IACH;AAEA,IAAA,qBAAqB,CAAC,MAAW,EAAA;QAC/B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC;AACT,aAAA,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,yBAAyB,EAAE;AAC1F,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,IAAI,EAAE,MAAM;SACb;AACA,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAChE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;YACjE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;QACnE,CAAC,CAAC,CACH;IACL;AAEA;;AAE2E;IAE3E,yBAAyB,CAAC,KAAa,EAAE,KAAa,EAAE,YAAoB,EAAE,OAAe,EAAE,MAAc,EAAA;QAC3G,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAClD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,sBAAsB,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,gBAAgB,GAAG,YAAY,GAAG,UAAU,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,EAC/K,EAAE,OAAO,EAAE,CACZ;IACH;AAEA,IAAA,qBAAqB,CAAC,YAAoB,EAAA;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAClD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,gBAAgB,GAAG,YAAY,EAAE,EAAE,OAAO,EAAE,CAAC;IAClH;AAEA,IAAA,yBAAyB,CAAC,gBAAwB,EAAA;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAClD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,oBAAoB,GAAG,gBAAgB,EAAE,EAAE,OAAO,EAAE,CAAC;IAC1H;AAEA,IAAA,iCAAiC,CAAC,YAAoB,EAAE,MAAM,GAAG,KAAK,EAAA;QACpE,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAClD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,qBAAqB,GAAG,YAAY,GAAG,6BAA6B,GAAG,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC;IAChK;AAEA,IAAA,iBAAiB,CAAC,MAAW,EAAA;QAC3B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CACxG,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAChE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;QACnE,CAAC,CAAC,CACH;IACH;AAEA,IAAA,oBAAoB,CAAC,MAAW,EAAA;QAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CACvG,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAChE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;QACnE,CAAC,CAAC,CACH;IACH;AAEA,IAAA,yBAAyB,CAAC,MAAiC,EAAA;QACzD,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,qBAAqB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAC7G,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAChE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;AACjE,YAAA,IAAI,MAAM,CAAC,YAAY,EAAE;AACvB,gBAAA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,GAAG,MAAM,CAAC,YAAY,CAAC;YACzF;;QAEF,CAAC,CAAC,CACH;IACH;AAEA,IAAA,oBAAoB,CAAC,YAAoB,EAAA;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAClD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,gBAAgB,GAAG,YAAY,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CACtH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAChE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;QACnE,CAAC,CAAC,CACH;IACH;AAEA,IAAA,qBAAqB,CAAC,MAAW,EAAA;QAC/B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC;AACT,aAAA,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,qBAAqB,EAAE;AACtF,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,IAAI,EAAE,MAAM;SACb;AACA,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAChE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;QACnE,CAAC,CAAC,CACH;IACL;AAEA,IAAA,4BAA4B,CAAC,gBAAwB,EAAA;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAClD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,qBAAqB,GAAG,gBAAgB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAC/H,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAChE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;QACnE,CAAC,CAAC,CACH;IACH;AAEA,IAAA,sBAAsB,CAAC,IAAS,EAAA;QAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,oBAAoB,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC;IAC3H;AAEA,IAAA,gBAAgB,CAAC,MAAW,EAAA;QAC1B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,yBAAyB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CACjH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAChE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;QACnE,CAAC,CAAC,CACH;IACH;AAEA,IAAA,oBAAoB,CAAC,MAAW,EAAA;QAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,4BAA4B,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CACpH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAChE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;QACnE,CAAC,CAAC,CACH;IACH;AAEA,IAAA,mBAAmB,CAAC,MAAW,EAAA;QAC7B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,4BAA4B,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CACpH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAChE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;QACnE,CAAC,CAAC,CACH;IACH;AAEA,IAAA,oBAAoB,CAAC,gBAAwB,EAAA;QAC3C,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,qBAAqB,GAAG,gBAAgB,EAAE,EAAE,OAAO,EAAE,CAAC;IAC3H;AAEA,IAAA,iBAAiB,CAAC,MAAW,EAAA;QAC3B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,eAAe,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC;IAC3G;AAEA;;AAE2E;AAE3E,IAAA,yBAAyB,CAAC,KAAa,EAAE,KAAa,EAAE,YAAoB,EAAA;QAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAClD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,0BAA0B,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,gBAAgB,GAAG,YAAY,EAAE,EAAE,OAAO,EAAE,CAAC;IAC3K;AAEA,IAAA,4BAA4B,CAAC,MAAW,EAAE,OAAA,GAAe,IAAI,EAAA;QAC3D,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,yBAAyB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CACjH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAChE,IAAI,OAAO,EAAE;AACX,gBAAA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,GAAG,OAAO,CAAC,YAAY,CAAC;YAC1F;iBAAO;gBACL,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;YACnE;;QAEF,CAAC,CAAC,CACH;IACH;AAEA,IAAA,oCAAoC,CAAC,MAAW,EAAA;QAC9C,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,6BAA6B,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CACrH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAChE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;;QAEnE,CAAC,CAAC,CACH;IACH;AAEA,IAAA,qBAAqB,CAAC,MAAW,EAAA;QAC/B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,mBAAmB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAC5G,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;;;QAGlE,CAAC,CAAC,CACH;IACH;IAEA,gCAAgC,CAAC,YAAoB,EAAE,YAAoB,EAAA;QACzE,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAClD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,oBAAoB,GAAG,YAAY,GAAG,GAAG,GAAG,YAAY,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAC/I,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAChE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;;QAEnE,CAAC,CAAC,CACH;IACH;AAEA;;AAE2E;AAE3E,IAAA,qBAAqB,CAAC,YAAoB,EAAA;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAClD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,sBAAsB,GAAG,YAAY,EAAE,EAAE,OAAO,EAAE,CAAC;IACxH;AAEA,IAAA,WAAW,CAAC,KAAa,EAAE,KAAa,EAAE,MAAc,EAAE,gBAAwB,EAAA;QAChF,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAClD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,sBAAsB,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,GAAG,oBAAoB,GAAG,gBAAgB,EAAE,EAAE,OAAO,EAAE,CAAC;IACrM;AAEA,IAAA,qBAAqB,CAAC,YAAoB,EAAA;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAClD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,gBAAgB,GAAG,YAAY,EAAE,EAAE,OAAO,EAAE,CAAC;IAClH;AAEA,IAAA,OAAO,CAAC,MAAW,EAAA;QACjB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CACxG,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAChE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;YACjE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC;YAC3D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC;YAC3D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;QACnE,CAAC,CAAC,CACH;IACH;AAEA,IAAA,wBAAwB,CAAC,MAAW,EAAA;QAClC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CACvG,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAChE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;YACjE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC;QAC7D,CAAC,CAAC,CACH;IACH;AAEA,IAAA,2BAA2B,CAAC,MAAW,EAAA;QACrC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,qBAAqB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAC7G,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAChE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;YACjE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC;YAC3D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC;YAC3D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;QACnE,CAAC,CAAC,CACH;IACH;AAEA,IAAA,wBAAwB,CAAC,YAAoB,EAAA;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAClD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,gBAAgB,GAAG,YAAY,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CACtH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAChE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;YACjE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC;YAC3D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC;YAC3D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;QACnE,CAAC,CAAC,CACH;IACH;AAEA,IAAA,0BAA0B,CAAC,MAAW,EAAA;QACpC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC;AACT,aAAA,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,qBAAqB,EAAE;AACtF,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,IAAI,EAAE,MAAM;SACb;AACA,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAChE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;YACjE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC;YAC3D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC;YAC3D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;QACnE,CAAC,CAAC,CACH;IACL;AAEA,IAAA,aAAa,CAAC,MAAW,EAAA;QACvB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,0BAA0B,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAClH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAChE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;YACjE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC;QAC7D,CAAC,CAAC,CACH;IACH;AAEA,IAAA,kBAAkB,CAAC,MAAW,EAAA;QAC5B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,gCAAgC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CACxH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAChE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;YACjE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC;QAC7D,CAAC,CAAC,CACH;IACH;AAEA,IAAA,2BAA2B,CAAC,YAAoB,EAAA;QAC9C,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,2BAA2B,GAAG,YAAY,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,CAC9H,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAChE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;YACjE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC;QAC7D,CAAC,CAAC,CACH;IACH;AAEA;;AAE2E;AAE3E,IAAA,cAAc,CAAC,KAAa,EAAE,KAAa,EAAE,kBAA0B,EAAA;QACrE,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAClD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,sBAAsB,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,sBAAsB,GAAG,kBAAkB,EAAE,EAAE,OAAO,EAAE,CAAC;IACnL;AAEA,IAAA,cAAc,CAAC,MAAW,EAAA;QACxB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC;IACvG;AAEA,IAAA,2BAA2B,CAAC,YAAoB,EAAA;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAClD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,gBAAgB,GAAG,YAAY,EAAE,EAAE,OAAO,EAAE,CAAC;IACrH;AAEA,IAAA,6BAA6B,CAAC,MAAW,EAAA;QACvC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,qBAAqB,EAAE,MAAM,EAAE,OAAO,CAAC;IAC5G;AAEA,IAAA,yBAAyB,CAAC,MAAW,EAAA;QACnC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,oBAAoB,EAAE,MAAM,EAAE,OAAO,CAAC;IAC3G;AAEA,IAAA,2BAA2B,CAAC,MAAW,EAAA;QACrC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,sBAAsB,EAAE,MAAM,EAAE,OAAO,CAAC;IAC7G;AAEA,IAAA,eAAe,CAAC,MAAW,EAAA;QACzB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,oBAAoB,EAAE,MAAM,EAAE,OAAO,CAAC;IAC3G;AAEA;;AAE2E;IAE3E,WAAW,GAAA;QACT,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAClD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,eAAe,EAAE,EAAE,OAAO,EAAE,CAAC;IAClG;AAEA,IAAA,OAAO,CAAC,YAAoB,EAAA;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAClD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,gBAAgB,GAAG,YAAY,EAAE,EAAE,OAAO,EAAE,CAAC;IAClH;AAEA,IAAA,OAAO,CAAC,YAAiB,EAAE,aAAkB,EAAE,YAAY,GAAG,EAAE,EAAA;QAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAClD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,eAAe,EAC7D;AACE,YAAA,YAAY,EAAE,YAAY;AAC1B,YAAA,aAAa,EAAE,aAAa;AAC5B,YAAA,YAAY,EAAE,YAAY;AAC3B,SAAA,EACD,EAAE,OAAO,EAAE,CACZ;IACH;AAEA,IAAA,UAAU,CAAC,YAAiB,EAAE,SAAc,EAAE,UAAe,EAAA;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAClD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,qBAAqB,EACnE;AACE,YAAA,YAAY,EAAE,YAAY;AAC1B,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,UAAU,EAAE,UAAU;AACvB,SAAA,EACD,EAAE,OAAO,EAAE,CACZ;IACH;AAEA,IAAA,UAAU,CAAC,YAAoB,EAAA;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAClD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,gBAAgB,GAAG,YAAY,EAAE,EAAE,OAAO,EAAE,CAAC;IACrH;+GA3jBW,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAd,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAc,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,cAFpB,MAAM,EAAA,CAAA,CAAA;;4FAEP,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCCY,0BAA0B,CAAA;AACrC,IAAA,WAAA,CACU,IAAgB,EAChB,gBAAiC,EACjC,UAA4B,EAAA;QAF5B,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;QAChB,IAAA,CAAA,UAAU,GAAV,UAAU;IAChB;AAEJ,IAAA,gBAAgB,CAAC,KAAa,EAAE,KAAa,EAAE,MAAc,EAAA;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAClD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,+BAA+B,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC;IACpK;AAEA,IAAA,mCAAmC,CAAC,oBAA4B,EAAA;QAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAClD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,yBAAyB,GAAG,oBAAoB,EAAE,EAAE,OAAO,EAAE,CAAC;IACnI;AAEA,IAAA,eAAe,CAAC,MAAW,EAAA;QACzB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,uBAAuB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAC/G,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;YACjE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC;YAC3D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,iBAAiB,CAAC;YAC/D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACH;AAEA,IAAA,6BAA6B,CAAC,MAAW,EAAA;QACvC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC;AACT,aAAA,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,8BAA8B,EAAE;AAC/F,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,IAAI,EAAE,MAAM;SACb;AACA,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,iBAAiB,CAAC;QACjE,CAAC,CAAC,CACH;IACL;+GA1CW,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAd,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAc,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,cAFzB,MAAM,EAAA,CAAA,CAAA;;4FAEP,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCCY,YAAY,CAAA;AAGvB,IAAA,WAAA,CACU,IAAgB,EAChB,QAAyB,EACzB,MAAc,EAAA;QAFd,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACR,IAAA,CAAA,MAAM,GAAN,MAAM;IACZ;AAEJ;;AAE2E;AAE3E,IAAA,UAAU,CAAC,OAAY,EAAA;AACrB,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;IACxB;AAEA,IAAA,OAAO,CAAC,IAAS,EAAA;AACf,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;IAClB;AAEA,IAAA,sBAAsB,CAAC,KAAa,EAAA;;AAElC,QAAA,YAAY,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC;IAClE;AAEA;;AAE2E;IAE3E,UAAU,GAAA;QACR,OAAO,IAAI,CAAC,OAAO;IACrB;IAEA,iBAAiB,GAAA;QACf,OAAO,IAAI,CAAC,IAAI;IAClB;IAEA,gBAAgB,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;IAC/B;IAEA,6BAA6B,CAAC,KAAa,EAAE,KAAU,EAAA;AACrD,QAAA,IAAI,OAAO,GAAG,IAAI,WAAW,CAAC;AAC5B,YAAA,cAAc,EAAE,kBAAkB;AACnC,SAAA,CAAC;AACF,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,QAAQ,GAAG,KAAK,GAAG,oBAAoB,EAC7E;AACE,YAAA,KAAK,EAAE,KAAK;SACb,EACD,OAAO,CACR;IACH;AAEA,IAAA,OAAO,CAAC,KAAU,EAAE,GAAQ,EAAE,KAAU,EAAA;;AAEtC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAmB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,cAAc,EAAE;AAC5F,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,QAAQ,EAAE,GAAG;AACb,YAAA,KAAK,EAAE,KAAK;AACb,SAAA,CAAC;IACJ;IAEA,sBAAsB,GAAA;QACpB,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC;AAE3C,QAAA,IAAI,KAAK,KAAK,IAAI,EAAE;AAClB,YAAA,YAAY,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC;AAChE,YAAA,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC;QAClC;AAEA,QAAA,OAAO,YAAY,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAClE;AAEA,IAAA,aAAa,CAAC,IAAS,EAAA;AACrB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,uBAAuB,EAAE;AACnF,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;AAChC,SAAA,CAAC;IACJ;IAEA,WAAW,CAAC,KAAU,EAAE,GAAQ,EAAA;;AAE9B,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAmB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,cAAc,EAAE;AAC5F,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,QAAQ,EAAE,GAAG;AACb,YAAA,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;AAChC,SAAA,CAAC;IACJ;+GA1FW,YAAY,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAd,eAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cAFX,MAAM,EAAA,CAAA,CAAA;;4FAEP,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCFY,mBAAmB,CAAA;AAG9B,IAAA,WAAA,GAAA;QAFQ,IAAA,CAAA,QAAQ,GAAsD,EAAE;IAExD;AAEhB,IAAA,QAAQ,KAAK;AAEb,IAAA,UAAU,CAAC,SAAiB,EAAA;QAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YAC7B,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;QAChE;QACA,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,YAAY,EAAE;IAChD;IAEA,UAAU,CAAC,SAAiB,EAAE,QAAiB,EAAA;QAC7C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YAC7B,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;QAChE;aAAO;QACP;QACA,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IACzC;AAEA,IAAA,cAAc,CAAC,SAAiB,EAAA;QAC9B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YAC7B,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;QAChE;AACA,QAAA,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC;IAChE;AAEA,IAAA,SAAS,CAAC,SAAiB,EAAA;QACzB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YAC7B,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;QAChE;QACA,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK;IACvC;+GAlCW,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFlB,MAAM,EAAA,CAAA,CAAA;;4FAEP,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCGY,mBAAmB,CAAA;AAC9B,IAAA,WAAA,CACU,IAAgB,EAChB,gBAAiC,EACjC,IAAiB,EAAA;QAFjB,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;QAChB,IAAA,CAAA,IAAI,GAAJ,IAAI;IACV;AAEJ;;AAE2E;AAE3E,IAAA,qBAAqB,CAAC,IAAS,EAAA;QAC7B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,oBAAoB,GAAG,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC;IAC9G;IAEA,kBAAkB,CAAC,kBAAkB,GAAG,QAAQ,EAAA;QAC9C,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,kCAAkC,GAAG,kBAAkB,EAAE,EAAE,OAAO,EAAE,CAAC;IAC1I;+GAnBW,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAa,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFlB,MAAM,EAAA,CAAA,CAAA;;4FAEP,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCCY,aAAa,CAAA;AACxB,IAAA,WAAA,CACU,IAAgB,EAChB,gBAAiC,EACjC,IAAiB,EAAA;QAFjB,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;QAChB,IAAA,CAAA,IAAI,GAAJ,IAAI;IACV;AAEJ;;AAE6E;AAE7E,IAAA,YAAY,CAAC,IAAY,EAAA;QACvB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,cAAc,GAAG,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC;IACxG;AAEA,IAAA,kBAAkB,CAAC,IAAY,EAAA;QAC7B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,SAAS,GAAG,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC;IACnG;IAEA,aAAa,GAAA;QACX,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,aAAa,EAAE,EAAE,OAAO,EAAE,CAAC;IAChG;AACA;;AAE6E;AAE7E,IAAA,YAAY,CAAC,MAAW,EAAA;QACtB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC;IAChG;AAEA;;AAE6E;AAE7E,IAAA,YAAY,CAAC,MAAW,EAAA;QACtB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC;IAC/F;AAEA;;AAE6E;AAE7E,IAAA,YAAY,CAAC,IAAY,EAAA;QACvB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,SAAS,GAAG,IAAI,EAAE;AACjG,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,IAAI,EAAE,EAAE;AACT,SAAA,CAAC;IACJ;+GAvDW,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAb,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAa,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAFZ,MAAM,EAAA,CAAA,CAAA;;4FAEP,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCAY,cAAc,CAAA;IACzB,WAAA,CACU,IAAgB,EAChB,SAA0B,EAAA;QAD1B,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,SAAS,GAAT,SAAS;IACf;AAEJ;;AAE6E;AAE7E,IAAA,cAAc,CAAC,cAAoK,EAAA;QACjL,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;AACzC,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,sBAAsB,EAC7D;YACE,mBAAmB,EAAE,cAAc,CAAC,mBAAmB;YACvD,gBAAgB,EAAE,cAAc,CAAC,gBAAgB;AACjD,YAAA,2BAA2B,EAAE,cAAc,CAAC,2BAA2B;AACvE,YAAA,iBAAiB,EAAE,cAAc,CAAC,iBAAiB;YACnD,WAAW,EAAE,cAAc,CAAC,WAAW;YACvC,aAAa,EAAE,cAAc,CAAC,aAAa;SAC5C,EACD,OAAO,CACR;IACH;AAEA,IAAA,kBAAkB,CAAC,cAAwH,EAAA;QACzI,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;AACzC,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,2BAA2B,EAClE;YACE,gBAAgB,EAAE,cAAc,CAAC,gBAAgB;AACjD,YAAA,2BAA2B,EAAE,cAAc,CAAC,2BAA2B;AACvE,YAAA,iBAAiB,EAAE,cAAc,CAAC,iBAAiB;YACnD,aAAa,EAAE,cAAc,CAAC,aAAa;SAC5C,EACD,OAAO,CACR;IACH;AAEA,IAAA,uBAAuB,CAAC,cAAwH,EAAA;QAC9I,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;AACzC,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,gCAAgC,EACvE;YACE,gBAAgB,EAAE,cAAc,CAAC,gBAAgB;AACjD,YAAA,2BAA2B,EAAE,cAAc,CAAC,2BAA2B;AACvE,YAAA,iBAAiB,EAAE,cAAc,CAAC,iBAAiB;YACnD,aAAa,EAAE,cAAc,CAAC,aAAa;SAC5C,EACD,OAAO,CACR;IACH;AAEA,IAAA,sBAAsB,CAAC,cAAwH,EAAA;QAC7I,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;AACzC,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,2BAA2B,EAClE;YACE,gBAAgB,EAAE,cAAc,CAAC,gBAAgB;AACjD,YAAA,2BAA2B,EAAE,cAAc,CAAC,2BAA2B;AACvE,YAAA,iBAAiB,EAAE,cAAc,CAAC,iBAAiB;YACnD,aAAa,EAAE,cAAc,CAAC,aAAa;SAC5C,EACD,OAAO,CACR;IACH;AAEA,IAAA,yBAAyB,CAAC,cAA6E,EAAA;QACrG,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;AACzC,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,mCAAmC,EAC1E;YACE,2BAA2B,EAAE,cAAc,CAAC,2BAA2B;AACvE,YAAA,iBAAiB,EAAE,cAAc,CAAC,iBAAiB;AACnD,YAAA,aAAa,EAAE,IAAI;AACnB,YAAA,cAAc,EAAE,IAAI;SACrB,EACD,OAAO,CACR;IACH;AAEA,IAAA,oBAAoB,CAAC,cAA2K,EAAA;QAC9L,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;AACzC,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,8BAA8B,EACrE;YACE,gBAAgB,EAAE,cAAc,CAAC,gBAAgB;AACjD,YAAA,2BAA2B,EAAE,cAAc,CAAC,2BAA2B;AACvE,YAAA,iBAAiB,EAAE,cAAc,CAAC,iBAAiB;YACnD,aAAa,EAAE,cAAc,CAAC,aAAa;YAC3C,cAAc,EAAE,cAAc,CAAC,cAAc;YAC7C,SAAS,EAAE,cAAc,CAAC,SAAS;YACnC,OAAO,EAAE,cAAc,CAAC,OAAO;SAChC,EACD,OAAO,CACR;IACH;AAEA,IAAA,oBAAoB,CAAC,cAA2K,EAAA;QAC9L,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;AACzC,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,8BAA8B,EACrE;YACE,gBAAgB,EAAE,cAAc,CAAC,gBAAgB;AACjD,YAAA,2BAA2B,EAAE,cAAc,CAAC,2BAA2B;AACvE,YAAA,iBAAiB,EAAE,cAAc,CAAC,iBAAiB;YACnD,aAAa,EAAE,cAAc,CAAC,aAAa;YAC3C,cAAc,EAAE,cAAc,CAAC,cAAc;YAC7C,SAAS,EAAE,cAAc,CAAC,SAAS;YACnC,OAAO,EAAE,cAAc,CAAC,OAAO;SAChC,EACD,OAAO,CACR;IACH;AAEA,IAAA,yBAAyB,CAAC,cAA6E,EAAA;QACrG,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;AACzC,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,mCAAmC,EAC1E;YACE,2BAA2B,EAAE,cAAc,CAAC,2BAA2B;AACvE,YAAA,iBAAiB,EAAE,cAAc,CAAC,iBAAiB;AACnD,YAAA,aAAa,EAAE,IAAI;AACnB,YAAA,cAAc,EAAE,IAAI;SACrB,EACD,OAAO,CACR;IACH;AAEA,IAAA,qBAAqB,CAAC,cAAwH,EAAA;QAC5I,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;AACzC,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,0BAA0B,EACjE;YACE,gBAAgB,EAAE,cAAc,CAAC,gBAAgB;AACjD,YAAA,2BAA2B,EAAE,cAAc,CAAC,2BAA2B;AACvE,YAAA,iBAAiB,EAAE,cAAc,CAAC,iBAAiB;YACnD,aAAa,EAAE,cAAc,CAAC,aAAa;SAC5C,EACD,OAAO,CACR;IACH;AAEA,IAAA,sBAAsB,CAAC,cAAwH,EAAA;QAC7I,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;AACzC,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,kCAAkC,EACzE;YACE,gBAAgB,EAAE,cAAc,CAAC,gBAAgB;AACjD,YAAA,2BAA2B,EAAE,cAAc,CAAC,2BAA2B;AACvE,YAAA,iBAAiB,EAAE,cAAc,CAAC,iBAAiB;YACnD,aAAa,EAAE,cAAc,CAAC,aAAa;SAC5C,EACD,OAAO,CACR;IACH;AAEA,IAAA,mBAAmB,CAAC,cAAyL,EAAA;QAC3M,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;AACzC,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,sBAAsB,EAC7D;YACE,mBAAmB,EAAE,cAAc,CAAC,mBAAmB;YACvD,gBAAgB,EAAE,cAAc,CAAC,gBAAgB;AACjD,YAAA,2BAA2B,EAAE,cAAc,CAAC,2BAA2B;AACvE,YAAA,iBAAiB,EAAE,cAAc,CAAC,iBAAiB;YACnD,WAAW,EAAE,cAAc,CAAC,WAAW;YACvC,aAAa,EAAE,cAAc,CAAC,aAAa;YAC3C,cAAc,EAAE,cAAc,CAAC,cAAc;SAC9C,EACD,OAAO,CACR;IACH;AAEA,IAAA,iCAAiC,CAAC,cAAoG,EAAA;QACpI,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;AACzC,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,sCAAsC,EAC7E;YACE,gBAAgB,EAAE,cAAc,CAAC,gBAAgB;YACjD,2BAA2B,EAAE,cAAc,CAAC,2BAA2B;AACvE,YAAA,iBAAiB,EAAE,cAAc,CAAC,iBAAiB;AACnD,YAAA,aAAa,EAAE,IAAI;AACnB,YAAA,cAAc,EAAE,IAAI;SACrB,EACD,OAAO,CACR;IACH;AAEA,IAAA,6BAA6B,CAAC,cAAoG,EAAA;QAChI,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;AACzC,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,qCAAqC,EAC5E;YACE,gBAAgB,EAAE,cAAc,CAAC,gBAAgB;YACjD,2BAA2B,EAAE,cAAc,CAAC,2BAA2B;AACvE,YAAA,iBAAiB,EAAE,cAAc,CAAC,iBAAiB;AACnD,YAAA,aAAa,EAAE,IAAI;AACnB,YAAA,cAAc,EAAE,IAAI;SACrB,EACD,OAAO,CACR;IACH;AAEA,IAAA,0BAA0B,CAAC,cAAsH,EAAA;QAC/I,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;AACzC,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,mCAAmC,EAC1E;YACE,2BAA2B,EAAE,cAAc,CAAC,2BAA2B;AACvE,YAAA,iBAAiB,EAAE,cAAc,CAAC,iBAAiB;YACnD,aAAa,EAAE,cAAc,CAAC,aAAa;YAC3C,cAAc,EAAE,cAAc,CAAC,cAAc;SAC9C,EACD,OAAO,CACR;IACH;AAEA,IAAA,oBAAoB,CAAC,cAAwH,EAAA;QAC3I,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;AACzC,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,yBAAyB,EAChE;YACE,gBAAgB,EAAE,cAAc,CAAC,gBAAgB;YACjD,2BAA2B,EAAE,cAAc,CAAC,2BAA2B;AACvE,YAAA,iBAAiB,EAAE,cAAc,CAAC,iBAAiB;YACnD,aAAa,EAAE,cAAc,CAAC,aAAa;SAC5C,EACD,OAAO,CACR;IACH;AAEA,IAAA,2BAA2B,CAAC,cAAwH,EAAA;QAClJ,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;AACzC,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,yBAAyB,EAChE;YACE,gBAAgB,EAAE,cAAc,CAAC,gBAAgB;YACjD,2BAA2B,EAAE,cAAc,CAAC,2BAA2B;AACvE,YAAA,iBAAiB,EAAE,cAAc,CAAC,iBAAiB;YACnD,aAAa,EAAE,cAAc,CAAC,aAAa;AAC3C,YAAA,YAAY,EAAE,SAAS;SACxB,EACD,OAAO,CACR;IACH;AAEA,IAAA,2BAA2B,CAAC,cAAwH,EAAA;QAClJ,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;AACzC,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,yBAAyB,EAChE;YACE,gBAAgB,EAAE,cAAc,CAAC,gBAAgB;YACjD,2BAA2B,EAAE,cAAc,CAAC,2BAA2B;AACvE,YAAA,iBAAiB,EAAE,cAAc,CAAC,iBAAiB;YACnD,aAAa,EAAE,cAAc,CAAC,aAAa;AAC3C,YAAA,YAAY,EAAE,SAAS;SACxB,EACD,OAAO,CACR;IACH;AAEA,IAAA,kBAAkB,CAAC,cAAuI,EAAA;QACxJ,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;AACzC,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,+BAA+B,EACtE;YACE,gBAAgB,EAAE,cAAc,CAAC,gBAAgB;YACjD,YAAY,EAAE,cAAc,CAAC,YAAY;AACzC,YAAA,cAAc,EAAE,cAAc,CAAC,cAAc;YAC7C,WAAW,EAAE,cAAc,CAAC,WAAW;YACvC,QAAQ,EAAE,cAAc,CAAC,QAAQ;YACjC,aAAa,EAAE,cAAc,CAAC,aAAa;SAC5C,EACD,OAAO,CACR;IACH;+GAvSW,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAb,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cAFb,MAAM,EAAA,CAAA,CAAA;;4FAEP,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCAY,gBAAgB,CAAA;IAC3B,SAAS,CAAC,KAAa,EAAE,QAAgB,EAAA;AACvC,QAAA,IAAI,KAAK,IAAI,QAAQ,EAAE;AACrB,YAAA,OAAO,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC;QACvC;aAAO;YACL,IAAI,KAAK,IAAI,CAAC;AAAE,gBAAA,OAAO,GAAG;QAC5B;IACF;+GAPW,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,CAAA;;4FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,cAAc;AACpB,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;;MCEY,eAAe,CAAA;AAS1B,IAAA,WAAA,CAAoB,GAAqB,EAAA;QAArB,IAAA,CAAA,GAAG,GAAH,GAAG;AACrB,QAAA,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,KAAI;AACvD,YAAA,IAAI,CAAC,SAAS,GAAG,GAAG;AACpB,YAAA,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,KAAI;AACxD,gBAAA,IAAI,CAAC,UAAU,GAAG,GAAG;AACrB,gBAAA,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,KAAI;AAC1D,oBAAA,IAAI,CAAC,YAAY,GAAG,GAAG;AACvB,oBAAA,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,KAAI;AAC3D,wBAAA,IAAI,CAAC,aAAa,GAAG,GAAG;AAC1B,oBAAA,CAAC,CAAC;AACJ,gBAAA,CAAC,CAAC;AACJ,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;AACF,QAAA,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,KAAI;AACtD,YAAA,IAAI,CAAC,QAAQ,GAAG,GAAG;AACnB,YAAA,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,KAAI;AACvD,gBAAA,IAAI,CAAC,SAAS,GAAG,GAAG;AACpB,gBAAA,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,KAAI;AACzD,oBAAA,IAAI,CAAC,WAAW,GAAG,GAAG;AACtB,oBAAA,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,KAAI;AAC1D,wBAAA,IAAI,CAAC,YAAY,GAAG,GAAG;AACzB,oBAAA,CAAC,CAAC;AACJ,gBAAA,CAAC,CAAC;AACJ,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;IACJ;AACA,IAAA,SAAS,CAAC,IAAS,EAAE,IAAA,GAAwB,MAAM,EAAA;AACjD,QAAA,MAAM,aAAa,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC;AACpC,QAAA,MAAM,eAAe,GAAG,IAAI,IAAI,EAAE;QAElC,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,EAAE,GAAG,aAAa,CAAC,OAAO,EAAE;QACvE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;AAEnC,QAAA,IAAI,IAAI,KAAK,MAAM,EAAE;AACnB,YAAA,IAAI,IAAI,GAAG,CAAC,EAAE;gBACZ,OAAO,IAAI,KAAK,CAAC,GAAG,CAAA,EAAA,EAAK,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAA,EAAG,IAAI,IAAI,IAAI,CAAC,SAAS,CAAA,CAAE;YACxE;AAAO,iBAAA,IAAI,KAAK,GAAG,CAAC,EAAE;gBACpB,OAAO,KAAK,KAAK,CAAC,GAAG,CAAA,EAAA,EAAK,IAAI,CAAC,SAAS,EAAE,GAAG,CAAA,EAAG,KAAK,IAAI,IAAI,CAAC,UAAU,CAAA,CAAE;YAC5E;AAAO,iBAAA,IAAI,OAAO,GAAG,CAAC,EAAE;gBACtB,OAAO,OAAO,KAAK,CAAC,GAAG,CAAA,EAAA,EAAK,IAAI,CAAC,WAAW,EAAE,GAAG,CAAA,EAAG,OAAO,IAAI,IAAI,CAAC,YAAY,CAAA,CAAE;YACpF;iBAAO;gBACL,OAAO,OAAO,KAAK,CAAC,GAAG,CAAA,EAAA,EAAK,IAAI,CAAC,YAAY,EAAE,GAAG,CAAA,EAAG,OAAO,IAAI,IAAI,CAAC,aAAa,CAAA,CAAE;YACtF;QACF;QAEA,IAAI,WAAW,GAAG,EAAE;AAEpB,QAAA,IAAI,IAAI,GAAG,CAAC,EAAE;YACZ,WAAW,IAAI,IAAI;AACnB,YAAA,IAAI,IAAI,IAAI,CAAC,EAAE;gBACb,WAAW,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,GAAG,GAAG;YAC1C;iBAAO;gBACL,WAAW,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,GAAG,GAAG;YAC3C;QACF;QACA,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE;AAC1B,YAAA,WAAW,IAAI,KAAK,GAAG,EAAE;AACzB,YAAA,IAAI,KAAK,IAAI,CAAC,EAAE;gBACd,WAAW,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,GAAG,GAAG;YAC3C;iBAAO;gBACL,WAAW,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,GAAG,GAAG;YAC5C;QACF;QACA,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,IAAI,EAAE,EAAE;AAC9B,YAAA,WAAW,IAAI,OAAO,GAAG,EAAE;AAC3B,YAAA,IAAI,OAAO,IAAI,CAAC,EAAE;gBAChB,WAAW,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,GAAG,GAAG;YAC7C;iBAAO;gBACL,WAAW,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,GAAG,GAAG;YAC9C;QACF;QACA,IAAI,OAAO,GAAG,CAAC,IAAI,OAAO,IAAI,EAAE,EAAE;AAChC,YAAA,WAAW,IAAI,OAAO,GAAG,EAAE;AAC3B,YAAA,IAAI,OAAO,IAAI,CAAC,EAAE;gBAChB,WAAW,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,GAAG,GAAG;YAC9C;iBAAO;gBACL,WAAW,IAAI,GAAG,GAAG,IAAI,CAAC,aAAa,GAAG,GAAG;YAC/C;QACF;AAEA,QAAA,OAAO,WAAW;IACpB;+GA7FW,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,aAAA,EAAA,CAAA,CAAA;;4FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAJ3B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,aAAa;AACnB,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;;MCaY,qBAAqB,CAAA;IAoBhC,WAAA,CACU,EAA2B,EAC3B,CAAY,EAAA;QADZ,IAAA,CAAA,EAAE,GAAF,EAAE;QACF,IAAA,CAAA,CAAC,GAAD,CAAC;AArBH,QAAA,IAAA,CAAA,cAAc,GAAe;AACnC,YAAA,QAAQ,EAAE,SAAS;AACnB,YAAA,UAAU,EAAE,SAAS;AACrB,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,SAAS,EAAE,CAAC;AACZ,YAAA,IAAI,EAAE,GAAG;AACT,YAAA,MAAM,EAAE,CAAC;YACT,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;SAC3C;QAEQ,IAAA,CAAA,OAAO,GAA2B,CAAC;QAMpC,IAAA,CAAA,aAAa,GAAG,CAAC;QACjB,IAAA,CAAA,OAAO,GAAG,CAAC;IAKf;IAEJ,QAAQ,GAAA;QACN,IAAI,CAAC,SAAS,EAAE;AAChB,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC;IACpD;AAEA,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;;YAEzD,IAAI,CAAC,YAAY,EAAE;YACnB,IAAI,CAAC,SAAS,EAAE;QAClB;QACA,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE;AAClC,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC;QACtE;IACF;;IAGQ,GAAG,GAAA;AACT,QAAA,OAAO,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE;IAC5D;AAEQ,IAAA,MAAM,CAAC,CAAU,EAAA;AACvB,QAAA,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,GAAI,CAAY;QAC/D,OAAO,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IACxD;IAEQ,SAAS,GAAA;AACf,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;AACtB,QAAA,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI;AACrB,QAAA,MAAM,EAAE,GAAG,GAAG,CAAC,SAAS;QACxB,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,IAAI,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC;;AAGpC,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa;QAClC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,cAAc,CAAC;AAChD,QAAA,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,CAAA,EAAG,IAAI,CAAA,EAAA,CAAI,CAAC;AAC3C,QAAA,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAA,EAAG,IAAI,CAAA,EAAA,CAAI,CAAC;;AAG5C,QAAA,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC;AAC7C,QAAA,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,CAAA,EAAG,IAAI,CAAA,CAAE,CAAC;AACjD,QAAA,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAA,EAAG,IAAI,CAAA,CAAE,CAAC;AAClD,QAAA,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,CAAA,IAAA,EAAO,IAAI,IAAI,IAAI,CAAA,CAAE,CAAC;QAC/D,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,CAAA,OAAA,EAAU,GAAG,CAAC,MAAM,GAAG,EAAE,CAAA,IAAA,CAAM,CAAC,CAAC;;AAGxE,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC;AAClD,QAAA,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAA,EAAG,IAAI,GAAG,CAAC,CAAA,CAAE,CAAC;AACpD,QAAA,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAA,EAAG,IAAI,GAAG,CAAC,CAAA,CAAE,CAAC;AACpD,QAAA,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,CAAA,EAAG,CAAC,CAAA,CAAE,CAAC;AAC5C,QAAA,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;AAC/C,QAAA,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC;AACzD,QAAA,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,CAAA,EAAG,EAAE,CAAA,CAAE,CAAC;;AAGxD,QAAA,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC;AAChD,QAAA,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,CAAA,EAAG,IAAI,GAAG,CAAC,CAAA,CAAE,CAAC;AAClD,QAAA,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,CAAA,EAAG,IAAI,GAAG,CAAC,CAAA,CAAE,CAAC;AAClD,QAAA,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAA,EAAG,CAAC,CAAA,CAAE,CAAC;AAC1C,QAAA,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC;AAC7C,QAAA,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC;AACrD,QAAA,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,CAAA,EAAG,EAAE,CAAA,CAAE,CAAC;AACtD,QAAA,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,EAAE,GAAG,CAAC,OAAO,CAAC;QAC5D,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,kBAAkB,EAAE,CAAA,EAAG,IAAI,CAAC,aAAa,CAAA,CAAA,EAAI,IAAI,CAAC,aAAa,CAAA,CAAE,CAAC;AAChG,QAAA,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,mBAAmB,EAAE,CAAA,EAAG,IAAI,CAAC,aAAa,CAAA,CAAE,CAAC;;AAG3E,QAAA,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE;AACvB,YAAA,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,EAAE,CAAA,kBAAA,EAAqB,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAA,SAAA,CAAW,CAAC;QAC/F;AAEA,QAAA,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC;AACxC,QAAA,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;QACtC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;AAElC,QAAA,IAAI,CAAC,OAAO,GAAG,CAAC;IAClB;IAEQ,WAAW,CAAC,SAAiB,EAAE,OAAgB,EAAA;QACrD,IAAI,CAAC,IAAI,CAAC,GAAG;YAAE;AACf,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;;AAGtB,QAAA,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC;AACrD,QAAA,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,KAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC;;QAG1D,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,EAAE;AAClC,YAAA,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,EAAE,CAAA,kBAAA,EAAqB,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAA,SAAA,CAAW,CAAC;QAC/F;aAAO;YACL,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC;QAC5C;AAEA,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,IAAI,CAAC,GAAG,SAAS,GAAG,GAAG,CAAC;AACzD,QAAA,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,mBAAmB,EAAE,CAAA,EAAG,MAAM,CAAA,CAAE,CAAC;AAC/D,QAAA,IAAI,CAAC,OAAO,GAAG,SAAS;IAC1B;IAEQ,YAAY,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,GAAG,EAAE;AACZ,YAAA,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC;AACnD,YAAA,IAAI,CAAC,GAAG,GAAG,SAAS;AACpB,YAAA,IAAI,CAAC,KAAK,GAAG,SAAS;AACtB,YAAA,IAAI,CAAC,GAAG,GAAG,SAAS;QACtB;IACF;+GAnIW,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;sBAYE;;sBACA;;;MCrBU,iBAAiB,CAAA;AAC5B,IAAA,WAAA,CACU,IAAiB,EACjB,gBAAiC,EACjC,IAAgB,EAChB,UAA4B,EAAA;QAH5B,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;QAChB,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,UAAU,GAAV,UAAU;IAChB;AAEJ;;AAE2E;IAE3E,iBAAiB,GAAA;QACf,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,YAAY,EAAE,EAAE,OAAO,EAAE,CAAC;IAC/F;AAEA,IAAA,uBAAuB,CAAC,IAAY,EAAA;QAClC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,aAAa,GAAG,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC;IACvG;AAEA,IAAA,6BAA6B,CAAC,UAAyB,EAAA;QACrD,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,UAAU,GAAG,UAAU,IAAI,IAAI,GAAG,EAAE,GAAG,cAAc,GAAG,UAAU;QACtE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,iBAAiB,GAAG,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC;IACjH;IAEA,yBAAyB,GAAA;QACvB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,gBAAgB,EAAE,EAAE,OAAO,EAAE,CAAC;IACnG;AACA,IAAA,wBAAwB,CAAC,UAAkB,EAAA;QACzC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,4BAA4B,GAAG,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC;IAC5H;AAEA,IAAA,QAAQ,CAAC,MAAc,EAAA;AACrB,QAAA,IAAI,OAAO,GAAG,IAAI,WAAW,CAAC;YAC5B,aAAa,EAAE,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE;AAC3D,YAAA,cAAc,EAAE,kBAAkB;AAClC,YAAA,iBAAiB,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE;AACvD,SAAA,CAAC;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,aAAa,GAAG,MAAM,GAAG,YAAY,EAAE,EAAE,OAAO,EAAE,CAAC;IACxH;AAEA;;AAE2E;IAE3E,oBAAoB,CAAC,MAAW,EAAE,IAAS,EAAE,KAAU,EAAE,IAAS,EAAE,UAAe,EAAE,UAAe,EAAA;QAClG,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,YAAY,EAC1D;AACE,YAAA,oBAAoB,EAAE,MAAM;AAC5B,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,aAAa,EAAE,KAAK;AACpB,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,kBAAkB,EAAE,UAAU;AAC9B,YAAA,sBAAsB,EAAE,UAAU;AACnC,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA;;AAE2E;;AAG3E,IAAA,mBAAmB,CAAC,YAAiB,EAAE,SAAc,EAAE,UAAe,EAAA;QACpE,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,kBAAkB,EAChE;AACE,YAAA,YAAY,EAAE,YAAY;AAC1B,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,UAAU,EAAE,UAAU;AACvB,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;;IAGA,4BAA4B,CAAC,YAAiB,EAAE,SAAc,EAAE,UAAe,EAAE,SAAc,EAAE,QAAa,EAAA;QAC5G,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,kBAAkB,EAChE;AACE,YAAA,YAAY,EAAE,YAAY;AAC1B,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,QAAQ,EAAE,QAAQ;AACnB,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA,IAAA,UAAU,CAAC,MAAW,EAAE,aAAkB,EAAE,gBAAqB,EAAA;QAC/D,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAElC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,qBAAqB,EACnE;YACE,UAAU,EAAE,MAAM;AAClB,YAAA,eAAe,EAAE,aAAa;AAC9B,YAAA,gBAAgB,EAAE,gBAAgB;AACnC,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA,IAAA,oBAAoB,CAAC,MAAW,EAAE,IAAS,EAAE,KAAU,EAAE,IAAS,EAAE,UAAe,EAAE,EAAO,EAAE,WAAgB,EAAE,SAAc,EAAE,eAAoB,EAAE,YAAiB,EAAA;QACrK,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,YAAY,EAC1D;AACE,YAAA,oBAAoB,EAAE,MAAM;AAC5B,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,aAAa,EAAE,KAAK;AACpB,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,kBAAkB,EAAE,UAAU;AAC9B,YAAA,YAAY,EAAE,EAAE;AAChB,YAAA,mBAAmB,EAAE,WAAW;AAChC,YAAA,iBAAiB,EAAE,SAAS;AAC5B,YAAA,uBAAuB,EAAE,eAAe;AACxC,YAAA,oBAAoB,EAAE,YAAY;AACnC,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;IAEA,WAAW,CAAC,YAAiB,EAAE,aAAkB,EAAA;QAC/C,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,sBAAsB,EACpE;AACE,YAAA,YAAY,EAAE,YAAY;AAC1B,YAAA,aAAa,EAAE,aAAa;AAC7B,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA;;AAE2E;AAE3E,IAAA,oBAAoB,CAAC,EAAU,EAAA;AAC7B,QAAA,MAAM,WAAW,GAAG;AAClB,YAAA,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;SAC5C;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,aAAa,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC,IAAI,CACzG,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACH;+GAzMW,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAc,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAf,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAgB,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFhB,MAAM,EAAA,CAAA,CAAA;;4FAEP,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCEY,WAAW,CAAA;AACtB,IAAA,WAAA,CACU,IAAgB,EAChB,gBAAiC,EACjC,IAAiB,EACjB,UAA4B,EAAA;QAH5B,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;QAChB,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,UAAU,GAAV,UAAU;IAChB;AAEJ;;AAE2E;AAE3E,IAAA,MAAM,CAAC,KAAqN,EAAA;AAC1N,QAAA,OAAO;aACJ,YAAY,CAAC,GAAG;AAChB,aAAA,oBAAoB;AACpB,aAAA,SAAS,CAAC,CAAC,IAAS,KAAK,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACvD;AAEA,IAAA,uBAAuB,CAAC,KAAqN,EAAA;AAC3O,QAAA,OAAO;aACJ,YAAY,CAAC,GAAG;AAChB,aAAA,oBAAoB;AACpB,aAAA,SAAS,CAAC,CAAC,IAAS,KAAK,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC;IACzE;AAEA,IAAA,+BAA+B,CAAC,IAAuD,EAAE,OAAO,GAAG,KAAK,EAAA;QACtG,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,CAAC;AACT,iBAAA,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,2BAA2B,GAAG,IAAI,CAAC,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,KAAK,GAAG,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE;iBAC1J,IAAI,CAACC,KAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;QAC5B;aAAO;YACL,OAAO,IAAI,CAAC;AACT,iBAAA,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,kCAAkC,GAAG,IAAI,CAAC,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,KAAK,GAAG,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE;iBACjK,IAAI,CAACA,KAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;QAC5B;IACF;AAEA,IAAA,aAAa,CAAC,IAAoI,EAAA;QAChJ,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE;gBACrB,OAAO,IAAI,CAAC;qBACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;oBAC3C,gBAAgB;AAChB,oBAAA,IAAI,CAAC,MAAM;oBACX,SAAS;AACT,oBAAA,IAAI,CAAC,KAAK;oBACV,gBAAgB;AAChB,oBAAA,IAAI,CAAC,YAAY;oBACjB,SAAS;AACT,oBAAA,IAAI,CAAC,KAAK;oBACV,cAAc;AACd,oBAAA,IAAI,CAAC,UAAU;oBACf,GAAG;AACH,oBAAA,IAAI,CAAC,MAAM,EACX,EAAE,OAAO,EAAE;qBAEZ,IAAI,CAACA,KAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;YAC5B;iBAAO;gBACL,OAAO,IAAI,CAAC;qBACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;oBAC3C,gBAAgB;AAChB,oBAAA,IAAI,CAAC,MAAM;oBACX,SAAS;AACT,oBAAA,IAAI,CAAC,KAAK;oBACV,gBAAgB;AAChB,oBAAA,IAAI,CAAC,YAAY;oBACjB,SAAS;AACT,oBAAA,IAAI,CAAC,KAAK;oBACV,cAAc;AACd,oBAAA,IAAI,CAAC,UAAU,EACf,EAAE,OAAO,EAAE;qBAEZ,IAAI,CAACA,KAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;YAC5B;QACF;aAAO;AACL,YAAA,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE;gBACrB,OAAO,IAAI,CAAC;qBACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;oBAC3C,cAAc;AACd,oBAAA,IAAI,CAAC,MAAM;oBACX,SAAS;AACT,oBAAA,IAAI,CAAC,KAAK;oBACV,gBAAgB;AAChB,oBAAA,IAAI,CAAC,YAAY;oBACjB,SAAS;AACT,oBAAA,IAAI,CAAC,KAAK;oBACV,cAAc;AACd,oBAAA,IAAI,CAAC,UAAU;oBACf,GAAG;AACH,oBAAA,IAAI,CAAC,MAAM,EACX,EAAE,OAAO,EAAE;qBAEZ,IAAI,CAACA,KAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;YAC5B;iBAAO;gBACL,OAAO,IAAI,CAAC;qBACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;oBAC3C,cAAc;AACd,oBAAA,IAAI,CAAC,MAAM;oBACX,SAAS;AACT,oBAAA,IAAI,CAAC,KAAK;oBACV,gBAAgB;AAChB,oBAAA,IAAI,CAAC,YAAY;oBACjB,SAAS;AACT,oBAAA,IAAI,CAAC,KAAK;oBACV,cAAc;AACd,oBAAA,IAAI,CAAC,UAAU,EACf,EAAE,OAAO,EAAE;qBAEZ,IAAI,CAACA,KAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;YAC5B;QACF;IACF;AAEA,IAAA,qBAAqB,CAAC,MAAoD,EAAA;QACxE,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,8BAA8B,GAAG,MAAM,CAAC,MAAM,GAAG,mBAAmB,GAAG,MAAM,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,CAAC;IAChL;AAEA,IAAA,aAAa,CAAC,MAA0J,EAAA;QACtK,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YAC3C,iBAAiB;AACjB,YAAA,MAAM,CAAC,MAAM;YACb,mBAAmB;AACnB,YAAA,MAAM,CAAC,eAAe;YACtB,gBAAgB;AAChB,YAAA,MAAM,CAAC,YAAY;YACnB,SAAS;AACT,YAAA,MAAM,CAAC,KAAK;YACZ,SAAS;AACT,YAAA,MAAM,CAAC,KAAK;YACZ,GAAG;AACH,YAAA,MAAM,CAAC,OAAO;YACd,QAAQ;AACR,YAAA,MAAM,CAAC,IAAI;YACX,aAAa;AACb,YAAA,MAAM,CAAC,SAAS,EAChB,EAAE,OAAO,EAAE,CACZ;IACH;AAEA,IAAA,eAAe,CAAC,MAAwJ,EAAA;QACtK,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YAC3C,0BAA0B;AAC1B,YAAA,MAAM,CAAC,MAAM;YACb,QAAQ;AACR,YAAA,MAAM,CAAC,eAAe;YACtB,cAAc;AACd,YAAA,MAAM,CAAC,UAAU;YACjB,SAAS;AACT,YAAA,MAAM,CAAC,KAAK;YACZ,SAAS;AACT,YAAA,MAAM,CAAC,KAAK;YACZ,GAAG;AACH,YAAA,MAAM,CAAC,OAAO;YACd,QAAQ;AACR,YAAA,MAAM,CAAC,IAAI;YACX,aAAa;AACb,YAAA,MAAM,CAAC,SAAS;AAChB,YAAA,8BAA8B,EAC9B,EAAE,OAAO,EAAE,CACZ;IACH;AAEA,IAAA,kBAAkB,CAAC,MAA0J,EAAA;QAC3K,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YAC3C,uBAAuB;AACvB,YAAA,MAAM,CAAC,MAAM;YACb,mBAAmB;AACnB,YAAA,MAAM,CAAC,eAAe;YACtB,gBAAgB;AAChB,YAAA,MAAM,CAAC,YAAY;YACnB,SAAS;AACT,YAAA,MAAM,CAAC,KAAK;YACZ,SAAS;AACT,YAAA,MAAM,CAAC,KAAK;YACZ,GAAG;AACH,YAAA,MAAM,CAAC,OAAO;YACd,QAAQ;AACR,YAAA,MAAM,CAAC,IAAI;YACX,aAAa;AACb,YAAA,MAAM,CAAC,SAAS,EAChB,EAAE,OAAO,EAAE,CACZ;IACH;;;;;;;;;;;;;AAkBA;;AAE2E;AAE3E,IAAA,cAAc,CAAC,iBAAiF,EAAA;QAC9F,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,cAAc,EAC5D;YACE,cAAc,EAAE,iBAAiB,CAAC,cAAc;YAChD,mBAAmB,EAAE,iBAAiB,CAAC,mBAAmB;YAC1D,MAAM,EAAE,iBAAiB,CAAC,KAAK;SAChC,EACD,OAAO,CACR;IACH;AAEA,IAAA,UAAU,CAAC,KAAa,EAAE,OAAO,GAAG,KAAK,EAAA;QACvC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,OAAO,GAAG,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC;QAClG;aAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,cAAc,GAAG,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC;QACzG;IACF;AAEA,IAAA,kBAAkB,CAAC,YAAoB,EAAE,OAAO,GAAG,KAAK,EAAA;QACtD,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,OAAO,GAAG,YAAY,EAAE,EAAE,OAAO,EAAE,CAAC;QACzG;aAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,cAAc,GAAG,YAAY,EAAE,EAAE,OAAO,EAAE,CAAC;QAChH;IACF;IAEA,aAAa,CAAC,OAAO,GAAG,KAAK,EAAA;QAC3B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,cAAc,EAAE,EAAE,OAAO,EAAE,CAAC;QACjG;aAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,qBAAqB,EAAE,EAAE,OAAO,EAAE,CAAC;QACxG;IACF;AAEA,IAAA,YAAY,CAAC,KAAa,EAAE,KAAa,EAAE,OAAgB,EAAA;QACzD,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,IAAI,OAAO,EAAE;AACX,YAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,eAAe,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,GAAG,GAAG,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC;QAC9I;aAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,eAAe,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC;QAC9H;IACF;AAEA,IAAA,sBAAsB,CAAC,SAAiB,EAAA;QACtC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC;IAClH;AAEA,IAAA,kBAAkB,CAAC,SAAiB,EAAA;QAClC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,SAAS,GAAG,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC;IACxG;IAEA,iCAAiC,CAAC,KAAa,EAAE,KAAa,EAAE,MAAc,EAAE,QAAgB,EAAE,OAAgB,EAAA;QAChH,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAEhD,IAAI,OAAO,EAAE;AACX,YAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,eAAe,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,GAAG,gBAAgB,GAAG,QAAQ,GAAG,GAAG,GAAG,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC;QAClM;aAAO;AACL,YAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,eAAe,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,GAAG,gBAAgB,GAAG,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC;QAClL;IACF;IAEA,mCAAmC,GAAA;QACjC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,aAAa,EAAE,EAAE,OAAO,EAAE,CAAC;IAChG;AAEA,IAAA,uBAAuB,CAAC,OAAe,EAAA;QACrC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC;IAChH;IAEA,QAAQ,GAAA;QACN,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,iBAAiB,EAAE,EAAE,OAAO,EAAE,CAAC;IACpG;IAEA,kBAAkB,CAAC,KAAa,EAAE,KAAa,EAAE,MAAc,EAAE,OAAO,GAAG,KAAK,EAAA;QAC9E,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,IAAI,CAAC,OAAO,EAAE;AACZ,YAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,0BAA0B,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC;QAC/J;aAAO;AACL,YAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,iCAAiC,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC;QACtK;IACF;IAEA,YAAY,CAAC,QAAQ,GAAG,EAAE,EAAA;QACxB,IAAI,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;QACvC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,4BAA4B,GAAG,cAAc,EAAE,EAAE,OAAO,EAAE,CAAC;IAChI;;IAGA,UAAU,CAAC,OAAO,GAAG,KAAK,EAAA;QACxB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,MAAM,EAAE;YACzE,OAAO;AACR,SAAA,CAAC;IACJ;AAEA,IAAA,iBAAiB,CAAC,YAAiB,EAAE,OAAO,GAAG,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,EAAA;QAC3E,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,mBAAmB,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,EAC7F;AACE,gBAAA,YAAY,EAAE,YAAY;aAC3B,EACD,OAAO,CACR;QACH;aAAO;AACL,YAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,mBAAmB,EACjE;AACE,gBAAA,YAAY,EAAE,YAAY;aAC3B,EACD,OAAO,CACR;QACH;IACF;AAEA,IAAA,eAAe,CAAC,OAAe,EAAE,OAAO,GAAG,KAAK,EAAA;QAC9C,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,OAAO,GAAG,OAAO,GAAG,YAAY,EAAE,EAAE,OAAO,EAAE,CAAC;QACnH;aAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,cAAc,GAAG,OAAO,GAAG,YAAY,EAAE,EAAE,OAAO,EAAE,CAAC;QAC1H;IACF;AAEA,IAAA,aAAa,CAAC,OAAe,EAAE,OAAO,GAAG,KAAK,EAAA;QAC5C,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC;QACjH;aAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,cAAc,GAAG,OAAO,GAAG,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC;QACxH;IACF;AAEA,IAAA,wBAAwB,CAAC,OAAe,EAAE,aAAqB,EAAE,OAAO,GAAG,KAAK,EAAA;QAC9E,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,OAAO,GAAG,OAAO,GAAG,WAAW,GAAG,aAAa,EAAE,EAAE,OAAO,EAAE,CAAC;QAClI;aAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,cAAc,GAAG,OAAO,GAAG,WAAW,GAAG,aAAa,EAAE,EAAE,OAAO,EAAE,CAAC;QACzI;IACF;IAEA,oBAAoB,CAAC,OAAY,EAAE,OAAe,EAAA;QAChD,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,OAAO,GAAG,OAAO,GAAG,mBAAmB,EACrF;AACE,YAAA,cAAc,EAAE,OAAO;SACxB,EACD,OAAO,CACR;IACH;AAEA,IAAA,sBAAsB,CAAC,OAAe,EAAE,QAAgB,EAAE,OAAO,GAAG,KAAK,EAAA;QACvE,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,qBAAqB,GAAG,OAAO,GAAG,GAAG,GAAG,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC;QACnI;aAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,4BAA4B,GAAG,OAAO,GAAG,GAAG,GAAG,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC;QAC1I;IACF;AAEA,IAAA,0CAA0C,CAAC,MAAc,EAAE,KAAa,EAAE,KAAa,EAAE,IAAY,EAAE,SAAiB,EAAE,YAAoB,EAAE,OAAgB,EAAA;QAC9J,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YAC3C,cAAc;YACd,MAAM;YACN,SAAS;YACT,KAAK;YACL,gBAAgB;YAChB,YAAY;YACZ,SAAS;YACT,KAAK;YACL,QAAQ;YACR,IAAI;YACJ,aAAa;YACb,SAAS;YACT,GAAG;AACH,YAAA,OAAO,EACP,EAAE,OAAO,EAAE,CACZ;IACH;IAEA,6CAA6C,CAAC,MAAc,EAAE,KAAa,EAAE,KAAa,EAAE,YAAoB,EAAE,UAAkB,EAAE,OAAgB,EAAA;QACpJ,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,IAAI,OAAO,EAAE;AACX,YAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,gBAAgB,GAAG,MAAM,GAAG,SAAS,GAAG,KAAK,GAAG,gBAAgB,GAAG,YAAY,GAAG,SAAS,GAAG,KAAK,GAAG,cAAc,GAAG,UAAU,GAAG,GAAG,GAAG,OAAO,EAC/L,EAAE,OAAO,EAAE,CACZ;QACH;aAAO;AACL,YAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,gBAAgB,GAAG,MAAM,GAAG,SAAS,GAAG,KAAK,GAAG,gBAAgB,GAAG,YAAY,GAAG,SAAS,GAAG,KAAK,GAAG,cAAc,GAAG,UAAU,EAC/K,EAAE,OAAO,EAAE,CACZ;QACH;IACF;IAEA,6BAA6B,CAAC,MAAc,EAAE,KAAa,EAAE,KAAa,EAAE,YAAoB,EAAE,UAAkB,EAAE,OAAgB,EAAA;QACpI,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,IAAI,OAAO,EAAE;AACX,YAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,cAAc,GAAG,MAAM,GAAG,SAAS,GAAG,KAAK,GAAG,gBAAgB,GAAG,YAAY,GAAG,SAAS,GAAG,KAAK,GAAG,cAAc,GAAG,UAAU,GAAG,GAAG,GAAG,OAAO,EAC7L,EAAE,OAAO,EAAE,CACZ;QACH;aAAO;AACL,YAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,cAAc,GAAG,MAAM,GAAG,SAAS,GAAG,KAAK,GAAG,gBAAgB,GAAG,YAAY,GAAG,SAAS,GAAG,KAAK,GAAG,cAAc,GAAG,UAAU,EAC7K,EAAE,OAAO,EAAE,CACZ;QACH;IACF;;AAGA,IAAA,eAAe,CAAC,OAAe,EAAE,OAAO,GAAG,KAAK,EAAA;QAC9C,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,OAAO,GAAG,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC;QACpG;aAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,cAAc,GAAG,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC;QAC3G;IACF;IAEA,WAAW,GAAA;QACT,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC;IAC7F;;AAGA,IAAA,aAAa,CAAC,MAAc,EAAE,UAAkB,EAAE,QAAgB,EAAA;QAChE,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,2BAA2B,GAAG,MAAM,GAAG,cAAc,GAAG,UAAU,GAAG,YAAY,GAAG,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC;IAC/K;AAEA,IAAA,8BAA8B,CAAC,SAAiB,EAAE,OAAO,GAAG,KAAK,EAAA;QAC/D,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,qBAAqB,GAAG,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC;QACpH;aAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,4BAA4B,GAAG,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC;QAC3H;IACF;IAEA,qBAAqB,CAAC,OAAO,GAAG,KAAK,EAAA;QACnC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,4BAA4B,EAAE,EAAE,OAAO,EAAE,CAAC;QAC/G;aAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,mCAAmC,EAAE,EAAE,OAAO,EAAE,CAAC;QACtH;IACF;AAEA;;AAE2E;IAE3E,YAAY,CAAC,OAAY,EAAE,GAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,GAAG,KAAK,EAAA;QACjE,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,CAAC;iBACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,gBAAgB,EAC9D;AACE,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,GAAG,EAAE,GAAG;AACR,gBAAA,MAAM,EAAE,MAAM;AACf,aAAA,EACD,OAAO;AAER,iBAAA,IAAI,CACH,QAAQ,CAAC,MAAK;gBACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE,CAAC,CAAC,CACH;QACL;aAAO;YACL,OAAO,IAAI,CAAC;iBACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,uBAAuB,EACrE;AACE,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,GAAG,EAAE,GAAG;AACT,aAAA,EACD,OAAO;AAER,iBAAA,IAAI,CACH,QAAQ,CAAC,MAAK;gBACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE,CAAC,CAAC,CACH;QACL;IACF;AAEA,IAAA,SAAS,CAAC,GAAmd,EAAA;QAC3d,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,MAAM,EACpD;YACE,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,cAAc,EAAE,GAAG,CAAC,cAAc;YAClC,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,qBAAqB,EAAE,GAAG,CAAC,qBAAqB;YAChD,oBAAoB,EAAE,GAAG,CAAC,oBAAoB;YAC9C,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,eAAe,EAAE,GAAG,CAAC,eAAe;YACpC,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,eAAe,EAAE,GAAG,CAAC,eAAe;YACpC,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,WAAW,EAAE,GAAG,CAAC,WAAW;AAC7B,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA,IAAA,gBAAgB,CAAC,OAAY,EAAE,YAAiB,EAAE,OAAO,GAAG,KAAK,EAAA;QAC/D,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,CAAC;iBACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,uBAAuB,EACrE;AACE,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,YAAY,EAAE,YAAY;AAC3B,aAAA,EACD,OAAO;AAER,iBAAA,IAAI,CACH,QAAQ,CAAC,MAAK;gBACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;;gBAEhE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,CAAC;YACjH,CAAC,CAAC,CACH;QACL;aAAO;YACL,OAAO,IAAI,CAAC;iBACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,8BAA8B,EAC5E;AACE,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,YAAY,EAAE,YAAY;AAC3B,aAAA,EACD,OAAO;AAER,iBAAA,IAAI,CACH,QAAQ,CAAC,MAAK;gBACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;;gBAEhE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,CAAC;YACjH,CAAC,CAAC,CACH;QACL;IACF;IAEA,2BAA2B,CAAC,WAAgB,EAAE,IAAS,EAAA;QACrD,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,kBAAkB,EAChE;AACE,YAAA,WAAW,EAAE,WAAW;AACxB,YAAA,IAAI,EAAE,IAAI;AACX,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA,IAAA,qBAAqB,CAAC,SAAiB,EAAE,OAAe,EAAE,OAAO,GAAG,KAAK,EAAA;QACvE,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,kBAAkB,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,CACpJ,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;AAChE,YAAA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,qBAAqB,EAAE,YAAY,EAAE,OAAO,CAAC;QACjF,CAAC,CAAC,CACH;IACH;;IAGA,yBAAyB,CAAC,IAAS,EAAE,SAAiB,EAAA;QACpD,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;AACT,aAAA,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,EACnF;AACE,YAAA,IAAI,EAAE,IAAI;AACX,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA,IAAA,yBAAyB,CAAC,WAAgB,EAAA;QACxC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,kBAAkB,EAChE;AACE,YAAA,WAAW,EAAE,WAAW;SACzB,EACD,OAAO,CACR;IACH;AAEA;;AAE2E;AAE3E,IAAA,cAAc,CAAC,MAAW,EAAE,OAAO,GAAG,KAAK,EAAA;QACzC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,oBAAoB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAC5G,QAAQ,CAAC,MAAK;gBACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE,CAAC,CAAC,CACH;QACH;aAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,2BAA2B,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CACnH,QAAQ,CAAC,MAAK;gBACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE,CAAC,CAAC,CACH;QACH;IACF;AAEA,IAAA,cAAc,CAAC,OAAY,EAAE,OAAY,EAAE,OAAO,GAAG,KAAK,EAAA;QACxD,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,CAAC;iBACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,YAAY,EAC1D;AACE,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,SAAS,EAAE,sBAAsB;AACjC,gBAAA,UAAU,EAAE,OAAO;AACpB,aAAA,EACD,OAAO;AAER,iBAAA,IAAI,CACH,QAAQ,CAAC,MAAK;gBACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;AAChE,gBAAA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,qBAAqB,EAAE,YAAY,EAAE,OAAO,CAAC;YACjF,CAAC,CAAC,CACH;QACL;aAAO;YACL,OAAO,IAAI,CAAC;iBACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,mBAAmB,EACjE;AACE,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,SAAS,EAAE,sBAAsB;AACjC,gBAAA,UAAU,EAAE,OAAO;AACpB,aAAA,EACD,OAAO;AAER,iBAAA,IAAI,CACH,QAAQ,CAAC,MAAK;gBACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;AAChE,gBAAA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,qBAAqB,EAAE,YAAY,EAAE,OAAO,CAAC;YACjF,CAAC,CAAC,CACH;QACL;IACF;AAEA,IAAA,cAAc,CAAC,OAAY,EAAE,OAAY,EAAE,OAAO,GAAG,KAAK,EAAA;QACxD,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,CAAC;iBACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,YAAY,EAC1D;AACE,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,SAAS,EAAE,sBAAsB;AACjC,gBAAA,UAAU,EAAE,OAAO;AACpB,aAAA,EACD,OAAO;AAER,iBAAA,IAAI,CACH,QAAQ,CAAC,MAAK;gBACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;gBAChE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE,EAAE,CAAC;;YAEzH,CAAC,CAAC,CACH;QACL;aAAO;YACL,OAAO,IAAI,CAAC;iBACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,mBAAmB,EACjE;AACE,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,SAAS,EAAE,sBAAsB;AACjC,gBAAA,UAAU,EAAE,OAAO;AACpB,aAAA,EACD,OAAO;AAER,iBAAA,IAAI,CACH,QAAQ,CAAC,MAAK;gBACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;gBAChE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE,EAAE,CAAC;;YAEzH,CAAC,CAAC,CACH;QACL;IACF;;IAGA,yBAAyB,CAAC,OAAY,EAAE,SAAc,EAAE,UAAe,EAAE,OAAO,GAAG,KAAK,EAAA;QACtF,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,CAAC;iBACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,YAAY,EAC1D;AACE,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,SAAS,EAAE,SAAS;AACpB,gBAAA,UAAU,EAAE,UAAU;AACvB,aAAA,EACD,OAAO;AAER,iBAAA,IAAI,CACH,QAAQ,CAAC,MAAK;gBACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;;gBAEhE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC;YAC5G,CAAC,CAAC,CACH;QACL;aAAO;YACL,OAAO,IAAI,CAAC;iBACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,mBAAmB,EACjE;AACE,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,SAAS,EAAE,SAAS;AACpB,gBAAA,UAAU,EAAE,UAAU;AACvB,aAAA,EACD,OAAO;AAER,iBAAA,IAAI,CACH,QAAQ,CAAC,MAAK;gBACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;;gBAEhE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC;YAC5G,CAAC,CAAC,CACH;QACL;IACF;AAEA,IAAA,YAAY,CAAC,QAAa,EAAE,QAA2B,EAAE,OAAO,GAAG,KAAK,EAAA;QACtE,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,CAAC;iBACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,mBAAmB,EACjE;AACE,gBAAA,SAAS,EAAE,QAAQ;AACnB,gBAAA,SAAS,EAAE,QAAQ;AACpB,aAAA,EACD,OAAO;AAER,iBAAA,IAAI,CACH,QAAQ,CAAC,MAAK;gBACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;AAChE,gBAAA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,qBAAqB,EAAE,YAAY,EAAE,QAAQ,CAAC,OAAO,CAAC;YAC1F,CAAC,CAAC,CACH;QACL;aAAO;YACL,OAAO,IAAI,CAAC;iBACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,0BAA0B,EACxE;AACE,gBAAA,SAAS,EAAE,QAAQ;AACnB,gBAAA,SAAS,EAAE,QAAQ;AACpB,aAAA,EACD,OAAO;AAER,iBAAA,IAAI,CACH,QAAQ,CAAC,MAAK;gBACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;AAChE,gBAAA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,qBAAqB,EAAE,YAAY,EAAE,QAAQ,CAAC,OAAO,CAAC;YAC1F,CAAC,CAAC,CACH;QACL;IACF;;AAGA,IAAA,oBAAoB,CAAC,OAAY,EAAE,SAAc,EAAE,UAAe,EAAE,SAAc,EAAE,QAAa,EAAE,OAAO,GAAG,KAAK,EAAA;QAChH,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,CAAC;iBACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,YAAY,EAC1D;AACE,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,SAAS,EAAE,SAAS;AACpB,gBAAA,UAAU,EAAE,UAAU;AACtB,gBAAA,SAAS,EAAE,SAAS;AACpB,gBAAA,QAAQ,EAAE,QAAQ;AACnB,aAAA,EACD,OAAO;AAER,iBAAA,IAAI,CACH,QAAQ,CAAC,MAAK;gBACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;;;YAGlE,CAAC,CAAC,CACH;QACL;aAAO;YACL,OAAO,IAAI,CAAC;iBACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,mBAAmB,EACjE;AACE,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,SAAS,EAAE,SAAS;AACpB,gBAAA,UAAU,EAAE,UAAU;AACtB,gBAAA,SAAS,EAAE,SAAS;AACpB,gBAAA,QAAQ,EAAE,QAAQ;AACnB,aAAA,EACD,OAAO;AAER,iBAAA,IAAI,CACH,QAAQ,CAAC,MAAK;gBACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;;;YAGlE,CAAC,CAAC,CACH;QACL;IACF;IAEA,yBAAyB,CAAC,OAAY,EAAE,aAAkB,EAAE,cAAwC,EAAE,OAAO,GAAG,KAAK,EAAA;QACnH,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,CAAC;iBACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,YAAY,EAC1D;AACE,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,SAAS,EAAE,aAAa;AACxB,gBAAA,UAAU,EAAE,cAAc;AAC1B,gBAAA,SAAS,EAAE,IAAI;AACf,gBAAA,QAAQ,EAAE,EAAE;AACb,aAAA,EACD,OAAO;AAER,iBAAA,IAAI,CACH,QAAQ,CAAC,MAAK;gBACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;;gBAEhE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,iBAAiB,EAAE,2BAA2B,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,cAAc,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC;YAClJ,CAAC,CAAC,CACH;QACL;aAAO;YACL,OAAO,IAAI,CAAC;iBACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,mBAAmB,EACjE;AACE,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,SAAS,EAAE,aAAa;AACxB,gBAAA,UAAU,EAAE,cAAc;AAC1B,gBAAA,SAAS,EAAE,IAAI;AACf,gBAAA,QAAQ,EAAE,EAAE;AACb,aAAA,EACD,OAAO;AAER,iBAAA,IAAI,CACH,QAAQ,CAAC,MAAK;gBACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;;gBAEhE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,iBAAiB,EAAE,2BAA2B,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,cAAc,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC;YAClJ,CAAC,CAAC,CACH;QACL;IACF;;AAGA,IAAA,SAAS,CAAC,GAAie,EAAA;QACze,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,MAAM,EACpD;YACE,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,cAAc,EAAE,GAAG,CAAC,cAAc;YAClC,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,qBAAqB,EAAE,GAAG,CAAC,qBAAqB;YAChD,oBAAoB,EAAE,GAAG,CAAC,oBAAoB;YAC9C,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,eAAe,EAAE,GAAG,CAAC,eAAe;YACpC,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,eAAe,EAAE,GAAG,CAAC,eAAe;YACpC,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,WAAW,EAAE,GAAG,CAAC,WAAW;AAC7B,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;AAChE,YAAA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,qBAAqB,EAAE,YAAY,EAAE,GAAG,CAAC,OAAO,CAAC;QACrF,CAAC,CAAC,CACH;IACL;AAEA;;AAE2E;;AAG3E,IAAA,kBAAkB,CAAC,OAAe,EAAE,OAAO,GAAG,KAAK,EAAA;QACjD,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,IAAI,CAAC,OAAO,EAAE;AACZ,YAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,OAAO,GAAG,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CACxG,QAAQ,CAAC,MAAK;gBACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE,CAAC,CAAC,CACH;QACH;aAAO;AACL,YAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,cAAc,GAAG,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAC/G,QAAQ,CAAC,MAAK;gBACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE,CAAC,CAAC,CACH;QACH;IACF;;AAGA,IAAA,sBAAsB,CAAC,WAAgB,EAAE,OAAO,GAAG,KAAK,EAAA;QACtD,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,CAAC;AACT,iBAAA,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,MAAM,EAAE;AACvE,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,IAAI,EAAE;AACJ,oBAAA,kBAAkB,EAAE,WAAW;AAChC,iBAAA;aACF;AACA,iBAAA,IAAI,CACH,QAAQ,CAAC,MAAK;gBACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE,CAAC,CAAC,CACH;QACL;aAAO;YACL,OAAO,IAAI,CAAC;AACT,iBAAA,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,aAAa,EAAE;AAC9E,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,IAAI,EAAE;AACJ,oBAAA,kBAAkB,EAAE,WAAW;AAChC,iBAAA;aACF;AACA,iBAAA,IAAI,CACH,QAAQ,CAAC,MAAK;gBACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE,CAAC,CAAC,CACH;QACL;IACF;AAEA,IAAA,cAAc,CAAC,UAAe,EAAA;QAC5B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC;AACT,aAAA,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,QAAQ,EAAE;AACzE,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,IAAI,EAAE;AACJ,gBAAA,oBAAoB,EAAE,UAAU;AACjC,aAAA;SACF;AACA,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA,IAAA,gBAAgB,CAAC,OAAY,EAAE,YAAiB,EAAE,OAAO,GAAG,KAAK,EAAA;QAC/D,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,CAAC;iBACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,uBAAuB,EACrE;AACE,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,YAAY,EAAE,YAAY;AAC3B,aAAA,EACD,OAAO;AAER,iBAAA,IAAI,CACH,QAAQ,CAAC,MAAK;gBACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;AAChE,gBAAA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,qBAAqB,EAAE,YAAY,EAAE,OAAO,CAAC;YACjF,CAAC,CAAC,CACH;QACL;aAAO;YACL,OAAO,IAAI,CAAC;iBACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,8BAA8B,EAC5E;AACE,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,YAAY,EAAE,YAAY;AAC3B,aAAA,EACD,OAAO;AAER,iBAAA,IAAI,CACH,QAAQ,CAAC,MAAK;gBACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;AAChE,gBAAA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,qBAAqB,EAAE,YAAY,EAAE,OAAO,CAAC;YACjF,CAAC,CAAC,CACH;QACL;IACF;;AAGA,IAAA,gBAAgB,CAAC,IAAS,EAAA;QACxB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,mBAAmB,EACjE;YACE,IAAI,EAAE,CAAC,IAAI,CAAC;AACb,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA,IAAA,yCAAyC,CAAC,WAAgB,EAAA;QACxD,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,6BAA6B,EAC3E;AACE,YAAA,WAAW,EAAE,WAAW;AACzB,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;IAEA,aAAa,GAAA;QACX,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,oBAAoB,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,CACzG,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACH;AAEA,IAAA,kBAAkB,CAAC,SAAiB,EAAA;QAClC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,iBAAiB,GAAG,SAAS,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,CAClH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACH;AAEA;;AAE2E;AAE3E,IAAA,WAAW,CAAC,OAAe,EAAA;QACzB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,+BAA+B,GAAG,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC;IAC5H;IAEA,UAAU,CAAC,OAAY,EAAE,WAAgB,EAAE,kBAAuB,EAAE,aAAkB,EAAE,WAAW,GAAG,KAAK,EAAA;QACzG,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,yBAAyB,EACvE;AACE,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,WAAW,EAAE,WAAW;AACxB,YAAA,kBAAkB,EAAE,kBAAkB;AACtC,YAAA,aAAa,EAAE,aAAa;AAC5B,YAAA,WAAW,EAAE,WAAW;SACzB,EACD,EAAE,OAAO,EAAE;AAEZ,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;AAChE,YAAA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,EAAE,CAAC;QACnF,CAAC,CAAC,CACH;IACL;AAEA,IAAA,cAAc,CAAC,OAAY,EAAA;QACzB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,+BAA+B,EAC7E;AACE,YAAA,OAAO,EAAE,OAAO;SACjB,EACD,EAAE,OAAO,EAAE;AAEZ,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;AAChE,YAAA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,OAAO,CAAC;QACxF,CAAC,CAAC,CACH;IACL;AAEA,IAAA,gBAAgB,CAAC,OAAe,EAAA;QAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,cAAc,GAAG,OAAO,GAAG,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAC5H,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;AAChE,YAAA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,OAAO,CAAC;QACxF,CAAC,CAAC,CACH;IACH;+GAhsCW,WAAW,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAlB,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAa,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAI,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAX,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,cAFV,MAAM,EAAA,CAAA,CAAA;;4FAEP,WAAW,EAAA,UAAA,EAAA,CAAA;kBAHvB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCAY,gBAAgB,CAAA;AAC3B,IAAA,WAAA,CACU,IAAgB,EAChB,gBAAiC,EACjC,UAA4B,EAAA;QAF5B,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;QAChB,IAAA,CAAA,UAAU,GAAV,UAAU;IAChB;AAEJ;;AAE6E;IAE7E,eAAe,GAAA;QACb,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAa,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,+BAA+B,EAAE,EAAE,OAAO,EAAE,CAAC;IAC9H;IAEA,+CAA+C,CAAC,MAAc,EAAE,KAAa,EAAE,KAAa,EAAE,IAAY,EAAE,SAAiB,EAAA;QAC3H,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAa,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,mBAAmB,GAAG,MAAM,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,IAAI,GAAG,aAAa,GAAG,SAAS,EAAE;YACjM,OAAO;AACR,SAAA,CAAC;IACJ;AAEA,IAAA,kCAAkC,CAAC,MAAc,EAAE,KAAa,EAAE,KAAa,EAAA;QAC7E,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAa,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,mBAAmB,GAAG,MAAM,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC;IACnK;AAEA,IAAA,eAAe,CAAC,YAAoB,EAAA;QAClC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAW,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,YAAY,GAAG,YAAY,EAAE,EAAE,OAAO,EAAE,CAAC;IACxH;AAEA;;AAE6E;AAE7E,IAAA,cAAc,CAAC,WAA8U,EAAA;QAC3V,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,WAAW,EACzD;YACE,WAAW,EAAE,WAAW,CAAC,WAAW;YACpC,mBAAmB,EAAE,WAAW,CAAC,mBAAmB;YACpD,mBAAmB,EAAE,WAAW,CAAC,mBAAmB;YACpD,eAAe,EAAE,WAAW,CAAC,eAAe;YAC5C,gBAAgB,EAAE,WAAW,CAAC,gBAAgB;YAC9C,gBAAgB,EAAE,WAAW,CAAC,gBAAgB;YAC9C,kBAAkB,EAAE,WAAW,CAAC,kBAAkB;YAClD,YAAY,EAAE,WAAW,CAAC,YAAY;YACtC,eAAe,EAAE,WAAW,CAAC,eAAe;YAC5C,aAAa,EAAE,WAAW,CAAC,aAAa;YACxC,mBAAmB,EAAE,WAAW,CAAC,mBAAmB;YACpD,aAAa,EAAE,WAAW,CAAC,aAAa;YACxC,gBAAgB,EAAE,WAAW,CAAC,gBAAgB;YAC9C,kBAAkB,EAAE,WAAW,CAAC,kBAAkB;AACnD,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;IAEA,iBAAiB,CAAC,cAAmB,EAAE,cAAmB,EAAA;QACxD,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,6BAA6B,EAC3E;AACE,YAAA,cAAc,EAAE,cAAc;AAC9B,YAAA,cAAc,EAAE,cAAc;AAC/B,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA;;AAE6E;IAE7E,mBAAmB,CAAC,YAAiB,EAAE,SAAc,EAAE,UAAe,EAAE,SAAc,EAAE,QAAa,EAAA;QACnG,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,iBAAiB,EAC/D;AACE,YAAA,YAAY,EAAE,YAAY;AAC1B,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,QAAQ,EAAE,QAAQ;AACnB,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA,IAAA,cAAc,CAAC,WAAiW,EAAA;QAC9W,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,WAAW,EACzD;YACE,YAAY,EAAE,WAAW,CAAC,YAAY;YACtC,WAAW,EAAE,WAAW,CAAC,WAAW;YACpC,mBAAmB,EAAE,WAAW,CAAC,mBAAmB;YACpD,mBAAmB,EAAE,WAAW,CAAC,mBAAmB;YACpD,eAAe,EAAE,WAAW,CAAC,eAAe;YAC5C,gBAAgB,EAAE,WAAW,CAAC,gBAAgB;YAC9C,gBAAgB,EAAE,WAAW,CAAC,gBAAgB;YAC9C,kBAAkB,EAAE,WAAW,CAAC,kBAAkB;YAClD,YAAY,EAAE,WAAW,CAAC,YAAY;YACtC,eAAe,EAAE,WAAW,CAAC,eAAe;YAC5C,aAAa,EAAE,WAAW,CAAC,aAAa;YACxC,mBAAmB,EAAE,WAAW,CAAC,mBAAmB;YACpD,aAAa,EAAE,WAAW,CAAC,aAAa;YACxC,gBAAgB,EAAE,WAAW,CAAC,gBAAgB;YAC9C,kBAAkB,EAAE,WAAW,CAAC,kBAAkB;AACnD,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA;;AAE6E;AAE7E,IAAA,wBAAwB,CAAC,aAAkB,EAAA;AACzC,QAAA,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;AAC5B,YAAA,2BAA2B,EAAE,aAAa;AAC3C,SAAA,CAAC;AACF,QAAA,MAAM,WAAW,GAAG;AAClB,YAAA,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAC3C,YAAA,IAAI,EAAE,QAAQ;SACf;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,WAAW,EAAE,WAAW,CAAC,CAAC,IAAI,CAClG,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACH;+GAlKW,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAjB,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAc,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cAFf,MAAM,EAAA,CAAA,CAAA;;4FAEP,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCEY,eAAe,CAAA;AAC1B,IAAA,WAAA,CACU,IAAgB,EAChB,gBAAiC,EACjC,IAAiB,EACjB,UAA4B,EAAA;QAH5B,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;QAChB,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,UAAU,GAAV,UAAU;IAChB;;AAGJ,IAAA,OAAO,CAAC,gBAAqB,EAAA;QAC3B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,kBAAkB,EAChE;AACE,YAAA,YAAY,EAAE,gBAAgB;SAC/B,EACD,OAAO,CACR;IACH;AAEA;;AAE2E;IAE3E,2BAA2B,CAAC,kBAA0B,EAAE,WAAgB,EAAA;QACtE,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,oBAAoB,GAAG,kBAAkB,GAAG,sBAAsB,EAChH;AACE,YAAA,WAAW,EAAE,WAAW;SACzB,EACD,OAAO,CACR;IACH;AAEA,IAAA,sBAAsB,CAAC,kBAA0B,EAAE,WAAgB,EAAE,YAAiB,EAAA;QACpF,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,oBAAoB,GAAG,kBAAkB,GAAG,iBAAiB,EAC3G;AACE,YAAA,WAAW,EAAE,WAAW;AACxB,YAAA,YAAY,EAAE,YAAY;SAC3B,EACD,OAAO,CACR;IACH;AAEA;;AAE2E;IAE3E,oBAAoB,CAAC,KAAa,EAAE,KAAa,EAAA;QAC/C,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,iBAAiB,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,gEAAgE,EAAE,EAAE,OAAO,EAAE,CAAC;IACnM;;IAGA,8BAA8B,CAAC,KAAa,EAAE,KAAa,EAAE,UAAkB,EAAE,WAAmB,EAAE,SAAiB,EAAA;QACrH,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,iBAAiB,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,UAAU,GAAG,eAAe,GAAG,WAAW,GAAG,aAAa,GAAG,SAAS,EACjL,EAAE,OAAO,EAAE,CACZ;IACH;;IAGA,qCAAqC,CAAC,KAAa,EAAE,KAAa,EAAE,UAAkB,EAAE,UAAkB,EAAE,KAAa,EAAE,WAAmB,EAAA;QAC5I,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YAC3C,kBAAkB;YAClB,KAAK;YACL,SAAS;YACT,KAAK;YACL,UAAU;YACV,UAAU;YACV,QAAQ;YACR,UAAU;YACV,aAAa;YACb,KAAK;YACL,eAAe;AACf,YAAA,WAAW,EACX,EAAE,OAAO,EAAE,CACZ;IACH;;AAGA,IAAA,WAAW,CAAC,YAAoB,EAAA;QAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,WAAW,GAAG,YAAY,EAAE,EAAE,OAAO,EAAE,CAAC;IAC7G;;IAGA,WAAW,CAAC,mBAA2B,EAAE,GAAW,EAAA;QAClD,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,2BAA2B,GAAG,mBAAmB,GAAG,aAAa,GAAG,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;IAC1J;IAEA,YAAY,GAAA;QACV,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,aAAa,EAAE,EAAE,OAAO,EAAE,CAAC;IAChG;;IAGA,cAAc,CAAC,UAAkB,EAAE,qBAA6B,EAAA;QAC9D,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,gCAAgC,GAAG,UAAU,GAAG,QAAQ,GAAG,qBAAqB,GAAG,gBAAgB,EAAE,EAAE,OAAO,EAAE,CAAC;IACtL;;AAGA,IAAA,UAAU,CAAC,WAAmB,EAAA;QAC5B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,oBAAoB,GAAG,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC;IACrH;;IAGA,oBAAoB,CAAC,eAAuB,EAAE,IAAY,EAAA;QACxD,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,iCAAiC,GAAG,eAAe,GAAG,QAAQ,GAAG,IAAI,GAAG,gBAAgB,EAAE,EAAE,OAAO,EAAE,CAAC;IAC3K;;IAGA,cAAc,CAAC,KAAa,EAAE,KAAa,EAAE,UAAkB,EAAE,UAAkB,EAAE,SAAiB,EAAA;QACpG,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,qBAAqB,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,UAAU,GAAG,aAAa,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,EAC7K,EAAE,OAAO,EAAE,CACZ;IACH;AAEA,IAAA,+BAA+B,CAAC,WAAgB,EAAE,cAAmB,EAAE,iBAAsB,EAAE,aAAkB,EAAA;QAC/G,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YAC3C,6CAA6C;YAC7C,WAAW;YACX,WAAW;YACX,cAAc;YACd,cAAc;YACd,iBAAiB;YACjB,UAAU;AACV,YAAA,aAAa,EACb,EAAE,OAAO,EAAE,CACZ;;IAEH;AAEA,IAAA,8BAA8B,CAAC,OAAY,EAAA;QACzC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,yCAAyC,GAAG,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC;;IAEtI;AAEA;;AAE2E;;IAG3E,UAAU,CACR,aAAkB,EAClB,WAAgB,EAChB,mBAAwB,EACxB,YAAiB,EACjB,WAAgB,EAChB,qBAA0B,EAC1B,cAAmB,EACnB,cAAmB,EACnB,eAAoB,EACpB,eAAoB,EACpB,WAAgB,EAChB,iBAAsB,EACtB,cAAmB,EACnB,YAAiB,EACjB,YAAiB,EACjB,UAAe,EACf,eAAoB,EACpB,iBAAsB,EACtB,kBAAuB,EACvB,cAAmB,EACnB,mBAAwB,EACxB,kBAAuB,EACvB,YAAiB,EACjB,UAAe,EAAA;QAEf,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,UAAU,EACxD;AACE,YAAA,aAAa,EAAE,aAAa;AAC5B,YAAA,WAAW,EAAE,WAAW;AACxB,YAAA,mBAAmB,EAAE,mBAAmB;AACxC,YAAA,eAAe,EAAE,IAAI;AACrB,YAAA,YAAY,EAAE,YAAY;AAC1B,YAAA,WAAW,EAAE,WAAW;AACxB,YAAA,qBAAqB,EAAE,qBAAqB;AAC5C,YAAA,wBAAwB,EAAE,KAAK;AAC/B,YAAA,cAAc,EAAE,cAAc;AAC9B,YAAA,kBAAkB,EAAE,EAAE;AACtB,YAAA,cAAc,EAAE,cAAc;AAC9B,YAAA,eAAe,EAAE,eAAe;AAChC,YAAA,eAAe,EAAE,eAAe;AAChC,YAAA,WAAW,EAAE,WAAW;AACxB,YAAA,iBAAiB,EAAE,iBAAiB;AACpC,YAAA,cAAc,EAAE,cAAc;AAC9B,YAAA,YAAY,EAAE,YAAY;AAC1B,YAAA,YAAY,EAAE,YAAY;AAC1B,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,eAAe,EAAE,eAAe;AAChC,YAAA,iBAAiB,EAAE,iBAAiB;AACpC,YAAA,kBAAkB,EAAE,kBAAkB;AACtC,YAAA,cAAc,EAAE,EAAE;AAClB,YAAA,eAAe,EAAE,CAAC;AAClB,YAAA,cAAc,EAAE,cAAc;AAC9B,YAAA,mBAAmB,EAAE,mBAAmB;AACxC,YAAA,kBAAkB,EAAE,kBAAkB;AACtC,YAAA,mBAAmB,EAAE,CAAC;AACtB,YAAA,mBAAmB,EAAE,CAAC;AACtB,YAAA,YAAY,EAAE,YAAY;AAC1B,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,iBAAiB,EAAE,EAAE;AACtB,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;;IAGA,kBAAkB,CAAC,WAAgB,EAAE,kBAAuB,EAAE,KAAU,EAAE,OAAY,EAAE,QAAa,EAAE,SAAc,EAAE,KAAU,EAAE,OAAY,EAAE,QAAa,EAAE,QAAa,EAAE,QAAa,EAAE,UAAe,EAAE,IAAS,EAAE,OAAY,EAAA;QACpO,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,oBAAoB,EAClE;AACE,YAAA,WAAW,EAAE,WAAW;AACxB,YAAA,kBAAkB,EAAE,kBAAkB;AACtC,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,aAAa,EAAE,KAAK;AACpB,YAAA,eAAe,EAAE,OAAO;AACxB,YAAA,gBAAgB,EAAE,QAAQ;AAC1B,YAAA,gBAAgB,EAAE,QAAQ;AAC1B,YAAA,gBAAgB,EAAE,QAAQ;AAC1B,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,eAAe,EAAE,OAAO;AACxB,YAAA,aAAa,EAAE,KAAK;AACpB,YAAA,iBAAiB,EAAE,SAAS;AAC5B,YAAA,gBAAgB,EAAE,QAAQ;YAC1B,kBAAkB,EAAE,EAAE;AACtB,YAAA,cAAc,EAAE,EAAE;AAClB,YAAA,kBAAkB,EAAE,UAAU;AAC9B,YAAA,eAAe,EAAE,OAAO;AACxB,YAAA,iBAAiB,EAAE,EAAE;AACrB,YAAA,iBAAiB,EAAE,EAAE;AACrB,YAAA,aAAa,EAAE,EAAE;AACjB,YAAA,gBAAgB,EAAE,EAAE;AACpB,YAAA,iBAAiB,EAAE,EAAE;AACrB,YAAA,iBAAiB,EAAE,EAAE;AACrB,YAAA,mBAAmB,EAAE,EAAE;AACvB,YAAA,gBAAgB,EAAE,EAAE;AACpB,YAAA,oBAAoB,EAAE,EAAE;AACxB,YAAA,sBAAsB,EAAE,EAAE;AAC1B,YAAA,yBAAyB,EAAE,EAAE;AAC9B,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;;AAGA,IAAA,UAAU,CAAC,MAAW,EAAA;QACpB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,mBAAmB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAC5G,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACH;AAEA;;AAE2E;;IAG3E,qBAAqB,CAAC,eAAoB,EAAE,SAAc,EAAE,UAAe,EAAE,SAAc,EAAE,QAAa,EAAA;QACxG,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,gBAAgB,EAC9D;AACE,YAAA,WAAW,EAAE,eAAe;AAC5B,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,QAAQ,EAAE,QAAQ;AACnB,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;;IAGA,sBAAsB,CAAC,eAAuB,EAAE,kBAA0B,EAAA;QACxE,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,YAAY,GAAG,eAAe,GAAG,cAAc,GAAG,kBAAkB,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,CACzJ,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACH;;AAGA,IAAA,qBAAqB,CAAC,WAAgB,EAAE,SAAc,EAAE,UAAe,EAAA;QACrE,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,iBAAiB,EAC/D;AACE,YAAA,WAAW,EAAE,WAAW;AACxB,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,UAAU,EAAE,UAAU;AACvB,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;;AAGA,IAAA,cAAc,CAAC,QAAa,EAAA;QAC1B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAElC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CACrG,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACH;;IAGA,aAAa,CACX,mBAAwB,EACxB,WAAgB,EAChB,sBAA2B,EAC3B,mBAAwB,EACxB,uBAA4B,EAC5B,0BAA+B,EAC/B,oBAAyB,EACzB,uBAA4B,EAC5B,wBAA6B,EAC7B,uBAA4B,EAC5B,uBAA4B,EAC5B,oBAAyB,EACzB,oBAAyB,EACzB,oBAAyB,EACzB,qBAA0B,EAC1B,0BAA+B,EAC/B,qBAA0B,EAC1B,uBAA4B,EAC5B,uBAA4B,EAC5B,wCAA6C,EAC7C,4BAAiC,EACjC,2BAAgC,EAChC,yBAA8B,EAAA;QAE9B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,mBAAmB,EACjE;AACE,YAAA,kBAAkB,EAAE,mBAAmB;AACvC,YAAA,WAAW,EAAE,WAAW;AACxB,YAAA,qBAAqB,EAAE,sBAAsB;AAC7C,YAAA,kBAAkB,EAAE,mBAAmB;AACvC,YAAA,sBAAsB,EAAE,uBAAuB;AAC/C,YAAA,yBAAyB,EAAE,0BAA0B;AACrD,YAAA,mBAAmB,EAAE,oBAAoB;AACzC,YAAA,sBAAsB,EAAE,uBAAuB;AAC/C,YAAA,uBAAuB,EAAE,wBAAwB;AACjD,YAAA,sBAAsB,EAAE,uBAAuB;AAC/C,YAAA,sBAAsB,EAAE,uBAAuB;AAC/C,YAAA,mBAAmB,EAAE,oBAAoB;AACzC,YAAA,mBAAmB,EAAE,oBAAoB;AACzC,YAAA,mBAAmB,EAAE,oBAAoB;AACzC,YAAA,oBAAoB,EAAE,qBAAqB;AAC3C,YAAA,yBAAyB,EAAE,0BAA0B;AACrD,YAAA,oBAAoB,EAAE,qBAAqB;AAC3C,YAAA,sBAAsB,EAAE,uBAAuB;AAC/C,YAAA,sBAAsB,EAAE,uBAAuB;AAC/C,YAAA,uCAAuC,EAAE,wCAAwC;AACjF,YAAA,2BAA2B,EAAE,4BAA4B;AACzD,YAAA,0BAA0B,EAAE,2BAA2B;AACvD,YAAA,wBAAwB,EAAE,yBAAyB;AACpD,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;IAEA,oBAAoB,CAAC,kBAAuB,EAAE,SAAc,EAAE,UAAe,EAAE,SAAc,EAAE,QAAa,EAAA;QAC1G,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,yBAAyB,EACvE;AACE,YAAA,kBAAkB,EAAE,kBAAkB;AACtC,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,QAAQ,EAAE,QAAQ;AACnB,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;;IAGA,qBAAqB,CACnB,WAAgB,EAChB,UAAe,EACf,WAAgB,EAChB,KAAU,EACV,mBAAwB,EACxB,QAAa,EACb,aAAkB,EAClB,iBAAsB,EACtB,gBAAqB,EACrB,QAAa,EACb,SAAc,EACd,KAAU,EACV,kBAAuB,EACvB,KAAU,EACV,yBAA8B,EAC9B,gBAAqB,EACrB,sBAA2B,EAC3B,QAAa,EACb,iBAAsB,EACtB,UAAe,EACf,UAAe,EACf,OAAY,EACZ,QAAa,EACb,QAAa,EACb,QAAa,EACb,UAAe,EACf,IAAS,EACT,OAAY,EACZ,aAAkB,EAAA;QAElB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,oBAAoB,EAClE;AACE,YAAA,YAAY,EAAE,UAAU;AACxB,YAAA,WAAW,EAAE,WAAW;AACxB,YAAA,kBAAkB,EAAE,WAAW;AAC/B,YAAA,gBAAgB,EAAE,gBAAgB;AAClC,YAAA,aAAa,EAAE,KAAK;AACpB,YAAA,eAAe,EAAE,QAAQ;AACzB,YAAA,gBAAgB,EAAE,QAAQ;AAC1B,YAAA,iBAAiB,EAAE,SAAS;AAC5B,YAAA,aAAa,EAAE,KAAK;AACpB,YAAA,eAAe,EAAE,OAAO;AACxB,YAAA,gBAAgB,EAAE,QAAQ;AAC1B,YAAA,gBAAgB,EAAE,QAAQ;AAC1B,YAAA,gBAAgB,EAAE,QAAQ;AAC1B,YAAA,iBAAiB,EAAE,UAAU;AAC7B,YAAA,iBAAiB,EAAE,UAAU;AAC7B,YAAA,kBAAkB,EAAE,kBAAkB;AACtC,YAAA,cAAc,EAAE,KAAK;AACrB,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,kBAAkB,EAAE,UAAU;AAC9B,YAAA,eAAe,EAAE,OAAO;AACxB,YAAA,aAAa,EAAE,aAAa;AAC5B,YAAA,gBAAgB,EAAE,QAAQ;AAC1B,YAAA,iBAAiB,EAAE,iBAAiB;AACpC,YAAA,iBAAiB,EAAE,iBAAiB;AACpC,YAAA,mBAAmB,EAAE,mBAAmB;AACxC,YAAA,gBAAgB,EAAE,gBAAgB;AAClC,YAAA,oBAAoB,EAAE,aAAa;AACnC,YAAA,sBAAsB,EAAE,sBAAsB;AAC9C,YAAA,yBAAyB,EAAE,yBAAyB;AACrD,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA,IAAA,qBAAqB,CAAC,MAAW,EAAA;QAC/B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,0BAA0B,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAClH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACH;;AAGA,IAAA,yBAAyB,CAAC,aAAkB,EAAA;QAC1C,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,0BAA0B,EACxE;AACE,YAAA,4BAA4B,EAAE,aAAa;AAC5C,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;IAEA,cAAc,CAAC,kBAA0B,EAAE,WAAgB,EAAA;QACzD,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;AACT,aAAA,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,oBAAoB,GAAG,kBAAkB,GAAG,iBAAiB,EAC3G;AACE,YAAA,WAAW,EAAE,WAAW;AACzB,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA;;AAE2E;;AAG3E,IAAA,cAAc,CAAC,EAAU,EAAA;QACvB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC;AACT,aAAA,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,WAAW,GAAG,EAAE,EAAE;AACjF,YAAA,OAAO,EAAE,OAAO;SACjB;AACA,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;;AAGA,IAAA,eAAe,CAAC,KAAU,EAAA;AACxB,QAAA,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;AAC5B,YAAA,uBAAuB,EAAE,KAAK;AAC/B,SAAA,CAAC;AACF,QAAA,MAAM,WAAW,GAAG;AAClB,YAAA,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAC3C,YAAA,IAAI,EAAE,QAAQ;SACf;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,UAAU,EAAE,WAAW,CAAC,CAAC,IAAI,CACjG,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACH;AAEA,IAAA,aAAa,CAAC,IAAY,EAAA;QACxB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,oBAAoB,GAAG,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAClH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACH;AAEA,IAAA,cAAc,CAAC,aAAkB,EAAA;AAC/B,QAAA,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;AAC5B,YAAA,+BAA+B,EAAE,aAAa;AAC/C,SAAA,CAAC;AACF,QAAA,MAAM,WAAW,GAAG;AAClB,YAAA,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAC3C,YAAA,IAAI,EAAE,QAAQ;SACf;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,mBAAmB,EAAE,WAAW,CAAC,CAAC,IAAI,CAC1G,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACH;;AAGA,IAAA,qBAAqB,CAAC,YAAoB,EAAA;QACxC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,qBAAqB,GAAG,YAAY,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAC3H,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACH;+GAhoBW,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAd,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAa,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAI,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFd,MAAM,EAAA,CAAA,CAAA;;4FAEP,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCAY,0BAA0B,CAAA;AAGrC,IAAA,WAAA,CACU,IAAgB,EAChB,gBAAiC,EACjC,IAAiB,EACjB,UAA4B,EAAA;QAH5B,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;QAChB,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,UAAU,GAAV,UAAU;QANZ,IAAA,CAAA,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;IAOrD;AAEJ;;AAE6E;IAE7E,uCAAuC,CAAC,cAAsB,EAAE,KAAa,EAAE,UAAkB,EAAE,UAAkB,EAAE,KAAa,EAAE,WAAmB,EAAA;QACvJ,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAClD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,GAAG,GAAG,mCAAmC,GAAG,UAAU,GAAG,aAAa,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,GAAG,cAAc,GAAG,UAAU,GAAG,UAAU,GAAG,eAAe,GAAG,WAAW,EAC9L,EAAE,OAAO,EAAE,CACZ;IACH;AAEA,IAAA,gCAAgC,CAAC,cAAsB,EAAE,KAAa,EAAE,UAAkB,EAAA;QACxF,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAClD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,oCAAoC,GAAG,KAAK,GAAG,SAAS,GAAG,cAAc,GAAG,UAAU,GAAG,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC;IACnJ;IAEA,+BAA+B,CAAC,IAAY,EAAE,KAAa,EAAE,KAAa,EAAE,MAAc,EAAE,IAAY,EAAE,SAAiB,EAAA;QACzH,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,GAAG,GAAG,4CAA4C,GAAG,IAAI,GAAG,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,GAAG,0BAA0B,GAAG,IAAI,EAC5L,EAAE,OAAO,EAAE,CACZ;IACH;AAEA,IAAA,yCAAyC,CAAC,IAAY,EAAE,KAAa,EAAE,KAAa,EAAE,MAAc,EAAE,IAAY,EAAE,SAAiB,EAAE,QAAgB,EAAA;QACrJ,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,GAAG;YACR,8CAA8C;YAC9C,IAAI;YACJ,aAAa;YACb,SAAS;YACT,SAAS;YACT,KAAK;YACL,SAAS;YACT,KAAK;YACL,UAAU;YACV,MAAM;YACN,8BAA8B;YAC9B,IAAI;YACJ,YAAY;AACZ,YAAA,QAAQ,EACR,EAAE,OAAO,EAAE,CACZ,CAAC;IACJ;AAEA,IAAA,sBAAsB,CAAC,IAAY,EAAA;QACjC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,8BAA8B,GAAG,IAAI,EAAE;YACrE,OAAO;AACR,SAAA,CAAC;IACJ;AAEA;;AAE6E;IAE7E,wBAAwB,CAAC,WAAgB,EAAE,WAAgB,EAAE,QAAa,EAAE,SAAc,EAAE,OAAY,EAAA;QACtG,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAClD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;AACT,aAAA,IAAI,CACH,IAAI,CAAC,GAAG,GAAG,6BAA6B,EACxC;AACE,YAAA,eAAe,EAAE,WAAW;AAC5B,YAAA,eAAe,EAAE,WAAW;AAC5B,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,aAAa,EAAE,SAAS;AACxB,YAAA,WAAW,EAAE,OAAO;AACrB,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;IAEA,MAAM,CAAC,0BAAkC,EAAE,OAAY,EAAA;QACrD,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,GAAG,GAAG,8BAA8B,GAAG,0BAA0B,GAAG,kBAAkB,EAC3F;AACE,YAAA,uBAAuB,EAAE,OAAO;AACjC,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA,IAAA,kCAAkC,CAChC,0BAA+B,EAC/B,GAAQ,EACR,oBAAoB,GAAG,CAAC,EACxB,gCAAgC,GAAG,CAAC,EACpC,8BAA8B,GAAG,CAAC,EAClC,wBAAwB,GAAG,IAAI,EAC/B,sBAAsB,GAAG,IAAI,EAC7B,yBAAyB,GAAG,EAAE,EAC9B,uCAAuC,GAAG,KAAK,EAAA;QAE/C,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;AACT,aAAA,IAAI,CACH,IAAI,CAAC,GAAG,GAAG,wCAAwC,EACnD;AACE,YAAA,0BAA0B,EAAE,0BAA0B;AACtD,YAAA,uCAAuC,EAAE,uCAAuC;AAChF,YAAA,GAAG,EAAE,GAAG;AACR,YAAA,oBAAoB,EAAE,oBAAoB;AAC1C,YAAA,gCAAgC,EAAE,gCAAgC;AAClE,YAAA,wBAAwB,EAAE,wBAAwB;AAClD,YAAA,sBAAsB,EAAE,sBAAsB;AAC9C,YAAA,yBAAyB,EAAE,yBAAyB;AACpD,YAAA,8BAA8B,EAAE,8BAA8B;AAC/D,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA;;AAE6E;IAE7E,+BAA+B,CAAC,0BAA+B,EAAE,SAAc,EAAE,UAAe,EAAE,SAAc,EAAE,QAAa,EAAA;QAC7H,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;AACT,aAAA,GAAG,CACF,IAAI,CAAC,GAAG,GAAG,mCAAmC,EAC9C;AACE,YAAA,0BAA0B,EAAE,0BAA0B;AACtD,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,QAAQ,EAAE,QAAQ;AACnB,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;IAEA,2BAA2B,CAAC,0BAA+B,EAAE,OAAY,EAAA;QACvE,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;AACT,aAAA,GAAG,CACF,IAAI,CAAC,GAAG,GAAG,mCAAmC,EAC9C;AACE,YAAA,0BAA0B,EAAE,0BAA0B;AACtD,YAAA,SAAS,EAAE,uBAAuB;AAClC,YAAA,UAAU,EAAE,OAAO;AACpB,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;IAEA,oDAAoD,CAAC,mBAAwB,EAAE,0BAA+B,EAAE,oBAAyB,EAAE,gCAAqC,EAAE,8BAAmC,EAAA;QACnN,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;AACT,aAAA,GAAG,CACF,IAAI,CAAC,GAAG,GAAG,wEAAwE,EACnF;AACE,YAAA,OAAO,EAAE,mBAAmB;AAC5B,YAAA,0BAA0B,EAAE,0BAA0B;AACtD,YAAA,oBAAoB,EAAE,oBAAoB;AAC1C,YAAA,gCAAgC,EAAE,gCAAgC;AAClE,YAAA,8BAA8B,EAAE,8BAA8B;AAC/D,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;IAEA,6BAA6B,CAAC,OAAY,EAAE,0BAA+B,EAAE,oBAAyB,EAAE,gCAAqC,EAAE,8BAAmC,EAAA;QAChL,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;AACT,aAAA,GAAG,CACF,IAAI,CAAC,GAAG,GAAG,wCAAwC,EACnD;AACE,YAAA,WAAW,EAAE,EAAE;AACf,YAAA,0BAA0B,EAAE,0BAA0B;AACtD,YAAA,uCAAuC,EAAE,KAAK;AAC9C,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,oBAAoB,EAAE,oBAAoB;AAC1C,YAAA,gCAAgC,EAAE,gCAAgC;AAClE,YAAA,wBAAwB,EAAE,EAAE;AAC5B,YAAA,sBAAsB,EAAE,EAAE;AAC1B,YAAA,yBAAyB,EAAE,EAAE;AAC7B,YAAA,8BAA8B,EAAE,8BAA8B;AAC/D,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;IAEA,0CAA0C,CAAC,0BAA+B,EAAE,aAAoB,EAAA;;QAE9F,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,GAAyF,KAAI;YAC9H,OAAO;AACL,gBAAA,WAAW,EAAE,EAAE;AACf,gBAAA,0BAA0B,EAAE,0BAA0B;AACtD,gBAAA,uCAAuC,EAAE,IAAI;gBAC7C,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,oBAAoB,EAAE,GAAG,CAAC,QAAQ;AAClC,gBAAA,gCAAgC,EAAE,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,GAAG,CAAC;AACjE,gBAAA,wBAAwB,EAAE,EAAE;AAC5B,gBAAA,sBAAsB,EAAE,EAAE;AAC1B,gBAAA,yBAAyB,EAAE,EAAE;AAC7B,gBAAA,8BAA8B,EAAE,GAAG,CAAC,8BAA8B,GAAG,GAAG,CAAC,8BAA8B,GAAG,CAAC;aAC5G;AACH,QAAA,CAAC,CAAC;QACF,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;AACT,aAAA,IAAI,CACH,IAAI,CAAC,GAAG,GAAG,4CAA4C,EACvD;AACE,YAAA,uBAAuB,EAAE,aAAa;AACvC,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA;;AAE6E;AAE7E,IAAA,yBAAyB,CAAC,QAAa,EAAA;QACrC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC;aACT,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,GAAG,6BAA6B,EAAE;AAC3D,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,IAAI,EAAE;AACJ,gBAAA,0CAA0C,EAAE,QAAQ;AACrD,aAAA;SACF;AACA,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;IAEA,mCAAmC,CAAC,0BAAkC,EAAE,OAAe,EAAA;QACrF,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,GAAG,4DAA4D,GAAG,0BAA0B,GAAG,QAAQ,GAAG,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CACtL,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACH;IAEA,MAAM,CAAC,0BAAkC,EAAE,OAAY,EAAA;QACrD,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,GAAG,GAAG,8BAA8B,GAAG,0BAA0B,GAAG,kBAAkB,EAC3F;AACE,YAAA,uBAAuB,EAAE,OAAO;AACjC,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;+GA7TW,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAjB,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAa,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAI,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,cAFzB,MAAM,EAAA,CAAA,CAAA;;4FAEP,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCDY,gBAAgB,CAAA;AAC3B,IAAA,WAAA,CACU,IAAgB,EAChB,gBAAiC,EACjC,MAAc,EAAA;QAFd,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;QAChB,IAAA,CAAA,MAAM,GAAN,MAAM;IACZ;AAEJ,IAAA,cAAc,CAAC,iBAAiF,EAAA;QAC9F,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,cAAc,EAC5D;YACE,cAAc,EAAE,iBAAiB,CAAC,cAAc;YAChD,mBAAmB,EAAE,iBAAiB,CAAC,mBAAmB;YAC1D,MAAM,EAAE,iBAAiB,CAAC,KAAK;SAChC,EACD,OAAO,CACR;IACH;+GAnBW,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAjB,eAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cAFf,MAAM,EAAA,CAAA,CAAA;;4FAEP,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCGY,iBAAiB,CAAA;AAS5B,IAAA,WAAA,CACS,SAA2B,EAC3B,QAAwB,EACxB,IAAiB,EAChB,SAA0B,EAAA;QAH3B,IAAA,CAAA,SAAS,GAAT,SAAS;QACT,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACR,IAAA,CAAA,IAAI,GAAJ,IAAI;QACH,IAAA,CAAA,SAAS,GAAT,SAAS;QAZX,IAAA,CAAA,eAAe,GAAW,IAAI;AAE9B,QAAA,IAAA,CAAA,cAAc,GAAG;AACvB,YAAA,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;AAC/B,YAAA,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;AAClC,YAAA,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;SACjC;AAQC,QAAA,IAAI,YAAY,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,EAAE;YACjE,IAAI,CAAC,cAAc,EAAE;AACrB,YAAA,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAClC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CACxC;YACD,IAAI,OAAO,EAAE;AACX,gBAAA,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YAC3B;QACF;aAAO;AACL,YAAA,IAAI,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAClD,YAAA,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE;AAChD,gBAAA,IAAI,CAAC,eAAe,GAAG,IAAI;AAC3B,gBAAA,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC;YACrC;iBAAO;AACL,gBAAA,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC;YACrC;AACA,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC;QACxC;;IAEF;IAEA,cAAc,GAAA;QACZ,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC;IACrD;AAEA,IAAA,WAAW,CAAC,IAAY,EAAA;AACtB,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAChB,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,eAAe,CAChE;IACH;IAEA,qBAAqB,GAAA;QACnB,OAAO,IAAI,CAAC,cAAc;IAC5B;+GAhDW,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAkB,cAAA,EAAA,EAAA,EAAA,KAAA,EAAAN,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAO,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFhB,MAAM,EAAA,CAAA,CAAA;;4FAEP,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCDY,iBAAiB,CAAA;IAC5B,WAAA,CACmB,IAAgB,EAChB,gBAAiC,EAAA;QADjC,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;IAChC;;AAIH;;AAE2E;IAE3E,uBAAuB,CAAC,MAAc,EAAE,mBAA2B,EAAA;QACjE,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,iCAAiC;YACjC,mBAAmB;YACnB,UAAU;AACV,YAAA,MAAM,EACR,EAAE,OAAO,EAAE,CACZ;IACH;;AAGA,IAAA,yBAAyB,CACvB,mBAA2B,EAC3B,mBAA2B,EAC3B,0BAAmC,KAAK,EAAA;QAExC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,iCAAiC;YACjC,mBAAmB;YACnB,uBAAuB;YACvB,mBAAmB;YACnB,2BAA2B;AAC3B,YAAA,uBAAuB,EACzB,EAAE,OAAO,EAAE,CACZ;IACH;AAEA,IAAA,mBAAmB,CAAC,aAAqB,EAAE,cAAA,GAAyB,EAAE,EAAA;QACpE,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,iEAAiE;YACjE,aAAa;YACb,uBAAuB;YACvB,cAAc;AACd,YAAA,cAAc,EAChB,EAAE,OAAO,EAAE,CACZ;IACH;AAEA,IAAA,kBAAkB,CAAC,mBAA2B,EAAA;QAC5C,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,8CAA8C;AAC9C,YAAA,mBAAmB,EACrB,EAAE,OAAO,EAAE,CACZ;IACH;AAEA,IAAA,UAAU,CAAC,MAAW,EAAA;QACpB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,0BAA0B,EACxE;AACE,YAAA,gBAAgB,EAAE,MAAM;SACzB,EACD,OAAO,CACR;IACH;;IAGA,gBAAgB,GAAA;QACd,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,YAAY,EAC1D,EAAE,OAAO,EAAE,CACZ;IACH;;AAGA,IAAA,YAAY,CAAC,aAAqB,EAAA;QAChC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,aAAa;AACb,YAAA,aAAa,EACf,EAAE,OAAO,EAAE,CACZ;IACH;;AAGA,IAAA,qBAAqB,CAAC,IAAY,EAAA;QAChC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,iCAAiC;YACjC,IAAI;AACJ,YAAA,gBAAgB,EAClB,EAAE,OAAO,EAAE,CACZ;IACH;;AAGA,IAAA,yBAAyB,CAAC,IAAY,EAAA;QACpC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,wCAAwC;AACxC,YAAA,IAAI,EACN,EAAE,OAAO,EAAE,CACZ;IACH;;AAGA,IAAA,uCAAuC,CAAC,kBAA0B,EAAA;QAChE,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,oBAAoB;AACpB,YAAA,kBAAkB,EACpB,EAAE,OAAO,EAAE,CACZ;IACH;AAEA;;AAE2E;;IAG3E,eAAe,CACb,SAsBC,EACD,KAAU,EAAA;QAEV,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,YAAY,EAC1D;YACE,aAAa,EAAE,SAAS,CAAC,aAAa;YACtC,mBAAmB,EAAE,SAAS,CAAC,mBAAmB;YAClD,aAAa,EAAE,SAAS,CAAC,aAAa;YACtC,iBAAiB,EAAE,SAAS,CAAC,iBAAiB;YAC9C,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;YAC5C,mBAAmB,EAAE,SAAS,CAAC,mBAAmB;YAClD,mBAAmB,EAAE,SAAS,CAAC,mBAAmB;YAClD,oBAAoB,EAAE,SAAS,CAAC,oBAAoB;YACpD,iBAAiB,EAAE,SAAS,CAAC,iBAAiB;YAC9C,iBAAiB,EAAE,SAAS,CAAC,iBAAiB;YAC9C,qBAAqB,EAAE,SAAS,CAAC,qBAAqB;YACtD,kBAAkB,EAAE,SAAS,CAAC,kBAAkB;YAChD,cAAc,EAAE,SAAS,CAAC,cAAc;YACxC,aAAa,EAAE,SAAS,CAAC,aAAa;YACtC,qBAAqB,EAAE,SAAS,CAAC,qBAAqB;YACtD,iBAAiB,EAAE,SAAS,CAAC,iBAAiB;YAC9C,iBAAiB,EAAE,SAAS,CAAC,iBAAiB;YAC9C,wBAAwB,EAAE,SAAS,CAAC,wBAAwB;YAC5D,sBAAsB,EAAE,SAAS,CAAC,sBAAsB;YACxD,sBAAsB,EAAE,SAAS,CAAC,sBAAsB;YACxD,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;AAC5C,YAAA,uBAAuB,EAAE,KAAK;SAC/B,EACD,OAAO,CACR;IACH;;AAGA,IAAA,kBAAkB,CAAC,aAAqB,EAAA;QACtC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,aAAa;YACb,aAAa;YACb,YAAY,EACd,OAAO,CACR;IACH;;IAGA,qBAAqB,CACnB,mBAA2B,EAC3B,mBAA2B,EAC3B,oBAA4B,EAC5B,0BAAmC,EACnC,mBAA2B,EAAA;QAE3B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,mBAAmB,EACjE;AACE,YAAA,mBAAmB,EAAE,mBAAmB;AACxC,YAAA,mBAAmB,EAAE,mBAAmB;AACxC,YAAA,oBAAoB,EAAE,oBAAoB;AAC1C,YAAA,0BAA0B,EAAE,0BAA0B;AACtD,YAAA,mBAAmB,EAAE,mBAAmB;SACzC,EACD,OAAO,CACR;IACH;AAEA;;AAE2E;;AAG3E,IAAA,eAAe,CAAC,iBAwBf,EAAA;QACC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,YAAY,EAC1D;YACE,aAAa,EAAE,iBAAiB,CAAC,aAAa;YAC9C,aAAa,EAAE,iBAAiB,CAAC,aAAa;YAC9C,mBAAmB,EAAE,iBAAiB,CAAC,mBAAmB;YAC1D,aAAa,EAAE,iBAAiB,CAAC,aAAa;YAC9C,iBAAiB,EAAE,iBAAiB,CAAC,iBAAiB;YACtD,gBAAgB,EAAE,iBAAiB,CAAC,gBAAgB;YACpD,mBAAmB,EAAE,iBAAiB,CAAC,mBAAmB;YAC1D,mBAAmB,EAAE,iBAAiB,CAAC,mBAAmB;YAC1D,iBAAiB,EAAE,iBAAiB,CAAC,iBAAiB;YACtD,oBAAoB,EAAE,iBAAiB,CAAC,oBAAoB;YAC5D,iBAAiB,EAAE,iBAAiB,CAAC,iBAAiB;YACtD,qBAAqB,EAAE,iBAAiB,CAAC,qBAAqB;YAC9D,kBAAkB,EAAE,iBAAiB,CAAC,kBAAkB;YACxD,cAAc,EAAE,iBAAiB,CAAC,cAAc;YAChD,aAAa,EAAE,iBAAiB,CAAC,aAAa;YAC9C,qBAAqB,EAAE,iBAAiB,CAAC,qBAAqB;YAC9D,iBAAiB,EAAE,iBAAiB,CAAC,iBAAiB;YACtD,iBAAiB,EAAE,iBAAiB,CAAC,iBAAiB;YACtD,wBAAwB,EAAE,iBAAiB,CAAC,wBAAwB;YACpE,sBAAsB,EAAE,iBAAiB,CAAC,sBAAsB;YAChE,sBAAsB,EAAE,iBAAiB,CAAC,sBAAsB;YAChE,gBAAgB,EAAE,iBAAiB,CAAC,gBAAgB;YACpD,uBAAuB,EAAE,iBAAiB,CAAC,uBAAuB;SACnE,EACD,OAAO,CACR;IACH;;IAGA,oBAAoB,CAAC,aAAqB,EAAE,cAAsB,EAAA;QAChE,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,sBAAsB,EACpE;AACE,YAAA,aAAa,EAAE,aAAa;AAC5B,YAAA,cAAc,EAAE,cAAc;SAC/B,EACD,OAAO,CACR;IACH;;IAGA,qBAAqB,CACnB,mBAA2B,EAC3B,mBAA2B,EAC3B,mBAA2B,EAC3B,oBAA4B,EAC5B,0BAAmC,EACnC,mBAA2B,EAAA;QAE3B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,mBAAmB,EACjE;AACE,YAAA,mBAAmB,EAAE,mBAAmB;AACxC,YAAA,mBAAmB,EAAE,mBAAmB;AACxC,YAAA,mBAAmB,EAAE,mBAAmB;AACxC,YAAA,oBAAoB,EAAE,oBAAoB;AAC1C,YAAA,0BAA0B,EAAE,0BAA0B;AACtD,YAAA,mBAAmB,EAAE,mBAAmB;SACzC,EACD,OAAO,CACR;IACH;;IAGA,wBAAwB,CACtB,mBAA2B,EAC3B,oBAA4B,EAAA;QAE5B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;AACzC,YAAA,6BAA6B,EAC/B;AACE,YAAA,mBAAmB,EAAE,mBAAmB;AACxC,YAAA,oBAAoB,EAAE,oBAAoB;SAC3C,EACD,OAAO,CACR;IACH;;AAGA,IAAA,yBAAyB,CAAC,kBAA0B,EAAA;QAClD,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,aAAa;YACb,kBAAkB;AAClB,YAAA,sBAAsB,EACxB,EAAE,EACF,OAAO,CACR;IACH;;AAGA,IAAA,4BAA4B,CAAC,kBAA0B,EAAA;QACrD,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,aAAa;YACb,kBAAkB;AAClB,YAAA,uBAAuB,EACzB,EAAE,EACF,OAAO,CACR;IACH;;AAGA,IAAA,kCAAkC,CAAC,yBAA8B,EAAA;QAC/D,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,2BAA2B,EACzE;AACE,YAAA,yBAAyB,EAAE,yBAAyB;AACpD,YAAA,KAAK,EAAE,IAAI;SACZ,EACD,OAAO,CACR;IACH;;AAGA,IAAA,mCAAmC,CAAC,yBAA8B,EAAA;QAChE,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,2BAA2B,EACzE;AACE,YAAA,yBAAyB,EAAE,yBAAyB;AACpD,YAAA,KAAK,EAAE,KAAK;SACb,EACD,OAAO,CACR;IACH;AAEA,IAAA,sBAAsB,CACpB,aAAqB,EACrB,SAAiB,EACjB,UAAe,EACf,QAAiB,EAAA;QAEjB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,kBAAkB,EAChE;AACE,YAAA,aAAa,EAAE,aAAa;AAC5B,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,QAAQ,EAAE,QAAQ;SACnB,EACD,OAAO,CACR;IACH;AAEA,IAAA,WAAW,CAAC,aAAqB,EAAE,SAAiB,EAAE,UAAe,EAAA;QACnE,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,0BAA0B,EACxE;AACE,YAAA,aAAa,EAAE,aAAa;AAC5B,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,UAAU,EAAE,UAAU;SACvB,EACD,OAAO,CACR;IACH;;AAGA,IAAA,2BAA2B,CACzB,aAAqB,EACrB,SAAiB,EACjB,UAAe,EAAA;QAEf,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,mBAAmB,EACjE;AACE,YAAA,aAAa,EAAE,aAAa;AAC5B,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,UAAU,EAAE,UAAU;SACvB,EACD,OAAO,CACR;IACH;AAEA;;AAE2E;;AAG3E,IAAA,eAAe,CAAC,aAAqB,EAAA;QACnC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CACrB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,aAAa;AACb,YAAA,aAAa,EACf,EAAE,OAAO,EAAE,CACZ;IACH;;AAGA,IAAA,gCAAgC,CAAC,mBAA2B,EAAA;QAC1D,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CACtB,QAAQ,EACR,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,oBAAoB;AACpB,YAAA,mBAAmB,EACrB;AACE,YAAA,OAAO,EAAE,OAAO;AACjB,SAAA,CACF;IACH;+GAveW,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAApB,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFhB,MAAM,EAAA,CAAA,CAAA;;4FAEP,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCEY,YAAY,CAAA;IACvB,WAAA,CACU,IAAgB,EAChB,SAA0B,EAAA;QAD1B,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,SAAS,GAAT,SAAS;IACf;AAEJ;;AAE2E;AAE3E,IAAA,2CAA2C,CAAC,QAAgB,EAAE,mBAA2B,EAAE,sBAAsB,GAAG,KAAK,EAAA;QACvH,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;AACzC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,6CAA6C,GAAG,mBAAmB,GAAG,YAAY,GAAG,QAAQ,GAAG,0BAA0B,GAAG,sBAAsB,EAC1L,EAAE,OAAO,EAAE,CACZ;IACH;AACA,IAAA,sBAAsB,CAAC,mBAA2B,EAAA;QAChD,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;QACzC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAoB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,6CAA6C,GAAG,mBAAmB,EAAE,EAAE,OAAO,EAAE,CAAC;IAClK;AAEA,IAAA,WAAW,CAAC,mBAA2B,EAAA;QACrC,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;QACzC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAoB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,6CAA6C,GAAG,mBAAmB,EAAE,EAAE,OAAO,EAAE,CAAC;IAClK;AAEA,IAAA,uBAAuB,CAAC,QAAgB,EAAE,sBAAsB,GAAG,KAAK,EAAA;QACtE,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;QACzC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAoB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,sBAAsB,GAAG,QAAQ,GAAG,0BAA0B,GAAG,sBAAsB,EAAE,EAAE,OAAO,EAAE,CAAC;IACtL;AAEA,IAAA,mCAAmC,CAAC,QAAgB,EAAA;QAClD,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;QACzC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAoB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,mCAAmC,GAAG,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC;IAC7I;IAEA,sEAAsE,CAAC,QAAgB,EAAE,mBAA2B,EAAA;QAClH,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;QACzC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAoB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,sBAAsB,GAAG,QAAQ,GAAG,uBAAuB,GAAG,mBAAmB,EAAE,EAAE,OAAO,EAAE,CAAC;IAChL;AAEA,IAAA,+DAA+D,CAAC,QAAgB,EAAE,mBAA2B,EAAE,mBAA2B,EAAA;QACxI,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;AACzC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,sBAAsB,GAAG,QAAQ,GAAG,uBAAuB,GAAG,mBAAmB,GAAG,uBAAuB,GAAG,mBAAmB,EACxK,EAAE,OAAO,EAAE,CACZ;IACH;IAEA,WAAW,GAAA;QACT,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;QACzC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAS,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,kBAAkB,EAAE,EAAE,OAAO,EAAE,CAAC;IACtG;AAEA,IAAA,UAAU,CAAC,QAAgB,EAAA;QACzB,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;QACzC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAS,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,mBAAmB,GAAG,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC;IAClH;AAEA;;AAE2E;AAE3E,IAAA,UAAU,CAAC,QAAa,EAAE,QAAa,EAAE,eAAoB,EAAA;QAC3D,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;AACzC,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,kBAAkB,EACzD;AACE,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,eAAe,EAAE,eAAe;SACjC,EACD,OAAO,CACR;IACH;AAEA,IAAA,SAAS,CAAC,QAAa,EAAE,UAAe,EAAE,sBAAsB,GAAG,KAAK,EAAA;QACtE,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;AACzC,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,sBAAsB,EAC7D;AACE,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,sBAAsB,EAAE,sBAAsB;SAC/C,EACD,OAAO,CACR;IACH;AAEA;;AAE2E;AAE3E,IAAA,UAAU,CAAC,QAAa,EAAE,cAAmB,EAAE,QAAa,EAAE,eAAoB,EAAA;QAChF,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;AACzC,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,kBAAkB,EACzD;AACE,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,QAAQ,EAAE,cAAc;AACxB,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,eAAe,EAAE,eAAe;SACjC,EACD,OAAO,CACR;IACH;AAEA;;AAE2E;AAE3E,IAAA,aAAa,CAAC,QAAgB,EAAA;QAC5B,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;QACzC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,mBAAmB,GAAG,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC;IAC7G;AAEA,IAAA,YAAY,CAAC,QAAa,EAAE,UAAe,EAAE,sBAAsB,GAAG,KAAK,EAAA;QACzE,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;AACzC,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,yBAAyB,EAChE;AACE,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,sBAAsB,EAAE,sBAAsB;SAC/C,EACD,OAAO,CACR;IACH;IAEA,YAAY,CAAC,QAAa,EAAE,aAAkB,EAAE,KAAU,EAAE,UAAe,EAAE,sBAA2B,EAAA;QACtG,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;AACzC,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,yBAAyB,EAChE;AACE,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,aAAa,EAAE,aAAa;AAC5B,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,sBAAsB,EAAE,sBAAsB;SAC/C,EACD,OAAO,CACR;IACH;+GApJW,YAAY,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cAFX,MAAM,EAAA,CAAA,CAAA;;4FAEP,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCGY,gBAAgB,CAAA;AAC3B,IAAA,WAAA,CACU,IAAiB,EACjB,gBAAiC,EACjC,IAAgB,EAChB,UAA4B,EAAA;QAH5B,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;QAChB,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,UAAU,GAAV,UAAU;QAGb,IAAA,CAAA,mBAAmB,GAAG,sCAAsC;QAC5D,IAAA,CAAA,mBAAmB,GAAG,sCAAsC;QAC5D,IAAA,CAAA,eAAe,GAAG,sCAAsC;QACxD,IAAA,CAAA,uBAAuB,GAAG,sCAAsC;IALpE;AAMH;;AAE6E;AAE7E,IAAA,oBAAoB,CAClB,MAAc,EACd,gBAAgB,GAAG,IAAI,EACvB,UAAU,GAAG,KAAK,EAClB,YAAY,GAAG,MAAM,EAAA;QAErB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,qBAAqB;YACrB,MAAM;YACN,oBAAoB;YACpB,gBAAgB;YAChB,cAAc;YACd,UAAU;YACV,gBAAgB;AAChB,YAAA,YAAY,EACd,EAAE,OAAO,EAAE,CACZ;IACH;AAEA,IAAA,gBAAgB,CAAC,KAAa,EAAE,KAAa,EAAE,MAAc,EAAA;QAC3D,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,2BAA2B;YAC3B,KAAK;YACL,SAAS;YACT,KAAK;YACL,UAAU;AACV,YAAA,MAAM,EACR,EAAE,OAAO,EAAE,CACZ;IACH;AAEA,IAAA,gBAAgB,CAAC,KAAa,EAAE,KAAa,EAAE,MAAc,EAAA;QAC3D,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,0BAA0B;YAC1B,KAAK;YACL,SAAS;YACT,KAAK;YACL,UAAU;AACV,YAAA,MAAM,EACR,EAAE,OAAO,EAAE,CACZ;IACH;AAEA,IAAA,aAAa,CAAC,UAAe,EAAA;QAC3B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,cAAc,GAAG,UAAU,EACzE,EAAE,OAAO,EAAE,CACZ;IACH;IAEA,oBAAoB,CAClB,gBAAgB,GAAG,IAAI,EACvB,UAAU,GAAG,KAAK,EAClB,YAAY,GAAG,MAAM,EAAA;AAErB,QAAA,IAAI,UAAU,IAAI,WAAW,EAAE;AAC7B,YAAA,IAAI,MAAM,GAAG,IAAI,CAAC,mBAAmB;AACrC,YAAA,OAAO,IAAI,CAAC,oBAAoB,CAC9B,MAAM,EACN,gBAAgB,EAChB,UAAU,EACV,YAAY,CACb;QACH;AAAO,aAAA,IAAI,UAAU,IAAI,UAAU,EAAE;AACnC,YAAA,IAAI,MAAM,GAAG,IAAI,CAAC,mBAAmB;AACrC,YAAA,OAAO,IAAI,CAAC,oBAAoB,CAC9B,MAAM,EACN,gBAAgB,EAChB,UAAU,EACV,YAAY,CACb;QACH;AAAO,aAAA,IAAI,UAAU,IAAI,OAAO,EAAE;AAChC,YAAA,IAAI,MAAM,GAAG,IAAI,CAAC,eAAe;AACjC,YAAA,OAAO,IAAI,CAAC,oBAAoB,CAC9B,MAAM,EACN,gBAAgB,EAChB,UAAU,EACV,YAAY,CACb;QACH;AAAO,aAAA,IAAI,UAAU,IAAI,eAAe,EAAE;AACxC,YAAA,IAAI,MAAM,GAAG,IAAI,CAAC,uBAAuB;AACzC,YAAA,OAAO,IAAI,CAAC,oBAAoB,CAC9B,MAAM,EACN,gBAAgB,EAChB,UAAU,EACV,YAAY,CACb;QACH;aAAO;YACL,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,YAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;gBACzC,uCAAuC;gBACvC,gBAAgB;gBAChB,cAAc;gBACd,UAAU;gBACV,gBAAgB;AAChB,gBAAA,YAAY,EACd,EAAE,OAAO,EAAE,CACZ;QACH;IACF;AAEA,IAAA,eAAe,CAAC,MAAW,EAAA;QACzB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,kBAAkB,EAChE,MAAM,EACN,EAAE,OAAO,EAAE,CACZ;IACH;IAEA,qBAAqB,CAAC,oBAAyB,EAAE,EAAA;QAC/C,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;AACzC,YAAA,8BAA8B,EAChC;AACE,YAAA,iBAAiB,EAAE,iBAAiB;SACrC,EACD,OAAO,CACR;IACH;AAEA,IAAA,cAAc,CAAC,KAAU,EAAE,KAAU,EAAE,QAAa,EAAA;QAClD,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,wBAAwB;YACxB,KAAK;YACL,SAAS;AACT,YAAA,KAAK,EACP;AACE,YAAA,QAAQ,EAAE,QAAQ;AACnB,SAAA,EACD,EAAE,OAAO,EAAE,CACZ;IACH;AAEA,IAAA,cAAc,CAAC,SAAiB,EAAA;QAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,aAAa,GAAG,SAAS,EACvE,EAAE,OAAO,EAAE,CACZ;IACH;AAEA,IAAA,uBAAuB,CAAC,SAAiB,EAAA;QACvC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,kBAAkB;AAClB,YAAA,SAAS,EACX,EAAE,OAAO,EAAE,CACZ;IACH;AAEA,IAAA,SAAS,CAAC,IAAY,EAAA;QACpB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,cAAc,GAAG,IAAI,EACnE,EAAE,OAAO,EAAE,CACZ;IACH;IAEA,qBAAqB,CACnB,UAAkB,EAClB,KAAa,EACb,KAAa,EACb,IAAI,GAAG,gBAAgB,EACvB,SAAS,GAAG,MAAM,EAClB,UAAU,GAAG,KAAK,EAClB,SAAS,GAAG,EAAE,EACd,YAAY,GAAG,MAAM,EAAA;QAErB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,MAAM,GAAG,GACP,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YAC3C,oBAAoB;YACpB,UAAU;YACV,QAAQ;YACR,IAAI;YACJ,aAAa;YACb,SAAS;YACT,SAAS;YACT,KAAK;YACL,SAAS;YACT,KAAK;YACL,cAAc;YACd,UAAU;YACV,aAAa;YACb,SAAS;YACT,gBAAgB;AAChB,YAAA,YAAY;AACd,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;IACxC;AAEA,IAAA,qBAAqB,CACnB,KAAU,EACV,KAAU,EACV,MAAW,EACX,MAAM,GAAG,EAAE,EACX,IAAI,GAAG,gBAAgB,EACvB,SAAS,GAAG,MAAM,EAClB,UAAU,GAAG,KAAK,EAClB,SAAS,GAAG,EAAE,EACd,YAAY,GAAG,MAAM,EAAA;QAErB,IAAI,SAAS,GAAG,SAAS;QAEzB,IAAI,SAAS,KAAK,gBAAgB,IAAI,SAAS,KAAK,gBAAgB,EAAE;YACpE,SAAS,GAAG,OAAO;QACrB;QAEA,IAAI,SAAS,KAAK,eAAe,IAAI,SAAS,KAAK,eAAe,EAAE;YAClE,SAAS,GAAG,MAAM;QACpB;AAEA,QAAA,IAAI,UAAU,IAAI,WAAW,EAAE;AAC7B,YAAA,IAAI,MAAM,GAAG,IAAI,CAAC,mBAAmB;YACrC,OAAO,IAAI,CAAC,qBAAqB,CAC/B,MAAM,EACN,KAAK,EACL,KAAK,EACL,IAAI,EACJ,SAAS,EACT,UAAU,EACV,SAAS,EACT,YAAY,CACb;QACH;AAAO,aAAA,IAAI,UAAU,IAAI,UAAU,EAAE;AACnC,YAAA,IAAI,MAAM,GAAG,IAAI,CAAC,mBAAmB;YACrC,OAAO,IAAI,CAAC,qBAAqB,CAC/B,MAAM,EACN,KAAK,EACL,KAAK,EACL,IAAI,EACJ,SAAS,EACT,UAAU,EACV,SAAS,EACT,YAAY,CACb;QACH;AAAO,aAAA,IAAI,UAAU,IAAI,OAAO,EAAE;AAChC,YAAA,IAAI,MAAM,GAAG,IAAI,CAAC,eAAe;YACjC,OAAO,IAAI,CAAC,qBAAqB,CAC/B,MAAM,EACN,KAAK,EACL,KAAK,EACL,IAAI,EACJ,SAAS,EACT,UAAU,EACV,SAAS,EACT,YAAY,CACb;QACH;AAAO,aAAA,IAAI,UAAU,IAAI,eAAe,EAAE;AACxC,YAAA,IAAI,MAAM,GAAG,IAAI,CAAC,uBAAuB;YACzC,OAAO,IAAI,CAAC,qBAAqB,CAC/B,MAAM,EACN,KAAK,EACL,KAAK,EACL,IAAI,EACJ,SAAS,EACT,UAAU,EACV,SAAS,EACT,YAAY,CACb;QACH;aAAO;YACL,OAAO,IAAI,CAAC,qBAAqB,CAC/B,EAAE,EACF,KAAK,EACL,KAAK,EACL,IAAI,EACJ,SAAS,EACT,UAAU,EACV,SAAS,EACT,YAAY,CACb;QACH;IACF;AAEA,IAAA,aAAa,CAAC,4BAAiC,EAAA;QAC7C,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;AACzC,YAAA,iCAAiC,EACnC;AACE,YAAA,0BAA0B,EAAE,4BAA4B;SACzD,EACD,OAAO,CACR;IACH;AAEA,IAAA,iBAAiB,CAAC,KAAU,EAAE,KAAU,EAAE,MAAW,EAAA;QACnD,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,4BAA4B;YAC5B,KAAK;YACL,SAAS;YACT,KAAK;YACL,UAAU;AACV,YAAA,MAAM,EACR,EAAE,OAAO,EAAE,CACZ;IACH;AAEA,IAAA,mBAAmB,CAAC,KAAU,EAAE,KAAU,EAAE,MAAW,EAAA;QACrD,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,oCAAoC;YACpC,KAAK;YACL,SAAS;YACT,KAAK;YACL,UAAU;AACV,YAAA,MAAM,EACR,EAAE,OAAO,EAAE,CACZ;IACH;AAEA,IAAA,+BAA+B,CAAC,sBAA2B,EAAA;QACzD,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,sBAAsB,EACpE;AACE,YAAA,sBAAsB,EAAE,sBAAsB;SAC/C,EACD,OAAO,CACR;IACH;IAEA,YAAY,CACV,UAAA,GAAqB,IAAI,CAAC,mBAAmB,EAC7C,KAAA,GAAgB,CAAC,EACjB,KAAA,GAAgB,KAAK,EAAA;QAErB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,oBAAoB;YACpB,UAAU;YACV,sCAAsC;YACtC,KAAK;YACL,SAAS;YACT,KAAK;AACL,YAAA,uBAAuB,EACzB,EAAE,OAAO,EAAE,CACZ;IACH;AAEA;;AAE6E;AAE7E,IAAA,YAAY,CAAC,YAAiB,EAAE,YAAiB,EAAE,gBAAgB,GAAG,KAAK,EAAA;QACzE,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,mBAAmB,EACjE;AACE,YAAA,YAAY,EAAE,YAAY;AAC1B,YAAA,mBAAmB,EAAE,YAAY;AACjC,YAAA,gBAAgB,EAAE,gBAAgB;AACnC,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;IAEA,mBAAmB,CACjB,UAAe,EACf,YAAiB,EACjB,eAAe,GAAG,IAAI,EACtB,gBAAgB,GAAG,KAAK,EAAA;QAExB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,yBAAyB,EACvE;AACE,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,YAAY,EAAE,YAAY;AAC1B,YAAA,SAAS,EAAE,eAAe;AAC1B,YAAA,gBAAgB,EAAE,gBAAgB;AACnC,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;IAEA,YAAY,CAAC,IAAS,EAAE,MAAW,EAAA;QACjC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,yBAAyB,EACvE;AACE,YAAA,qBAAqB,EAAE,MAAM;AAC7B,YAAA,UAAU,EAAE,IAAI;AACjB,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA,IAAA,YAAY,CACV,UAAe,EACf,gBAA+B,EAC/B,UAAU,GAAG,KAAK,EAAA;QAElB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,aAAa,EAC3D;AACE,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,gBAAgB,EAAE,gBAAgB;AAClC,YAAA,UAAU,EAAE,UAAU;AACvB,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA,IAAA,oBAAoB,CAAC,UAAe,EAAE,UAAU,GAAG,KAAK,EAAA;AACtD,QAAA,IAAI,UAAU,IAAI,WAAW,EAAE;AAC7B,YAAA,IAAI,MAAM,GAAG,IAAI,CAAC,mBAAmB;YACrC,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC;QAC1D;AAAO,aAAA,IAAI,UAAU,IAAI,UAAU,EAAE;AACnC,YAAA,IAAI,MAAM,GAAG,IAAI,CAAC,mBAAmB;YACrC,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC;QAC1D;AAAO,aAAA,IAAI,UAAU,IAAI,OAAO,EAAE;AAChC,YAAA,IAAI,MAAM,GAAG,IAAI,CAAC,eAAe;YACjC,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC;QAC1D;AAAO,aAAA,IAAI,UAAU,IAAI,eAAe,EAAE;AACxC,YAAA,IAAI,MAAM,GAAG,IAAI,CAAC,uBAAuB;YACzC,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC;QAC1D;aAAO;YACL,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC;QACxD;IACF;;IAGA,WAAW,CACT,IAAI,GAAG,IAAI,EACX,eAAe,GAAG,OAAO,EACzB,eAAA,GAAuB,IAAI,EAAA;QAE3B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,2BAA2B;YAC3B,IAAI;YACJ,mBAAmB;AACnB,YAAA,eAAe,EACjB;AACE,YAAA,UAAU,EAAE,eAAe;SAC5B,EACD,OAAO,CACR;IACH;IAEA,gBAAgB,CAAC,IAAI,GAAG,eAAe,EAAA;QACrC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,uBAAuB;AACvB,YAAA,IAAI,EACN,EAAE,OAAO,EAAE,CACZ;IACH;AAEA;;AAE6E;IAE7E,YAAY,CAAC,UAAe,EAAE,UAAe,EAAA;QAC3C,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,aAAa,EAC3D;AACE,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,UAAU,EAAE,UAAU;AACvB,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;IAEA,WAAW,CAAC,SAAc,EAAE,YAAiB,EAAA;QAC3C,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,mBAAmB,EACjE;AACE,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,YAAY,EAAE,YAAY;AAC3B,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA,IAAA,MAAM,CAAC,gBAAqB,EAAE,QAAa,EAAE,kBAAuB,IAAI,EAAA;QACtE,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,YAAY,EAC1D;AACE,YAAA,gBAAgB,EAAE,gBAAgB;AAClC,YAAA,UAAU,EAAE,QAAQ;YACpB,aAAa,EAAE,eAAe,IAAI,IAAI,GAAG,KAAK,GAAG,eAAe;AACjE,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;IAEA,mBAAmB,CACjB,SAAc,EACd,SAAc,EACd,UAAe,EACf,SAAc,EACd,QAAa,EAAA;QAEb,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,kBAAkB,EAChE;AACE,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,QAAQ,EAAE,QAAQ;AACnB,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;IAEA,iBAAiB,CAAC,UAAkB,EAAE,kBAAuB,EAAA;QAC3D,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,kBAAkB;AAClB,YAAA,UAAU,EACZ;AACE,YAAA,kBAAkB,EAAE,kBAAkB;AACvC,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA,IAAA,eAAe,CAAC,kBAAuB,EAAA;QACrC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;AACT,aAAA,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,kBAAkB,GAAG,IAAI,EACvE;AACE,YAAA,kBAAkB,EAAE,kBAAkB;AACvC,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;IAEA,yBAAyB,CACvB,gBAAwB,EACxB,qBAA6B,EAAA;QAE7B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC;aACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,mBAAmB;YACnB,gBAAgB;YAChB,GAAG;AACH,YAAA,qBAAqB,EACvB,EAAE,OAAO,EAAE;AAEZ,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA,IAAA,WAAW,CAAC,0BAA+B,EAAA;QACzC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;AACzC,YAAA,gCAAgC,EAClC;AACE,YAAA,0BAA0B,EAAE,0BAA0B;AACvD,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;IAEA,qBAAqB,GAAA;QACnB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;AACzC,YAAA,gCAAgC,EAClC;AACE,YAAA,0BAA0B,EAAE,EAAE;AAC9B,YAAA,cAAc,EAAE,IAAI;AACrB,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA,IAAA,WAAW,CAAC,gBAAwB,EAAA;QAClC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,oCAAoC;AACpC,YAAA,gBAAgB,EAClB,EAAE,EACF,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;IACA,wBAAwB,GAAA;QACtB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC;aACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;AACzC,YAAA,+BAA+B,EACjC,EAAE,OAAO,EAAE;AAEZ,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA,IAAA,YAAY,CAAC,UAAkB,EAAA;AAC7B,QAAA,MAAM,WAAW,GAAG;AAClB,YAAA,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;SAC5C;QAED,OAAO,IAAI,CAAC;aACT,MAAM,CACL,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,cAAc;YACd,UAAU,EACZ,WAAW;AAEZ,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA,IAAA,YAAY,CAAC,oBAAyB,EAAA;QACpC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC;AACT,aAAA,OAAO,CACN,QAAQ,EACR,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,YAAY,EAC1D;AACE,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,IAAI,EAAE;AACJ,gBAAA,oBAAoB,EAAE,oBAAoB;AAC3C,aAAA;SACF;AAEF,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;IAEA,UAAU,GAAA;QACR,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC;AACT,aAAA,OAAO,CACN,QAAQ,EACR,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,YAAY,EAC1D;AACE,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,IAAI,EAAE;AACJ,gBAAA,oBAAoB,EAAE,EAAE;AACxB,gBAAA,UAAU,EAAE,IAAI;AACjB,aAAA;SACF;AAEF,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;;AAIA,IAAA,QAAQ,CAAC,SAAc,EAAA;QACrB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,qBAAqB,EACnE;AACE,YAAA,SAAS,EAAE,SAAS;AACrB,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA,IAAA,eAAe,CAAC,SAAc,EAAA;QAC5B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,oBAAoB,EAClE;AACE,YAAA,SAAS,EAAE,SAAS;AACrB,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;+GAj0BW,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAe,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAf,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAgB,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cAFf,MAAM,EAAA,CAAA,CAAA;;4FAEP,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCAY,qBAAqB,CAAA;AAChC,IAAA,WAAA,CACU,IAAiB,EACjB,gBAAiC,EACjC,IAAgB,EAChB,UAA4B,EAAA;QAH5B,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;QAChB,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,UAAU,GAAV,UAAU;IAChB;AAEJ;;AAE6E;AAE7E,IAAA,mBAAmB,CAAC,WAAmB,EAAA;QACrC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,gBAAgB,GAAG,WAAW,GAAG,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC;IAC7H;AAEA,IAAA,eAAe,CAAC,OAAe,EAAA;QAC7B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC;IAChH;AAEA,IAAA,sBAAsB,CAAC,OAAe,EAAA;QACpC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC;IACjH;AAEA,IAAA,eAAe,CAAC,OAAe,EAAE,OAAO,GAAG,KAAK,EAAA;QAC9C,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC;QAChH;aAAO;YACL,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,cAAc,GAAG,OAAO,GAAG,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC;QACvH;IACF;IAEA,wBAAwB,CAAC,OAAe,EAAE,aAAqB,EAAE,OAAO,GAAG,KAAK,EAAE,QAAQ,GAAG,EAAE,EAAA;QAC7F,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,IAAI,CAAC,OAAO,EAAE;AACZ,YAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,GAAG,aAAa,GAAG,YAAY,GAAG,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC;QAC3J;aAAO;AACL,YAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,cAAc,GAAG,OAAO,GAAG,UAAU,GAAG,aAAa,GAAG,YAAY,GAAG,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC;QAClK;IACF;IAEA,6BAA6B,CAAC,OAAe,EAAE,aAAqB,EAAA;QAClE,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,aAAa,GAAG,OAAO,GAAG,UAAU,GAAG,aAAa,EAAE,EAAE,OAAO,EAAE,CAAC;IACvI;AAEA,IAAA,eAAe,CAAC,OAAe,EAAE,aAAqB,EAAE,IAAS,EAAA;QAC/D,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,GAAG,GAAG,OAAO,GAAG,UAAU,GAAG,aAAa,EAAE,EAAE,OAAO,EAAE,CAAC;IACpI;IAEA,sBAAsB,CAAC,YAAoB,EAAE,KAAa,EAAA;QACxD,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,aAAa,GAAG,YAAY,GAAG,gBAAgB,GAAG,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC;IAC1I;AAEA,IAAA,oBAAoB,CAAC,KAAU,EAAA;QAC7B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,kBAAkB,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IAC7H;AAEA;;AAE6E;AAE7E,IAAA,eAAe,CAAC,OAAY,EAAE,aAAkB,EAAE,OAAO,GAAG,KAAK,EAAA;QAC/D,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,CAAC;iBACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,YAAY,EAC1D;AACE,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,SAAS,EAAE,WAAW;AACtB,gBAAA,UAAU,EAAE,aAAa;AAC1B,aAAA,EACD,OAAO;AAER,iBAAA,IAAI,CACH,QAAQ,CAAC,MAAK;gBACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;AAChE,gBAAA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,qBAAqB,EAAE,cAAc,EAAE,IAAI,CAAC;YAChF,CAAC,CAAC,CACH;QACL;aAAO;YACL,OAAO,IAAI,CAAC;iBACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,mBAAmB,EACjE;AACE,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,SAAS,EAAE,WAAW;AACtB,gBAAA,UAAU,EAAE,aAAa;AAC1B,aAAA,EACD,OAAO;AAER,iBAAA,IAAI,CACH,QAAQ,CAAC,MAAK;gBACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;AAChE,gBAAA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,qBAAqB,EAAE,cAAc,EAAE,IAAI,CAAC;YAChF,CAAC,CAAC,CACH;QACL;IACF;IAEA,gBAAgB,CAAC,OAAY,EAAE,kBAAuB,EAAE,iBAAsB,EAAE,OAAO,GAAG,KAAK,EAAA;QAC7F,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,CAAC;iBACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,6BAA6B,EAC3E;AACE,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,kBAAkB,EAAE,kBAAkB;AACtC,gBAAA,iBAAiB,EAAE,iBAAiB;AACrC,aAAA,EACD,OAAO;AAER,iBAAA,IAAI,CACH,QAAQ,CAAC,MAAK;gBACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;AAChE,gBAAA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,qBAAqB,EAAE,cAAc,EAAE,IAAI,CAAC;YAChF,CAAC,CAAC,CACH;QACL;aAAO;YACL,OAAO,IAAI,CAAC;iBACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,oCAAoC,EAClF;AACE,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,kBAAkB,EAAE,kBAAkB;AACtC,gBAAA,iBAAiB,EAAE,iBAAiB;AACrC,aAAA,EACD,OAAO;AAER,iBAAA,IAAI,CACH,QAAQ,CAAC,MAAK;gBACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;AAChE,gBAAA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,qBAAqB,EAAE,cAAc,EAAE,IAAI,CAAC;YAChF,CAAC,CAAC,CACH;QACL;IACF;IAEA,cAAc,CAAC,OAAY,EAAE,OAAY,EAAA;QACvC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,YAAY,EAC1D;AACE,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,SAAS,EAAE,YAAY;AACvB,YAAA,UAAU,EAAE,OAAO;SACpB,EACD,OAAO,CACR;IACH;IAEA,kBAAkB,CAAC,WAAgB,EAAE,aAAkB,EAAA;QACrD,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,qBAAqB,EACnE;AACE,YAAA,WAAW,EAAE,WAAW;AACxB,YAAA,SAAS,EAAE,eAAe;AAC1B,YAAA,UAAU,EAAE,aAAa;SAC1B,EACD,OAAO,CACR;IACH;AAEA,IAAA,cAAc,CAAC,OAAY,EAAE,KAAU,EAAE,cAAmB,EAAA;QAC1D,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,YAAY,EAC1D;AACE,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,SAAS,EAAE,KAAK;AAChB,YAAA,UAAU,EAAE,cAAc;SAC3B,EACD,OAAO,CACR;IACH;AAEA,IAAA,wBAAwB,CAAC,OAAY,EAAE,aAAkB,EAAE,aAAkB,EAAE,OAAO,GAAG,KAAK,EAAE,WAAW,GAAG,EAAE,EAAA;QAC9G,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,CAAC;iBACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,YAAY,EAC1D;AACE,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,SAAS,EAAE,aAAa;AACxB,gBAAA,UAAU,EAAE,aAAa;AACzB,gBAAA,SAAS,EAAE,IAAI;gBACf,QAAQ,EAAE,WAAW,GAAG,WAAW,GAAG;AACvC,aAAA,EACD,OAAO;AAER,iBAAA,IAAI,CACH,QAAQ,CAAC,MAAK;gBACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;AAChE,gBAAA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,qBAAqB,EAAE,cAAc,EAAE,aAAa,CAAC;YACzF,CAAC,CAAC,CACH;QACL;aAAO;YACL,OAAO,IAAI,CAAC;iBACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,mBAAmB,EACjE;AACE,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,SAAS,EAAE,aAAa;AACxB,gBAAA,UAAU,EAAE,aAAa;AACzB,gBAAA,SAAS,EAAE,IAAI;gBACf,QAAQ,EAAE,WAAW,GAAG,WAAW,GAAG;AACvC,aAAA,EACD,OAAO;AAER,iBAAA,IAAI,CACH,QAAQ,CAAC,MAAK;gBACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;AAChE,gBAAA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,qBAAqB,EAAE,cAAc,EAAE,aAAa,CAAC;YACzF,CAAC,CAAC,CACH;QACL;IACF;AAEA,IAAA,6BAA6B,CAAC,YAAiB,EAAE,aAAkB,EAAE,aAAkB,EAAA;QACrF,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,kBAAkB,EAChE;AACE,YAAA,YAAY,EAAE,YAAY;AAC1B,YAAA,SAAS,EAAE,aAAa;AACxB,YAAA,UAAU,EAAE,aAAa;AACzB,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,QAAQ,EAAE,EAAE;SACb,EACD,OAAO,CACR;IACH;AAEA,IAAA,mBAAmB,CAAC,YAAiB,EAAE,aAAkB,EAAE,SAAc,EAAA;QACvE,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,kBAAkB,EAChE;AACE,YAAA,YAAY,EAAE,YAAY;AAC1B,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,UAAU,EAAE,aAAa;SAC1B,EACD,OAAO,CACR;IACH;IAEA,mBAAmB,CAAC,SAAc,EAAE,YAAiB,EAAA;QACnD,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,qBAAqB,EACnE;AACE,YAAA,YAAY,EAAE,YAAY;AAC1B,YAAA,SAAS,EAAE,kBAAkB;AAC7B,YAAA,UAAU,EAAE,SAAS;SACtB,EACD,OAAO,CACR;IACH;+GArRW,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAF,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAf,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAgB,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,cAFpB,MAAM,EAAA,CAAA,CAAA;;4FAEP,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCDY,aAAa,CAAA;IAIxB,WAAA,CACU,IAAgB,EAChB,gBAAiC,EAAA;QADjC,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;AAL1B,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAC5C,IAAA,CAAA,QAAQ,GAAW,UAAU;IAKzB;AAEJ,IAAA,MAAM,CAAC,KAAyB,EAAA;QAC9B,OAAO,KAAK,CAAC,IAAI,CACf,YAAY,CAAC,GAAG,CAAC,EACjB,oBAAoB,EAAE,EACtB,SAAS,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAC9C;IACH;AAEA,IAAA,aAAa,CAAC,IAA+B,EAAA;QAC3C,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,YAAY,GAAG,IAAI,CAAC,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAACC,KAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;IAClK;+GApBW,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAlB,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAFZ,MAAM,EAAA,CAAA,CAAA;;4FAEP,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCCY,YAAY,CAAA;IACvB,WAAA,CACU,IAAgB,EAChB,gBAAiC,EAAA;QADjC,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;IACvB;AAEH;;AAE2E;IAE3E,QAAQ,CACN,KAAa,EACb,KAAa,EACb,MAAc,EACd,IAAY,EACZ,MAAc,EAAA;QAEd,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,eAAe;YACf,MAAM;YACN,SAAS;YACT,KAAK;YACL,SAAS;YACT,KAAK;YACL,eAAe;YACf,MAAM;YACN,YAAY;AACZ,YAAA,IAAI,EACN,EAAE,OAAO,EAAE,CACZ;IACH;IAEA,gBAAgB,CAAC,IAAY,EAAE,KAAa,EAAA;QAC1C,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,aAAa;YACb,IAAI;YACJ,aAAa;AACb,YAAA,KAAK,EACP,EAAE,OAAO,EAAE,CACZ;IACH;AAEA,IAAA,kBAAkB,CAAC,KAAa,EAAA;QAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,QAAQ,GAAG,KAAK,EAC9D,EAAE,OAAO,EAAE,CACZ;IACH;AAEA;;AAE2E;IAE3E,UAAU,CACR,KAAa,EACb,QAAgB,EAChB,WAAmB,EACnB,QAAgB,EAChB,MAAe,EACf,KAAa,EAAA;QAEb,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,OAAO,EACrD;AACE,YAAA,SAAS,EAAE,KAAK;AAChB,YAAA,YAAY,EAAE,QAAQ;AACtB,YAAA,eAAe,EAAE,WAAW;AAC5B,YAAA,YAAY,EAAE,QAAQ;AACtB,YAAA,YAAY,EAAE,MAAM;AACpB,YAAA,SAAS,EAAE,KAAK;SACjB,EACD,OAAO,CACR;IACH;IAEA,oBAAoB,CAAC,QAAkB,EAAE,KAAa,EAAA;QACpD,IAAI,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE;QAC5C,IAAI,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE;AAClD,QAAA,IAAI,OAAO,GAAG;YACZ,aAAa,EAAE,SAAS,GAAG,KAAK;AAChC,YAAA,iBAAiB,EAAE,QAAQ;SAC5B;AACD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,QAAQ;YACR,KAAK;AACL,YAAA,gBAAgB,EAClB,QAAQ,EACR,OAAO,CACR;IACH;AAEA;;AAE2E;AAE3E,IAAA,iBAAiB,CAAC,QAAgB,EAAE,SAAiB,EAAE,UAAkB,EAAA;QACvE,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,aAAa,EAC3D;AACE,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,UAAU,EAAE,UAAU;SACvB,EACD,OAAO,CACR;IACH;AAEA,IAAA,UAAU,CAAC,IAAgB,EAAA;QACzB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,OAAO,EACrD;AACE,YAAA,IAAI,EAAE,IAAI;SACX,EACD,OAAO,CACR;IACH;AAEA,IAAA,cAAc,CAAC,KAAa,EAAE,WAAmB,EAAE,WAAmB,EAAA;QACpE,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,sBAAsB,EACpE;AACE,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,WAAW,EAAE,WAAW;AACxB,YAAA,WAAW,EAAE,WAAW;SACzB,EACD,OAAO,CACR;IACH;AAEA;;AAE2E;AAE3E,IAAA,WAAW,CAAC,SAAmB,EAAA;QAC7B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAEhD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CACtB,QAAQ,EACR,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,OAAO,EACrD;AACE,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,IAAI,EAAE;AACJ,gBAAA,oBAAoB,EAAE,SAAS;AAChC,aAAA;AACF,SAAA,CACF;IACH;+GAjKW,YAAY,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cAFX,MAAM,EAAA,CAAA,CAAA;;4FAEP,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCAY,gBAAgB,CAAA;IAC3B,WAAA,CACU,IAAgB,EAChB,gBAAiC,EAAA;QADjC,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;IACvB;AAEH;;AAE6E;IAE7E,eAAe,GAAA;QACb,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,aAAa,EAC3D,EAAE,OAAO,EAAE,CACZ;IACH;AAEA;;AAE6E;AAE7E,IAAA,eAAe,CAAC,SAAc,EAAA;QAC5B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,aAAa,EAC3D;YACE,cAAc,EAAE,SAAS,CAAC,cAAc;YACxC,mBAAmB,EAAE,SAAS,CAAC,mBAAmB;YAClD,oBAAoB,EAAE,SAAS,CAAC,oBAAoB;YACpD,eAAe,EAAE,SAAS,CAAC,eAAe;YAC1C,cAAc,EAAE,SAAS,CAAC,cAAc;YACxC,kBAAkB,EAAE,SAAS,CAAC,kBAAkB;SACjD,EACD,OAAO,CACR;IACH;AAEA;;AAE6E;AAE7E,IAAA,eAAe,CAAC,SAAc,EAAA;QAC5B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,aAAa,EAC3D;YACE,cAAc,EAAE,SAAS,CAAC,cAAc;YACxC,cAAc,EAAE,SAAS,CAAC,cAAc;YACxC,mBAAmB,EAAE,SAAS,CAAC,mBAAmB;YAClD,oBAAoB,EAAE,SAAS,CAAC,oBAAoB;YACpD,eAAe,EAAE,SAAS,CAAC,eAAe;YAC1C,cAAc,EAAE,SAAS,CAAC,cAAc;YACxC,kBAAkB,EAAE,SAAS,CAAC,kBAAkB;SACjD,EACD,OAAO,CACR;IACH;AAEA,IAAA,sBAAsB,CACpB,cAAsB,EACtB,SAAiB,EACjB,UAAe,EAAA;QAEf,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,mBAAmB,EACjE;AACE,YAAA,cAAc,EAAE,cAAc;AAC9B,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,UAAU,EAAE,UAAU;SACvB,EACD,OAAO,CACR;IACH;AAEA;;AAE6E;AAE7E,IAAA,eAAe,CAAC,kBAAuB,EAAA;QACrC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CACtB,QAAQ,EACR,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,aAAa,EAC3D;AACE,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,IAAI,EAAE;AACJ,gBAAA,yBAAyB,EAAE,kBAAkB;AAC9C,aAAA;AACF,SAAA,CACF;IACH;+GA/FW,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cAFf,MAAM,EAAA,CAAA,CAAA;;4FAEP,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCGY,0BAA0B,CAAA;IAMrC,WAAA,CACU,gBAAiC,EACjC,IAAgB,EAAA;QADhB,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;QAChB,IAAA,CAAA,IAAI,GAAJ,IAAI;AAPN,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,EAAO;IAQlC;AAEH,IAAA,UAAU,CAAC,OAAe,EAAA;;QAExB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9B;IAEA,SAAS,GAAA;;QAEP,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;IACtC;AAEA,IAAA,gBAAgB,CAAC,KAAA,GAAa,CAAC,EAAE,KAAW,EAAA;QAC1C,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,cAAc,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,EAAE;AACnD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,sBAAsB;YACtB,KAAK;AACL,YAAA,cAAc,EAChB,EAAE,OAAO,EAAE,CACZ;IACH;IAEA,WAAW,GAAA;QACT,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,2BAA2B,EACzE,EAAE,EACF,OAAO,CACR;IACH;AAEA,IAAA,YAAY,CAAC,gBAAwB,EAAA;QACnC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,8CAA8C;AAC9C,YAAA,gBAAgB,EAClB,EAAE,EACF,OAAO,CACR;IACH;AAEO,IAAA,UAAU,CAAC,OAAmB,EAAA;AACnC,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;IACxB;IAEO,IAAI,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE;IAC7B;IAEO,KAAK,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE;IAC9B;IAEO,MAAM,GAAA;AACX,QAAA,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE;IACxB;+GArEW,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAO,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAL,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,cAFzB,MAAM,EAAA,CAAA,CAAA;;4FAEP,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCHY,gBAAgB,CAAA;AAC3B;;;;;;AAMG;IACH,MAAM,iBAAiB,CAAC,SAAiB,EAAE,QAAA,GAAmB,GAAG,EAAE,OAAA,GAAkB,GAAG,EAAA;QACtF,IAAI,CAAC,SAAS,EAAE;AACd,YAAA,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC;QACxC;;AAGA,QAAA,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE;QAC9B,MAAM,GAAG,GAAG,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,eAAe,CAAC;AAC9D,QAAA,MAAM,KAAK,GAAG,GAAG,CAAC,eAA2C;;AAG7D,QAAA,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;;AAG7B,QAAA,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;AAE9B,QAAA,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC;AAC9D,QAAA,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC;AAChE,QAAA,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,IAAI,CAAC;QAEvC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC;AAC5C,QAAA,MAAM,WAAW,GAAG,UAAU,GAAG,WAAW;;QAG5C,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC;QAClE,MAAM,OAAO,GAAG,mCAAmC,GAAG,kBAAkB,CAAC,aAAa,CAAC;QAEvF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACrC,YAAA,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE;AAEvB,YAAA,GAAG,CAAC,MAAM,GAAG,MAAK;AAChB,gBAAA,IAAI;oBACF,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;AAC/C,oBAAA,MAAM,CAAC,KAAK,GAAG,UAAU;AACzB,oBAAA,MAAM,CAAC,MAAM,GAAG,WAAW;oBAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;oBAEnC,IAAI,CAAC,GAAG,EAAE;AACR,wBAAA,MAAM,CAAC,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;wBACjD;oBACF;AAEA,oBAAA,GAAG,CAAC,qBAAqB,GAAG,IAAI;AAChC,oBAAA,GAAG,CAAC,qBAAqB,GAAG,MAAM;;AAGlC,oBAAA,GAAG,CAAC,SAAS,GAAG,OAAO;oBACvB,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,WAAW,CAAC;AAE3C,oBAAA,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,WAAW,CAAC;AAEjD,oBAAA,MAAM,CAAC,MAAM,CACX,CAAC,IAAI,KAAI;AACP,wBAAA,IAAI,IAAI;4BAAE,OAAO,CAAC,IAAI,CAAC;;AAClB,4BAAA,MAAM,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;AAChD,oBAAA,CAAC,EACD,YAAY,EACZ,OAAO,CACR;gBACH;gBAAE,OAAO,GAAG,EAAE;AACZ,oBAAA,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,GAAG,CAAC;oBAC1C,MAAM,CAAC,GAAG,CAAC;gBACb;AACF,YAAA,CAAC;AAED,YAAA,GAAG,CAAC,OAAO,GAAG,CAAC,GAAG,KAAI;AACpB,gBAAA,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,GAAG,CAAC;AACxD,gBAAA,MAAM,CAAC,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;AACzD,YAAA,CAAC;AAED,YAAA,GAAG,CAAC,GAAG,GAAG,OAAO;AACnB,QAAA,CAAC,CAAC;IACJ;AAEQ,IAAA,iBAAiB,CAAC,KAAoB,EAAA;;AAE5C,QAAA,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC;;QAG/B,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,KAAI;AAClD,YAAA,IAAI,GAAG,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE;;YAEnC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC;;YAExC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,mCAAmC,EAAE,MAAM,CAAC;AAC9D,YAAA,OAAO,CAAC,WAAW,GAAG,GAAG;AAC3B,QAAA,CAAC,CAAC;;AAGF,QAAA,KAAK,CAAC,gBAAgB,CAAC,qCAAqC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,CAAC;IAC5F;AAEQ,IAAA,mBAAmB,CAAC,KAAoB,EAAA;;AAE9C,QAAA,MAAM,IAAI,GAAG,QAAQ,CAAC,eAAe;AACrC,QAAA,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC;;QAGvC,MAAM,QAAQ,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,CAAC;QAE3I,IAAI,OAAO,GAAG,WAAW;AACzB,QAAA,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;YACxB,MAAM,GAAG,GAAG,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;AAClD,YAAA,IAAI,GAAG;AAAE,gBAAA,OAAO,IAAI,CAAA,EAAA,EAAK,IAAI,CAAA,EAAA,EAAK,GAAG,KAAK;AAC5C,QAAA,CAAC,CAAC;QACF,OAAO,IAAI,KAAK;QAEhB,MAAM,OAAO,GAAG,QAAQ,CAAC,eAAe,CAAC,4BAA4B,EAAE,OAAO,CAAC;AAC/E,QAAA,OAAO,CAAC,WAAW,GAAG,OAAO;QAC7B,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC;IAC/C;IAEQ,MAAM,YAAY,CAAC,KAAoB,EAAA;QAC7C,MAAM,QAAQ,GAAoB,EAAE;;;QAIpC,KAAK,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;YACnD,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,KAAK;AACrD,YAAA,MAAM,GAAG,GAAG,SAAS,GAAI,GAAwB,CAAC,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC;YAEhF,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;gBACnC,QAAQ,CAAC,IAAI,CACX,IAAI,CAAC,SAAS,CAAC,GAAG;AACf,qBAAA,IAAI,CAAC,CAAC,OAAO,KAAI;AAChB,oBAAA,IAAI,SAAS;AAAG,wBAAA,GAAwB,CAAC,GAAG,GAAG,OAAO;;AACjD,wBAAA,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC;AACxC,gBAAA,CAAC;qBACA,KAAK,CAAC,MAAK;;;oBAGV,GAAG,CAAC,MAAM,EAAE;gBACd,CAAC,CAAC,CACL;YACH;AACF,QAAA,CAAC,CAAC;;QAGF,KAAK,CAAC,gBAAgB,CAAC,6BAA6B,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,KAAI;YACnE,MAAM,MAAM,GAAG,EAAiB;AAChC,YAAA,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,eAAe;YACvC,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,iCAAiC,CAAC;AACzD,YAAA,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;gBACtD,QAAQ,CAAC,IAAI,CACX,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AACpB,qBAAA,IAAI,CAAC,CAAC,OAAO,KAAI;oBAChB,MAAM,CAAC,KAAK,CAAC,eAAe,GAAG,CAAA,KAAA,EAAQ,OAAO,IAAI;AACpD,gBAAA,CAAC;qBACA,KAAK,CAAC,MAAK;AACV,oBAAA,MAAM,CAAC,KAAK,CAAC,eAAe,GAAG,MAAM;gBACvC,CAAC,CAAC,CACL;YACH;AACF,QAAA,CAAC,CAAC;AAEF,QAAA,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC7B;IAEQ,MAAM,SAAS,CAAC,GAAW,EAAA;AACjC,QAAA,IAAI;AACF,YAAA,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC;YACjC,IAAI,CAAC,QAAQ,CAAC,EAAE;AAAE,gBAAA,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC;AACjD,YAAA,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;YAClC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACrC,gBAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE;AAC/B,gBAAA,MAAM,CAAC,SAAS,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,MAAgB,CAAC;AACzD,gBAAA,MAAM,CAAC,OAAO,GAAG,MAAM;AACvB,gBAAA,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC;AAC5B,YAAA,CAAC,CAAC;QACJ;AAAE,QAAA,MAAM;AACN,YAAA,MAAM,IAAI,KAAK,CAAC,kCAAkC,GAAG,CAAA,CAAE,CAAC;QAC1D;IACF;+GApLW,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cAFf,MAAM,EAAA,CAAA,CAAA;;4FAEP,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCKY,iBAAiB,CAAA;AAC5B,IAAA,WAAA,CACU,IAAgB,EAChB,gBAAiC,EACjC,gBAAkC,EAAA;QAFlC,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;QAChB,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;IACvB;AAEH,IAAA,gBAAgB,CAAC,iBAAsB,EAAA;QACrC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,yBAAyB,EACvE,iBAAiB,EACjB,OAAO,CACR;IACH;AAEA,IAAA,MAAM,iBAAiB,CAAC,iBAAsB,EAAE,KAAU,EAAA;;AAExD,QAAA,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE;AAEvB,QAAA,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE;AAClC,YAAA,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC;QAC1B;AAEA,QAAA,KAAK,CAAC,OAAO,CAAC,CAAC,CAAM,KAAI;YACvB,MAAM,QAAQ,GAAG,CAAC,CAAC,UAAU,GAAG,CAAA,EAAG,CAAC,CAAC,UAAU,CAAA,EAAA,EAAK,CAAC,CAAC,IAAI,CAAA,CAAE,GAAG,CAAC,CAAC,IAAI;YACrE,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC;AAC3B,QAAA,CAAC,CAAC;;AAGF,QAAA,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE;YAClC,OAAO,CAAC,GAAG,CACT,CAAA,2CAAA,EAA8C,KAAK,CAAC,MAAM,CAAA,SAAA,CAAW,CACtE;YACD,MAAM,UAAU,GAAG,CAAC;AACpB,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,UAAU,EAAE;AACjD,gBAAA,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC;AAC5C,gBAAA,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,GAAG,CAAC,OAAO,CAAM,KAAI;AACzB,oBAAA,IAAI;AACF,wBAAA,MAAM,aAAa,GACjB,MAAM,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC;AACtD,wBAAA,MAAM,QAAQ,GAAG,CAAC,CAAC;8BACf,GAAG,CAAC,CAAC,UAAU,CAAA,EAAA,EAAK,CAAC,CAAC,IAAI,CAAA;AAC5B,8BAAE,CAAC,CAAC,IAAI;wBACV,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC;wBACtD,GAAG,CAAC,IAAI,CAAC,CAAA,WAAA,EAAc,SAAS,CAAA,CAAE,EAAE,aAAa,CAAC;oBACpD;oBAAE,OAAO,GAAG,EAAE;wBACZ,OAAO,CAAC,KAAK,CACX,CAAA,kDAAA,EAAqD,CAAC,CAAC,IAAI,CAAA,CAAE,EAC7D,GAAG,CACJ;oBACH;gBACF,CAAC,CAAC,CACH;YACH;QACF;;AAGA,QAAA,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC;AACtC,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,WAAW,EAAE,SAAS;AACtB,YAAA,kBAAkB,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;AACjC,SAAA,CAAC;;AAGF,QAAA,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI;AAClC,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,UAAU,CAAC;AACxD,QAAA,MAAM,QAAQ,GAAG,CAAA,EAAG,iBAAiB,CAAC,UAAU,CAAA,CAAA,EAAI,IAAI,CAAC,GAAG,EAAE,CAAA,CAAE;;AAGhE,QAAA,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,WAAW,EAAE,UAAU,EAAE,EAAE;AAC/D,YAAA,MAAM,KAAK,GAAG,UAAU,GAAG,UAAU;AACrC,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC;YACtD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC;AAEvC,YAAA,MAAM,IAAI,CAAC,SAAS,CAClB,iBAAiB,EACjB,KAAK,EACL,QAAQ,EACR,UAAU,EACV,WAAW,CACZ;QACH;IACF;IAEA,MAAM,SAAS,CACb,SAAc,EACd,SAAe,EACf,QAAgB,EAChB,UAAkB,EAClB,WAAmB,EAAA;AAEnB,QAAA,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE;;QAG/B,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;AACrC,YAAA,IACE,SAAS,CAAC,GAAG,CAAC,KAAK,IAAI;AACvB,gBAAA,SAAS,CAAC,GAAG,CAAC,KAAK,SAAS;gBAC5B,GAAG,KAAK,OAAO,EACf;AACA,gBAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;YACjD;AACF,QAAA,CAAC,CAAC;;AAGF,QAAA,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC;QACrC,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;QACpD,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC;;QAGtD,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,EAAE,CAAA,MAAA,EAAS,UAAU,CAAA,IAAA,CAAM,CAAC;QAElE,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,YAAY,WAAW,EAAE;AAClC,YAAA,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;AAAE,gBAAA,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC;QAC3E;aAAO;YACL,IAAI,OAAO,CAAC,cAAc,CAAC;AAAE,gBAAA,OAAO,OAAO,CAAC,cAAc,CAAC;QAC7D;QAEA,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;AACzC,YAAA,gCAAgC,EAClC,QAAQ,EACR,EAAE,OAAO,EAAE;AAEZ,aAAA,SAAS,EAAE;IAChB;IAEA,sBAAsB,CACpB,KAAK,GAAG,CAAC,EACT,KAAK,GAAG,KAAK,EACb,IAAI,GAAG,KAAK,EACZ,MAAM,GAAG,EAAE,EACX,MAAM,GAAG,MAAM,EACf,IAAI,GAAG,yBAAyB,EAChC,SAAS,GAAG,KAAK,EAAA;QAEjB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,yCAAyC;YACzC,KAAK;YACL,SAAS;YACT,KAAK;YACL,QAAQ;YACR,IAAI;YACJ,UAAU;YACV,MAAM;YACN,UAAU;YACV,MAAM;YACN,QAAQ;YACR,IAAI;YACJ,aAAa;AACb,YAAA,SAAS,EACX,EAAE,OAAO,EAAE,CACZ;IACH;AAEA,IAAA,aAAa,CAAC,WAAgB,EAAA;QAC5B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;AACzC,YAAA,mCAAmC,EACrC,WAAW,EACX,EAAE,OAAO,EAAE,CACZ;IACH;AAEA,IAAA,cAAc,CAAC,OAAe,EAAA;QAC5B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,2CAA2C;AAC3C,YAAA,OAAO,EACT,EAAE,OAAO,EAAE,CACZ;IACH;AAEA,IAAA,iBAAiB,CAAC,OAAe,EAAA;QAC/B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CACrB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,oCAAoC;AACpC,YAAA,OAAO,EACT,EAAE,OAAO,EAAE,CACZ;IACH;IAEA,YAAY,CACV,QAAgB,EAChB,gBAAwB,EACxB,YAAoB,EACpB,uBAAgC,IAAI,EAAA;QAEpC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,iCAAiC;YACjC,QAAQ;YACR,oBAAoB;YACpB,gBAAgB;YAChB,gBAAgB;YAChB,YAAY;YACZ,wBAAwB;AACxB,YAAA,oBAAoB,EACtB,EAAE,OAAO,EAAE,CACZ;IACH;+GAnNW,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAF,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAqB,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFhB,MAAM,EAAA,CAAA,CAAA;;4FAEP,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCEY,oBAAoB,CAAA;AAC/B,IAAA,WAAA,CACU,IAAiB,EACjB,gBAAiC,EACjC,IAAgB,EAChB,UAA4B,EAAA;QAH5B,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;QAChB,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,UAAU,GAAV,UAAU;IACjB;AAEH;;AAE6E;AAE7E,IAAA,2BAA2B,CAAC,SAAiB,EAAA;QAC3C,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,2BAA2B;AAC3B,YAAA,SAAS,EACX,EAAE,OAAO,EAAE,CACZ;IACH;AAEA,IAAA,oBAAoB,CAClB,gBAAwB,EACxB,KAAK,GAAG,CAAC,EACT,KAAK,GAAG,KAAK,EACb,OAAO,GAAG,KAAK,EAAA;QAEf,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,qBAAqB;YACrB,gBAAgB;YAChB,eAAe;YACf,KAAK;YACL,SAAS;YACT,KAAK;YACL,WAAW;AACX,YAAA,OAAO,EACT,EAAE,OAAO,EAAE,CACZ;IACH;AAEA,IAAA,sBAAsB,CAAC,SAAiB,EAAA;QACtC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,mCAAmC;AACnC,YAAA,SAAS,EACX,EAAE,OAAO,EAAE,CACZ;IACH;IAEA,yBAAyB,CACvB,gBAAwB,EACxB,oBAA4B,EAAA;QAE5B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,qBAAqB;YACrB,gBAAgB;YAChB,OAAO,EACT,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAClC,EAAE,OAAO,EAAE,CACZ;IACH;IAEA,8BAA8B,CAAC,gBAAwB,EAAE,SAAiB,EAAA;QACxE,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,qBAAqB;YACrB,gBAAgB;YAChB,OAAO,EACT,EAAE,OAAO,EAAE,SAAS,EAAE,EACtB,EAAE,OAAO,EAAE,CACZ;IACH;AAEA;;AAE6E;IAE7E,mBAAmB,CACjB,0BAA+B,EAC/B,gBAAwB,EAAA;QAExB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;AACzC,YAAA,0BAA0B,EAC5B;AACE,YAAA,0BAA0B,EAAE,0BAA0B;AACtD,YAAA,gBAAgB,EAAE,gBAAgB;AACnC,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACHC,UAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;IAEA,oBAAoB,CAAC,iBAAwB,EAAE,gBAAwB,EAAA;QACrE,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;AACzC,YAAA,+BAA+B,EACjC;YACE,gBAAgB;AAChB,YAAA,KAAK,EAAE,iBAAiB;AACzB,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACHA,UAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA,IAAA,wBAAwB,CAAC,kBAAuB,EAAA;QAC9C,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;AACzC,YAAA,4BAA4B,EAC9B,kBAAkB,EAClB,OAAO,CACR;IACH;IAEA,uBAAuB,CAAC,SAAiB,EAAE,UAAkB,EAAA;QAC3D,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,0BAA0B,EACxE;AACE,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,UAAU,EAAE,UAAU;SACvB,EACD,OAAO,CACR;IACH;AAEA,IAAA,kBAAkB,CAAC,SAAiB,EAAE,SAAiB,EAAE,UAAiB,EAAE,EAAA;QAC1E,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,oBAAoB,EAClE;AACE,YAAA,gBAAgB,EAAE,SAAS;AAC3B,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,OAAO,EAAE,OAAO;SACjB,EACD,OAAO,CACR;IACH;AAEA,IAAA,kBAAkB,CAChB,SAAiB,EACjB,IAAU,EACV,eAAuB,EACvB,YAAsB,EAAA;QAEtB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,YAAY,WAAW,EAAE;AAClC,YAAA,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE;AAC/B,gBAAA,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC;YAC1C;QACF;AAAO,aAAA,IAAI,OAAO,CAAC,cAAc,CAAC,EAAE;AAClC,YAAA,OAAO,OAAO,CAAC,cAAc,CAAC;QAChC;AACA,QAAA,MAAM,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAEpC,QAAA,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE;AAC/B,QAAA,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;AAC7B,QAAA,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,eAAe,CAAC;AACnD,QAAA,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QAEnE,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;AACzC,YAAA,CAAA,0BAAA,EAA6B,SAAS,CAAA,CAAE,EAC1C,QAAQ,EACR,OAAO;AAER,aAAA,IAAI,CACHA,UAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA;;AAE6E;AAE7E,IAAA,kBAAkB,CAAC,gBAAwB,EAAA;QACzC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,qBAAqB;AACrB,YAAA,gBAAgB,EAClB,EAAE,OAAO,EAAE,CACZ;IACL;AAEA,IAAA,wBAAwB,CAAC,sBAA8B,EAAA;QACrD,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC;aACT,MAAM,CACL,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,6BAA6B;AAC7B,YAAA,sBAAsB,EACxB,EAAE,OAAO,EAAE;AAEZ,aAAA,IAAI,CACHA,UAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA,IAAA,sBAAsB,CAAC,oBAA4B,EAAA;QACjD,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,2BAA2B;AAC3B,YAAA,oBAAoB,EACtB,EAAE,OAAO,EAAE,CACZ;IACL;AAEA;;AAE6E;AAE7E,IAAA,sBAAsB,CAAC,gBAAqB,EAAA;QAC1C,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;AACzC,YAAA,0BAA0B,EAC5B,gBAAgB,EAChB,OAAO;AAER,aAAA,IAAI,CACHA,UAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA,IAAA,wBAAwB,CAAC,kBAAuB,EAAA;QAC9C,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;AACzC,YAAA,4BAA4B,EAC9B,kBAAkB,EAClB,OAAO;AAER,aAAA,IAAI,CACHA,UAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;+GApRW,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAP,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAf,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAgB,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,cAFnB,MAAM,EAAA,CAAA,CAAA;;4FAEP,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCKY,eAAe,CAAA;AAY1B,IAAA,WAAA,CAAY,OAA6B,EAAE,EAAA;QAXnC,IAAA,CAAA,gBAAgB,GAAW,EAAE;QAC7B,IAAA,CAAA,OAAO,GAAW,CAAC;QACnB,IAAA,CAAA,KAAK,GAAW,EAAE;AAClB,QAAA,IAAA,CAAA,OAAO,GAAW,CAAC,CAAC;QACpB,IAAA,CAAA,WAAW,GAAW,EAAE;QACxB,IAAA,CAAA,MAAM,GAAW,CAAC;QAClB,IAAA,CAAA,WAAW,GAAyB,IAAI;QACxC,IAAA,CAAA,KAAK,GAAW,MAAM;QACtB,IAAA,CAAA,UAAU,GAAW,CAAC;QACtB,IAAA,CAAA,WAAW,GAAU,EAAE;QAG7B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe,IAAI,EAAE;QAClD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE;QAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE;QACvC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI;QACzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,MAAM;QAC/B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE;IACzC;AAEA,IAAA,IAAI,eAAe,GAAA;QACjB,OAAO,IAAI,CAAC,gBAAgB;IAC9B;IACA,IAAI,eAAe,CAAC,KAAa,EAAA;AAC/B,QAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,IAAI,EAAE;IACrC;AAEA,IAAA,IAAI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,OAAO;IACrB;IACA,IAAI,MAAM,CAAC,KAAa,EAAA;AACtB,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,IAAI,CAAC;IAC3B;AAEA,IAAA,IAAI,IAAI,GAAA;QACN,OAAO,IAAI,CAAC,KAAK;IACnB;IACA,IAAI,IAAI,CAAC,KAAa,EAAA;AACpB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,EAAE;IAC1B;AAEA,IAAA,IAAI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,OAAO;IACrB;IACA,IAAI,MAAM,CAAC,KAAa,EAAA;AACtB,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,IAAI,CAAC;IAC3B;AAEA,IAAA,IAAI,UAAU,GAAA;QACZ,OAAO,IAAI,CAAC,WAAW;IACzB;IACA,IAAI,UAAU,CAAC,KAAa,EAAA;AAC1B,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,IAAI,EAAE;IAChC;AAEA,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,MAAM;IACpB;IACA,IAAI,KAAK,CAAC,KAAa,EAAA;AACrB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,IAAI,CAAC;IAC1B;AAEA,IAAA,IAAI,UAAU,GAAA;QACZ,OAAO,IAAI,CAAC,WAAW;IACzB;IACA,IAAI,UAAU,CAAC,KAA2B,EAAA;AACxC,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK;IAC1B;AAEA,IAAA,IAAI,IAAI,GAAA;QACN,OAAO,IAAI,CAAC,KAAK;IACnB;IACA,IAAI,IAAI,CAAC,KAAa,EAAA;AACpB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,MAAM;IAC9B;AAEA,IAAA,IAAI,SAAS,GAAA;QACX,OAAO,IAAI,CAAC,UAAU;IACxB;IACA,IAAI,SAAS,CAAC,KAAa,EAAA;AACzB,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,IAAI,CAAC;IAC9B;AAEA,IAAA,IAAI,UAAU,GAAA;QACZ,OAAO,IAAI,CAAC,WAAW;IACzB;IACA,IAAI,UAAU,CAAC,KAAY,EAAA;AACzB,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,IAAI,EAAE;IAChC;IAEA,MAAM,GAAA;QACJ,OAAO;YACL,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B;IACH;AACD;;ACzHM,MAAM,uBAAuB,GAAG;MAiH1B,WAAW,CAAA;AAuDtB,IAAA,WAAA,CAAY,OAAyB,EAAE,EAAA;QAtD/B,IAAA,CAAA,gBAAgB,GAAW,uBAAuB;QAClD,IAAA,CAAA,cAAc,GAAW,CAAC;QAC1B,IAAA,CAAA,kBAAkB,GAAY,KAAK;QACnC,IAAA,CAAA,gBAAgB,GAAW,EAAE;QAC7B,IAAA,CAAA,uBAAuB,GAAW,EAAE;QACpC,IAAA,CAAA,0BAA0B,GAAyB,IAAI;QACvD,IAAA,CAAA,oBAAoB,GAAyB,IAAI;QACjD,IAAA,CAAA,kBAAkB,GAAY,KAAK;QACnC,IAAA,CAAA,kBAAkB,GAAW,CAAC;QAC9B,IAAA,CAAA,mBAAmB,GAAW,EAAE;QAChC,IAAA,CAAA,sBAAsB,GAAW,EAAE;QACnC,IAAA,CAAA,uBAAuB,GAAW,EAAE;QACpC,IAAA,CAAA,qBAAqB,GAAW,EAAE;QAClC,IAAA,CAAA,eAAe,GAAW,EAAE;QAC5B,IAAA,CAAA,sBAAsB,GAAW,CAAC;QAClC,IAAA,CAAA,oBAAoB,GAAW,EAAE;QACjC,IAAA,CAAA,yBAAyB,GAAW,EAAE;QACtC,IAAA,CAAA,kBAAkB,GAAW,EAAE;QAC/B,IAAA,CAAA,+BAA+B,GAAY,KAAK;QAChD,IAAA,CAAA,mBAAmB,GAAW,EAAE;QAChC,IAAA,CAAA,iBAAiB,GAAW,EAAE;QAC9B,IAAA,CAAA,gBAAgB,GAAW,EAAE;QAC7B,IAAA,CAAA,iBAAiB,GAAW,EAAE;QAC9B,IAAA,CAAA,oBAAoB,GAAW,CAAC;QAChC,IAAA,CAAA,gBAAgB,GAAW,EAAE;QAC7B,IAAA,CAAA,mBAAmB,GAAW,CAAC;QAC/B,IAAA,CAAA,wBAAwB,GAAa,EAAE;QACvC,IAAA,CAAA,qBAAqB,GAAW,CAAC;QACjC,IAAA,CAAA,yBAAyB,GAAY,KAAK;QAC1C,IAAA,CAAA,wBAAwB,GAAW,uBAAuB;QAC1D,IAAA,CAAA,qBAAqB,GAAW,EAAE;QAClC,IAAA,CAAA,oBAAoB,GAAW,EAAE;QACjC,IAAA,CAAA,oBAAoB,GAAW,CAAC;QAChC,IAAA,CAAA,yBAAyB,GAAW,uBAAuB;QAC3D,IAAA,CAAA,uBAAuB,GAAW,EAAE;QACpC,IAAA,CAAA,sBAAsB,GAAU,EAAE;QAClC,IAAA,CAAA,oBAAoB,GAAW,EAAE;QACjC,IAAA,CAAA,0BAA0B,GAAY,IAAI;QAC1C,IAAA,CAAA,oBAAoB,GAAY,KAAK;QACrC,IAAA,CAAA,4BAA4B,GAAkB,IAAI;QAClD,IAAA,CAAA,iCAAiC,GAAkB,IAAI;QACvD,IAAA,CAAA,yBAAyB,GAAa,EAAE;QACxC,IAAA,CAAA,yCAAyC,GAAW,EAAE;QACtD,IAAA,CAAA,uBAAuB,GAAW,EAAE;QACpC,IAAA,CAAA,kCAAkC,GAAW,EAAE;QAC/C,IAAA,CAAA,sBAAsB,GAAW,EAAE;QACnC,IAAA,CAAA,wBAAwB,GAAW,EAAE;QACrC,IAAA,CAAA,wBAAwB,GAAW,EAAE;QACrC,IAAA,CAAA,mBAAmB,GAAW,CAAC;QAC/B,IAAA,CAAA,kBAAkB,GAAW,CAAC;QAC9B,IAAA,CAAA,iBAAiB,GAAsB,EAAE;QACzC,IAAA,CAAA,sBAAsB,GAAW,EAAE;QACnC,IAAA,CAAA,cAAc,GAAW,EAAE;QAGjC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe,IAAI,uBAAuB;QACvE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,CAAC;QAC5C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,IAAI,KAAK;QACxD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,EAAE;QACjD,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,IAAI,EAAE;QAC/D,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,yBAAyB,IAAI,IAAI;QACvE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,IAAI,IAAI;QAC3D,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,IAAI,KAAK;QACxD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,IAAI,CAAC;QACpD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,IAAI,EAAE;QACvD,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,IAAI,EAAE;QAC7D,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,IAAI,EAAE;QAC/D,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,IAAI,EAAE;QAC3D,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,EAAE;QAC/C,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,IAAI,CAAC;QAC5D,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,IAAI,EAAE;QACzD,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,wBAAwB,IAAI,EAAE;QACnE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,IAAI,EAAE;QACrD,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC,8BAA8B,IAAI,KAAK;QAClF,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,IAAI,EAAE;QACvD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,EAAE;QACnD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,EAAE;QACjD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,EAAE;QACnD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,IAAI,CAAC;QACxD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,EAAE;QACjD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,IAAI,CAAC;QACtD,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,IAAI,EAAE;QACjE,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,IAAI,CAAC;QAC1D,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,wBAAwB,IAAI,KAAK;AACtE,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,IAAI,EAAE;QACnE,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,IAAI,uBAAuB;QACtF,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,IAAI,EAAE;QAC3D,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,IAAI,EAAE;QACzD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,IAAI,CAAC;QACxD,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,wBAAwB,IAAI,uBAAuB;QACxF,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,IAAI,EAAE;QAC/D,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,IAAI,EAAE;QAC7D,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,IAAI,EAAE;QACzD,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,yBAAyB,IAAI,IAAI;QACvE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,IAAI,KAAK;QAC5D,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,2BAA2B,IAAI,IAAI;QAC3E,IAAI,CAAC,gCAAgC,GAAG,IAAI,CAAC,gCAAgC,IAAI,IAAI;QACrF,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,wBAAwB,IAAI,EAAE;QACnE,IAAI,CAAC,wCAAwC,GAAG,IAAI,CAAC,wCAAwC,IAAI,EAAE;QACnG,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,IAAI,EAAE;QAC/D,IAAI,CAAC,iCAAiC,GAAG,IAAI,CAAC,iCAAiC,IAAI,EAAE;QACrF,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,IAAI,EAAE;QAC7D,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,IAAI,EAAE;QACjE,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,IAAI,EAAE;QACjE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,IAAI,CAAC;QACtD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,IAAI,CAAC;AACpD,QAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,qBAAqB,IAAI,EAAE;AAE5F,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACzB,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB;AACnC,YAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE;QAC/F;aAAO;AACL,YAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE;QAC7B;IACF;;AAGA,IAAA,IAAI,eAAe,GAAA;QACjB,OAAO,IAAI,CAAC,gBAAgB;IAC9B;IACA,IAAI,eAAe,CAAC,KAAa,EAAA;AAC/B,QAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,IAAI,uBAAuB;IAC1D;AAEA,IAAA,IAAI,aAAa,GAAA;QACf,OAAO,IAAI,CAAC,cAAc;IAC5B;IACA,IAAI,aAAa,CAAC,KAAa,EAAA;AAC7B,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK,IAAI,CAAC;IAClC;AAEA,IAAA,IAAI,iBAAiB,GAAA;QACnB,OAAO,IAAI,CAAC,kBAAkB;IAChC;IACA,IAAI,iBAAiB,CAAC,KAAc,EAAA;AAClC,QAAA,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC,KAAK;IACnC;AAEA,IAAA,IAAI,eAAe,GAAA;QACjB,OAAO,IAAI,CAAC,gBAAgB;IAC9B;IACA,IAAI,eAAe,CAAC,KAAa,EAAA;AAC/B,QAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,IAAI,EAAE;IACrC;AAEA,IAAA,IAAI,sBAAsB,GAAA;QACxB,OAAO,IAAI,CAAC,uBAAuB;IACrC;IACA,IAAI,sBAAsB,CAAC,KAAa,EAAA;AACtC,QAAA,IAAI,CAAC,uBAAuB,GAAG,KAAK,IAAI,EAAE;IAC5C;AAEA,IAAA,IAAI,yBAAyB,GAAA;QAC3B,OAAO,IAAI,CAAC,0BAA0B;IACxC;IACA,IAAI,yBAAyB,CAAC,KAA2B,EAAA;AACvD,QAAA,IAAI,CAAC,0BAA0B,GAAG,KAAK;IACzC;AAEA,IAAA,IAAI,mBAAmB,GAAA;QACrB,OAAO,IAAI,CAAC,oBAAoB;IAClC;IACA,IAAI,mBAAmB,CAAC,KAA2B,EAAA;AACjD,QAAA,IAAI,CAAC,oBAAoB,GAAG,KAAK;IACnC;AAEA,IAAA,IAAI,iBAAiB,GAAA;QACnB,OAAO,IAAI,CAAC,kBAAkB;IAChC;IACA,IAAI,iBAAiB,CAAC,KAAc,EAAA;AAClC,QAAA,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC,KAAK;IACnC;AAEA,IAAA,IAAI,iBAAiB,GAAA;QACnB,OAAO,IAAI,CAAC,kBAAkB;IAChC;IACA,IAAI,iBAAiB,CAAC,KAAa,EAAA;AACjC,QAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK,IAAI,CAAC;IACtC;AAEA,IAAA,IAAI,kBAAkB,GAAA;QACpB,OAAO,IAAI,CAAC,mBAAmB;IACjC;IACA,IAAI,kBAAkB,CAAC,KAAa,EAAA;AAClC,QAAA,IAAI,CAAC,mBAAmB,GAAG,KAAK,IAAI,EAAE;IACxC;AAEA,IAAA,IAAI,qBAAqB,GAAA;QACvB,OAAO,IAAI,CAAC,sBAAsB;IACpC;IACA,IAAI,qBAAqB,CAAC,KAAa,EAAA;AACrC,QAAA,IAAI,CAAC,sBAAsB,GAAG,KAAK,IAAI,EAAE;IAC3C;AAEA,IAAA,IAAI,sBAAsB,GAAA;QACxB,OAAO,IAAI,CAAC,uBAAuB;IACrC;IACA,IAAI,sBAAsB,CAAC,KAAa,EAAA;AACtC,QAAA,IAAI,CAAC,uBAAuB,GAAG,KAAK,IAAI,EAAE;IAC5C;AAEA,IAAA,IAAI,oBAAoB,GAAA;QACtB,OAAO,IAAI,CAAC,qBAAqB;IACnC;IACA,IAAI,oBAAoB,CAAC,KAAa,EAAA;AACpC,QAAA,IAAI,CAAC,qBAAqB,GAAG,KAAK,IAAI,EAAE;IAC1C;AAEA,IAAA,IAAI,cAAc,GAAA;QAChB,OAAO,IAAI,CAAC,eAAe;IAC7B;IACA,IAAI,cAAc,CAAC,KAAa,EAAA;AAC9B,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK,IAAI,EAAE;IACpC;AAEA,IAAA,IAAI,qBAAqB,GAAA;QACvB,OAAO,IAAI,CAAC,sBAAsB;IACpC;IACA,IAAI,qBAAqB,CAAC,KAAa,EAAA;AACrC,QAAA,IAAI,CAAC,sBAAsB,GAAG,KAAK,IAAI,CAAC;IAC1C;AAEA,IAAA,IAAI,mBAAmB,GAAA;QACrB,OAAO,IAAI,CAAC,oBAAoB;IAClC;IACA,IAAI,mBAAmB,CAAC,KAAa,EAAA;AACnC,QAAA,IAAI,CAAC,oBAAoB,GAAG,KAAK,IAAI,EAAE;IACzC;AAEA,IAAA,IAAI,wBAAwB,GAAA;QAC1B,OAAO,IAAI,CAAC,yBAAyB;IACvC;IACA,IAAI,wBAAwB,CAAC,KAAa,EAAA;AACxC,QAAA,IAAI,CAAC,yBAAyB,GAAG,KAAK,IAAI,EAAE;IAC9C;AAEA,IAAA,IAAI,iBAAiB,GAAA;QACnB,OAAO,IAAI,CAAC,kBAAkB;IAChC;IACA,IAAI,iBAAiB,CAAC,KAAa,EAAA;AACjC,QAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK,IAAI,EAAE;IACvC;AAEA,IAAA,IAAI,8BAA8B,GAAA;QAChC,OAAO,IAAI,CAAC,+BAA+B;IAC7C;IACA,IAAI,8BAA8B,CAAC,KAAc,EAAA;AAC/C,QAAA,IAAI,CAAC,+BAA+B,GAAG,CAAC,CAAC,KAAK;IAChD;AAEA,IAAA,IAAI,kBAAkB,GAAA;QACpB,OAAO,IAAI,CAAC,mBAAmB;IACjC;IACA,IAAI,kBAAkB,CAAC,KAAa,EAAA;AAClC,QAAA,IAAI,CAAC,mBAAmB,GAAG,KAAK,IAAI,EAAE;IACxC;AAEA,IAAA,IAAI,gBAAgB,GAAA;QAClB,OAAO,IAAI,CAAC,iBAAiB;IAC/B;IACA,IAAI,gBAAgB,CAAC,KAAa,EAAA;AAChC,QAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK,IAAI,EAAE;IACtC;AAEA,IAAA,IAAI,eAAe,GAAA;QACjB,OAAO,IAAI,CAAC,gBAAgB;IAC9B;IACA,IAAI,eAAe,CAAC,KAAa,EAAA;AAC/B,QAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,IAAI,EAAE;IACrC;AAEA,IAAA,IAAI,gBAAgB,GAAA;QAClB,OAAO,IAAI,CAAC,iBAAiB;IAC/B;IACA,IAAI,gBAAgB,CAAC,KAAa,EAAA;AAChC,QAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK,IAAI,EAAE;IACtC;AAEA,IAAA,IAAI,mBAAmB,GAAA;QACrB,OAAO,IAAI,CAAC,oBAAoB;IAClC;IACA,IAAI,mBAAmB,CAAC,KAAa,EAAA;AACnC,QAAA,IAAI,CAAC,oBAAoB,GAAG,KAAK,IAAI,CAAC;IACxC;AAEA,IAAA,IAAI,eAAe,GAAA;QACjB,OAAO,IAAI,CAAC,gBAAgB;IAC9B;IACA,IAAI,eAAe,CAAC,KAAa,EAAA;AAC/B,QAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,IAAI,EAAE;IACrC;AAEA,IAAA,IAAI,kBAAkB,GAAA;QACpB,OAAO,IAAI,CAAC,mBAAmB;IACjC;IACA,IAAI,kBAAkB,CAAC,KAAa,EAAA;AAClC,QAAA,IAAI,CAAC,mBAAmB,GAAG,KAAK,IAAI,CAAC;IACvC;AAEA,IAAA,IAAI,uBAAuB,GAAA;QACzB,OAAO,IAAI,CAAC,wBAAwB;IACtC;IACA,IAAI,uBAAuB,CAAC,KAAe,EAAA;AACzC,QAAA,IAAI,CAAC,wBAAwB,GAAG,KAAK,IAAI,EAAE;IAC7C;AAEA,IAAA,IAAI,oBAAoB,GAAA;QACtB,OAAO,IAAI,CAAC,qBAAqB;IACnC;IACA,IAAI,oBAAoB,CAAC,KAAa,EAAA;AACpC,QAAA,IAAI,CAAC,qBAAqB,GAAG,KAAK,IAAI,CAAC;IACzC;AAEA,IAAA,IAAI,wBAAwB,GAAA;QAC1B,OAAO,IAAI,CAAC,yBAAyB;IACvC;IACA,IAAI,wBAAwB,CAAC,KAAc,EAAA;AACzC,QAAA,IAAI,CAAC,yBAAyB,GAAG,CAAC,CAAC,KAAK;IAC1C;AAEA,IAAA,IAAI,uBAAuB,GAAA;QACzB,OAAO,IAAI,CAAC,wBAAwB;IACtC;IACA,IAAI,uBAAuB,CAAC,KAAa,EAAA;AACvC,QAAA,IAAI,CAAC,wBAAwB,GAAG,KAAK,IAAI,uBAAuB;IAClE;AAEA,IAAA,IAAI,oBAAoB,GAAA;QACtB,OAAO,IAAI,CAAC,qBAAqB;IACnC;IACA,IAAI,oBAAoB,CAAC,KAAa,EAAA;AACpC,QAAA,IAAI,CAAC,qBAAqB,GAAG,KAAK,IAAI,EAAE;IAC1C;AAEA,IAAA,IAAI,mBAAmB,GAAA;QACrB,OAAO,IAAI,CAAC,oBAAoB;IAClC;IACA,IAAI,mBAAmB,CAAC,KAAa,EAAA;AACnC,QAAA,IAAI,CAAC,oBAAoB,GAAG,KAAK,IAAI,EAAE;IACzC;AAEA,IAAA,IAAI,mBAAmB,GAAA;QACrB,OAAO,IAAI,CAAC,oBAAoB;IAClC;IACA,IAAI,mBAAmB,CAAC,KAAa,EAAA;AACnC,QAAA,IAAI,CAAC,oBAAoB,GAAG,KAAK,IAAI,CAAC;IACxC;AAEA,IAAA,IAAI,wBAAwB,GAAA;QAC1B,OAAO,IAAI,CAAC,yBAAyB;IACvC;IACA,IAAI,wBAAwB,CAAC,KAAa,EAAA;AACxC,QAAA,IAAI,CAAC,yBAAyB,GAAG,KAAK,IAAI,uBAAuB;IACnE;AAEA,IAAA,IAAI,sBAAsB,GAAA;QACxB,OAAO,IAAI,CAAC,uBAAuB;IACrC;IACA,IAAI,sBAAsB,CAAC,KAAa,EAAA;AACtC,QAAA,IAAI,CAAC,uBAAuB,GAAG,KAAK,IAAI,EAAE;IAC5C;AAEA,IAAA,IAAI,qBAAqB,GAAA;QACvB,OAAO,IAAI,CAAC,sBAAsB;IACpC;IACA,IAAI,qBAAqB,CAAC,KAAY,EAAA;AACpC,QAAA,IAAI,CAAC,sBAAsB,GAAG,KAAK,IAAI,EAAE;IAC3C;AAEA,IAAA,IAAI,mBAAmB,GAAA;QACrB,OAAO,IAAI,CAAC,oBAAoB;IAClC;IACA,IAAI,mBAAmB,CAAC,KAAa,EAAA;AACnC,QAAA,IAAI,CAAC,oBAAoB,GAAG,KAAK,IAAI,EAAE;IACzC;AAEA,IAAA,IAAI,yBAAyB,GAAA;QAC3B,OAAO,IAAI,CAAC,0BAA0B;IACxC;IACA,IAAI,yBAAyB,CAAC,KAAc,EAAA;AAC1C,QAAA,IAAI,CAAC,0BAA0B,GAAG,CAAC,CAAC,KAAK;IAC3C;AAEA,IAAA,IAAI,mBAAmB,GAAA;QACrB,OAAO,IAAI,CAAC,oBAAoB;IAClC;IACA,IAAI,mBAAmB,CAAC,KAAc,EAAA;AACpC,QAAA,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC,KAAK;IACrC;AAEA,IAAA,IAAI,2BAA2B,GAAA;QAC7B,OAAO,IAAI,CAAC,4BAA4B;IAC1C;IACA,IAAI,2BAA2B,CAAC,KAAoB,EAAA;AAClD,QAAA,IAAI,CAAC,4BAA4B,GAAG,KAAK;IAC3C;AAEA,IAAA,IAAI,gCAAgC,GAAA;QAClC,OAAO,IAAI,CAAC,iCAAiC;IAC/C;IACA,IAAI,gCAAgC,CAAC,KAAoB,EAAA;AACvD,QAAA,IAAI,CAAC,iCAAiC,GAAG,KAAK;IAChD;AAEA,IAAA,IAAI,wBAAwB,GAAA;QAC1B,OAAO,IAAI,CAAC,yBAAyB;IACvC;IACA,IAAI,wBAAwB,CAAC,KAAe,EAAA;AAC1C,QAAA,IAAI,CAAC,yBAAyB,GAAG,KAAK,IAAI,EAAE;IAC9C;AAEA,IAAA,IAAI,wCAAwC,GAAA;QAC1C,OAAO,IAAI,CAAC,yCAAyC;IACvD;IACA,IAAI,wCAAwC,CAAC,KAAa,EAAA;AACxD,QAAA,IAAI,CAAC,yCAAyC,GAAG,KAAK,IAAI,EAAE;IAC9D;AAEA,IAAA,IAAI,sBAAsB,GAAA;QACxB,OAAO,IAAI,CAAC,uBAAuB;IACrC;IACA,IAAI,sBAAsB,CAAC,KAAa,EAAA;AACtC,QAAA,IAAI,CAAC,uBAAuB,GAAG,KAAK,IAAI,EAAE;IAC5C;AAEA,IAAA,IAAI,iCAAiC,GAAA;QACnC,OAAO,IAAI,CAAC,kCAAkC;IAChD;IACA,IAAI,iCAAiC,CAAC,KAAa,EAAA;AACjD,QAAA,IAAI,CAAC,kCAAkC,GAAG,KAAK,IAAI,EAAE;IACvD;AAEA,IAAA,IAAI,qBAAqB,GAAA;QACvB,OAAO,IAAI,CAAC,sBAAsB;IACpC;IACA,IAAI,qBAAqB,CAAC,KAAa,EAAA;AACrC,QAAA,IAAI,CAAC,sBAAsB,GAAG,KAAK,IAAI,EAAE;IAC3C;AAEA,IAAA,IAAI,uBAAuB,GAAA;QACzB,OAAO,IAAI,CAAC,wBAAwB;IACtC;IACA,IAAI,uBAAuB,CAAC,KAAa,EAAA;AACvC,QAAA,IAAI,CAAC,wBAAwB,GAAG,KAAK,IAAI,EAAE;IAC7C;AAEA,IAAA,IAAI,uBAAuB,GAAA;QACzB,OAAO,IAAI,CAAC,wBAAwB;IACtC;IACA,IAAI,uBAAuB,CAAC,KAAa,EAAA;AACvC,QAAA,IAAI,CAAC,wBAAwB,GAAG,KAAK,IAAI,EAAE;IAC7C;AAEA,IAAA,IAAI,kBAAkB,GAAA;QACpB,OAAO,IAAI,CAAC,mBAAmB;IACjC;IACA,IAAI,kBAAkB,CAAC,KAAa,EAAA;AAClC,QAAA,IAAI,CAAC,mBAAmB,GAAG,KAAK,IAAI,CAAC;IACvC;AAEA,IAAA,IAAI,iBAAiB,GAAA;QACnB,OAAO,IAAI,CAAC,kBAAkB;IAChC;IACA,IAAI,iBAAiB,CAAC,KAAa,EAAA;AACjC,QAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK,IAAI,CAAC;IACtC;AAEA,IAAA,IAAI,aAAa,GAAA;QACf,OAAO,IAAI,CAAC,cAAc;IAC5B;IACA,IAAI,aAAa,CAAC,KAAa,EAAA;AAC7B,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK,IAAI,EAAE;IACnC;AAEA,IAAA,IAAI,gBAAgB,GAAA;QAClB,OAAO,IAAI,CAAC,iBAAiB;IAC/B;IACA,IAAI,gBAAgB,CAAC,KAAwB,EAAA;AAC3C,QAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK,IAAI,EAAE;IACtC;AAEA,IAAA,IAAI,qBAAqB,GAAA;QACvB,OAAO,IAAI,CAAC,sBAAsB;IACpC;IACA,IAAI,qBAAqB,CAAC,KAAa,EAAA;AACrC,QAAA,IAAI,CAAC,sBAAsB,GAAG,KAAK,IAAI,EAAE;IAC3C;;AAGA,IAAA,IAAI,eAAe,GAAA;QACjB,OAAO,IAAI,CAAC,eAAe;IAC7B;IACA,IAAI,eAAe,CAAC,KAAa,EAAA;AAC/B,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK;IAC9B;AAEA,IAAA,IAAI,aAAa,GAAA;QACf,OAAO,IAAI,CAAC,aAAa;IAC3B;IACA,IAAI,aAAa,CAAC,KAAa,EAAA;AAC7B,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK;IAC5B;AAEA,IAAA,IAAI,iBAAiB,GAAA;QACnB,OAAO,IAAI,CAAC,iBAAiB;IAC/B;IACA,IAAI,iBAAiB,CAAC,KAAc,EAAA;AAClC,QAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK;IAChC;AAEA,IAAA,IAAI,eAAe,GAAA;QACjB,OAAO,IAAI,CAAC,eAAe;IAC7B;IACA,IAAI,eAAe,CAAC,KAAa,EAAA;AAC/B,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK;IAC9B;AAEA,IAAA,IAAI,sBAAsB,GAAA;QACxB,OAAO,IAAI,CAAC,sBAAsB;IACpC;IACA,IAAI,sBAAsB,CAAC,KAAa,EAAA;AACtC,QAAA,IAAI,CAAC,sBAAsB,GAAG,KAAK;IACrC;AAEA,IAAA,IAAI,yBAAyB,GAAA;QAC3B,OAAO,IAAI,CAAC,yBAAyB;IACvC;IACA,IAAI,yBAAyB,CAAC,KAA2B,EAAA;AACvD,QAAA,IAAI,CAAC,yBAAyB,GAAG,KAAK;IACxC;AAEA,IAAA,IAAI,mBAAmB,GAAA;QACrB,OAAO,IAAI,CAAC,mBAAmB;IACjC;IACA,IAAI,mBAAmB,CAAC,KAA2B,EAAA;AACjD,QAAA,IAAI,CAAC,mBAAmB,GAAG,KAAK;IAClC;AAEA,IAAA,IAAI,iBAAiB,GAAA;QACnB,OAAO,IAAI,CAAC,iBAAiB;IAC/B;IACA,IAAI,iBAAiB,CAAC,KAAc,EAAA;AAClC,QAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK;IAChC;AAEA,IAAA,IAAI,iBAAiB,GAAA;QACnB,OAAO,IAAI,CAAC,iBAAiB;IAC/B;IACA,IAAI,iBAAiB,CAAC,KAAa,EAAA;AACjC,QAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK;IAChC;AAEA,IAAA,IAAI,kBAAkB,GAAA;QACpB,OAAO,IAAI,CAAC,kBAAkB;IAChC;IACA,IAAI,kBAAkB,CAAC,KAAa,EAAA;AAClC,QAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK;IACjC;AAEA,IAAA,IAAI,qBAAqB,GAAA;QACvB,OAAO,IAAI,CAAC,qBAAqB;IACnC;IACA,IAAI,qBAAqB,CAAC,KAAa,EAAA;AACrC,QAAA,IAAI,CAAC,qBAAqB,GAAG,KAAK;IACpC;AAEA,IAAA,IAAI,sBAAsB,GAAA;QACxB,OAAO,IAAI,CAAC,sBAAsB;IACpC;IACA,IAAI,sBAAsB,CAAC,KAAa,EAAA;AACtC,QAAA,IAAI,CAAC,sBAAsB,GAAG,KAAK;IACrC;AAEA,IAAA,IAAI,oBAAoB,GAAA;QACtB,OAAO,IAAI,CAAC,oBAAoB;IAClC;IACA,IAAI,oBAAoB,CAAC,KAAa,EAAA;AACpC,QAAA,IAAI,CAAC,oBAAoB,GAAG,KAAK;IACnC;AAEA,IAAA,IAAI,cAAc,GAAA;QAChB,OAAO,IAAI,CAAC,cAAc;IAC5B;IACA,IAAI,cAAc,CAAC,KAAa,EAAA;AAC9B,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK;IAC7B;AAEA,IAAA,IAAI,qBAAqB,GAAA;QACvB,OAAO,IAAI,CAAC,qBAAqB;IACnC;IACA,IAAI,qBAAqB,CAAC,KAAa,EAAA;AACrC,QAAA,IAAI,CAAC,qBAAqB,GAAG,KAAK;IACpC;AAEA,IAAA,IAAI,mBAAmB,GAAA;QACrB,OAAO,IAAI,CAAC,mBAAmB;IACjC;IACA,IAAI,mBAAmB,CAAC,KAAa,EAAA;AACnC,QAAA,IAAI,CAAC,mBAAmB,GAAG,KAAK;IAClC;AAEA,IAAA,IAAI,wBAAwB,GAAA;QAC1B,OAAO,IAAI,CAAC,wBAAwB;IACtC;IACA,IAAI,wBAAwB,CAAC,KAAa,EAAA;AACxC,QAAA,IAAI,CAAC,wBAAwB,GAAG,KAAK;IACvC;AAEA,IAAA,IAAI,iBAAiB,GAAA;QACnB,OAAO,IAAI,CAAC,iBAAiB;IAC/B;IACA,IAAI,iBAAiB,CAAC,KAAa,EAAA;AACjC,QAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK;IAChC;AAEA,IAAA,IAAI,8BAA8B,GAAA;QAChC,OAAO,IAAI,CAAC,8BAA8B;IAC5C;IACA,IAAI,8BAA8B,CAAC,KAAc,EAAA;AAC/C,QAAA,IAAI,CAAC,8BAA8B,GAAG,KAAK;IAC7C;AAEA,IAAA,IAAI,kBAAkB,GAAA;QACpB,OAAO,IAAI,CAAC,kBAAkB;IAChC;IACA,IAAI,kBAAkB,CAAC,KAAa,EAAA;AAClC,QAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK;IACjC;AAEA,IAAA,IAAI,gBAAgB,GAAA;QAClB,OAAO,IAAI,CAAC,gBAAgB;IAC9B;IACA,IAAI,gBAAgB,CAAC,KAAa,EAAA;AAChC,QAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK;IAC/B;AAEA,IAAA,IAAI,eAAe,GAAA;QACjB,OAAO,IAAI,CAAC,eAAe;IAC7B;IACA,IAAI,eAAe,CAAC,KAAa,EAAA;AAC/B,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK;IAC9B;AAEA,IAAA,IAAI,gBAAgB,GAAA;QAClB,OAAO,IAAI,CAAC,gBAAgB;IAC9B;IACA,IAAI,gBAAgB,CAAC,KAAa,EAAA;AAChC,QAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK;IAC/B;AAEA,IAAA,IAAI,mBAAmB,GAAA;QACrB,OAAO,IAAI,CAAC,mBAAmB;IACjC;IACA,IAAI,mBAAmB,CAAC,KAAa,EAAA;AACnC,QAAA,IAAI,CAAC,mBAAmB,GAAG,KAAK;IAClC;AAEA,IAAA,IAAI,eAAe,GAAA;QACjB,OAAO,IAAI,CAAC,eAAe;IAC7B;IACA,IAAI,eAAe,CAAC,KAAa,EAAA;AAC/B,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK;IAC9B;AAEA,IAAA,IAAI,kBAAkB,GAAA;QACpB,OAAO,IAAI,CAAC,kBAAkB;IAChC;IACA,IAAI,kBAAkB,CAAC,KAAa,EAAA;AAClC,QAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK;IACjC;AAEA,IAAA,IAAI,uBAAuB,GAAA;QACzB,OAAO,IAAI,CAAC,uBAAuB;IACrC;IACA,IAAI,uBAAuB,CAAC,KAAe,EAAA;AACzC,QAAA,IAAI,CAAC,uBAAuB,GAAG,KAAK;IACtC;AAEA,IAAA,IAAI,oBAAoB,GAAA;QACtB,OAAO,IAAI,CAAC,oBAAoB;IAClC;IACA,IAAI,oBAAoB,CAAC,KAAa,EAAA;AACpC,QAAA,IAAI,CAAC,oBAAoB,GAAG,KAAK;IACnC;AAEA,IAAA,IAAI,wBAAwB,GAAA;QAC1B,OAAO,IAAI,CAAC,wBAAwB;IACtC;IACA,IAAI,wBAAwB,CAAC,KAAc,EAAA;AACzC,QAAA,IAAI,CAAC,wBAAwB,GAAG,KAAK;IACvC;AAEA,IAAA,IAAI,uBAAuB,GAAA;QACzB,OAAO,IAAI,CAAC,uBAAuB;IACrC;IACA,IAAI,uBAAuB,CAAC,KAAa,EAAA;AACvC,QAAA,IAAI,CAAC,uBAAuB,GAAG,KAAK;IACtC;AAEA,IAAA,IAAI,oBAAoB,GAAA;QACtB,OAAO,IAAI,CAAC,oBAAoB;IAClC;IACA,IAAI,oBAAoB,CAAC,KAAa,EAAA;AACpC,QAAA,IAAI,CAAC,oBAAoB,GAAG,KAAK;IACnC;AAEA,IAAA,IAAI,mBAAmB,GAAA;QACrB,OAAO,IAAI,CAAC,mBAAmB;IACjC;IACA,IAAI,mBAAmB,CAAC,KAAa,EAAA;AACnC,QAAA,IAAI,CAAC,mBAAmB,GAAG,KAAK;IAClC;AAEA,IAAA,IAAI,mBAAmB,GAAA;QACrB,OAAO,IAAI,CAAC,mBAAmB;IACjC;IACA,IAAI,mBAAmB,CAAC,KAAa,EAAA;AACnC,QAAA,IAAI,CAAC,mBAAmB,GAAG,KAAK;IAClC;AAEA,IAAA,IAAI,wBAAwB,GAAA;QAC1B,OAAO,IAAI,CAAC,wBAAwB;IACtC;IACA,IAAI,wBAAwB,CAAC,KAAa,EAAA;AACxC,QAAA,IAAI,CAAC,wBAAwB,GAAG,KAAK;IACvC;AAEA,IAAA,IAAI,sBAAsB,GAAA;QACxB,OAAO,IAAI,CAAC,sBAAsB;IACpC;IACA,IAAI,sBAAsB,CAAC,KAAa,EAAA;AACtC,QAAA,IAAI,CAAC,sBAAsB,GAAG,KAAK;IACrC;AAEA,IAAA,IAAI,qBAAqB,GAAA;QACvB,OAAO,IAAI,CAAC,qBAAqB;IACnC;IACA,IAAI,qBAAqB,CAAC,KAAY,EAAA;AACpC,QAAA,IAAI,CAAC,qBAAqB,GAAG,KAAK;IACpC;AAEA,IAAA,IAAI,mBAAmB,GAAA;QACrB,OAAO,IAAI,CAAC,mBAAmB;IACjC;IACA,IAAI,mBAAmB,CAAC,KAAa,EAAA;AACnC,QAAA,IAAI,CAAC,mBAAmB,GAAG,KAAK;IAClC;AAEA,IAAA,IAAI,yBAAyB,GAAA;QAC3B,OAAO,IAAI,CAAC,yBAAyB;IACvC;IACA,IAAI,yBAAyB,CAAC,KAAc,EAAA;AAC1C,QAAA,IAAI,CAAC,yBAAyB,GAAG,KAAK;IACxC;AAEA,IAAA,IAAI,mBAAmB,GAAA;QACrB,OAAO,IAAI,CAAC,mBAAmB;IACjC;IACA,IAAI,mBAAmB,CAAC,KAAc,EAAA;AACpC,QAAA,IAAI,CAAC,mBAAmB,GAAG,KAAK;IAClC;AAEA,IAAA,IAAI,2BAA2B,GAAA;QAC7B,OAAO,IAAI,CAAC,2BAA2B;IACzC;IACA,IAAI,2BAA2B,CAAC,KAAoB,EAAA;AAClD,QAAA,IAAI,CAAC,2BAA2B,GAAG,KAAK;IAC1C;AAEA,IAAA,IAAI,gCAAgC,GAAA;QAClC,OAAO,IAAI,CAAC,gCAAgC;IAC9C;IACA,IAAI,gCAAgC,CAAC,KAAoB,EAAA;AACvD,QAAA,IAAI,CAAC,gCAAgC,GAAG,KAAK;IAC/C;AAEA,IAAA,IAAI,wBAAwB,GAAA;QAC1B,OAAO,IAAI,CAAC,wBAAwB;IACtC;IACA,IAAI,wBAAwB,CAAC,KAAe,EAAA;AAC1C,QAAA,IAAI,CAAC,wBAAwB,GAAG,KAAK;IACvC;AAEA,IAAA,IAAI,wCAAwC,GAAA;QAC1C,OAAO,IAAI,CAAC,wCAAwC;IACtD;IACA,IAAI,wCAAwC,CAAC,KAAa,EAAA;AACxD,QAAA,IAAI,CAAC,wCAAwC,GAAG,KAAK;IACvD;AAEA,IAAA,IAAI,sBAAsB,GAAA;QACxB,OAAO,IAAI,CAAC,sBAAsB;IACpC;IACA,IAAI,sBAAsB,CAAC,KAAa,EAAA;AACtC,QAAA,IAAI,CAAC,sBAAsB,GAAG,KAAK;IACrC;AAEA,IAAA,IAAI,iCAAiC,GAAA;QACnC,OAAO,IAAI,CAAC,iCAAiC;IAC/C;IACA,IAAI,iCAAiC,CAAC,KAAa,EAAA;AACjD,QAAA,IAAI,CAAC,iCAAiC,GAAG,KAAK;IAChD;AAEA,IAAA,IAAI,qBAAqB,GAAA;QACvB,OAAO,IAAI,CAAC,qBAAqB;IACnC;IACA,IAAI,qBAAqB,CAAC,KAAa,EAAA;AACrC,QAAA,IAAI,CAAC,qBAAqB,GAAG,KAAK;IACpC;AAEA,IAAA,IAAI,uBAAuB,GAAA;QACzB,OAAO,IAAI,CAAC,uBAAuB;IACrC;IACA,IAAI,uBAAuB,CAAC,KAAa,EAAA;AACvC,QAAA,IAAI,CAAC,uBAAuB,GAAG,KAAK;IACtC;AAEA,IAAA,IAAI,uBAAuB,GAAA;QACzB,OAAO,IAAI,CAAC,uBAAuB;IACrC;IACA,IAAI,uBAAuB,CAAC,KAAa,EAAA;AACvC,QAAA,IAAI,CAAC,uBAAuB,GAAG,KAAK;IACtC;AAEA,IAAA,IAAI,kBAAkB,GAAA;QACpB,OAAO,IAAI,CAAC,kBAAkB;IAChC;IACA,IAAI,kBAAkB,CAAC,KAAa,EAAA;AAClC,QAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK;IACjC;AAEA,IAAA,IAAI,iBAAiB,GAAA;QACnB,OAAO,IAAI,CAAC,iBAAiB;IAC/B;IACA,IAAI,iBAAiB,CAAC,KAAa,EAAA;AACjC,QAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK;IAChC;AAEA,IAAA,IAAI,aAAa,GAAA;QACf,OAAO,IAAI,CAAC,aAAa;IAC3B;IACA,IAAI,aAAa,CAAC,KAAa,EAAA;AAC7B,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK;IAC5B;AAEA,IAAA,IAAI,gBAAgB,GAAA;QAClB,OAAO,IAAI,CAAC,gBAAgB;IAC9B;IACA,IAAI,gBAAgB,CAAC,KAAwB,EAAA;AAC3C,QAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK;IAC/B;AAEA,IAAA,IAAI,qBAAqB,GAAA;QACvB,OAAO,IAAI,CAAC,qBAAqB;IACnC;IACA,IAAI,qBAAqB,CAAC,KAAa,EAAA;AACrC,QAAA,IAAI,CAAC,qBAAqB,GAAG,KAAK;IACpC;IAEA,MAAM,GAAA;QACJ,OAAO;YACL,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;YACnD,yBAAyB,EAAE,IAAI,CAAC,yBAAyB;YACzD,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;YACjD,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;YACnD,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;YACjD,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;YACvD,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,8BAA8B,EAAE,IAAI,CAAC,8BAA8B;YACnE,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;YACrD,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;YACvD,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;YACrD,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;YACvD,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;YACnD,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;YACjD,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,yBAAyB,EAAE,IAAI,CAAC,yBAAyB;YACzD,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,2BAA2B,EAAE,IAAI,CAAC,2BAA2B;YAC7D,gCAAgC,EAAE,IAAI,CAAC,gCAAgC;YACvE,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;YACvD,wCAAwC,EAAE,IAAI,CAAC,wCAAwC;YACvF,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;YACnD,iCAAiC,EAAE,IAAI,CAAC,iCAAiC;YACzE,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;YACjD,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;YACrD,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;YACrD,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;YACjD,aAAa,EAAE,IAAI,CAAC,aAAa;AACjC,YAAA,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;SAC/D;IACH;AACD;;ICzgCW;AAAZ,CAAA,UAAY,mBAAmB,EAAA;AAC7B,IAAA,mBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,mBAAA,CAAA,WAAA,CAAA,GAAA,WAAuB;AACvB,IAAA,mBAAA,CAAA,WAAA,CAAA,GAAA,WAAuB;AACzB,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,GAAA,EAAA,CAAA,CAAA;MAqClB,eAAe,CAAA;AA+B1B,IAAA,WAAA,CAAY,OAA6B,EAAE,EAAA;QAvBnC,IAAA,CAAA,gBAAgB,GAAW,EAAE;QAC7B,IAAA,CAAA,OAAO,GAAW,CAAC;QACnB,IAAA,CAAA,KAAK,GAAW,EAAE;QAClB,IAAA,CAAA,UAAU,GAAW,EAAE;QACvB,IAAA,CAAA,UAAU,GAAW,EAAE;QACvB,IAAA,CAAA,MAAM,GAAW,CAAC;QAClB,IAAA,CAAA,aAAa,GAAW,EAAE;QAC1B,IAAA,CAAA,WAAW,GAAyB,IAAI;QACxC,IAAA,CAAA,YAAY,GAAW,EAAE;QACzB,IAAA,CAAA,OAAO,GAAW,EAAE;QACpB,IAAA,CAAA,iBAAiB,GAAY,KAAK;QAClC,IAAA,CAAA,SAAS,GAAa,EAAE;QACxB,IAAA,CAAA,kBAAkB,GAAa,EAAE;QACjC,IAAA,CAAA,iBAAiB,GAAW,EAAE;QAC9B,IAAA,CAAA,IAAI,GAAW,EAAE;QACjB,IAAA,CAAA,KAAK,GAAQ,EAAE;QACf,IAAA,CAAA,YAAY,GAAQ,EAAE;QACtB,IAAA,CAAA,QAAQ,GAAQ,EAAE;QAClB,IAAA,CAAA,WAAW,GAAU,EAAE;QACvB,IAAA,CAAA,kBAAkB,GAAY,IAAI;QAClC,IAAA,CAAA,MAAM,GAAY,IAAI;AACtB,QAAA,IAAA,CAAA,KAAK,GAAwB,mBAAmB,CAAC,OAAO;AAG9D,QAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB;AACrD,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI;AACrB,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW;AACnC,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU;AACjC,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe;QAE3C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe,IAAI,EAAE;QAClD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE;QAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE;QACrC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE;QACrC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE;QAC3C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI;QACzC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE;QACzC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE;QAC/B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,KAAK;QACtD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE;QACnC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,IAAI,EAAE;QACrD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,EAAE;QACnD,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE;QAC3B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE;QACzC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE;QACjC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE;QACvC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,IAAI,IAAI;QACvD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK;QAChC,IAAI,CAAC,IAAI,GAAI,IAAI,CAAC,IAA4B,IAAI,mBAAmB,CAAC,OAAO;IAC/E;;AAGA,IAAA,IAAI,eAAe,GAAA;QACjB,OAAO,IAAI,CAAC,gBAAgB;IAC9B;IACA,IAAI,eAAe,CAAC,KAAa,EAAA;AAC/B,QAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,IAAI,EAAE;IACrC;AAEA,IAAA,IAAI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,OAAO;IACrB;IACA,IAAI,MAAM,CAAC,KAAa,EAAA;AACtB,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,IAAI,CAAC;IAC3B;AAEA,IAAA,IAAI,IAAI,GAAA;QACN,OAAO,IAAI,CAAC,KAAK;IACnB;IACA,IAAI,IAAI,CAAC,KAAa,EAAA;AACpB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,EAAE;IAC1B;AAEA,IAAA,IAAI,SAAS,GAAA;QACX,OAAO,IAAI,CAAC,UAAU;IACxB;IACA,IAAI,SAAS,CAAC,KAAa,EAAA;AACzB,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,IAAI,EAAE;IAC/B;AAEA,IAAA,IAAI,SAAS,GAAA;QACX,OAAO,IAAI,CAAC,UAAU;IACxB;IACA,IAAI,SAAS,CAAC,KAAa,EAAA;AACzB,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,IAAI,EAAE;IAC/B;AAEA,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,MAAM;IACpB;IACA,IAAI,KAAK,CAAC,KAAa,EAAA;AACrB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,IAAI,CAAC;IAC1B;AAEA,IAAA,IAAI,YAAY,GAAA;QACd,OAAO,IAAI,CAAC,aAAa;IAC3B;IACA,IAAI,YAAY,CAAC,KAAa,EAAA;AAC5B,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,IAAI,EAAE;IAClC;AAEA,IAAA,IAAI,UAAU,GAAA;QACZ,OAAO,IAAI,CAAC,WAAW;IACzB;IACA,IAAI,UAAU,CAAC,KAA2B,EAAA;AACxC,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK;IAC1B;AAEA,IAAA,IAAI,WAAW,GAAA;QACb,OAAO,IAAI,CAAC,YAAY;IAC1B;IACA,IAAI,WAAW,CAAC,KAAa,EAAA;AAC3B,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,IAAI,EAAE;IACjC;AAEA,IAAA,IAAI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,OAAO;IACrB;IACA,IAAI,MAAM,CAAC,KAAa,EAAA;AACtB,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,IAAI,EAAE;IAC5B;AAEA,IAAA,IAAI,gBAAgB,GAAA;QAClB,OAAO,IAAI,CAAC,iBAAiB;IAC/B;IACA,IAAI,gBAAgB,CAAC,KAAc,EAAA;AACjC,QAAA,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,KAAK;IAClC;AAEA,IAAA,IAAI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,SAAS;IACvB;IACA,IAAI,QAAQ,CAAC,KAAe,EAAA;AAC1B,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,IAAI,EAAE;IAC9B;AAEA,IAAA,IAAI,iBAAiB,GAAA;QACnB,OAAO,IAAI,CAAC,kBAAkB;IAChC;IACA,IAAI,iBAAiB,CAAC,KAAe,EAAA;AACnC,QAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK,IAAI,EAAE;IACvC;AAEA,IAAA,IAAI,gBAAgB,GAAA;QAClB,OAAO,IAAI,CAAC,iBAAiB;IAC/B;IACA,IAAI,gBAAgB,CAAC,KAAa,EAAA;AAChC,QAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK,IAAI,EAAE;IACtC;AAEA,IAAA,IAAI,GAAG,GAAA;QACL,OAAO,IAAI,CAAC,IAAI;IAClB;IACA,IAAI,GAAG,CAAC,KAAa,EAAA;AACnB,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK,IAAI,EAAE;IACzB;AAEA,IAAA,IAAI,IAAI,GAAA;QACN,OAAO,IAAI,CAAC,KAAK;IACnB;IACA,IAAI,IAAI,CAAC,KAAU,EAAA;AACjB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,EAAE;IAC1B;AAEA,IAAA,IAAI,WAAW,GAAA;QACb,OAAO,IAAI,CAAC,YAAY;IAC1B;IACA,IAAI,WAAW,CAAC,KAAU,EAAA;AACxB,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,IAAI,EAAE;IACjC;AAEA,IAAA,IAAI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,QAAQ;IACtB;IACA,IAAI,OAAO,CAAC,KAAU,EAAA;AACpB,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,IAAI,EAAE;IAC7B;AAEA,IAAA,IAAI,UAAU,GAAA;QACZ,OAAO,IAAI,CAAC,WAAW;IACzB;IACA,IAAI,UAAU,CAAC,KAAY,EAAA;AACzB,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,IAAI,EAAE;IAChC;AAEA,IAAA,IAAI,iBAAiB,GAAA;QACnB,OAAO,IAAI,CAAC,kBAAkB;IAChC;IACA,IAAI,iBAAiB,CAAC,KAAc,EAAA;AAClC,QAAA,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC,KAAK;IACnC;AAEC,IAAA,IAAI,KAAK,GAAA;QACR,OAAO,IAAI,CAAC,MAAM;IACpB;IACA,IAAI,KAAK,CAAC,KAAc,EAAA;AACtB,QAAA,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK;IACvB;AAEA,IAAA,IAAI,IAAI,GAAA;QACN,OAAO,IAAI,CAAC,KAAK;IACnB;IACA,IAAI,IAAI,CAAC,KAAa,EAAA;QACpB,IAAI,CAAC,KAAK,GAAI,KAA6B,IAAI,mBAAmB,CAAC,OAAO;IAC5E;AAEA,IAAA,IAAI,WAAW,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,mBAAmB,CAAC,SAAS;IACrD;AAEA,IAAA,IAAI,WAAW,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,mBAAmB,CAAC,SAAS;IACrD;AAEA,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW;IAC7C;AAEA,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,mBAAmB,CAAC,OAAO;IACnD;AAEA,IAAA,OAAO,eAAe,CAAC,IAAA,GAAsC,EAAE,EAAA;QAC7D,OAAO,IAAI,eAAe,CAAC;AACzB,YAAA,GAAG,IAAI;YACP,IAAI,EAAE,mBAAmB,CAAC,SAAS;AACpC,SAAA,CAAC;IACJ;AAEA,IAAA,OAAO,eAAe,CAAC,IAAA,GAAsC,EAAE,EAAA;QAC7D,OAAO,IAAI,eAAe,CAAC;AACzB,YAAA,GAAG,IAAI;YACP,IAAI,EAAE,mBAAmB,CAAC,SAAS;AACpC,SAAA,CAAC;IACJ;;IAGA,MAAM,GAAA;QACJ,OAAO;YACL,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC;IACH;AACD;AAEK,MAAO,gBAAiB,SAAQ,eAAe,CAAA;IACnD,WAAA,CAAY,IAAqD,EAAE,IAAA,GAAsC,EAAE,EAAA;AACzG,QAAA,KAAK,CAAC;AACJ,YAAA,GAAG,IAAI;AACP,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,SAAS,EAAE,EAAE;AACb,YAAA,SAAS,EAAE,EAAE;AACb,YAAA,YAAY,EAAE,EAAE;AAChB,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,WAAW,EAAE,EAAE;AACf,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,gBAAgB,EAAE,KAAK;AACvB,YAAA,KAAK,EAAE,IAAI;AACZ,SAAA,CAAC;IACJ;AACD;;MCzTY,mBAAmB,CAAA;AAC9B,IAAA,WAAA,CACmB,gBAAiC,EACjC,IAAgB,EAChB,UAA4B,EAAA;QAF5B,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;QAChB,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,UAAU,GAAV,UAAU;IAC1B;AAEH;;AAE6E;;AAG7E,IAAA,SAAS,CACP,eAAuB,EACvB,wBAAgC,EAChC,KAAU,EAAA;QAEV,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;AACzC,YAAA,yCAAyC,EAC3C;AACE,YAAA,eAAe,EAAE,eAAe;AAChC,YAAA,wBAAwB,EAAE,wBAAwB;AAClD,YAAA,KAAK,EAAE,KAAK;SACb,EACD,OAAO,CACR;IACH;IAEA,wBAAwB,CAAC,eAAuB,EAAE,QAAgB,EAAA;QAChE,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,sCAAsC;YACtC,eAAe;YACf,YAAY;AACZ,YAAA,QAAQ,EACV,EAAE,OAAO,EAAE,CACZ;IACH;;AAGA,IAAA,oBAAoB,CAAC,eAAuB,EAAA;QAC1C,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,+BAA+B;AAC/B,YAAA,eAAe,EACjB,EAAE,OAAO,EAAE,CACZ;IACH;;IAGA,aAAa,CACX,MAAuB,EACvB,UAAkB,EAClB,QAAgB,EAChB,EAAA,GAAc,KAAK,EACnB,QAAA,GAAoB,KAAK,EAAA;QAEzB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,2BAA2B;YAC3B,MAAM;YACN,cAAc;YACd,UAAU;YACV,YAAY;YACZ,QAAQ;YACR,MAAM;YACN,EAAE;YACF,YAAY;AACZ,YAAA,QAAQ,EACV,EAAE,OAAO,EAAE,CACZ;IACH;;IAGA,cAAc,CAAC,WAAwB,EAAE,IAAS,EAAA;QAChD,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;AACzC,YAAA,8BAA8B,EAChC;AACE,YAAA,eAAe,EAAE,WAAW,CAAC,eAAe,CAAC,QAAQ,EAAE;AACvD,YAAA,gBAAgB,EAAE,IAAI;AACvB,SAAA,EACD,EAAE,OAAO,EAAE,CACZ;IACH;IAEA,iBAAiB,CAAC,WAAwB,EAAE,IAAS,EAAA;QACnD,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;AACzC,YAAA,kCAAkC,EACpC;AACE,YAAA,eAAe,EAAE,WAAW,CAAC,eAAe,CAAC,QAAQ,EAAE;AACvD,YAAA,gBAAgB,EAAE,IAAI;AACvB,SAAA,EACD,EAAE,OAAO,EAAE,CACZ;IACH;;IAGA,UAAU,GAAA;QACR,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;AACzC,YAAA,uCAAuC,EACzC,EAAE,OAAO,EAAE,CACZ;IACH;;AAGA,IAAA,cAAc,CAAC,eAAuB,EAAA;QACpC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC;aACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,eAAe;AACf,YAAA,eAAe,EACjB,EAAE,OAAO,EAAE;AAEZ,aAAA,IAAI,CACH,GAAG,CAAC,CAAC,GAAQ,KAAI;AACf,YAAA,IAAI,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE;gBAC1B,GAAG,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC;YACpD;AACA,YAAA,OAAO,GAAG;QACZ,CAAC,CAAC,CACH;IACL;AAEA,IAAA,uBAAuB,CAAC,WAAwB,EAAA;QAC9C,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,eAAe;AACf,YAAA,WAAW,CAAC,eAAe;AAC3B,YAAA,YAAY,EACd,EAAE,OAAO,EAAE,CACZ;IACH;AAEA,IAAA,kBAAkB,CAAC,eAAuB,EAAA;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAClD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,sBAAsB,EACpE,EAAE,eAAe,EAAE,EACnB,EAAE,OAAO,EAAE,CACZ;IACH;;AAGA,IAAA,oBAAoB,CAClB,WAAwB,EAAA;QAExB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC;aACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,eAAe;AACf,YAAA,WAAW,CAAC,eAAe;AAC3B,YAAA,QAAQ,EACV,EAAE,OAAO,EAAE;AAEZ,aAAA,IAAI,CACH,GAAG,CAAC,CAAC,GAAQ,KAAI;AACf,YAAA,IAAI,GAAG,IAAI,GAAG,CAAC,mBAAmB,EAAE;gBAClC,GAAG,CAAC,mBAAmB,GAAG,GAAG,CAAC,mBAAmB,CAAC,GAAG,CACnD,CAAC,IAAS,KAAK,IAAI,eAAe,CAAC,IAAI,CAAC,CACzC;YACH;AACA,YAAA,OAAO,GAA+B;QACxC,CAAC,CAAC,CACH;IACL;;AAGA,IAAA,iBAAiB,CACf,eAAgC,EAChC,KAAK,GAAG,EAAE,EAAA;QAEV,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC;aACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,eAAe;AACf,YAAA,eAAe,CAAC,eAAe;YAC/B,SAAS;AACT,YAAA,eAAe,CAAC,MAAM;YACtB,SAAS;AACT,YAAA,KAAK,EACP,EAAE,OAAO,EAAE;AAEZ,aAAA,IAAI,CACH,GAAG,CAAC,CAAC,GAAQ,KAAI;AACf,YAAA,IAAI,GAAG,IAAI,GAAG,CAAC,6BAA6B,EAAE;AAC5C,gBAAA,GAAG,CAAC,6BAA6B;AAC/B,oBAAA,GAAG,CAAC,6BAA6B,CAAC,GAAG,CACnC,CAAC,IAAS,KAAK,IAAI,eAAe,CAAC,IAAI,CAAC,CACzC;YACL;AACA,YAAA,OAAO,GAAkC;QAC3C,CAAC,CAAC,CACH;IACL;AAEA;;AAE6E;;AAG7E,IAAA,iBAAiB,CAAC,WAAwB,EAAA;QACxC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,cAAc,EAC5D;YACE,eAAe,EAAE,WAAW,CAAC,eAAe;YAC5C,qBAAqB,EAAE,WAAW,CAAC,qBAAqB;YACxD,uBAAuB,EAAE,WAAW,CAAC,uBAAuB;YAC5D,mBAAmB,EAAE,WAAW,CAAC,mBAAmB;YACpD,wBAAwB,EAAE,WAAW,CAAC,wBAAwB;YAC9D,sBAAsB,EAAE,WAAW,CAAC,sBAAsB;YAC1D,mBAAmB,EAAE,WAAW,CAAC,mBAAmB;YACpD,2BAA2B,EAAE,WAAW,CAAC,2BAA2B;AACrE,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;AACZ,YAAA,IACE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAClE;gBACA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACL;AAEA,IAAA,qBAAqB,CAAC,WAAwB,EAAA;QAC5C,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,mBAAmB,EACjE;YACE,QAAQ,EAAE,WAAW,CAAC,eAAe;AACtC,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;AACZ,YAAA,IACE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAClE;gBACA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACL;;IAGA,sBAAsB,CACpB,yCAA8C,EAC9C,OAAe,EAAA;QAEf,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;AACzC,YAAA,uCAAuC,EACzC;AACE,YAAA,yCAAyC,EACvC,yCAAyC;AAC3C,YAAA,OAAO,EAAE,OAAO;AACjB,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;AACZ,YAAA,IACE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAClE;gBACA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACL;;AAGA,IAAA,0BAA0B,CAAC,QAA6C,EAAA;AACtE,QAAA,IAAI,OAAY;AAChB,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;AAC3B,YAAA,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,KAC1B,OAAO,IAAI,EAAE,MAAM,KAAK,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAC1D;QACH;aAAO;YACL,OAAO;AACL,gBAAA,OAAO,QAAQ,EAAE,MAAM,KAAK,UAAU,GAAG,QAAQ,CAAC,MAAM,EAAE,GAAG,QAAQ;QACzE;QAEA,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;AACzC,YAAA,+BAA+B,EACjC;AACE,YAAA,qBAAqB,EAAE,OAAO;AAC/B,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;AACZ,YAAA,IACE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAClE;gBACA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACL;IAEA,yBAAyB,CACvB,QAA6C,EAC7C,YAAoB,EAAA;QAEpB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,IAAI,OAAY;AAChB,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;AAC3B,YAAA,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,KAC1B,OAAO,IAAI,EAAE,MAAM,KAAK,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAC1D;QACH;aAAO;YACL,OAAO;AACL,gBAAA,OAAO,QAAQ,EAAE,MAAM,KAAK,UAAU,GAAG,QAAQ,CAAC,MAAM,EAAE,GAAG,QAAQ;QACzE;QACA,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;AACzC,YAAA,8BAA8B,EAChC;AACE,YAAA,qBAAqB,EAAE,OAAO;AAC9B,YAAA,YAAY,EAAE,YAAY;AAC3B,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;AACZ,YAAA,IACE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAClE;gBACA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACL;AAEA,IAAA,gCAAgC,CAC9B,QAA6C,EAAA;AAE7C,QAAA,IAAI,OAAY;AAChB,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;AAC3B,YAAA,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,KAC1B,OAAO,IAAI,EAAE,MAAM,KAAK,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAC1D;QACH;aAAO;YACL,OAAO;AACL,gBAAA,OAAO,QAAQ,EAAE,MAAM,KAAK,UAAU,GAAG,QAAQ,CAAC,MAAM,EAAE,GAAG,QAAQ;QACzE;QAEA,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;AACzC,YAAA,qCAAqC,EACvC;AACE,YAAA,sBAAsB,EAAE,OAAO;AAChC,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;AACZ,YAAA,IACE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAClE;gBACA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACL;;IAGA,oBAAoB,CAClB,qBAA6B,EAC7B,iBAA8B,EAAA;QAE9B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,wBAAwB,EACtE;YACE,eAAe,EAAE,qBAAqB;AACtC,YAAA,eAAe,EAAE,iBAAiB,CAAC,eAAe;AAClD,YAAA,qBAAqB,EAAE,iBAAiB,CAAC,qBAAqB;AAC9D,YAAA,mBAAmB,EAAE,iBAAiB,CAAC,mBAAmB;AAC1D,YAAA,wBAAwB,EAAE,iBAAiB,CAAC,wBAAwB;AACpE,YAAA,sBAAsB,EAAE,iBAAiB,CAAC,sBAAsB;AACjE,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;AACZ,YAAA,IACE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAClE;gBACA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACL;;IAGA,WAAW,CACT,IAAY,EACZ,IAAY,EACZ,QAAiB,EACjB,UAAkB,EAClB,oBAA4B,EAAA;QAE5B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,gBAAgB,EAC9D;AACE,YAAA,uBAAuB,EAAE,IAAI;AAC7B,YAAA,uBAAuB,EAAE,IAAI;AAC7B,YAAA,2BAA2B,EAAE,QAAQ;AACrC,YAAA,6BAA6B,EAAE,UAAU;AACzC,YAAA,iCAAiC,EAAE,oBAAoB;AACxD,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;AACZ,YAAA,IACE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAClE;gBACA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACL;;IAGA,iBAAiB,CAAC,IAAY,EAAE,aAAqB,EAAA;QACnD,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,sBAAsB,EACpE;AACE,YAAA,uBAAuB,EAAE,IAAI;AAC7B,YAAA,uBAAuB,EAAE,aAAa;AACvC,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;AACZ,YAAA,IACE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAClE;gBACA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACL;AAEA;;AAE6E;IAE7E,yBAAyB,CACvB,eAAuB,EACvB,SAAiB,EACjB,UAAe,EACf,SAAc,EACd,QAAa,EAAA;QAEb,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,oBAAoB,EAClE;AACE,YAAA,eAAe,EAAE,eAAe;AAChC,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,QAAQ,EAAE,QAAQ;AACnB,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;IAEA,8BAA8B,CAC5B,eAAuB,EACvB,SAAiB,EACjB,UAAe,EACf,SAAc,EACd,QAAa,EAAA;QAEb,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;AACzC,YAAA,0BAA0B,EAC5B;AACE,YAAA,eAAe,EAAE,eAAe;AAChC,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,QAAQ,EAAE,QAAQ;AACnB,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;IAEA,8BAA8B,CAC5B,mBAA2B,EAC3B,SAAiB,EACjB,UAAe,EACf,SAAc,EACd,QAAgB,EAAA;QAEhB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;AACzC,YAAA,0BAA0B,EAC5B;AACE,YAAA,mBAAmB,EAAE,mBAAmB;AACxC,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,QAAQ,EAAE,QAAQ;AACnB,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;IAEA,0BAA0B,CAAC,eAAuB,EAAE,YAAoB,EAAA;QACtE,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,IAAI,GAAG;AACT,YAAA,eAAe,EAAE,eAAe;AAChC,YAAA,SAAS,EAAE,yBAAyB;AACpC,YAAA,UAAU,EAAE,YAAY;SACzB;QACD,OAAO,IAAI,CAAC;AACT,aAAA,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,oBAAoB,EAClE,IAAI,EACJ,EAAE,OAAO,EAAE;AAEZ,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;AACZ,YAAA,IACE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAClE;gBACA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACL;IAEA,mBAAmB,CAAC,eAAuB,EAAE,SAAiB,EAAA;QAC5D,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,IAAI,GAAG;AACT,YAAA,eAAe,EAAE,eAAe;AAChC,YAAA,SAAS,EAAE,sBAAsB;YACjC,UAAU,EAAE,SAAS,GAAG,MAAM;SAC/B;QACD,OAAO,IAAI,CAAC;AACT,aAAA,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,oBAAoB,EAClE,IAAI,EACJ,EAAE,OAAO,EAAE;AAEZ,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;AACZ,YAAA,IACE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAClE;gBACA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACL;IAEA,uBAAuB,CAAC,eAAuB,EAAE,eAAuB,EAAA;QACtE,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,IAAI,GAAG;AACT,YAAA,eAAe,EAAE,eAAe;AAChC,YAAA,SAAS,EAAE,sBAAsB;AACjC,YAAA,UAAU,EAAE,eAAe;SAC5B;QACD,OAAO,IAAI,CAAC;AACT,aAAA,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,oBAAoB,EAClE,IAAI,EACJ,EAAE,OAAO,EAAE;AAEZ,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;AACZ,YAAA,IACE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAClE;gBACA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACL;;AAGA,IAAA,+BAA+B,CAAC,eAAgC,EAAA;AAC9D,QAAA,IAAI,OAAO,GACT,OAAO,eAAe,EAAE,MAAM,KAAK;AACjC,cAAE,eAAe,CAAC,MAAM;cACtB,eAAe;QACrB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;AACT,aAAA,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,oBAAoB,EAClE,OAAO,EACP,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;AACZ,YAAA,IACE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAClE;gBACA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACL;;AAGA,IAAA,sBAAsB,CACpB,eAAuB,EACvB,SAAiB,EACjB,UAAe,EAAA;QAEf,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,oBAAoB,EAClE;AACE,YAAA,eAAe,EAAE,eAAe;AAChC,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,UAAU,EAAE,UAAU;AACvB,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;AACZ,YAAA,IACE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAClE;gBACA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACL;AAEA,IAAA,0BAA0B,CACxB,mBAA2B,EAC3B,SAAiB,EACjB,UAAe,EAAA;QAEf,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;AACzC,YAAA,4BAA4B,EAC9B;AACE,YAAA,mBAAmB,EAAE,mBAAmB;AACxC,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,UAAU,EAAE,UAAU;AACvB,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;AACZ,YAAA,IACE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAClE;gBACA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACL;;IAGA,YAAY,CAAC,iBAAkC,EAAE,MAAc,EAAA;QAC7D,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;AACzC,YAAA,8BAA8B,EAChC;AACE,YAAA,iBAAiB,EAAE,iBAAiB;AACpC,YAAA,MAAM,EAAE,MAAM;SACf,EACD,OAAO,CACR;IACH;AAEA,IAAA,mBAAmB,CACjB,QAA2D,EAAA;QAE3D,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAClD,QAAA,MAAM,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QACpC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;AACzC,YAAA,yCAAyC,EAC3C,QAAQ,EACR,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;AACZ,YAAA,IACE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAClE;gBACA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACL;AAEA,IAAA,qBAAqB,CAAC,OAAY,EAAA;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAClD,QAAA,MAAM,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QACpC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;AACzC,YAAA,2CAA2C,EAC7C,OAAO,EACP,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;AACZ,YAAA,IACE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAClE;gBACA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACL;AAEA,IAAA,oBAAoB,CAAC,MAAW,EAAA;QAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;AACzC,YAAA,oCAAoC,EACtC,MAAM,EACN,OAAO,CACR;IACH;AAEA,IAAA,mBAAmB,CACjB,uBAA+B,EAC/B,SAAiB,EACjB,UAAe,EAAA;QAEf,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,kBAAkB,EAChE;AACE,YAAA,uBAAuB,EAAE,uBAAuB;AAChD,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,UAAU,EAAE,UAAU;AACvB,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;AACZ,YAAA,IACE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAClE;gBACA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACL;AAEA;;AAE6E;;AAG7E,IAAA,wBAAwB,CAAC,oBAAyB,EAAA;QAChD,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC;AACT,aAAA,OAAO,CACN,QAAQ,EACR,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,oBAAoB,EAClE;AACE,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,IAAI,EAAE;AACJ,gBAAA,oBAAoB,EAAE,oBAAoB;AAC3C,aAAA;SACF;AAEF,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;AACZ,YAAA,IACE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAClE;gBACA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACL;;AAGA,IAAA,0BAA0B,CAAC,4BAAiC,EAAA;QAC1D,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC;aACT,OAAO,CACN,QAAQ,EACR,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;AACzC,YAAA,+BAA+B,EACjC;AACE,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,IAAI,EAAE;AACJ,gBAAA,yBAAyB,EAAE,4BAA4B;AACxD,aAAA;SACF;AAEF,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;AACZ,YAAA,IACE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAClE;gBACA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACL;AACA,IAAA,qBAAqB,CACnB,eAAuB,EACvB,iBAAkC,EAClC,wBAAgC,EAChC,qBAA0B,EAAA;QAE1B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;AACzC,YAAA,wCAAwC,EAC1C;AACE,YAAA,eAAe,EAAE,eAAe;AAChC,YAAA,iBAAiB,EAAE,iBAAiB;AACpC,YAAA,wBAAwB,EAAE,wBAAwB;AAClD,YAAA,0BAA0B,EAAE,qBAAqB;AAClD,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;AACZ,YAAA,IACE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAClE;gBACA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACL;;IAGA,qBAAqB,GAAA;QACnB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,qBAAqB,EACnE,EAAE,OAAO,EAAE,CACZ;IACH;AAEA,IAAA,wBAAwB,CACtB,eAAuB,EACvB,iBAAkC,EAClC,QAAgB,EAChB,QAAgB,EAChB,aAA4B,EAC5B,WAA0B,EAC1B,KAAK,GAAG,EAAE,EAAA;QAEV,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,0CAA0C;YAC1C,eAAe;YACf,qBAAqB;YACrB,iBAAiB;YACjB,YAAY;YACZ,QAAQ;YACR,SAAS;YACT,KAAK;YACL,YAAY;YACZ,QAAQ;YACR,aAAa;YACb,aAAa;YACb,eAAe;AACf,YAAA,WAAW,EACb,EAAE,OAAO,EAAE,CACZ;IACH;;AAGA,IAAA,aAAa,CACX,QAAyB,EACzB,QAAgB,EAChB,QAAgB,EAChB,aAA4B,EAC5B,WAA0B,EAC1B,gBAAA,GAAkC,IAAI,EAAA;QAEtC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,IAAI,GAAG,GACL,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YAC3C,4BAA4B;YAC5B,QAAQ;YACR,YAAY;YACZ,QAAQ;YACR,YAAY;YACZ,QAAQ;YACR,aAAa;YACb,aAAa;YACb,eAAe;AACf,YAAA,WAAW;QACb,IAAI,gBAAgB,EAAE;AACpB,YAAA,GAAG,IAAI,oBAAoB,GAAG,gBAAgB;QAChD;AACA,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;IACxC;IAEA,sBAAsB,CAAC,eAAuB,EAAE,GAAW,EAAA;QACzD,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,8CAA8C;YAC9C,eAAe;YACf,UAAU;YACV,kBAAkB,CAAC,GAAG,CAAC,EACzB,EAAE,OAAO,EAAE,CACZ;IACH;AAEA,IAAA,yBAAyB,CACvB,eAAuB,EACvB,GAAW,EACX,QAAa,EACb,iBAAsB,EAAA;QAEtB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;AACzC,YAAA,6BAA6B,EAC/B;AACE,YAAA,eAAe,EAAE,eAAe;AAChC,YAAA,MAAM,EAAE,GAAG;YACX,QAAQ;YACR,iBAAiB;AAClB,SAAA,EACD,EAAE,OAAO,EAAE,CACZ;IACH;;IAGA,QAAQ,GAAA;QACN,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,oBAAoB,EAClE,EAAE,OAAO,EAAE,CACZ;IACH;IAEA,iBAAiB,CACf,GAAW,EACX,QAAgB,EAAA;QAEhB,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAElD,QAAA,OAAO,KAAK,CAAC,YAAW;AACtB,YAAA,IAAI;gBACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;AAC9C,gBAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;oBAChB,MAAM,IAAI,KAAK,CACb,CAAA,6CAAA,EAAgD,QAAQ,CAAC,MAAM,CAAA,CAAE,CAClE;gBACH;AAEA,gBAAA,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;gBAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AAE5C,gBAAA,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC;AAEnD,gBAAA,MAAM,WAAW,GACf,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO;sBACnD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;sBACnB,MAAM;AAEZ,gBAAA,MAAM,aAAa,GAAG,CAAA;;oCAEM,QAAQ,CAAA;qCACP,IAAI,CAAA,QAAA,EAAW,WAAW,CAAA,WAAA,EAAc,IAAI,CAAA;;;;iBAIhE;AAET,gBAAA,OAAO,aAAuB;YAChC;AAAE,YAAA,MAAM;gBACN,OAAO,CAAC,GAAG,CAAC,4BAA4B,GAAG,QAAQ,GAAG,GAAG,CAAC;AAC1D,gBAAA,OAAO,SAAS;YAClB;AACF,QAAA,CAAC,CAAC;IACJ;AAEA,IAAA,YAAY,CAAC,IAAU,EAAA;QACrB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACrC,YAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE;AAC/B,YAAA,MAAM,CAAC,SAAS,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,MAAO,CAAC;AAChD,YAAA,MAAM,CAAC,OAAO,GAAG,MAAM;AACvB,YAAA,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC;AAC5B,QAAA,CAAC,CAAC;IACJ;AAEA,IAAA,kBAAkB,CAAC,OAAY,EAAA;AAC7B,QAAA,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;QAClD,QAAQ,GAAG;AACT,YAAA,KAAK,KAAK;gBACR,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE;AAC/C,YAAA,KAAK,KAAK;gBACR,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE;AAC/C,YAAA,KAAK,MAAM;gBACT,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE;AAC5C,YAAA,KAAK,OAAO;gBACV,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;AAC9C,YAAA;gBACE,OAAO,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,UAAU,EAAE;;IAEnE;;;;AAMA,IAAA,6BAA6B,CAC3B,YAAoB,EACpB,eAAuB,EACvB,cAAsB,EAAA;QAEtB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,eAAe,EAC7D;AACE,YAAA,YAAY,EAAE,YAAY;AAC1B,YAAA,YAAY,EAAE,aAAa;AAC3B,YAAA,iBAAiB,EAAE,eAAe;AAClC,YAAA,UAAU,EAAE,cAAc;AAC3B,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA,IAAA,kCAAkC,CAChC,YAAoB,EACpB,eAAuB,EACvB,cAAsB,EAAA;QAEtB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,eAAe,EAC7D;AACE,YAAA,YAAY,EAAE,YAAY;AAC1B,YAAA,YAAY,EAAE,aAAa;AAC3B,YAAA,iBAAiB,EAAE,eAAe;AAClC,YAAA,UAAU,EAAE,cAAc;AAC1B,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,iBAAiB,EAAE,IAAI;AACxB,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;;;;AAMA,IAAA,eAAe,CAAC,eAAuB,EAAA;QACrC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,uBAAuB,EACrE;AACE,YAAA,eAAe,EAAE,eAAe;AAChC,YAAA,IAAI,EAAE,cAAc;AACrB,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;+GAnpCW,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAV,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAL,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAY,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFlB,MAAM,EAAA,CAAA,CAAA;;4FAEP,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;ACnBM,MAAM,oBAAoB,GAAG;MAavB,QAAQ,CAAA;AAUnB,IAAA,WAAA,CAAY,OAAsB,EAAE,EAAA;QAT5B,IAAA,CAAA,GAAG,GAAW,CAAC,CAAC;QAChB,IAAA,CAAA,KAAK,GAAkB,IAAI;QAC3B,IAAA,CAAA,KAAK,GAAkB,IAAI;QAC3B,IAAA,CAAA,kBAAkB,GAAW,EAAE;QAC/B,IAAA,CAAA,oBAAoB,GAAW,EAAE;QACjC,IAAA,CAAA,KAAK,GAAW,IAAI;QACpB,IAAA,CAAA,QAAQ,GAAW,CAAC;QACpB,IAAA,CAAA,sBAAsB,GAAkB,IAAI;QAGlD,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI;QAC7B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,IAAI,EAAE;QACrD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,IAAI,EAAE;QACzD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC;QAChC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,IAAI,IAAI;IACjE;AAEA,IAAA,IAAI,EAAE,GAAA;QACJ,OAAO,IAAI,CAAC,GAAG;IACjB;IACA,IAAI,EAAE,CAAC,KAAa,EAAA;AAClB,QAAA,IAAI,CAAC,GAAG,GAAG,KAAK;IAClB;AAEA,IAAA,IAAI,IAAI,GAAA;QACN,OAAO,IAAI,CAAC,KAAK;IACnB;IACA,IAAI,IAAI,CAAC,KAAoB,EAAA;AAC3B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;IACpB;AAEA,IAAA,IAAI,IAAI,GAAA;QACN,OAAO,IAAI,CAAC,KAAK;IACnB;IACA,IAAI,IAAI,CAAC,KAAoB,EAAA;AAC3B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;IACpB;AAEA,IAAA,IAAI,iBAAiB,GAAA;QACnB,OAAO,IAAI,CAAC,kBAAkB;IAChC;IACA,IAAI,iBAAiB,CAAC,KAAa,EAAA;AACjC,QAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK;IACjC;AAEA,IAAA,IAAI,mBAAmB,GAAA;QACrB,OAAO,IAAI,CAAC,oBAAoB;IAClC;IACA,IAAI,mBAAmB,CAAC,KAAa,EAAA;AACnC,QAAA,IAAI,CAAC,oBAAoB,GAAG,KAAK;IACnC;AAEA,IAAA,IAAI,IAAI,GAAA;QACN,OAAO,IAAI,CAAC,KAAK;IACnB;IACA,IAAI,IAAI,CAAC,KAAa,EAAA;AACpB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;IACpB;AAEA,IAAA,IAAI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,QAAQ;IACtB;IACA,IAAI,OAAO,CAAC,KAAa,EAAA;AACvB,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;IACvB;AAEA,IAAA,IAAI,qBAAqB,GAAA;QACvB,OAAO,IAAI,CAAC,sBAAsB;IACpC;IACA,IAAI,qBAAqB,CAAC,KAAoB,EAAA;AAC5C,QAAA,IAAI,CAAC,sBAAsB,GAAG,KAAK;IACrC;IAEA,MAAM,GAAA;QACJ,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,GAAG;YACZ,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,iBAAiB,EAAE,IAAI,CAAC,kBAAkB;YAC1C,mBAAmB,EAAE,IAAI,CAAC,oBAAoB;YAC9C,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,qBAAqB,EAAE,IAAI,CAAC,sBAAsB;SACnD;IACH;AACD;;MCzFY,gBAAgB,CAAA;AAC3B,IAAA,WAAA,CACU,IAAiB,EACjB,gBAAiC,EACjC,IAAgB,EAChB,UAA4B,EAAA;QAH5B,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;QAChB,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,UAAU,GAAV,UAAU;IACjB;AAEH;;AAE6E;AAE7E,IAAA,WAAW,CAAC,YAAoB,EAAA;QAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC;aACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,4BAA4B;AAC5B,YAAA,YAAY,EACd,EAAE,OAAO,EAAE;AAEZ,aAAA,IAAI,CAAC,GAAG,CAAC,CAAC,GAAkB,KAAK,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACzD;IAEA,qBAAqB,GAAA;QACnB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;AACzC,YAAA,+BAA+B,EACjC,EAAE,OAAO,EAAE,CACZ;IACH;AAEA,IAAA,kBAAkB,CAChB,SAAiB,EACjB,WAAmB,EACnB,WAAmB,EAAA;QAEnB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,sBAAsB,EACpE;AACE,YAAA,YAAY,EAAE,SAAS;AACvB,YAAA,WAAW,EAAE,WAAW;AACxB,YAAA,WAAW,EAAE,WAAW;AACzB,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;IAEA,cAAc,CACZ,UAAkB,EAClB,YAAoB,EACpB,YAAY,GAAG,IAAI,EACnB,6BAAsC,EAAA;QAEtC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,cAAc,EAC5D;AACE,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,YAAY,EAAE,YAAY;AAC1B,YAAA,YAAY,EAAE,YAAY;AAC1B,YAAA,6BAA6B,EAAE,6BAA6B;AAC7D,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;IAEA,iBAAiB,CAAC,aAAqB,EAAE,IAAY,EAAA;QACnD,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,wBAAwB,EACtE;AACE,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,SAAS,EAAE,aAAa;AACzB,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA,IAAA,sBAAsB,CACpB,YAAoB,EACpB,SAAiB,EACjB,UAAkB,EAAA;QAElB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,oBAAoB,EAClE;AACE,YAAA,YAAY,EAAE,YAAY;AAC1B,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,UAAU,EAAE,UAAU;AACvB,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA,IAAA,eAAe,CAAC,SAAiB,EAAA;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAClD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,uBAAuB,EACrE,EAAE,SAAS,EAAE,EACb,EAAE,OAAO,EAAE,CACZ;IACH;+GArIW,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAf,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAgB,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cAFf,MAAM,EAAA,CAAA,CAAA;;4FAEP,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCeY,mBAAmB,CAAA;AAoC9B,IAAA,WAAA,CAAY,OAAiC,EAAE,EAAA;QAnCvC,IAAA,CAAA,KAAK,GAAW,EAAE;QAClB,IAAA,CAAA,KAAK,GAAW,EAAE;QAClB,IAAA,CAAA,KAAK,GAAW,EAAE;QAClB,IAAA,CAAA,UAAU,GAAkB,EAAE;QAC9B,IAAA,CAAA,WAAW,GAAyB,IAAI;QACxC,IAAA,CAAA,OAAO,GAAY,IAAI;QACvB,IAAA,CAAA,gBAAgB,GAAQ,EAAE;QAC1B,IAAA,CAAA,QAAQ,GAAY,KAAK;QACzB,IAAA,CAAA,eAAe,GAAW,EAAE;QAC5B,IAAA,CAAA,aAAa,GAAW,oBAAoB;QAC5C,IAAA,CAAA,QAAQ,GAAW,EAAE;QACrB,IAAA,CAAA,UAAU,GAAW,EAAE;QACvB,IAAA,CAAA,sBAAsB,GAAkB,IAAI;QAC5C,IAAA,CAAA,IAAI,GAAW,EAAE;;QAGjB,IAAA,CAAA,UAAU,GAAW,EAAE;QACvB,IAAA,CAAA,MAAM,GAAW,CAAC;QAClB,IAAA,CAAA,OAAO,GAAW,CAAC;QACnB,IAAA,CAAA,aAAa,GAAW,CAAC;QACzB,IAAA,CAAA,aAAa,GAAW,CAAC;QACzB,IAAA,CAAA,WAAW,GAAW,CAAC;QACvB,IAAA,CAAA,YAAY,GAAW,CAAC;QACxB,IAAA,CAAA,eAAe,GAAW,CAAC;QAC3B,IAAA,CAAA,kBAAkB,GAAW,CAAC;QAC9B,IAAA,CAAA,gBAAgB,GAAW,CAAC;QAC5B,IAAA,CAAA,iBAAiB,GAAW,CAAC;QAC7B,IAAA,CAAA,SAAS,GAAW,EAAE;QACtB,IAAA,CAAA,SAAS,GAAkB,IAAI;QAC/B,IAAA,CAAA,qBAAqB,GAAW,EAAE;QAClC,IAAA,CAAA,WAAW,GAAkB,IAAI;QACjC,IAAA,CAAA,OAAO,GAAW,EAAE;QACpB,IAAA,CAAA,iBAAiB,GAAW,CAAC;QAC7B,IAAA,CAAA,YAAY,GAAY,KAAK;QAGnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE;AAC3B,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,cAAc,IAAI,EAAE;QAClD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE;QAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE;QAC7C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI;QACzC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI;QACjC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,EAAE;QACjD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,KAAK;QACpC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,EAAE;QAC/C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,oBAAoB;QAC7D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE;QACjC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE;QACrC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,IAAI,IAAI;QAC/D,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE;AACzB,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,oBAAoB,IAAI,EAAE;QACpE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI;QACzC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE;QAC/B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,CAAC;IACpD;;AAGA,IAAA,IAAI,IAAI,GAAA;QACN,OAAO,IAAI,CAAC,KAAK;IACnB;IACA,IAAI,IAAI,CAAC,KAAa,EAAA;AACpB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,EAAE;IAC1B;AAEA,IAAA,IAAI,IAAI,GAAA;QACN,OAAO,IAAI,CAAC,KAAK;IACnB;IACA,IAAI,IAAI,CAAC,KAAa,EAAA;AACpB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,EAAE;IAC1B;AAEA,IAAA,IAAI,IAAI,GAAA;QACN,OAAO,IAAI,CAAC,KAAK;IACnB;IACA,IAAI,IAAI,CAAC,KAAa,EAAA;AACpB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,EAAE;IAC1B;AAEA,IAAA,IAAI,SAAS,GAAA;QACX,OAAO,IAAI,CAAC,UAAU;IACxB;IACA,IAAI,SAAS,CAAC,KAAoB,EAAA;QAChC,IAAI,CAAC,UAAU,GAAG,KAAK,IAAI,IAAI,IAAI,EAAE;IACvC;AAEA,IAAA,IAAI,UAAU,GAAA;QACZ,OAAO,IAAI,CAAC,WAAW;IACzB;IACA,IAAI,UAAU,CAAC,KAA2B,EAAA;AACxC,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK;IAC1B;AAEA,IAAA,IAAI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,OAAO;IACrB;IACA,IAAI,MAAM,CAAC,KAAc,EAAA;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK;IACxB;AAEA,IAAA,IAAI,eAAe,GAAA;QACjB,OAAO,IAAI,CAAC,gBAAgB;IAC9B;IACA,IAAI,eAAe,CAAC,KAAU,EAAA;AAC5B,QAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,IAAI,EAAE;IACrC;AAEA,IAAA,IAAI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,QAAQ;IACtB;IACA,IAAI,OAAO,CAAC,KAAc,EAAA;AACxB,QAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK;IACzB;AAEA,IAAA,IAAI,cAAc,GAAA;QAChB,OAAO,IAAI,CAAC,eAAe;IAC7B;IACA,IAAI,cAAc,CAAC,KAAa,EAAA;AAC9B,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK,IAAI,EAAE;IACpC;AAEA,IAAA,IAAI,YAAY,GAAA;QACd,OAAO,IAAI,CAAC,aAAa;IAC3B;IACA,IAAI,YAAY,CAAC,KAAa,EAAA;AAC5B,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,IAAI,oBAAoB;IACpD;AAEA,IAAA,IAAI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,QAAQ;IACtB;IACA,IAAI,OAAO,CAAC,KAAa,EAAA;AACvB,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,IAAI,EAAE;IAC7B;AAEA,IAAA,IAAI,SAAS,GAAA;QACX,OAAO,IAAI,CAAC,UAAU;IACxB;IACA,IAAI,SAAS,CAAC,KAAa,EAAA;AACzB,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,IAAI,EAAE;IAC/B;AAEA,IAAA,IAAI,qBAAqB,GAAA;QACvB,OAAO,IAAI,CAAC,sBAAsB;IACpC;IACA,IAAI,qBAAqB,CAAC,KAAoB,EAAA;AAC5C,QAAA,IAAI,CAAC,sBAAsB,GAAG,KAAK;IACrC;AAEA,IAAA,IAAI,GAAG,GAAA;QACL,OAAO,IAAI,CAAC,IAAI;IAClB;IACA,IAAI,GAAG,CAAC,KAAa,EAAA;AACnB,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK,IAAI,EAAE;IACzB;;AAGA,IAAA,IAAI,SAAS,GAAA;QACX,OAAO,IAAI,CAAC,UAAU;IACxB;IACA,IAAI,SAAS,CAAC,KAAa,EAAA;AACzB,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,IAAI,EAAE;IAC/B;AAEA,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,MAAM;IACpB;IACA,IAAI,KAAK,CAAC,KAAa,EAAA;AACrB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,IAAI,CAAC;IAC1B;AAEA,IAAA,IAAI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,OAAO;IACrB;IACA,IAAI,MAAM,CAAC,KAAa,EAAA;AACtB,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,IAAI,CAAC;IAC3B;AAEA,IAAA,IAAI,YAAY,GAAA;QACd,OAAO,IAAI,CAAC,aAAa;IAC3B;IACA,IAAI,YAAY,CAAC,KAAa,EAAA;AAC5B,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,IAAI,CAAC;IACjC;AAEA,IAAA,IAAI,YAAY,GAAA;QACd,OAAO,IAAI,CAAC,aAAa;IAC3B;IACA,IAAI,YAAY,CAAC,KAAa,EAAA;AAC5B,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,IAAI,CAAC;IACjC;AAEA,IAAA,IAAI,UAAU,GAAA;QACZ,OAAO,IAAI,CAAC,WAAW;IACzB;IACA,IAAI,UAAU,CAAC,KAAa,EAAA;AAC1B,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,IAAI,CAAC;IAC/B;AAEA,IAAA,IAAI,WAAW,GAAA;QACb,OAAO,IAAI,CAAC,YAAY;IAC1B;IACA,IAAI,WAAW,CAAC,KAAa,EAAA;AAC3B,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,IAAI,CAAC;IAChC;AAEA,IAAA,IAAI,cAAc,GAAA;QAChB,OAAO,IAAI,CAAC,eAAe;IAC7B;IACA,IAAI,cAAc,CAAC,KAAa,EAAA;AAC9B,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK,IAAI,CAAC;IACnC;AAEA,IAAA,IAAI,iBAAiB,GAAA;QACnB,OAAO,IAAI,CAAC,kBAAkB;IAChC;IACA,IAAI,iBAAiB,CAAC,KAAa,EAAA;AACjC,QAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK,IAAI,CAAC;IACtC;AAEA,IAAA,IAAI,eAAe,GAAA;QACjB,OAAO,IAAI,CAAC,gBAAgB;IAC9B;IACA,IAAI,eAAe,CAAC,KAAa,EAAA;AAC/B,QAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,IAAI,CAAC;IACpC;AAEA,IAAA,IAAI,gBAAgB,GAAA;QAClB,OAAO,IAAI,CAAC,iBAAiB;IAC/B;IACA,IAAI,gBAAgB,CAAC,KAAa,EAAA;AAChC,QAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK,IAAI,CAAC;IACrC;AAEA,IAAA,IAAI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,SAAS;IACvB;IACA,IAAI,QAAQ,CAAC,KAAa,EAAA;AACxB,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK;IACxB;AAEA,IAAA,IAAI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,SAAS;IACvB;IACA,IAAI,QAAQ,CAAC,KAAoB,EAAA;AAC/B,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK;IACxB;AAEA,IAAA,IAAI,UAAU,GAAA;QACZ,OAAO,IAAI,CAAC,qBAAqB;IACnC;IACA,IAAI,UAAU,CAAC,KAAa,EAAA;AAC1B,QAAA,IAAI,CAAC,qBAAqB,GAAG,KAAK,IAAI,EAAE;IAC1C;AAEA,IAAA,IAAI,UAAU,GAAA;QACZ,OAAO,IAAI,CAAC,WAAW;IACzB;IACA,IAAI,UAAU,CAAC,KAAoB,EAAA;AACjC,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK;IAC1B;AAEA,IAAA,IAAI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,OAAO;IACrB;IACA,IAAI,MAAM,CAAC,KAAa,EAAA;AACtB,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,IAAI,EAAE;IAC5B;AAEA,IAAA,IAAI,gBAAgB,GAAA;QAClB,OAAO,IAAI,CAAC,iBAAiB;IAC/B;IACA,IAAI,gBAAgB,CAAC,KAAa,EAAA;AAChC,QAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK,IAAI,CAAC;IACrC;AAEA,IAAA,IAAI,WAAW,GAAA;QACb,OAAO,IAAI,CAAC,YAAY;IAC1B;IACA,IAAI,WAAW,CAAC,KAAc,EAAA;AAC5B,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK;IAC3B;IAEA,MAAM,GAAA;QACJ,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;YACjD,GAAG,EAAE,IAAI,CAAC,GAAG;SACd;IACH;AACD;;MC1TY,4BAA4B,CAAA;AACvC,IAAA,WAAA,CACU,IAAiB,EACjB,gBAAiC,EACjC,IAAgB,EAChB,UAA4B,EAAA;QAH5B,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;QAChB,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,UAAU,GAAV,UAAU;IACjB;AAEH;;AAE6E;AAE7E,IAAA,sBAAsB,CACpB,uBAA4B,EAAA;QAE5B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC;aACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,aAAa;AACb,YAAA,uBAAuB,EACzB,EAAE,OAAO,EAAE;AAEZ,aAAA,IAAI,CAAC,GAAG,CAAC,CAAC,GAAQ,KAAK,IAAI,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D;;AAGA,IAAA,wBAAwB,CACtB,KAAa,EACb,KAAa,EACb,UAAmB,EACnB,YAAqB,EACrB,UAAgB,EAChB,SAAkB,EAClB,MAAgB,EAChB,cAAwB,EAAA;AAExB,QAAA,IAAI,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,EAAE;AAC3D,QAAA,IAAI,SAAS,GAAG,YAAY,GAAG,QAAQ,GAAG,YAAY,GAAG,EAAE;AAC3D,QAAA,IAAI,eAAe,GAAG,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,EAAE;AAC7D,QAAA,IAAI,cAAc,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,EAAE;AAC/D,QAAA,IAAI,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,EAAE;QACnD,IAAI,mBAAmB,GAAG;cACtB,mBAAmB,GAAG;cACtB,EAAE;QAEN,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,MAAM,GAAG,CAAA,OAAA,EAAU,KAAK,CAAA,OAAA,EAAU,KAAK,GAAG,WAAW,CAAA,EAAG,SAAS,CAAA,EAAG,eAAe,GAAG,cAAc,CAAA,EAAG,WAAW,CAAA,EAAG,mBAAmB,EAAE;AAC9I,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;AACzC,YAAA,CAAA,gCAAA,EAAmC,MAAM,CAAA,CAAE,EAC7C,EAAE,OAAO,EAAE,CACZ;IACH;IAEA,4BAA4B,CAAC,IAAY,EAAE,aAAqB,EAAA;QAC9D,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,sBAAsB,EACpE;AACE,YAAA,uBAAuB,EAAE,IAAI;AAC7B,YAAA,uBAAuB,EAAE,aAAa;AACvC,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA,IAAA,yBAAyB,CAAC,uBAA+B,EAAA;AACvD,QAAA,IAAI,2BAA2B,GAAG,CAAC,uBAAuB,CAAC;QAC3D,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC;aACT,OAAO,CACN,QAAQ,EACR,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;AACzC,YAAA,kCAAkC,EACpC;AACE,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,IAAI,EAAE;AACJ,gBAAA,kCAAkC,EAAE,2BAA2B;AAChE,aAAA;SACF;AAEF,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA,IAAA,0BAA0B,CAAC,2BAAqC,EAAA;QAC9D,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC;aACT,OAAO,CACN,QAAQ,EACR,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;AACzC,YAAA,kCAAkC,EACpC;AACE,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,IAAI,EAAE;AACJ,gBAAA,kCAAkC,EAAE,2BAA2B;AAChE,aAAA;SACF;AAEF,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA,IAAA,yBAAyB,CACvB,uBAA+B,EAC/B,UAAkB,EAClB,YAAoB,EAAA;QAEpB,IAAI,SAAS,GAAG,yBAAyB;QACzC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,kBAAkB,EAChE;AACE,YAAA,uBAAuB,EAAE,uBAAuB;AAChD,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,YAAY,EAAE,YAAY;AAC3B,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA,IAAA,6BAA6B,CAC3B,uBAA+B,EAC/B,UAAkB,EAClB,YAAoB,EAAA;QAEpB,IAAI,SAAS,GAAG,yBAAyB;QACzC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAElC,QAAQ,UAAU;AAChB,YAAA,KAAK,WAAW;gBACd,UAAU,GAAG,OAAO;;AAExB,QAAA,UAAU,GAAG,UAAU,CAAC,WAAW,EAAE;QAErC,OAAO,IAAI,CAAC;aACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,kBAAkB,EAChE;AACE,YAAA,uBAAuB,EAAE,uBAAuB;AAChD,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,YAAY,EAAE,YAAY;AAC3B,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA,IAAA,uCAAuC,CACrC,uBAA+B,EAC/B,UAAkB,EAClB,YAAoB,EAAA;QAEpB,IAAI,SAAS,GAAG,mCAAmC;QACnD,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,kBAAkB,EAChE;AACE,YAAA,uBAAuB,EAAE,uBAAuB;AAChD,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,YAAY,EAAE,YAAY;AAC3B,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;IAEA,sBAAsB,CACpB,YAAoB,EACpB,IAAY,EACZ,IAAY,EACZ,UAAkB,EAClB,oBAA4B,EAC5B,KAAa,EACb,MAAc,EACd,SAAkB,EAClB,YAAqB,EACrB,UAAmB,EACnB,WAAoB,EAAA;QAEpB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,gBAAgB,EAC9D;AACE,YAAA,uBAAuB,EAAE,IAAI;AAC7B,YAAA,uBAAuB,EAAE,IAAI;AAC7B,YAAA,2BAA2B,EAAE,IAAI;AACjC,YAAA,6BAA6B,EAAE,UAAU;AACzC,YAAA,iCAAiC,EAAE,oBAAoB;AACvD,YAAA,+BAA+B,EAAE,YAAY;AAC7C,YAAA,wBAAwB,EAAE,KAAK;AAC/B,YAAA,yBAAyB,EAAE,MAAM;AACjC,YAAA,4BAA4B,EAAE,SAAS;AACvC,YAAA,+BAA+B,EAAE,YAAY;AAC7C,YAAA,6BAA6B,EAAE,UAAU;AACzC,YAAA,8BAA8B,EAAE,WAAW;AAC5C,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA,IAAA,sBAAsB,CACpB,YAAoB,EAAA;QAEpB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC;aACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,+CAA+C;AAC/C,YAAA,YAAY,EACd,EAAE,OAAO,EAAE;AAEZ,aAAA,IAAI,CACH,GAAG,CAAC,CAAC,GAAQ,KAAI;YACf,OAAO;gBACL,WAAW,EAAE,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,IAAI,EAAE,EAAE,GAAG,CACzD,CAAC,IAAS,KAAK,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAC7C;aACF;QACH,CAAC,CAAC,CACH;IACL;AAEA,IAAA,wBAAwB,CACtB,YAAoB,EAAA;QAEpB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC;aACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,iDAAiD;AACjD,YAAA,YAAY,EACd,EAAE,OAAO,EAAE;AAEZ,aAAA,IAAI,CACH,GAAG,CAAC,CAAC,GAAQ,KAAI;YACf,OAAO;gBACL,aAAa,EAAE,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE,EAAE,GAAG,CAC1C,CAAC,IAAS,KAAK,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAC7C;aACF;QACH,CAAC,CAAC,CACH;IACL;AAEA,IAAA,qBAAqB,CACnB,YAAoB,EAAA;QAEpB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC;aACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,8CAA8C;AAC9C,YAAA,YAAY,EACd,EAAE,OAAO,EAAE;AAEZ,aAAA,IAAI,CACH,GAAG,CAAC,CAAC,GAAQ,KAAI;YACf,OAAO;gBACL,UAAU,EAAE,CAAC,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU,IAAI,EAAE,EAAE,GAAG,CACtD,CAAC,IAAS,KAAK,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAC7C;aACF;QACH,CAAC,CAAC,CACH;IACL;AAEA,IAAA,qBAAqB,CACnB,YAAoB,EAAA;QAEpB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC;aACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,6CAA6C;AAC7C,YAAA,YAAY,EACd,EAAE,OAAO,EAAE;AAEZ,aAAA,IAAI,CACH,GAAG,CAAC,CAAC,GAAQ,KAAI;YACf,OAAO;gBACL,SAAS,EAAE,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,IAAI,EAAE,EAAE,GAAG,CACnD,CAAC,IAAS,KAAK,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAC7C;aACF;QACH,CAAC,CAAC,CACH;IACL;IAEA,aAAa,GAAA;QACX,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,uBAAuB,EACrE,EAAE,OAAO,EAAE,CACZ;IACH;AAEA,IAAA,eAAe,CAAC,SAAiB,EAAA;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAClD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CACtB,QAAQ,EACR,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,uBAAuB,EACrE;AACE,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE;AAC/B,SAAA,CACF;IACH;AAEA,IAAA,eAAe,CAAC,SAAiB,EAAA;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAClD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CACtB,QAAQ,EACR,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,sBAAsB,EACpE;AACE,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,IAAI,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE;AACnC,SAAA,CACF;IACH;IAEA,cAAc,GAAA;QACZ,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,wBAAwB,EACtE,EAAE,OAAO,EAAE,CACZ;IACH;AAEA,IAAA,gBAAgB,CAAC,SAAiB,EAAA;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAClD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CACtB,QAAQ,EACR,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,wBAAwB,EACtE;AACE,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,IAAI,EAAE,EAAE,cAAc,EAAE,SAAS,EAAE;AACpC,SAAA,CACF;IACH;IAEA,WAAW,GAAA;QACT,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,qBAAqB,EACnE,EAAE,OAAO,EAAE,CACZ;IACH;AAEA,IAAA,cAAc,CAAC,SAAiB,EAAA;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAClD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CACtB,QAAQ,EACR,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,qBAAqB,EACnE;AACE,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,IAAI,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE;AACjC,SAAA,CACF;IACH;+GAjZW,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAF,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAf,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAgB,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,cAF3B,MAAM,EAAA,CAAA,CAAA;;4FAEP,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAHxC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCHY,gBAAgB,CAAA;AAC3B,IAAA,WAAA,CACU,gBAAiC,EACjC,IAAgB,EAChB,UAA4B,EAAA;QAF5B,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;QAChB,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,UAAU,GAAV,UAAU;IACjB;AAEH;;AAE6E;;AAG7E,IAAA,WAAW,CAAC,SAAiB,EAAA;QAC3B,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,gBAAgB;AAChB,YAAA,SAAS,EACX,EAAE,OAAO,EAAE,CACZ;IACH;AAEA,IAAA,aAAa,CAAC,SAAiB,EAAE,OAAA,GAAkB,IAAI,EAAA;QACrD,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,sBAAsB;YACtB,SAAS;YACT,GAAG;AACH,YAAA,OAAO,EACT,EAAE,OAAO,EAAE,CACZ;IACH;IAEA,cAAc,CAAC,SAAiB,EAAE,UAAkB,EAAA;QAClD,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,eAAe,EAC7D;AACE,YAAA,YAAY,EAAE,SAAS;AACvB,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,YAAY,EAAE,UAAU;SACzB,EACD,OAAO,CACR;IACH;IAEA,iBAAiB,CAAC,SAAiB,EAAE,YAAoB,EAAA;QACvD,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,yBAAyB,EACvE;AACE,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,YAAY,EAAE,YAAY;SAC3B,EACD,OAAO,CACR;IACH;AAEA,IAAA,0BAA0B,CACxB,SAAiB,EACjB,QAAgB,EAChB,QAAgB,EAAA;QAEhB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzC,qBAAqB;YACrB,SAAS;YACT,GAAG;YACH,QAAQ;YACR,GAAG;AACH,YAAA,QAAQ,EACV,EAAE,EACF,EAAE,OAAO,EAAE,CACZ;IACH;AAEA;;AAE6E;AAE7E,IAAA,mBAAmB,CAAC,SAAiB,EAAE,SAAkB,EAAE,KAAY,EAAA;QACrE,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,OAAO,YAAY,WAAW,EAAE;AAClC,YAAA,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE;AAC/B,gBAAA,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC;YAC1C;QACF;AAAO,aAAA,IAAI,OAAO,CAAC,cAAc,CAAC,EAAE;AAClC,YAAA,OAAO,OAAO,CAAC,cAAc,CAAC;QAChC;AACA,QAAA,MAAM,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AAEpC,QAAA,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE;AAC/B,QAAA,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC;QACvC,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS,EAAE;YACjD,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC;QACpD;QAEA,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AAC7B,YAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACxB,gBAAA,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC;YAChC;QACF;QAEA,OAAO,IAAI,CAAC;AACT,aAAA,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,sBAAsB,EACpE,QAAQ,EACR,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACL;AAEA,IAAA,eAAe,CAAC,SAAiB,EAAA;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAElD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,uBAAuB,EACrE,EAAE,SAAS,EAAE,EACb,EAAE,OAAO,EAAE,CACZ;IACH;+GAhIW,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAV,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAL,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAY,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cAFf,MAAM,EAAA,CAAA,CAAA;;4FAEP,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCAY,QAAQ,CAAA;AAOnB,IAAA,WAAA,CAAY,OAAsB,EAAE,EAAA;QAN5B,IAAA,CAAA,aAAa,GAAW,EAAE;QAC1B,IAAA,CAAA,gBAAgB,GAAW,CAAC;QAC5B,IAAA,CAAA,wBAAwB,GAAkB,IAAI;QAC9C,IAAA,CAAA,iBAAiB,GAAkB,IAAI;QACvC,IAAA,CAAA,sBAAsB,GAAkB,IAAI;QAGlD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE;QAC3C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,CAAC;QAChD,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,IAAI,IAAI;QACnE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI;QACrD,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,IAAI,IAAI;IACjE;AAEA,IAAA,IAAI,YAAY,GAAA;QACd,OAAO,IAAI,CAAC,aAAa;IAC3B;IACA,IAAI,YAAY,CAAC,KAAa,EAAA;AAC5B,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,IAAI,EAAE;IAClC;AAEA,IAAA,IAAI,eAAe,GAAA;QACjB,OAAO,IAAI,CAAC,gBAAgB;IAC9B;IACA,IAAI,eAAe,CAAC,KAAa,EAAA;AAC/B,QAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,IAAI,CAAC;IACpC;AAEA,IAAA,IAAI,uBAAuB,GAAA;QACzB,OAAO,IAAI,CAAC,wBAAwB;IACtC;IACA,IAAI,uBAAuB,CAAC,KAAoB,EAAA;AAC9C,QAAA,IAAI,CAAC,wBAAwB,GAAG,KAAK;IACvC;AAEA,IAAA,IAAI,gBAAgB,GAAA;QAClB,OAAO,IAAI,CAAC,iBAAiB;IAC/B;IACA,IAAI,gBAAgB,CAAC,KAAoB,EAAA;AACvC,QAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK;IAChC;AAEA,IAAA,IAAI,qBAAqB,GAAA;QACvB,OAAO,IAAI,CAAC,sBAAsB;IACpC;IACA,IAAI,qBAAqB,CAAC,KAAoB,EAAA;AAC5C,QAAA,IAAI,CAAC,sBAAsB,GAAG,KAAK;IACrC;IAEA,MAAM,GAAA;QACJ,OAAO;YACL,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;YACrD,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;SAClD;IACH;AACD;;MC5DY,aAAa,CAAA;IACxB,WAAA,CACU,IAAgB,EAChB,gBAAiC,EAAA;QADjC,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;IACtB;AAEJ,IAAA,qBAAqB,CAAC,gBAAwB,EAAE,UAAkB,EAAE,SAAiB,EAAA;QACnF,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAClD,QAAA,MAAM,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AACpC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,yBAAyB,EACvE;AACE,YAAA,gBAAgB,EAAE,gBAAgB;AAClC,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,SAAS,EAAE,SAAS;SACrB,EACD,OAAO,CACR;IACH;AAEA,IAAA,kBAAkB,CAAC,mBAA2B,EAAA;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAClD,QAAA,MAAM,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AACpC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,4BAA4B,EAC1E;AACE,YAAA,mBAAmB,EAAE,mBAAmB;SACzC,EACD,OAAO,CACR;IACH;AAEA,IAAA,kBAAkB,CAAC,mBAA2B,EAAA;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAClD,QAAA,MAAM,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;AACpC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,4BAA4B,EAC1E;AACE,YAAA,mBAAmB,EAAE,mBAAmB;SACzC,EACD,OAAO,CACR;IACH;IAEA,WAAW,GAAA;QACT,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAClD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,iBAAiB,EAC/D,EAAE,OAAO,EAAE,CACZ;IACH;+GAlDW,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAd,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAFZ,MAAM,EAAA,CAAA,CAAA;;4FAEP,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;ACND;;AAEG;;ACFH;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"solidpepper-solidpepper-service.mjs","sources":["../../../projects/solidpepper-service/src/lib/rights.service.ts","../../../projects/solidpepper-service/src/lib/settings.service.ts","../../../projects/solidpepper-service/src/lib/views.service.ts","../../../projects/solidpepper-service/src/lib/menu.service.ts","../../../projects/solidpepper-service/src/lib/companies/company.service.ts","../../../projects/solidpepper-service/src/lib/notification-service.service.ts","../../../projects/solidpepper-service/src/lib/websocket.service.ts","../../../projects/solidpepper-service/src/lib/auth.service.ts","../../../projects/solidpepper-service/src/lib/companies/companies.service.ts","../../../projects/solidpepper-service/src/lib/teams.service.ts","../../../projects/solidpepper-service/src/lib/dam-assets-profiles.service.ts","../../../projects/solidpepper-service/src/lib/dam-assets-selections.service.ts","../../../projects/solidpepper-service/src/lib/workflows-desks.service.ts","../../../projects/solidpepper-service/src/lib/workflows-historical.service.ts","../../../projects/solidpepper-service/src/lib/login/login.service.ts","../../../projects/solidpepper-service/src/lib/sidebar-right.service.ts","../../../projects/solidpepper-service/src/lib/completeness.service.ts","../../../projects/solidpepper-service/src/lib/status.service.ts","../../../projects/solidpepper-service/src/lib/exports.service.ts","../../../projects/solidpepper-service/src/lib/locale-number.pipe.ts","../../../projects/solidpepper-service/src/lib/time-elapsed.pipe.ts","../../../projects/solidpepper-service/src/lib/directive/easypiechart/easypiechart.directive.ts","../../../projects/solidpepper-service/src/lib/categories.service.ts","../../../projects/solidpepper-service/src/lib/skus.service.ts","../../../projects/solidpepper-service/src/lib/supplier/suppliers.service.ts","../../../projects/solidpepper-service/src/lib/accounts.service.ts","../../../projects/solidpepper-service/src/lib/frameworkagreements.service.ts","../../../projects/solidpepper-service/src/lib/translate.service.ts","../../../projects/solidpepper-service/src/lib/translator.service.ts","../../../projects/solidpepper-service/src/lib/attribute/attributes.service.ts","../../../projects/solidpepper-service/src/lib/masks/masks.service.ts","../../../projects/solidpepper-service/src/lib/dam-assets.service.ts","../../../projects/solidpepper-service/src/lib/media-selection.service.ts","../../../projects/solidpepper-service/src/lib/search.service.ts","../../../projects/solidpepper-service/src/lib/users/users.service.ts","../../../projects/solidpepper-service/src/lib/prices-tax/prices-tax.service.ts","../../../projects/solidpepper-service/src/lib/notifications/notification-service.service.ts","../../../projects/solidpepper-service/src/lib/publications/generation/thumbnail.service.ts","../../../projects/solidpepper-service/src/lib/publications/generation/generation.service.ts","../../../projects/solidpepper-service/src/lib/publications/productsheet/productsheets.service.ts","../../../projects/solidpepper-service/src/lib/publications/publication/publication-page.model.ts","../../../projects/solidpepper-service/src/lib/publications/publication/publication.model.ts","../../../projects/solidpepper-service/src/lib/publications/publication/publication-data.model.ts","../../../projects/solidpepper-service/src/lib/publications/publication/publications.service.ts","../../../projects/solidpepper-service/src/lib/publications/template/template.model.ts","../../../projects/solidpepper-service/src/lib/publications/template/templates.service.ts","../../../projects/solidpepper-service/src/lib/publications/template/publication-template.model.ts","../../../projects/solidpepper-service/src/lib/publications/template/publications-templates.service.ts","../../../projects/solidpepper-service/src/lib/publications/document/documents.service.ts","../../../projects/solidpepper-service/src/lib/publications/document/document.model.ts","../../../projects/solidpepper-service/src/lib/publications/document/document-comment.service.ts","../../../projects/solidpepper-service/src/lib/stripe.service.ts","../../../projects/solidpepper-service/src/public-api.ts","../../../projects/solidpepper-service/src/solidpepper-solidpepper-service.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { Observable, ReplaySubject, Subject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class RightsService {\r\n private rightsAccessModule = new ReplaySubject<any>(1);\r\n\r\n constructor() { }\r\n\r\n sendRights(rights: any) {\r\n this.rightsAccessModule.next(rights);\r\n }\r\n\r\n getRights(): Observable<any> {\r\n return this.rightsAccessModule.asObservable();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpHeaders, HttpClient } from '@angular/common/http';\r\nimport { InjectionToken, Inject, Optional } from '@angular/core';\r\n\r\nexport const SOLIDPEPPER_TOKEN_GETTER = new InjectionToken<() => string>('SolidpepperTokenGetter');\r\nexport const SOLIDPEPPER_API_URL = new InjectionToken<string>('SolidpepperApiUrl');\r\n// import { environment } from '../../environments/environment';\r\ndeclare var $: any;\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SettingsService {\r\n private user: any;\r\n private app: any;\r\n private layout: any = {\r\n isFixed: true,\r\n isCollapsed: false,\r\n isBoxed: false,\r\n isRTL: false,\r\n horizontal: false,\r\n isFloat: false,\r\n asideHover: false,\r\n theme: null,\r\n asideScrollbar: false,\r\n isCollapsedText: false,\r\n useFullLayout: false,\r\n hiddenFooter: false,\r\n offsidebarOpen: false,\r\n notificationOpen: false,\r\n generationOpen: false,\r\n asideToggled: false,\r\n viewAnimation: 'ng-fadeInUp',\r\n };\r\n private settings: any;\r\n private primoTexto: any;\r\n private headers: any;\r\n private customToken?: string;\r\n private alias: string = '';\r\n\r\n constructor(\r\n private http: HttpClient,\r\n @Optional() @Inject(SOLIDPEPPER_TOKEN_GETTER) private tokenGetter?: () => string,\r\n @Optional() @Inject(SOLIDPEPPER_API_URL) private injectedApiUrl?: string\r\n ) {\r\n /* ========================================================================\r\n USER : Settings\r\n ======================================================================== */\r\n // User Settings\r\n // -----------------------------------\r\n this.user = {\r\n name: 'John',\r\n job: 'ng-developer',\r\n picture: 'assets/img/user/02.jpg',\r\n };\r\n\r\n // if (environment.production) {\r\n // this.alias = window.location.pathname.split('/')[1].toLowerCase();\r\n\r\n this.settings = {\r\n apiUrl: this.injectedApiUrl || 'http://localhost/centralstationservice/api/',\r\n // apiUrl: 'https://centralstation.solidpim.com/' + this.alias + '/api/',\r\n // apiUrl: 'https://centralstation-preprod.solidpim.com/' + this.alias + '/api/'\r\n };\r\n // } else {\r\n // this.alias = 'sokoa';\r\n\r\n // this.settings = {\r\n // // apiUrl: 'http://localhost/centralstationservice/api/',\r\n // // apiUrl: 'http://10.0.0.92/centralstationservice/api/',\r\n // // apiUrl: 'http://10.0.0.29/centralstationservice/api/',\r\n // apiUrl: 'https://centralstation.solidpim.com/' + this.alias + '/api/',\r\n // // apiUrl: 'https://centralstation-preprod.solidpim.com/' + this.alias + '/api/',\r\n // };\r\n // }\r\n\r\n // this.primoTexto = {\r\n // apiKey: '0cdcfad52d425fbeec6cad2fab1c6d64'\r\n // }\r\n\r\n /* ========================================================================\r\n APP : Settings\r\n ======================================================================== */\r\n\r\n this.app = {\r\n name: 'Nude',\r\n description: '',\r\n year: '2019',\r\n };\r\n }\r\n\r\n setToken(token: string) {\r\n this.customToken = token;\r\n }\r\n\r\n getToken() {\r\n if (this.customToken) {\r\n return this.customToken;\r\n }\r\n if (this.tokenGetter) {\r\n return this.tokenGetter();\r\n }\r\n\r\n var token;\r\n if (localStorage.getItem('Auth_Token_' + this.alias)) {\r\n token = localStorage.getItem('Auth_Token_' + this.alias);\r\n } else {\r\n token = 'invalid token';\r\n }\r\n\r\n return token;\r\n }\r\n\r\n updateMaintenance() {\r\n let language = this.getLanguage();\r\n let headers: any = {\r\n 'Content-Type': 'application/json',\r\n 'Accept-Language': language,\r\n };\r\n return this.http.get(this.getSettings('apiUrl') + 'Settings/isonline', {\r\n headers,\r\n });\r\n }\r\n\r\n getLanguage() {\r\n var language: any;\r\n localStorage.getItem('language_' + this.alias)\r\n ? (language = localStorage.getItem('language_' + this.alias))\r\n : (language = 'en');\r\n return language;\r\n }\r\n\r\n getHeaders() {\r\n let token = this.getToken();\r\n let language = this.getLanguage();\r\n let headersObj: any = {\r\n 'Content-Type': 'application/json',\r\n 'Accept-Language': language,\r\n };\r\n if (token && token !== 'undefined' && token !== 'null') {\r\n headersObj['Authorization'] = 'Bearer ' + token;\r\n }\r\n this.headers = headersObj;\r\n return this.headers;\r\n }\r\n\r\n getPrimoTexto(name: string | number) {\r\n return name ? this.primoTexto[name] : this.primoTexto;\r\n }\r\n\r\n getSettings(name: string) {\r\n return name ? this.settings[name] : this.settings;\r\n }\r\n\r\n getAppSetting(name: string | number) {\r\n return name ? this.app[name] : this.app;\r\n }\r\n\r\n getUserSetting(name: string | number) {\r\n return name ? this.user[name] : this.user;\r\n }\r\n\r\n getLayoutSetting(name: string) {\r\n return name ? this.layout[name] : this.layout;\r\n }\r\n\r\n setSettings(name: string | number, value: any) {\r\n this.settings[name] = value;\r\n }\r\n\r\n setAppSetting(name: string | number, value: any) {\r\n if (typeof this.app[name] !== 'undefined') {\r\n this.app[name] = value;\r\n }\r\n }\r\n\r\n setUserSetting(name: string | number, value: any) {\r\n if (typeof this.user[name] !== 'undefined') {\r\n this.user[name] = value;\r\n }\r\n }\r\n\r\n setLayoutSetting(name: string, value: boolean) {\r\n setTimeout(() => {\r\n if (typeof this.layout?.[name] !== 'undefined') {\r\n this.layout[name] = value;\r\n }\r\n }, 0);\r\n }\r\n\r\n toggleLayoutSetting(name: any) {\r\n return this.setLayoutSetting(name, !this.getLayoutSetting(name));\r\n }\r\n\r\n /* ========================================================================\r\n ALIAS \r\n ======================================================================== */\r\n\r\n getAlias() {\r\n return this.alias;\r\n }\r\n\r\n setAlias(alias: string) {\r\n this.alias = alias;\r\n this.settings = {\r\n apiUrl: 'https://centralstation.solidpim.com/' + this.alias + '/api/',\r\n };\r\n }\r\n\r\n getLogin(alias: string) {\r\n localStorage.getItem('Login_' + alias);\r\n }\r\n\r\n /* ========================================================================\r\n RIGHTS : Acces Module\r\n ======================================================================== */\r\n\r\n getRightsAccesModuleFromApi(login: string, companyGuid: string | null = null) {\r\n let headers = this.getHeaders();\r\n let url = this.getSettings('apiUrl') + 'profiles/rights/login/' + login;\r\n if (companyGuid) url += '?companyGuid=' + companyGuid;\r\n return this.http.get(url, { headers });\r\n }\r\n\r\n getRightsAccesModuleForOneProfile(profileGuid: any) {\r\n let headers = this.getHeaders();\r\n return this.http.get(\r\n this.getSettings('apiUrl') + 'profiles/rights/' + profileGuid,\r\n { headers },\r\n );\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { SettingsService } from './settings.service';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ViewsService {\r\n constructor(\r\n private http: HttpClient,\r\n private _settingsService: SettingsService\r\n ) { }\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getAllViews(start = 0, limit = 100, search = '', sort = '', direction = 'ASC') {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Views/all?start=' + start + '&limit=' + limit + '&search=' + search + '&sort=' + sort + '&direction=' + direction, { headers });\r\n }\r\n\r\n getViews() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Views', { headers });\r\n }\r\n\r\n getFields() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Views/fields', { headers });\r\n }\r\n\r\n getSkusInView(viewGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Views/' + viewGuid + '/skus', { headers });\r\n }\r\n\r\n getSkusVariantsInView(viewGuid: string, skuGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Views/' + viewGuid + '/skus/' + skuGuid + '/variants', { headers });\r\n }\r\n\r\n /* ========================================================================\r\n CREATE\r\n ======================================================================== */\r\n createViews(viewName: any, viewDescription: any, viewIcon: any, viewFields: any, viewFieldsVariants: any, ViewRules: any, viewRulesVariants: any, viewUsers: any, viewLanguage: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Views',\r\n {\r\n viewName: viewName,\r\n viewDescription: viewDescription,\r\n viewIcon: viewIcon,\r\n viewFields: viewFields,\r\n viewFieldsVariants: viewFieldsVariants,\r\n viewRules: ViewRules,\r\n viewRulesVariants: viewRulesVariants,\r\n viewUsers: viewUsers,\r\n viewLanguage: viewLanguage,\r\n },\r\n options\r\n );\r\n }\r\n /* ========================================================================\r\n UPDATE\r\n ======================================================================== */\r\n updateViews(viewGuid: any, fieldName: any, fieldValue: any, userGuid = null) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(\r\n this._settingsService.getSettings('apiUrl') + 'Views/field',\r\n {\r\n viewGuid: viewGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n userGuid: userGuid, // fourni userGuid si relationuserviewlanguage | relationuserviewfavorite\r\n },\r\n options\r\n );\r\n }\r\n /* ========================================================================\r\n DELETE\r\n ======================================================================== */\r\n deleteViews(viewGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.delete(this._settingsService.getSettings('apiUrl') + 'Views/' + viewGuid, { headers });\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n// import { TranslateService } from '@ngx-translate/core';\r\nimport { Subscription } from 'rxjs/internal/Subscription';\r\nimport { RightsService } from './rights.service';\r\nimport { SettingsService } from './settings.service';\r\nimport { Router } from '@angular/router';\r\nimport { ViewsService } from './views.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MenuService {\r\n menuItems: Array<any>;\r\n clientLabel: any;\r\n libraryLabel: any;\r\n documentsLabel: any;\r\n mediaMissingLabel: any;\r\n assetsOrphansLabel: any;\r\n assetsProfilesLabel: any;\r\n assetsSelectionsLabel: any;\r\n assetsOnHoldLabel: any;\r\n assetsFavoritesLabel: any;\r\n templatesLabel: any;\r\n separationLabel: any;\r\n assetsArchivedLabel: any;\r\n customersCategoriesLabel: any;\r\n ordersLabel: any;\r\n quotesLabel: any;\r\n organisationsLabel: any;\r\n salersLabel: any;\r\n frameworkagreementsLabel: any;\r\n contactLabel: any;\r\n salesPlusLabel: any;\r\n currentmenu = 'dashboard';\r\n classificationLabel: any;\r\n assetsLabel: any;\r\n suppliersLabel: any;\r\n viewsLabel: any;\r\n recentlyDeletedLabel: any;\r\n skusLabel: any;\r\n catalogueLabel: any;\r\n accountLabel: any;\r\n generalInfoLabel: any;\r\n bankInfoLabel: any;\r\n activeSessionLabel: any;\r\n confidentialityLabel: any;\r\n generalSettingLabel: any;\r\n generalAdminLabel: any;\r\n attributesLabel: any;\r\n articlesLabel: any;\r\n maskLabel: any;\r\n importLabel: any;\r\n exportLabel: any;\r\n usersLabel: any;\r\n teamsLabel: any;\r\n accessLabel: any;\r\n profilLabel: any;\r\n pricetaxeLabel: any;\r\n ecotaxpayerLabel: any;\r\n reportLabel: any;\r\n mappingLabel: any;\r\n templatesExcelLabel: any;\r\n taskBatch: any;\r\n exchangesLabel: any;\r\n languageLabel: any;\r\n settingsLabel: any;\r\n bomLabel: any;\r\n channelLabel: any;\r\n adminLabel: any;\r\n statusLabel: any;\r\n publicationLabel: any;\r\n publicationImportLabel: any;\r\n publicationExportLabel: any;\r\n publicationTemplatesLabel: any;\r\n publicationDocumentsLabel: any;\r\n workFlowsLabel: any;\r\n workFlowsRoomLabel: any;\r\n rulesLabel: any;\r\n workFlowsGlobalStepsLabel: any;\r\n workFlowsHistoricalLabel: any;\r\n workFlowsRulesLabel: any;\r\n customerLabel: any;\r\n frameworkAgreementsLabel: any;\r\n salesDealsLabel: any;\r\n salesDealsItemsLabel: any;\r\n publicationsLabel: any;\r\n\r\n // Right Acces\r\n rightsAccesModule: any;\r\n rightsAcces = false;\r\n rightsSettings = false;\r\n rightsAttributes = false;\r\n rightsExchanges = false;\r\n\r\n private subscriptionRights: Subscription;\r\n\r\n constructor(\r\n public tr: TranslateService,\r\n private http: HttpClient,\r\n public rights: RightsService,\r\n private router: Router,\r\n private _settingsService: SettingsService,\r\n private _view: ViewsService\r\n ) {\r\n this.menuItems = [];\r\n\r\n this.subscriptionRights = this.rights.getRights().subscribe((message) => {\r\n this.rightsAccesModule = message;\r\n\r\n if (\r\n this.rightsAccesModule['rights']['Settings']['Users']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['Teams']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['Profiles']['subModuleIsActive']\r\n ) {\r\n this.rightsAcces = true;\r\n }\r\n\r\n if (\r\n this.rightsAccesModule['rights']['Settings']['AttributesProducts']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['AttributesCategories']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['AttributesSuppliers']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['AttributesAccountsContacts']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['AttributesAccounts']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['AttributesAccountFrameworkAgreements']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['AttributesSalesDeals']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['AttributesPublications']['subModuleIsActive']\r\n )\r\n this.rightsAttributes = true;\r\n\r\n if (\r\n this.rightsAccesModule['rights']['Settings']['Batch']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['Mapping']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['TemplatesExcel']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['Imports']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['Exports']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['Reports']['subModuleIsActive']\r\n )\r\n this.rightsExchanges = true;\r\n\r\n if (\r\n this.rightsAccesModule['rights']['Settings']['Admin']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['Preferences']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['Ecocontributions']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['PricesAndTaxes']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['Status']['subModuleIsActive']\r\n )\r\n this.rightsSettings = true;\r\n\r\n this.updateMenu();\r\n });\r\n }\r\n\r\n getMenu() {\r\n return this.menuItems;\r\n }\r\n\r\n updateMenu() {\r\n this.menuItems = [];\r\n\r\n if (this.router.url.includes('dashboard')) this.currentmenu = 'dashboard';\r\n else if (this.router.url.includes('settings')) this.currentmenu = 'settings';\r\n else if (this.router.url.includes('workflows')) this.currentmenu = 'workflows';\r\n else if (this.router.url.includes('products')) this.currentmenu = 'products';\r\n else if (this.router.url.includes('sales')) this.currentmenu = 'sales';\r\n else if (this.router.url.includes('media')) this.currentmenu = 'media';\r\n else if (this.router.url.includes('publication')) this.currentmenu = 'publication';\r\n else if (this.router.url.includes('channels')) this.currentmenu = 'channels';\r\n else if (this.router.url.includes('bom')) this.currentmenu = 'bom';\r\n\r\n switch (this.currentmenu) {\r\n case 'dashboard':\r\n this.currentmenu = '';\r\n this.menuDashboard();\r\n break;\r\n case 'workflows':\r\n this.currentmenu = '';\r\n this.menuWorkflows();\r\n break;\r\n case 'products':\r\n this.currentmenu = '';\r\n this.menuProducts();\r\n break;\r\n case 'sales':\r\n this.currentmenu = '';\r\n this.menuSales();\r\n break;\r\n case 'media':\r\n this.currentmenu = '';\r\n this.menuMedia();\r\n break;\r\n case 'publication':\r\n this.currentmenu = '';\r\n this.menuPublication();\r\n break;\r\n case 'channels':\r\n this.currentmenu = '';\r\n this.menuChannels();\r\n break;\r\n case 'bom':\r\n this.currentmenu = '';\r\n this.menuBom();\r\n break;\r\n case 'settings':\r\n this.currentmenu = '';\r\n\r\n this.rightsAcces = false;\r\n this.rightsAttributes = false;\r\n this.rightsExchanges = false;\r\n\r\n if (this.rightsAccesModule) {\r\n if (\r\n this.rightsAccesModule['rights']['Settings']['Users']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['Teams']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['Profiles']['subModuleIsActive']\r\n )\r\n this.rightsAcces = true;\r\n\r\n if (\r\n this.rightsAccesModule['rights']['Settings']['AttributesProducts']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['AttributesCategories']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['AttributesSuppliers']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['AttributesAccountsContacts']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['AttributesAccounts']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['AttributesAccountFrameworkAgreements']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['AttributesSalesDeals']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['AttributesPublications']['subModuleIsActive']\r\n )\r\n this.rightsAttributes = true;\r\n\r\n if (\r\n this.rightsAccesModule['rights']['Settings']['Batch']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['Mapping']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['TemplatesExcel']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['Imports']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['Exports']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['Reports']['subModuleIsActive']\r\n )\r\n this.rightsExchanges = true;\r\n\r\n if (\r\n this.rightsAccesModule['rights']['Settings']['Admin']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['Preferences']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['Ecocontributions']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['PricesAndTaxes']['subModuleIsActive'] ||\r\n this.rightsAccesModule['rights']['Settings']['Status']['subModuleIsActive']\r\n )\r\n this.rightsSettings = true;\r\n }\r\n this.menuSettings(false);\r\n break;\r\n }\r\n }\r\n\r\n addMenu(\r\n items: Array<{\r\n text: string;\r\n heading?: boolean;\r\n link?: string; // internal route links\r\n elink?: string; // used only for external links\r\n target?: string; // anchor target=\"_blank|_self|_parent|_top|framename\"\r\n icon?: string;\r\n alert?: string;\r\n submenu?: Array<any>;\r\n }>\r\n ) {\r\n this.menuItems.length = 0;\r\n items.forEach((item) => {\r\n this.menuItems.push(item);\r\n });\r\n }\r\n\r\n returnMenuActive() {\r\n return this.currentmenu;\r\n }\r\n\r\n /* ========================================================================\r\n MENU : Listing\r\n ======================================================================== */\r\n\r\n menuDashboard() {\r\n if (this.currentmenu != 'dashboard' && this.rightsAccesModule) {\r\n const menu = this.defineMenuDashboard(); //Define the menu\r\n this.addMenu(menu); //Render the menu\r\n this.currentmenu = 'dashboard';\r\n }\r\n }\r\n\r\n menuWorkflows() {\r\n if (this.currentmenu != 'workflows' && this.rightsAccesModule) {\r\n this.getAndSetLabelsFromTranslateServiceForWorkflowsMenu(this.tr);\r\n const menu = this.defineMenuWorkflows(); //Define the menu\r\n this.addMenu(menu); //Render the menu\r\n this.currentmenu = 'workflows';\r\n }\r\n }\r\n\r\n menuProducts() {\r\n if (this.currentmenu != 'products' && this.rightsAccesModule) {\r\n this.getAndSetLabelsFromTranslateServiceForProductsMenu(this.tr);\r\n const menu = this.defineMenuProducts(); //Define the menu\r\n this.addMenu(menu); //Render the menu\r\n this.currentmenu = 'products';\r\n }\r\n }\r\n\r\n menuSales() {\r\n if (this.currentmenu != 'sales' && this.rightsAccesModule) {\r\n this.getAndSetLabelsFromTranslateServiceForSalesMenu(this.tr);\r\n const menu = this.defineMenuSales(); //Define the menu\r\n this.addMenu(menu); //Render the menu\r\n this.currentmenu = 'sales';\r\n }\r\n }\r\n\r\n menuMedia() {\r\n if (this.currentmenu != 'media' && this.rightsAccesModule) {\r\n this.getAndSetLabelsFromTranslateServiceForMediaMenu(this.tr);\r\n const menu = this.defineMenuMedia(); //Define the menu\r\n this.addMenu(menu); //Render the menu\r\n this.currentmenu = 'media';\r\n }\r\n }\r\n\r\n menuPublication() {\r\n if (this.currentmenu != 'publication' && this.rightsAccesModule) {\r\n this.getAndSetLabelsFromTranslateServiceForPublicationsMenu(this.tr);\r\n const menu = this.defineMenuPublication(); //Define the menu\r\n this.addMenu(menu); //Render the menu\r\n this.currentmenu = 'publication';\r\n }\r\n }\r\n\r\n menuChannels() {\r\n if (this.currentmenu != 'channels' && this.rightsAccesModule) {\r\n this.getAndSetLabelsFromTranslateServiceForChannelsMenu(this.tr);\r\n const menu = this.defineMenuChannels(); //Define the menu\r\n this.addMenu(menu); //Render the menu\r\n this.currentmenu = 'channels';\r\n }\r\n }\r\n\r\n menuBom() {\r\n if (this.currentmenu != 'bom' && this.rightsAccesModule) {\r\n this.getAndSetLabelsFromTranslateServiceForBomMenu(this.tr);\r\n const menu = this.defineMenuBom(); //Define the menu\r\n this.addMenu(menu); //Render the menu\r\n this.currentmenu = 'bom';\r\n }\r\n }\r\n\r\n menuSettings(langChan: any) {\r\n if ((this.currentmenu != 'settings' && this.rightsAccesModule) || (langChan && this.rightsAccesModule)) this.getAndSetLabelsFromTranslateServiceForSettingsMenu(this.tr);\r\n this.currentmenu = 'settings';\r\n }\r\n\r\n /* ========================================================================\r\n MENU : Define\r\n ======================================================================== */\r\n\r\n private defineMenuDashboard() {\r\n const dashboard = {\r\n rights: true,\r\n text: 'Dashboard',\r\n link: '/dashboard',\r\n icon: 'fas fa-chart-line',\r\n };\r\n\r\n const menu = [dashboard];\r\n\r\n return menu;\r\n }\r\n\r\n private defineMenuWorkflows() {\r\n const rooms = {\r\n rights: this.rightsAccesModule['rights']['Workflows']['Workrooms']['subModuleIsActive'],\r\n text: this.workFlowsRoomLabel,\r\n link: '/workflows/rooms/listing',\r\n icon: 'fas fa-house',\r\n };\r\n\r\n const workflows = {\r\n rights: this.rightsAccesModule['rights']['Workflows']['Workflows']['subModuleIsActive'],\r\n text: this.workFlowsLabel,\r\n link: '/workflows/desks/listing',\r\n icon: 'fas fa-thumbtack',\r\n };\r\n\r\n const steps = {\r\n rights: this.rightsAccesModule['rights']['Workflows']['Steps']['subModuleIsActive'],\r\n text: this.workFlowsGlobalStepsLabel,\r\n link: '/workflows/global/steps',\r\n icon: 'fas fa-rectangle-list',\r\n };\r\n\r\n const rules = {\r\n rights: this.rightsAccesModule['rights']['Workflows']['CompletenessRules']['subModuleIsActive'],\r\n text: this.workFlowsRulesLabel,\r\n link: '/workflows/rules/listing',\r\n icon: 'fas fa-chart-pie',\r\n };\r\n\r\n const history = {\r\n rights: this.rightsAccesModule['rights']['Workflows']['History']['subModuleIsActive'],\r\n text: this.workFlowsHistoricalLabel,\r\n link: '/workflows/history',\r\n icon: 'fas fa-clock',\r\n };\r\n\r\n const menu = [rooms, workflows, steps, rules, history];\r\n\r\n return menu;\r\n }\r\n\r\n private defineMenuProducts() {\r\n const listViews: { rights: boolean; text: any; link: string; icon: any; }[] = [];\r\n this._view.getViews().subscribe((res: any) => {\r\n res.views.forEach((element: { viewName: { [x: string]: any; }; viewGuid: string; viewIcon: any; }) => {\r\n listViews.push({\r\n rights: true,\r\n text: element.viewName['fr'],\r\n link: '/products/views/' + element.viewGuid,\r\n icon: element.viewIcon,\r\n });\r\n });\r\n });\r\n\r\n const Skus = {\r\n rights: this.rightsAccesModule['rights']['Products']['Products']['subModuleIsActive'],\r\n text: this.skusLabel,\r\n link: '/products/skus',\r\n icon: 'fas fa-tag',\r\n };\r\n\r\n const Classification = {\r\n rights: this.rightsAccesModule['rights']['Products']['Categories']['subModuleIsActive'],\r\n text: this.classificationLabel,\r\n link: '/products/classification',\r\n icon: 'fas fa-folder',\r\n };\r\n\r\n const Suppliers = {\r\n rights: this.rightsAccesModule['rights']['Products']['Suppliers']['subModuleIsActive'],\r\n text: this.suppliersLabel,\r\n link: '/products/suppliers',\r\n icon: 'fas fa-truck',\r\n };\r\n\r\n const Views = {\r\n rights: this.rightsAccesModule['rights']['Products']['Views']['subModuleIsActive'],\r\n text: this.viewsLabel,\r\n link: '/products/views',\r\n icon: 'fas fa-eye',\r\n submenu: listViews,\r\n };\r\n\r\n const menu = [Skus, Classification, Suppliers, Views];\r\n\r\n return menu;\r\n }\r\n\r\n private defineMenuSales() {\r\n const Orders = {\r\n rights: this.rightsAccesModule['rights']['Sales']['Orders']['subModuleIsActive'],\r\n text: this.ordersLabel,\r\n link: '/sales/orders-list',\r\n icon: 'fas fa-edit',\r\n };\r\n\r\n const Quotes = {\r\n rights: this.rightsAccesModule['rights']['Sales']['Quotes']['subModuleIsActive'],\r\n text: this.quotesLabel,\r\n link: '/sales/quotes-list',\r\n icon: 'fas fa-file',\r\n };\r\n\r\n const Customers = {\r\n rights: this.rightsAccesModule['rights']['Sales']['Customers']['subModuleIsActive'],\r\n text: this.clientLabel,\r\n link: '/sales/customers-list',\r\n icon: 'fas fa-address-card',\r\n };\r\n\r\n const Contact = {\r\n rights: this.rightsAccesModule['rights']['Sales']['Requests']['subModuleIsActive'],\r\n text: this.contactLabel,\r\n link: '/sales/contacts',\r\n icon: 'fas fa-address-book',\r\n };\r\n\r\n const SalesPlus = {\r\n rights: this.rightsAccesModule['rights']['Salesplus']['moduleIsActive'],\r\n text: this.salesPlusLabel,\r\n icon: 'fas fa-cart-plus',\r\n submenu: [\r\n {\r\n rights: this.rightsAccesModule['rights']['Salesplus']['Catalogs']['subModuleIsActive'],\r\n text: this.catalogueLabel,\r\n link: '/sales/catalogue',\r\n icon: 'fas fa-book',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Salesplus']['FrameworkAgreements']['subModuleIsActive'],\r\n text: this.frameworkagreementsLabel,\r\n link: '/sales/frameworkagreements-list',\r\n icon: 'fas fa-file-contract',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Salesplus']['Organizations']['subModuleIsActive'],\r\n text: this.organisationsLabel,\r\n link: '/sales/organisations-list',\r\n icon: 'fas fa-city',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Salesplus']['Salers']['subModuleIsActive'],\r\n text: this.salersLabel,\r\n link: '/sales/salers-list',\r\n icon: 'fas fa-user-tag',\r\n },\r\n ],\r\n };\r\n\r\n const menu = [Orders, Quotes, Customers, Contact, SalesPlus];\r\n\r\n return menu;\r\n }\r\n\r\n private defineMenuMedia() {\r\n const Library = {\r\n rights: this.rightsAccesModule['rights']['Media']['DamAssets']['subModuleIsActive'],\r\n text: this.libraryLabel,\r\n link: '/media/library',\r\n icon: 'fas fa-images',\r\n };\r\n\r\n const RecentlyDeleted = {\r\n rights: this.rightsAccesModule['rights']['Media']['DamAssetsRecentlyDeleted']['subModuleIsActive'],\r\n text: this.recentlyDeletedLabel,\r\n link: '/media/recently-deleted',\r\n icon: 'fas fa-trash',\r\n };\r\n\r\n const MediaMissing = {\r\n rights: this.rightsAccesModule['rights']['Media']['DamAssetsMissing']['subModuleIsActive'],\r\n text: this.mediaMissingLabel,\r\n link: '/media/asset-missing',\r\n icon: 'fas fa-eye-slash',\r\n };\r\n\r\n const AssetsOrhpans = {\r\n rights: this.rightsAccesModule['rights']['Media']['DamAssetsOrhpans']['subModuleIsActive'],\r\n text: this.assetsOrphansLabel,\r\n link: '/media/assets-orphans',\r\n icon: 'fas fa-eye-slash',\r\n };\r\n\r\n const AssetsProfiles = {\r\n rights: this.rightsAccesModule['rights']['Media']['DamAssetsProfiles']['subModuleIsActive'],\r\n text: this.assetsProfilesLabel,\r\n link: '/media/assets-profiles',\r\n icon: 'fas fa-up-right-and-down-left-from-center',\r\n };\r\n\r\n const AssetsSelections = {\r\n rights: this.rightsAccesModule['rights']['Media']['DamAssetsSelections']['subModuleIsActive'],\r\n text: this.assetsSelectionsLabel,\r\n link: '/media/assets-selections',\r\n icon: 'fas fa-file-zipper',\r\n };\r\n\r\n // const WorkFlows = {\r\n // rights: this.rightsAccesModule['rights']['Workflows']['Workflows']['subModuleIsActive'],\r\n // text: this.workFlowsLabel,\r\n // link: '/media/workflows',\r\n // icon: 'fas fa-thumbtack'\r\n // };\r\n\r\n const AssetsOnHold = {\r\n rights: this.rightsAccesModule['rights']['Media']['DamAssets']['subModuleIsActive'],\r\n text: this.assetsOnHoldLabel,\r\n link: '/media/assets-on-hold',\r\n icon: 'fas fa-hourglass-start',\r\n };\r\n\r\n const AssetsFavorites = {\r\n rights: this.rightsAccesModule['rights']['Media']['DamAssets']['subModuleIsActive'],\r\n text: this.assetsFavoritesLabel,\r\n link: '/media/assets-favorites',\r\n icon: 'fas fa-heart',\r\n };\r\n\r\n const menu = [\r\n Library,\r\n MediaMissing,\r\n AssetsOrhpans,\r\n RecentlyDeleted,\r\n AssetsProfiles,\r\n AssetsSelections,\r\n // WorkFlows,\r\n //AssetsOnHold,\r\n //AssetsFavorites,\r\n ];\r\n\r\n return menu;\r\n }\r\n\r\n private defineMenuPublication() {\r\n const Publication = {\r\n rights: this.rightsAccesModule['rights']['Publications']['Publications']['subModuleIsActive'],\r\n text: this.publicationLabel,\r\n link: '/publication/listing',\r\n icon: 'fas fa-book-open',\r\n };\r\n\r\n const Templates = {\r\n rights: this.rightsAccesModule['rights']['Publications']['PublicationTemplates']['subModuleIsActive'],\r\n text: this.publicationTemplatesLabel,\r\n link: '/publication/templates',\r\n icon: 'fas fa-file-signature',\r\n };\r\n\r\n const Documents = {\r\n rights: this.rightsAccesModule['rights']['Publications']['Documents']['subModuleIsActive'],\r\n text: this.publicationDocumentsLabel,\r\n link: '/publication/documents',\r\n icon: 'fas fa-file-lines',\r\n };\r\n\r\n const Separation = {\r\n text: this.separationLabel,\r\n };\r\n\r\n const menu = [Publication, Documents, Separation, Templates];\r\n\r\n return menu;\r\n }\r\n\r\n private defineMenuChannels() {\r\n const Channels = {\r\n rights: this.rightsAccesModule['rights']['Channels']['Channels']['subModuleIsActive'],\r\n text: this.channelLabel,\r\n link: '/channels',\r\n icon: 'fas fa-tv',\r\n };\r\n const menu = [Channels];\r\n return menu;\r\n }\r\n\r\n private defineMenuBom() {\r\n const Bom = {\r\n rights: this.rightsAccesModule['rights']['Boms']['Boms']['subModuleIsActive'],\r\n text: this.bomLabel,\r\n link: '/boms',\r\n icon: 'fas fa-bezier-curve',\r\n };\r\n\r\n const menu = [Bom];\r\n return menu;\r\n }\r\n\r\n /* ========================================================================\r\n MENU : Translate\r\n ======================================================================== */\r\n\r\n private getAndSetLabelsFromTranslateServiceForSalesMenu(tr: TranslateService) {\r\n tr.get('menu.sales.ORDERS').subscribe((res: any) => {\r\n this.ordersLabel = res;\r\n });\r\n\r\n tr.get('menu.sales.QUOTATIONS').subscribe((res: any) => {\r\n this.quotesLabel = res;\r\n });\r\n\r\n tr.get('menu.sales.CLIENTS').subscribe((res: any) => {\r\n this.clientLabel = res;\r\n });\r\n\r\n tr.get('menu.sales.CONTACT').subscribe((res: any) => {\r\n this.contactLabel = res;\r\n });\r\n\r\n tr.get('menu.sales.SALESPLUS').subscribe((res: any) => {\r\n this.salesPlusLabel = res;\r\n tr.get('menu.sales.CATALOGUE').subscribe((res: any) => {\r\n this.catalogueLabel = res;\r\n tr.get('menu.sales.FRAMEWORKAGREEMENTS').subscribe((res: any) => {\r\n this.frameworkagreementsLabel = res;\r\n tr.get('menu.sales.ORGANIZATIONS').subscribe((res: any) => {\r\n this.organisationsLabel = res;\r\n tr.get('menu.sales.SALERS').subscribe((res: any) => {\r\n this.salersLabel = res;\r\n });\r\n });\r\n });\r\n });\r\n });\r\n }\r\n\r\n private getAndSetLabelsFromTranslateServiceForBomMenu(tr: TranslateService) {\r\n tr.get('menu.boms.BOMS').subscribe((res: any) => {\r\n this.bomLabel = res;\r\n });\r\n }\r\n\r\n private getAndSetLabelsFromTranslateServiceForChannelsMenu(tr: TranslateService) {\r\n tr.get('menu.channels.CHANNELS').subscribe((res: any) => {\r\n this.channelLabel = res;\r\n });\r\n }\r\n\r\n private getAndSetLabelsFromTranslateServiceForSettingsMenu(tr: TranslateService) {\r\n tr.get('menu.settings.ACCESS').subscribe((res: any) => {\r\n this.accessLabel = res;\r\n tr.get('menu.settings.GENERALINFO').subscribe((res: any) => {\r\n this.generalInfoLabel = res;\r\n tr.get('menu.settings.BANKINFO').subscribe((res: any) => {\r\n this.bankInfoLabel = res;\r\n tr.get('menu.settings.ACTIVESESSIONS').subscribe((res: any) => {\r\n this.activeSessionLabel = res;\r\n tr.get('menu.settings.CONFIDENTIALITY').subscribe((res: any) => {\r\n this.confidentialityLabel = res;\r\n tr.get('menu.settings.GENERALSETTINGS').subscribe((res: any) => {\r\n this.generalSettingLabel = res;\r\n tr.get('menu.settings.ADMINISTRATION').subscribe((res: any) => {\r\n this.generalAdminLabel = res;\r\n tr.get('menu.settings.ATTRIBUTES').subscribe((res: any) => {\r\n this.attributesLabel = res;\r\n tr.get('menu.settings.PRODUCTS').subscribe((res: any) => {\r\n this.articlesLabel = res;\r\n tr.get('menu.settings.CLASSIFICATION').subscribe((res: any) => {\r\n this.classificationLabel = res;\r\n tr.get('menu.settings.ASSETS').subscribe((res: any) => {\r\n this.assetsLabel = res;\r\n tr.get('menu.settings.ACCOUNTS').subscribe((res: any) => {\r\n this.customerLabel = res;\r\n tr.get('menu.settings.ACCOUNTS_CONTACTS').subscribe((res: any) => {\r\n this.contactLabel = res;\r\n tr.get('menu.settings.ACCOUNTS_FRAMEWORK_AGREEMENTS').subscribe((res: any) => {\r\n this.frameworkAgreementsLabel = res;\r\n tr.get('menu.settings.SUPPLIERS').subscribe((res: any) => {\r\n this.suppliersLabel = res;\r\n tr.get('menu.settings.SALES_DEALS').subscribe((res: any) => {\r\n this.salesDealsLabel = res;\r\n tr.get('menu.settings.SALES_DEALS_ITEMS').subscribe((res: any) => {\r\n this.salesDealsItemsLabel = res;\r\n tr.get('menu.settings.PUBLICATIONS').subscribe((res: any) => {\r\n this.publicationsLabel = res;\r\n tr.get('menu.settings.MASKS').subscribe((res: any) => {\r\n this.maskLabel = res;\r\n tr.get('menu.settings.IMPORT').subscribe((res: any) => {\r\n this.importLabel = res;\r\n tr.get('menu.settings.EXPORT').subscribe((res: any) => {\r\n this.exportLabel = res;\r\n tr.get('menu.settings.USERS').subscribe((res: any) => {\r\n this.usersLabel = res;\r\n tr.get('menu.settings.TEAMS').subscribe((res: any) => {\r\n this.teamsLabel = res;\r\n tr.get('menu.settings.EXCHANGES').subscribe((res: any) => {\r\n this.exchangesLabel = res;\r\n tr.get('menu.settings.PROFIL').subscribe((res: any) => {\r\n this.profilLabel = res;\r\n tr.get('menu.settings.STATUS').subscribe((res: any) => {\r\n this.statusLabel = res;\r\n tr.get('menu.settings.SETTINGS').subscribe((res: any) => {\r\n this.settingsLabel = res;\r\n tr.get('menu.settings.PRICESTAXES').subscribe((res: any) => {\r\n this.pricetaxeLabel = res;\r\n tr.get('menu.settings.LANGUAGES').subscribe((res: any) => {\r\n this.languageLabel = res;\r\n tr.get('menu.settings.ADMIN').subscribe((res: any) => {\r\n this.adminLabel = res;\r\n tr.get('menu.settings.ECOTAXPAYER').subscribe((res: any) => {\r\n this.ecotaxpayerLabel = res;\r\n tr.get('menu.settings.REPORT').subscribe((res: any) => {\r\n this.reportLabel = res;\r\n tr.get('menu.settings.TEMPLATES_EXCEL').subscribe((res: any) => {\r\n this.templatesExcelLabel = res;\r\n tr.get('menu.settings.MAPPING').subscribe((res: any) => {\r\n this.mappingLabel = res;\r\n tr.get('menu.settings.BATCH').subscribe((res: any) => {\r\n this.taskBatch = res;\r\n tr.get('menu.settings.RULES').subscribe((res: any) => {\r\n this.rulesLabel = res;\r\n\r\n const ACCESS = {\r\n rights: this.rightsAcces,\r\n text: this.accessLabel,\r\n icon: 'fas fa-user',\r\n submenu: [\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['Users']['subModuleIsActive'],\r\n text: this.usersLabel,\r\n link: '/settings/users',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['Teams']['subModuleIsActive'],\r\n text: this.teamsLabel,\r\n link: '/settings/teams',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['Profiles']['subModuleIsActive'],\r\n text: this.profilLabel,\r\n link: '/settings/profils',\r\n },\r\n ],\r\n };\r\n\r\n const ATTRIBUTES = {\r\n rights: this.rightsAttributes,\r\n text: this.attributesLabel,\r\n icon: 'fas fa-paperclip',\r\n submenu: [\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['AttributesProducts']['subModuleIsActive'],\r\n text: this.articlesLabel,\r\n link: '/settings/attributes/skus',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['AttributesCategories']['subModuleIsActive'],\r\n text: this.classificationLabel,\r\n link: '/settings/attributes/categories',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['AttributesCategories']['subModuleIsActive'],\r\n text: this.assetsLabel,\r\n link: '/settings/attributes/assets',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['AttributesAccounts']['subModuleIsActive'],\r\n text: this.customerLabel,\r\n link: '/settings/attributes/accounts',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['AttributesAccountsContacts']['subModuleIsActive'],\r\n text: this.contactLabel,\r\n link: '/settings/attributes/accountscontacts',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['AttributesAccountFrameworkAgreements']['subModuleIsActive'],\r\n text: this.frameworkAgreementsLabel,\r\n link: '/settings/attributes/accountsframeworkagreements',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['AttributesSuppliers']['subModuleIsActive'],\r\n text: this.suppliersLabel,\r\n link: '/settings/attributes/suppliers',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['AttributesSalesDeals']['subModuleIsActive'],\r\n text: this.salesDealsLabel,\r\n link: '/settings/attributes/salesdeals',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['AttributesSalesDeals']['subModuleIsActive'],\r\n text: this.salesDealsItemsLabel,\r\n link: '/settings/attributes/salesdealsitems',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['AttributesPublications']['subModuleIsActive'],\r\n text: this.publicationsLabel,\r\n link: '/settings/attributes/publications',\r\n },\r\n ],\r\n };\r\n\r\n const MASKS = {\r\n rights: this.rightsAccesModule['rights']['Settings']['Masks']['subModuleIsActive'],\r\n text: this.maskLabel,\r\n link: '/settings/masks',\r\n icon: 'fas fa-mask',\r\n };\r\n\r\n const RULES = {\r\n rights: this.rightsAccesModule['rights']['Settings']['CompletenessRules']['subModuleIsActive'],\r\n text: this.rulesLabel,\r\n link: '/settings/rules/completeness',\r\n icon: 'fas fa-chart-pie',\r\n };\r\n\r\n const SETTINGS = {\r\n rights: this.rightsSettings,\r\n text: this.settingsLabel,\r\n icon: 'fas fa-cog',\r\n submenu: [\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['Preferences']['subModuleIsActive'],\r\n text: this.languageLabel,\r\n link: '/settings/languages',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['Admin']['subModuleIsActive'],\r\n text: this.adminLabel,\r\n link: '/settings/account/general-info',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['PricesAndTaxes']['subModuleIsActive'],\r\n text: this.pricetaxeLabel,\r\n link: '/settings/prices-tax',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['Ecocontributions']['subModuleIsActive'],\r\n text: this.ecotaxpayerLabel,\r\n link: '/settings/ecotaxpayer',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['Status']['subModuleIsActive'],\r\n text: this.statusLabel,\r\n link: '/settings/status',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['Status']['subModuleIsActive'],\r\n text: 'Informations',\r\n link: '/settings/informations',\r\n },\r\n ],\r\n };\r\n const EXCHANGES = {\r\n rights: this.rightsExchanges,\r\n text: this.exchangesLabel,\r\n icon: 'fas fa-exchange-alt',\r\n submenu: [\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['Reports']['subModuleIsActive'],\r\n text: this.reportLabel,\r\n link: '/settings/report',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['Imports']['subModuleIsActive'],\r\n text: this.importLabel,\r\n link: '/settings/import',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['Exports']['subModuleIsActive'],\r\n text: this.exportLabel,\r\n link: '/settings/export',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['Mapping']['subModuleIsActive'],\r\n text: this.mappingLabel,\r\n link: '/settings/mapping',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['TemplatesExcel']['subModuleIsActive'],\r\n text: this.templatesExcelLabel,\r\n link: '/settings/templates-excel',\r\n },\r\n {\r\n rights: this.rightsAccesModule['rights']['Settings']['Batch']['subModuleIsActive'],\r\n text: this.taskBatch,\r\n link: '/settings/batch',\r\n },\r\n ],\r\n };\r\n const menu = [ATTRIBUTES, MASKS, RULES, EXCHANGES, ACCESS, SETTINGS];\r\n this.addMenu(menu);\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n }\r\n\r\n private getAndSetLabelsFromTranslateServiceForMediaMenu(tr: TranslateService) {\r\n tr.get('menu.media.LIBRARY').subscribe((res: any) => {\r\n this.libraryLabel = res;\r\n });\r\n tr.get('menu.media.DOCUMENTS').subscribe((res: any) => {\r\n this.documentsLabel = res;\r\n });\r\n tr.get('menu.media.MISSINGASSET').subscribe((res: any) => {\r\n this.mediaMissingLabel = res;\r\n });\r\n tr.get('menu.media.ARCHIVEDASSET').subscribe((res: any) => {\r\n this.assetsArchivedLabel = res;\r\n });\r\n tr.get('menu.media.RECENTLYDELETED').subscribe((res: any) => {\r\n this.recentlyDeletedLabel = res;\r\n });\r\n tr.get('menu.media.ORPHANASSET').subscribe((res: any) => {\r\n this.assetsOrphansLabel = res;\r\n });\r\n tr.get('menu.media.PROFILEASSET').subscribe((res: any) => {\r\n this.assetsProfilesLabel = res;\r\n });\r\n tr.get('menu.media.ASSETSSELECTION').subscribe((res: any) => {\r\n this.assetsSelectionsLabel = res;\r\n });\r\n tr.get('menu.workflows.WORKFLOWS').subscribe((res: any) => {\r\n this.workFlowsLabel = res;\r\n });\r\n tr.get('menu.media.ASSETSONHOLD').subscribe((res: any) => {\r\n this.assetsOnHoldLabel = res;\r\n });\r\n tr.get('menu.media.ASSETSFAVORITES').subscribe((res: any) => {\r\n this.assetsFavoritesLabel = res;\r\n });\r\n tr.get('menu.media.TEMPLATES').subscribe((res: any) => {\r\n this.templatesLabel = res;\r\n });\r\n }\r\n\r\n private getAndSetLabelsFromTranslateServiceForProductsMenu(tr: TranslateService) {\r\n tr.get('menu.products.CLASSIFICATION').subscribe((res: any) => {\r\n this.classificationLabel = res;\r\n });\r\n\r\n tr.get('menu.products.SUPPLIERS').subscribe((res: any) => {\r\n this.suppliersLabel = res;\r\n });\r\n\r\n tr.get('menu.products.SKUS').subscribe((res: any) => {\r\n this.skusLabel = res;\r\n });\r\n\r\n tr.get('menu.products.VIEWS').subscribe((res: any) => {\r\n this.viewsLabel = res;\r\n });\r\n }\r\n\r\n private getAndSetLabelsFromTranslateServiceForWorkflowsMenu(tr: TranslateService) {\r\n tr.get('menu.workflows.ROOMS').subscribe((res: any) => {\r\n this.workFlowsRoomLabel = res;\r\n });\r\n tr.get('menu.workflows.WORKFLOWS').subscribe((res: any) => {\r\n this.workFlowsLabel = res;\r\n });\r\n tr.get('menu.workflows.STEPS').subscribe((res: any) => {\r\n this.workFlowsGlobalStepsLabel = res;\r\n });\r\n tr.get('menu.workflows.RULES').subscribe((res: any) => {\r\n this.workFlowsRulesLabel = res;\r\n });\r\n tr.get('menu.workflows.HISTORICAL').subscribe((res: any) => {\r\n this.workFlowsHistoricalLabel = res;\r\n });\r\n }\r\n\r\n private getAndSetLabelsFromTranslateServiceForPublicationsMenu(tr: TranslateService) {\r\n tr.get('menu.publications.PUBLICATIONS').subscribe((res: any) => {\r\n this.publicationLabel = res;\r\n });\r\n tr.get('menu.publications.TEMPLATES').subscribe((res: any) => {\r\n this.publicationTemplatesLabel = res;\r\n });\r\n tr.get('menu.publications.DOCUMENTS').subscribe((res: any) => {\r\n this.publicationDocumentsLabel = res;\r\n });\r\n tr.get('menu.publications.SEPARATION').subscribe((res: any) => {\r\n this.separationLabel = res;\r\n });\r\n tr.get('menu.publications.IMPORT').subscribe((res: any) => {\r\n this.publicationImportLabel = res;\r\n });\r\n tr.get('menu.publications.EXPORT').subscribe((res: any) => {\r\n this.publicationExportLabel = res;\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { SettingsService } from '../settings.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CompanyService {\r\n constructor(\r\n private http: HttpClient,\r\n private _settingsService: SettingsService,\r\n ) {}\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n //Get setting information for this account\r\n getAccountSettings() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') + 'Settings',\r\n { headers },\r\n );\r\n }\r\n\r\n getActiveSession() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') + 'Settings/activesession',\r\n { headers },\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n UPDATE\r\n ======================================================================== */\r\n\r\n //Update a field of settings\r\n updateField(settingGuid: any, fieldName: any, fieldValue: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(\r\n this._settingsService.getSettings('apiUrl') + 'Settings',\r\n {\r\n settingGuid: settingGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n uploadLogo(settingGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Settings/upload/logo?settingGuid=' +\r\n settingGuid,\r\n {},\r\n options,\r\n );\r\n }\r\n\r\n getConnections(\r\n start: string | number,\r\n limit: string | number,\r\n login: string,\r\n sort: string,\r\n direction: string,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'connections?start=' +\r\n start +\r\n '&limit=' +\r\n limit +\r\n '&userLogin=' +\r\n login +\r\n '&sort=' +\r\n sort +\r\n '&direction=' +\r\n direction,\r\n {\r\n headers,\r\n },\r\n );\r\n }\r\n\r\n addConnection(login: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'connections',\r\n {\r\n userLogin: login,\r\n },\r\n options,\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { SettingsService } from './settings.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class NotificationServiceService {\r\n private quantity = new Subject<any>();\r\n\r\n //private showNav$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\r\n private sidenav?: MatSidenav;\r\n\r\n constructor(\r\n private _settingsService: SettingsService,\r\n private http: HttpClient\r\n ) { }\r\n\r\n sendUpdate(message: number) {\r\n //the component that wants to update something, calls this fn\r\n this.quantity.next(message); //next(void 0) will feed the value in Subject\r\n }\r\n\r\n getUpdate(): Observable<any> {\r\n //the receiver component calls this function\r\n return this.quantity.asObservable(); //it returns as an observable to which the receiver funtion will subscribe\r\n }\r\n\r\n getNotifications(start: any = 0, limit?: any) {\r\n let headers = this._settingsService.getHeaders();\r\n var limitParameter = limit ? '&limit=' + limit : '';\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Notifications?start=' + start + limitParameter, { headers });\r\n }\r\n\r\n markAllView() {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(this._settingsService.getSettings('apiUrl') + 'Notifications/markallview', {}, options);\r\n }\r\n\r\n markasreaded(notificationGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(this._settingsService.getSettings('apiUrl') + 'Notifications/markasreaded?notificationGuid=' + notificationGuid, {}, options);\r\n }\r\n\r\n public setSidenav(sidenav: MatSidenav) {\r\n this.sidenav = sidenav;\r\n }\r\n\r\n public open() {\r\n return this.sidenav?.open();\r\n }\r\n\r\n public close() {\r\n return this.sidenav?.close();\r\n }\r\n\r\n public toggle(): void {\r\n this.sidenav?.toggle();\r\n }\r\n}\r\n","import { Injectable, NgZone } from '@angular/core';\r\nimport * as signalR from '@aspnet/signalr';\r\nimport { SettingsService } from './settings.service';\r\nimport { Router } from '@angular/router';\r\nimport { RightsService } from './rights.service';\r\nimport { NotificationServiceService } from './notification-service.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class websocketService {\r\n public connection!: signalR.HubConnection;\r\n public isConnected: boolean = false;\r\n private userLogin: any;\r\n public informationMessage: any = {};\r\n public deliberateDisconnect = false;\r\n public room: any = {};\r\n\r\n constructor(\r\n private _settings: SettingsService,\r\n public _router: Router,\r\n private rights: RightsService,\r\n public _notification: NotificationServiceService,\r\n // private _toastr: ToastrService,\r\n private ngZone: NgZone\r\n ) {\r\n this.initConnection();\r\n }\r\n\r\n initConnection() {\r\n this.userLogin = localStorage.getItem('Login_' + this._settings.getAlias());\r\n\r\n if (this.userLogin) {\r\n this.connection = new signalR.HubConnectionBuilder()\r\n .configureLogging(signalR.LogLevel.Error)\r\n .withUrl(\r\n this._settings.getSettings('apiUrl') + 'wscentral?userId=' + this.userLogin,\r\n {\r\n accessTokenFactory: () => this._settings.getToken() ?? '',\r\n logMessageContent: true,\r\n }\r\n )\r\n .build();\r\n\r\n this.listenersOnClose();\r\n this.listeners();\r\n\r\n if ('hidden' in document) {\r\n document.addEventListener('visibilitychange', () => {\r\n if (document.visibilityState === 'visible') {\r\n // L'onglet est de nouveau actif, reconnection\r\n //this.connect();\r\n }\r\n if (document.visibilityState === 'hidden') {\r\n // L'onglet est inactif, deconnection\r\n //this.disconnect();\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n connect() {\r\n if (this.connection) {\r\n if (this.connection.state === signalR.HubConnectionState.Disconnected) {\r\n this.connection\r\n .start()\r\n .then(() => {\r\n this.isConnected = true;\r\n if (this.room['login'] && this.room['guid']) {\r\n this.connection.invoke('joinRoom', this.room['login'], this.room['guid']);\r\n }\r\n })\r\n .catch((err) => {\r\n //console.error(\"Erreur lors de la connexion :\", err);\r\n this.isConnected = false;\r\n setTimeout(() => this.connect(), 3000); // Réessayez la connexion après 5 secondes en cas d'échec\r\n });\r\n } else if (this.connection.state === signalR.HubConnectionState.Connected) {\r\n //console.log(\"La connexion est déjà établie.\");\r\n this.isConnected = true;\r\n }\r\n } else {\r\n this.initConnection();\r\n this.connect();\r\n }\r\n }\r\n\r\n listeners() {\r\n this.connection.off('BroadcastRight');\r\n this.connection.off('BroadcastMessage');\r\n this.connection.off('PrivateMessage');\r\n this.connection.on('BroadcastRight', (res) => {\r\n let profileGuid = res;\r\n if (localStorage.getItem('ProfileGuid_' + this._settings.getAlias()) == profileGuid) {\r\n this._settings.getRightsAccesModuleForOneProfile(profileGuid).subscribe((res: any) => {\r\n this.rights.sendRights(res);\r\n });\r\n }\r\n });\r\n\r\n this.connection.on('BroadcastMessage', (res) => {\r\n this.ngZone.run(() => {\r\n //Obligatoire pour que l'affichage se face directement\r\n this.informationMessage = res;\r\n if (this.informationMessage['isMaintenance'] == true) {\r\n this._router.navigate(['/maintenance']);\r\n }\r\n this._notification.sendUpdate(res['totalNotViewed']);\r\n // if (this._toastr.toasts.length > 3) {\r\n // this._toastr.clear();\r\n // }\r\n // const activeToast = this._toastr.show(res['notifications']['notificationComment'], res['notifications']['notificationTitle'], {\r\n // positionClass: 'toast-bottom-right',\r\n // timeOut: 6000,\r\n // toastClass: 'ngx-toastr',\r\n // enableHtml: true,\r\n // extendedTimeOut: 4000,\r\n // //toastComponent: ToastComponent\r\n // });\r\n // activeToast.toastRef.componentInstance.data = this.informationMessage;\r\n });\r\n });\r\n\r\n this.connection.on('PrivateMessage', (res) => {\r\n this.ngZone.run(() => {\r\n //Obligatoire pour que l'affichage se face directement\r\n if (res.notifications.notificationUserTarget == this.userLogin) {\r\n this.informationMessage = res;\r\n\r\n // this._notification.sendUpdate(res['totalNotViewed']);\r\n // if (this._toastr.toasts.length > 3) {\r\n // this._toastr.clear();\r\n // }\r\n\r\n // const activeToast = this._toastr.show(res['notifications']['notificationComment'], res['notifications']['notificationTitle'], {\r\n // positionClass: 'toast-bottom-right',\r\n // timeOut: 6000,\r\n // toastClass: 'ngx-toastr',\r\n // enableHtml: true,\r\n // extendedTimeOut: 4000,\r\n // //toastComponent: ToastComponent\r\n // });\r\n // activeToast.toastRef.componentInstance.data = this.informationMessage;\r\n }\r\n });\r\n });\r\n }\r\n\r\n listenersOnClose() {\r\n this.connection.onclose((err) => {\r\n if (!this.deliberateDisconnect) {\r\n //console.log(\"OnClose : \",err)\r\n setTimeout(() => this.connect(), 3000);\r\n }\r\n this.deliberateDisconnect = false;\r\n });\r\n }\r\n\r\n disconnect() {\r\n if (this.connection.state == signalR.HubConnectionState.Connected) {\r\n this.isConnected = false;\r\n this.deliberateDisconnect = true;\r\n this.connection.stop();\r\n }\r\n }\r\n}\r\n","import { Injectable, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { SettingsService } from './settings.service';\r\nimport { CompanyService } from './companies/company.service';\r\n// import { environment } from '../../../environments/environment';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { websocketService } from './websocket.service';\r\nimport { ModalDismissReasons, NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AuthService {\r\n private tokenPotential!: string;\r\n private accountSetting: any;\r\n private authenticateObjectWithRight: any = {};\r\n\r\n public closeModal!: string;\r\n\r\n constructor(\r\n private myRoute: Router,\r\n private http: HttpClient,\r\n private _settingsService: SettingsService,\r\n private _companies: CompanyService,\r\n private dialog: MatDialog,\r\n private _webSocket: websocketService,\r\n private modalService: NgbModal,\r\n ) {\r\n if (this.isLoggedIn()) {\r\n this._companies.getAccountSettings().subscribe((res: any) => {\r\n this.accountSetting = res['setting'];\r\n });\r\n }\r\n }\r\n\r\n /* ========================================================================\r\n ACCOUNT\r\n ======================================================================== */\r\n\r\n getAccountSetting() {\r\n return this.accountSetting;\r\n }\r\n\r\n setAccountSetting(accountSetting: any) {\r\n this.accountSetting = accountSetting;\r\n }\r\n\r\n /* ========================================================================\r\n TOKEN\r\n ======================================================================== */\r\n\r\n sendToken(token: string) {\r\n let alias = window.location.pathname.split('/')[1].toLowerCase();\r\n\r\n if (false) {\r\n localStorage.setItem('Auth_Token_' + alias, token);\r\n } else {\r\n // let numClient = localStorage.getItem(\"Num_Client\");\r\n let alias = this._settingsService.getAlias();\r\n localStorage.setItem('Auth_Token_' + alias, token);\r\n }\r\n // localStorage.setItem(\"Accept-Language\", navigator.language);\r\n }\r\n\r\n sendTokenIframe(token: string) {\r\n let alias = window.location.pathname.split('/')[1].toLowerCase();\r\n\r\n if (false) {\r\n localStorage.setItem('Auth_Token_Iframe_' + alias, token);\r\n } else {\r\n // let numClient = localStorage.getItem(\"Num_Client\");\r\n let alias = this._settingsService.getAlias();\r\n localStorage.setItem('Auth_Token_Iframe_' + alias, token);\r\n }\r\n }\r\n\r\n stockTokenForDoubleAuth(token: string) {\r\n this.tokenPotential = token;\r\n }\r\n\r\n getTokenPotential() {\r\n return this.tokenPotential;\r\n }\r\n\r\n /* ========================================================================\r\n LOGOUT\r\n ======================================================================== */\r\n\r\n logout() {\r\n let alias = window.location.pathname.split('/')[1].toLowerCase();\r\n\r\n this.logoutServiceApi().subscribe();\r\n\r\n if (!window.location.pathname.includes('iframe')) {\r\n Object.keys(localStorage).forEach((e) => {\r\n if (e.includes(this._settingsService.getAlias())) {\r\n localStorage.removeItem(e);\r\n }\r\n });\r\n }\r\n\r\n this._webSocket.disconnect();\r\n\r\n this.myRoute.navigate(['identification']);\r\n }\r\n\r\n logoutWithoutToken() {\r\n // Object.keys(localStorage).forEach(e => {\r\n // localStorage.removeItem(e);\r\n // })\r\n\r\n if (!window.location.pathname.includes('iframe'))\r\n this.myRoute.navigate(['identification']);\r\n }\r\n\r\n logoutServiceApi() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') + 'Users/logout',\r\n { headers },\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n RIGHTS\r\n ======================================================================== */\r\n\r\n setRight(authenticateObjectWithRight: { [x: string]: {} }) {\r\n this.authenticateObjectWithRight =\r\n authenticateObjectWithRight['authenticate'];\r\n }\r\n\r\n /* ========================================================================\r\n OLD RIGHTS\r\n ======================================================================== */\r\n\r\n getRightFromApi() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') + 'Authenticate',\r\n { headers },\r\n );\r\n }\r\n\r\n getRighFromAngularService(rightName: string | number) {\r\n if (this.authenticateObjectWithRight[rightName]) {\r\n return this.authenticateObjectWithRight[rightName];\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n /* ========================================================================\r\n MODAL\r\n ======================================================================== */\r\n\r\n triggerModalMatDialog(\r\n content: TemplateRef<any>,\r\n viewContainerRef?: ViewContainerRef,\r\n ) {\r\n const config: MatDialogConfig = {\r\n panelClass: ['sp-dialog-panel', 'modalSize'],\r\n backdropClass: 'sp-dialog-backdrop',\r\n autoFocus: false,\r\n restoreFocus: false,\r\n width: '860px',\r\n maxWidth: '95vw',\r\n viewContainerRef,\r\n };\r\n\r\n const dialogRef = this.dialog.open(content, config);\r\n\r\n return dialogRef.afterClosed().toPromise();\r\n }\r\n\r\n closeAllModalMatDialog() {\r\n this.dialog.closeAll();\r\n }\r\n\r\n triggerModal(content: any) {\r\n return this.modalService\r\n .open(content, {\r\n ariaLabelledBy: content,\r\n windowClass: 'modalSize',\r\n container: '.sp-dam-root',\r\n })\r\n .result.then(\r\n (res) => {\r\n this.closeModal = 'Closed with: ${res}';\r\n return res;\r\n },\r\n (res) => {\r\n this.closeModal = 'Dismissed ${this.getDismissReason(res)}';\r\n return this.getDismissReason(res);\r\n },\r\n );\r\n }\r\n\r\n closeAllModal() {\r\n this.modalService.dismissAll();\r\n }\r\n\r\n private getDismissReason(reason: any): string {\r\n if (reason === ModalDismissReasons.ESC) {\r\n return 'by pressing ESC';\r\n } else if (reason === ModalDismissReasons.BACKDROP_CLICK) {\r\n return 'by clicking on a backdrop';\r\n } else {\r\n return 'with: ${reason}';\r\n }\r\n }\r\n\r\n /* ========================================================================\r\n OTHER\r\n ======================================================================== */\r\n\r\n isLoggedIn() {\r\n let isLogged = false;\r\n if (this._settingsService.getToken() !== 'invalid token') {\r\n isLogged = true;\r\n }\r\n return isLogged;\r\n }\r\n\r\n getPermissions() {\r\n return 'READ';\r\n }\r\n\r\n checkErrorApiCall(error: { status: number }) {\r\n if (error.status == 401) {\r\n this.logout();\r\n }\r\n }\r\n delay(ms: number) {\r\n return new Promise((resolve) => setTimeout(resolve, ms));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { SettingsService } from '../settings.service';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { Company } from './company.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CompaniesService {\r\n constructor(\r\n private http: HttpClient,\r\n private _settingsService: SettingsService,\r\n ) {}\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getCompaniesByUser(): Observable<Company[]> {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .get<any>(\r\n this._settingsService.getSettings('apiUrl') + 'Companies/byUser',\r\n { headers },\r\n )\r\n .pipe(map((res) => (res.success ? res.data : [])));\r\n }\r\n\r\n getCompanies(\r\n start: number = 0,\r\n limit: number = 100,\r\n search: string = '',\r\n sort: string = 'companyname',\r\n direction: string = 'ASC',\r\n ): Observable<{ data: Company[]; total: number }> {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .get<any>(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Companies?start=' +\r\n start +\r\n '&limit=' +\r\n limit +\r\n '&search=' +\r\n search +\r\n '&sort=' +\r\n sort +\r\n '&direction=' +\r\n direction,\r\n { headers },\r\n )\r\n .pipe(\r\n map((res) => {\r\n if (res.success) {\r\n return { data: res.data, total: res.total };\r\n }\r\n return { data: [], total: 0 };\r\n }),\r\n );\r\n }\r\n\r\n getUsersByCompany(\r\n companyGuid: any,\r\n start: number = 0,\r\n limit: number = 10,\r\n ): Observable<{ success: boolean; data: any[]; total: number }> {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .get<any>(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Companies/users?companyGuid=' +\r\n companyGuid +\r\n '&start=' +\r\n start +\r\n '&limit=' +\r\n limit,\r\n { headers },\r\n )\r\n .pipe(\r\n map((res) =>\r\n res.success ? res : { success: false, data: [], total: 0 },\r\n ),\r\n );\r\n }\r\n\r\n getCurrentCompany(): Observable<Company> {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .get<any>(\r\n this._settingsService.getSettings('apiUrl') + 'Companies/current',\r\n { headers },\r\n )\r\n .pipe(map((res) => (res.success ? res.data : null)));\r\n }\r\n\r\n getCompanyUsages(productSheetAssetGuid?: string, productSheetGuid?: string, templateGuid?: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let queryParams = '';\r\n if (productSheetAssetGuid) {\r\n queryParams += '?productSheetAssetGuid=' + productSheetAssetGuid;\r\n }\r\n if (productSheetGuid) {\r\n queryParams +=\r\n (queryParams ? '&' : '?') + 'productSheetGuid=' + productSheetGuid;\r\n }\r\n if (templateGuid) {\r\n queryParams +=\r\n (queryParams ? '&' : '?') + 'templateGuid=' + templateGuid;\r\n }\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Companies/usages' +\r\n queryParams,\r\n { headers },\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n UPDATE\r\n ======================================================================== */\r\n\r\n updateCompany(\r\n companyGuid: any,\r\n companyName: string,\r\n companyAddress: string | null = null,\r\n companyAddress2: string | null = null,\r\n companyAddress3: string | null = null,\r\n companyZipCode: string | null = null,\r\n companyCity: string | null = null,\r\n companyState: string | null = null,\r\n companyCountry: string | null = null,\r\n companyRegistrationNumber: string | null = null,\r\n companyVatNumber: string | null = null,\r\n companyIndustryCode: string | null = null,\r\n companyPhone: string | null = null,\r\n companyLanguage: string | null = null,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(\r\n this._settingsService.getSettings('apiUrl') + 'Companies',\r\n {\r\n companyGuid: companyGuid,\r\n companyName: companyName,\r\n companyAddress: companyAddress,\r\n companyAddress2: companyAddress2,\r\n companyAddress3: companyAddress3,\r\n companyZipCode: companyZipCode,\r\n companyCity: companyCity,\r\n companyState: companyState,\r\n companyCountry: companyCountry,\r\n companyRegistrationNumber: companyRegistrationNumber,\r\n companyVatNumber: companyVatNumber,\r\n companyIndustryCode: companyIndustryCode,\r\n companyPhone: companyPhone,\r\n companyLanguage: companyLanguage,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n POST\r\n ======================================================================== */\r\n\r\n createCompany(\r\n companyName: string,\r\n companyAlias: string | null = null,\r\n companyLanguage: string = 'fr',\r\n ): Observable<{ success: boolean; data?: string; message?: string }> {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post<any>(\r\n this._settingsService.getSettings('apiUrl') + 'Companies',\r\n {\r\n companyName: companyName,\r\n companyAlias: companyAlias,\r\n companyLanguage: companyLanguage,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n map((res) =>\r\n res.success ? res : { success: false, message: 'Error' },\r\n ),\r\n );\r\n }\r\n\r\n addUserToCompany(\r\n userGuid: string,\r\n companyGuid: string,\r\n role: 'ADMIN' | 'EDITOR' | 'READER',\r\n userLogin?: string,\r\n ): Observable<any>;\r\n addUserToCompany(\r\n userGuid: null | undefined,\r\n companyGuid: string,\r\n role: 'ADMIN' | 'EDITOR' | 'READER',\r\n userLogin: string,\r\n ): Observable<any>;\r\n addUserToCompany(\r\n userGuid: string | null | undefined,\r\n companyGuid: string,\r\n role: 'ADMIN' | 'EDITOR' | 'READER',\r\n userLogin?: string,\r\n ) {\r\n if (!userGuid && !userLogin) {\r\n throw new Error('Either userGuid or userLogin must be provided');\r\n }\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n const body: any = { companyGuid: companyGuid, role: role };\r\n if (userGuid) {\r\n body.userGuid = userGuid;\r\n }\r\n if (userLogin) {\r\n body.userLogin = userLogin;\r\n }\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Companies/users',\r\n body,\r\n options,\r\n );\r\n }\r\n\r\n switchCompany(companyGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Users/switchCompany',\r\n { newCompanyGuid: companyGuid },\r\n options,\r\n );\r\n }\r\n\r\n modifyCompany(company: any): Observable<any> {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.put<any>(\r\n this._settingsService.getSettings('apiUrl') + 'Companies',\r\n company,\r\n { headers },\r\n );\r\n }\r\n\r\n upsertCompanyUser(\r\n userGuid: string,\r\n companyGuid: string,\r\n profileGuid: string,\r\n ): Observable<any> {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.post<any>(\r\n this._settingsService.getSettings('apiUrl') + 'Companies/users',\r\n { userGuid, companyGuid, profileGuid },\r\n { headers },\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n DELETE\r\n ======================================================================== */\r\n\r\n deleteCompanies(companiesGuids: string[]) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.delete(\r\n this._settingsService.getSettings('apiUrl') + 'Companies',\r\n {\r\n headers: headers,\r\n body: {\r\n listingCompaniesToDelete: companiesGuids,\r\n },\r\n },\r\n );\r\n }\r\n\r\n removeUserFromCompany(userGuid: string, companyGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.delete(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Companies/users?userGuid=' +\r\n userGuid +\r\n '&companyGuid=' +\r\n companyGuid,\r\n options,\r\n );\r\n }\r\n\r\n deleteCompanyUser(userGuid: string, companyGuid: string): Observable<any> {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.delete<any>(\r\n this._settingsService.getSettings('apiUrl') +\r\n `Companies/users?userGuid=${userGuid}&companyGuid=${companyGuid}`,\r\n { headers },\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { SettingsService } from './settings.service';\r\nimport { AuthService } from './auth.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TeamsService {\r\n constructor(\r\n private http: HttpClient,\r\n private _settings: SettingsService,\r\n private auth: AuthService\r\n ) { }\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getTeamsWithSort(col: any, order: any) {\r\n let headers = this._settings.getHeaders();\r\n return this.http.get(this._settings.getSettings('apiUrl') + 'Teams?sort=' + col + '&direction=' + order, { headers });\r\n }\r\n\r\n getAllTeams() {\r\n let headers = this._settings.getHeaders();\r\n return this.http.get(this._settings.getSettings('apiUrl') + 'Teams', {\r\n headers,\r\n });\r\n }\r\n\r\n /* ========================================================================\r\n CREATE\r\n ======================================================================== */\r\n\r\n createTeam(jsonName: any, isActive: any, users: any, jsonDesc: any, color: any) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settings.getSettings('apiUrl') + 'Teams',\r\n {\r\n teamName: jsonName,\r\n teamIsActive: isActive,\r\n teamUsers: users,\r\n teamDescription: jsonDesc,\r\n teamHexColor: color,\r\n },\r\n options\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n UPDATE\r\n ======================================================================== */\r\n\r\n modifyTeam(guid: any, name: any, desc: any, active: any, users: any, color: any) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(\r\n this._settings.getSettings('apiUrl') + 'Teams',\r\n {\r\n teamGuid: guid,\r\n teamName: name,\r\n teamDescription: desc,\r\n teamIsActive: active,\r\n teamUsers: users,\r\n teamHexColor: color,\r\n },\r\n options\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n DELETE\r\n ======================================================================== */\r\n\r\n deleteListTeams(list: any) {\r\n let headers = this._settings.getHeaders();\r\n return this.http.request('delete', this._settings.getSettings('apiUrl') + 'Teams', {\r\n headers: headers,\r\n body: {\r\n listingTeamsToDelete: list,\r\n },\r\n });\r\n }\r\n\r\n deleteTeam(teamGuid: string = '') {\r\n let headers = this._settings.getHeaders();\r\n return this.http.request('delete', this._settings.getSettings('apiUrl') + 'Teams/' + teamGuid, { headers });\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { SettingsService } from './settings.service';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { websocketService } from './websocket.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class DamAssetsProfilesService {\r\n constructor(\r\n private _settings: SettingsService,\r\n private http: HttpClient,\r\n private _webSocket: websocketService\r\n ) { }\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getProfilesAssets(start: any, limit: any, search: string, language: string, direction: string) {\r\n let headers = this._settings.getHeaders();\r\n return this.http.get(this._settings.getSettings('apiUrl') + 'ProfilesAssets?start=' + start + '&limit=' + limit + '&search=' + search + '&language=' + language + '&direction=' + direction, {\r\n headers,\r\n });\r\n }\r\n\r\n getProfileAssets(profileAssetGuid: string) {\r\n let headers = this._settings.getHeaders();\r\n return this.http.get(this._settings.getSettings('apiUrl') + 'ProfilesAssets/' + profileAssetGuid, { headers });\r\n }\r\n\r\n createProfileAssets(profileAssetName: any, profileAssetExtension: any, profileAssetSizes: any) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settings.getSettings('apiUrl') + 'ProfilesAssets',\r\n {\r\n profileAssetName: profileAssetName,\r\n profileAssetExtension: profileAssetExtension,\r\n profileAssetSizes: profileAssetSizes,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n updateProfileAssets(profileAssetGuid: any, profileAssetName: any, profileAssetExtension: any, profileAssetSizes: any) {\r\n const headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settings.getSettings('apiUrl') + 'ProfilesAssets',\r\n {\r\n profileAssetGuid: profileAssetGuid,\r\n profileAssetName: profileAssetName,\r\n profileAssetExtension: profileAssetExtension,\r\n profileAssetSizes: profileAssetSizes,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n updateProfileAsset(guid: any, fieldName: any, fieldValue: any) {\r\n const headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settings.getSettings('apiUrl') + 'ProfilesAssets/field',\r\n {\r\n profileAssetGuid: guid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n DELETE\r\n ======================================================================== */\r\n\r\n deleteProfilesAssets(listingProfilesAssetsToDelete: any) {\r\n let headers = this._settings.getHeaders();\r\n return this.http\r\n .request('delete', this._settings.getSettings('apiUrl') + 'ProfilesAssets', {\r\n headers: headers,\r\n body: {\r\n profilesAssetsGuids: listingProfilesAssetsToDelete,\r\n },\r\n })\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n deleteProfileAsset(profileAssetGuid: string) {\r\n let headers = this._settings.getHeaders();\r\n return this.http.request('delete', this._settings.getSettings('apiUrl') + 'ProfilesAssets/' + profileAssetGuid, { headers: headers }).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { SettingsService } from './settings.service';\r\nimport { websocketService } from './websocket.service';\r\nimport { finalize } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class DamAssetsSelectionsService {\r\n constructor(\r\n private _settings: SettingsService,\r\n private http: HttpClient,\r\n private _webSocket: websocketService\r\n ) { }\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getAssetsSelections(start: any, limit: any, search: string, sort: string, direction: string) {\r\n let headers = this._settings.getHeaders();\r\n return this.http.get(this._settings.getSettings('apiUrl') + 'AssetsSelections?start=' + start + '&limit=' + limit + '&search=' + search + '&sort=' + sort + '&direction=' + direction, { headers });\r\n }\r\n\r\n getAssetsSelection(assetsSelectionGuid: string) {\r\n let headers = this._settings.getHeaders();\r\n return this.http.get(this._settings.getSettings('apiUrl') + 'AssetsSelections/' + assetsSelectionGuid, { headers });\r\n }\r\n\r\n createAssetsSelection(assetSelectionName: any, assetSelectionType: any, assetSelectionFomatSize: any, profileAssetGuid: any) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settings.getSettings('apiUrl') + 'AssetsSelections',\r\n {\r\n name: assetSelectionName,\r\n type: assetSelectionType,\r\n formatSize: assetSelectionFomatSize,\r\n profileAssetGuid: profileAssetGuid,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n updateAssetsSelectionsField(guid: any, fieldName: any, fieldValue: any) {\r\n const headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settings.getSettings('apiUrl') + 'AssetsSelections/field',\r\n {\r\n assetsSelectionGuid: guid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n regenerateAssetsSelections(listingAssetsSelectionsToRegenerate: any) {\r\n let headers = this._settings.getHeaders();\r\n return this.http\r\n .request('post', this._settings.getSettings('apiUrl') + 'AssetsSelections/regenerate', {\r\n headers: headers,\r\n body: {\r\n listingAssetsSelectionsToRegenerate: listingAssetsSelectionsToRegenerate,\r\n },\r\n })\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n deleteAssetsSelections(listingAssetsSelectionsToDelete: any) {\r\n let headers = this._settings.getHeaders();\r\n return this.http\r\n .request('delete', this._settings.getSettings('apiUrl') + 'AssetsSelections', {\r\n headers: headers,\r\n body: {\r\n listingAssetsSelectionsToDelete: listingAssetsSelectionsToDelete,\r\n },\r\n })\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n deleteAssetsFromAssetsSelection(guid: any, assetsGuids: any) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settings.getSettings('apiUrl') + 'AssetsSelections/deleteassetfromassetsselection',\r\n {\r\n assetsSelectionGuid: guid,\r\n guids: assetsGuids,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n assignToAssetsSelection(guid: any, assetsGuids: any) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settings.getSettings('apiUrl') + 'AssetsSelections/assigntoassetsselection',\r\n {\r\n assetsSelectionGuid: guid,\r\n guids: assetsGuids,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { SettingsService } from './settings.service';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { websocketService } from './websocket.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class WorkflowsDesksService {\r\n constructor(\r\n private http: HttpClient,\r\n private _settingsService: SettingsService,\r\n private _webSocket: websocketService\r\n ) { }\r\n\r\n replaceOldAssetByNewAsset(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/item/base', object, options);\r\n }\r\n\r\n /* ========================================================================\r\n DESK\r\n ======================================================================== */\r\n\r\n getAllDesks(start: string, limit: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Workflow/desk?start=' + start + '&limit=' + limit, { headers });\r\n }\r\n\r\n getDeskByGuid(workdeskGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Workflow/desk/' + workdeskGuid, { headers });\r\n }\r\n\r\n addDesk(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(this._settingsService.getSettings('apiUrl') + 'Workflow/desk', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getalldesks');\r\n })\r\n );\r\n }\r\n\r\n updateDeskByGuid(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/desk', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getalldesks');\r\n })\r\n );\r\n }\r\n\r\n updateFieldDeskByGuid(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/desk/field', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getalldesks');\r\n this._webSocket.connection.invoke('refresh', 'getallstepsbydesk');\r\n })\r\n );\r\n }\r\n\r\n deleteDeskByGuid(workdeskGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.delete(this._settingsService.getSettings('apiUrl') + 'Workflow/desk/' + workdeskGuid, { headers }).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getalldesks');\r\n })\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n DESK - USER\r\n ======================================================================== */\r\n\r\n getAllUsersByDeskGuid(start: string, limit: string, workdeskGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Workflow/deskuser?start=' + start + '&limit=' + limit + '&workdeskGuid=' + workdeskGuid, { headers });\r\n }\r\n\r\n getUserByDeskGuid(workdeskGuid: string, userGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Workflow/deskuser/' + workdeskGuid + '/' + userGuid, { headers });\r\n }\r\n\r\n addUserByDeskGuid(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(this._settingsService.getSettings('apiUrl') + 'Workflow/deskuser', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n this._webSocket.connection.invoke('refresh', 'getalldesks');\r\n this._webSocket.connection.invoke('refresh', 'getallusersbydesk');\r\n })\r\n );\r\n }\r\n\r\n updateUserByDeskGuid(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/deskuser', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n this._webSocket.connection.invoke('refresh', 'getalldesks');\r\n })\r\n );\r\n }\r\n\r\n updateFieldUserByDeskGuid(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/deskuser/field', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n this._webSocket.connection.invoke('refresh', 'getalldesks');\r\n })\r\n );\r\n }\r\n\r\n deleteUserByDeskGuid(workdeskGuid: string, userGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.delete(this._settingsService.getSettings('apiUrl') + 'Workflow/deskuser/' + workdeskGuid + '/' + userGuid, { headers }).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n this._webSocket.connection.invoke('refresh', 'getalldesks');\r\n this._webSocket.connection.invoke('refresh', 'getallusersbydesk');\r\n })\r\n );\r\n }\r\n\r\n deleteUsersByDeskGuid(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .request('delete', this._settingsService.getSettings('apiUrl') + 'Workflow/deskuser/array', {\r\n headers: headers,\r\n body: object,\r\n })\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n this._webSocket.connection.invoke('refresh', 'getallusersbydesk');\r\n })\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n DESK - ITEM\r\n ======================================================================== */\r\n\r\n getAllItemsByWorkItemGuid(start: string, limit: string, workdeskGuid: string, statuts: string, search: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') + 'Workflow/item?start=' + start + '&limit=' + limit + '&workdeskGuid=' + workdeskGuid + '&status=' + statuts + '&search=' + search,\r\n { headers }\r\n );\r\n }\r\n\r\n getItemByWorkItemGuid(workItemGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Workflow/item/' + workItemGuid, { headers });\r\n }\r\n\r\n getItemByWorkItemBaseGuid(workItemBaseGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Workflow/item/base' + workItemBaseGuid, { headers });\r\n }\r\n\r\n getAllCompletenessFieldByWorkItem(workItemGuid: string, byUser = false) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Workflow/item/base/' + workItemGuid + '/completenessfields?byUser=' + byUser, { headers });\r\n }\r\n\r\n addItemByDeskGuid(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(this._settingsService.getSettings('apiUrl') + 'Workflow/item', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n })\r\n );\r\n }\r\n\r\n updateItemByDeskGuid(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/item', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n })\r\n );\r\n }\r\n\r\n updateFieldItemByDeskGuid(object: { workitemGuid: string; }) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/item/field', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n if (object.workitemGuid) {\r\n this._webSocket.connection.invoke('refresh', 'getItemWorkflow--' + object.workitemGuid);\r\n }\r\n // this._webSocket.connection.invoke(\"refresh\",\"getalldesks\");\r\n })\r\n );\r\n }\r\n\r\n deleteItemByDeskGuid(workItemGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.delete(this._settingsService.getSettings('apiUrl') + 'Workflow/item/' + workItemGuid, { headers }).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n })\r\n );\r\n }\r\n\r\n deleteItemsByDeskGuid(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .request('delete', this._settingsService.getSettings('apiUrl') + 'Workflow/item/array', {\r\n headers: headers,\r\n body: object,\r\n })\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n })\r\n );\r\n }\r\n\r\n deleteItemByWorkItemBaseGuid(workItemBaseGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.delete(this._settingsService.getSettings('apiUrl') + 'Workflow/item/base/' + workItemBaseGuid, { headers }).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n })\r\n );\r\n }\r\n\r\n readNotificationOnItem(guid: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/item/read', { workitemGuid: guid }, options);\r\n }\r\n\r\n addStaffsToItems(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/item/users/add', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n })\r\n );\r\n }\r\n\r\n replaceStaffsToItems(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/item/users/assign', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n })\r\n );\r\n }\r\n\r\n removeStaffsToItems(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/item/users/remove', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n })\r\n );\r\n }\r\n\r\n getWorkflowsProgress(workitemBaseGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Workflow/item/base/' + workitemBaseGuid, { headers });\r\n }\r\n\r\n sendMailWorkflows(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.post(this._settingsService.getSettings('apiUrl') + 'Workflow/send', object, { headers });\r\n }\r\n\r\n /* ========================================================================\r\n DESK - ITEMSTEP\r\n ======================================================================== */\r\n\r\n getItemStepByWorkItemGuid(start: string, limit: string, workItemGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Workflow/itemstep?limit=' + limit + '&start=' + start + '&workitemGuid=' + workItemGuid, { headers });\r\n }\r\n\r\n updateItemByWorkItemStepGuid(object: any, subject: any = null) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/itemstep/field', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n if (subject) {\r\n this._webSocket.connection.invoke('refresh', 'getItemWorkflow--' + subject.workitemGuid);\r\n } else {\r\n this._webSocket.connection.invoke('refresh', 'getallitemsbydesk');\r\n }\r\n // this._webSocket.connection.invoke(\"refresh\",\"getalldesks\");\r\n })\r\n );\r\n }\r\n\r\n updateDeskStepUserByWorkItemStepGuid(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/deskstepuser/field', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getallitemsbydesk');\r\n // this._webSocket.connection.invoke(\"refresh\",\"getalldesks\");\r\n })\r\n );\r\n }\r\n\r\n addItemStepByDeskGuid(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(this._settingsService.getSettings('apiUrl') + 'Workflow/itemstep', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n // this._webSocket.connection.invoke(\"refresh\", \"getitembyitemguid\");\r\n // this._webSocket.connection.invoke(\"refresh\",\"getalldesks\");\r\n })\r\n );\r\n }\r\n\r\n deleteItemStepByWorkItemStepGuid(workitemGuid: string, workstepGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.delete(this._settingsService.getSettings('apiUrl') + 'Workflow/itemstep/' + workitemGuid + '/' + workstepGuid, { headers }).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n // this._webSocket.connection.invoke(\"refresh\",\"getalldesks\");\r\n })\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n DESK - STEP\r\n ======================================================================== */\r\n\r\n getAllStepsByDeskGuid(workdeskGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Workflow/desk/steps/' + workdeskGuid, { headers });\r\n }\r\n\r\n getAllSteps(start: string, limit: string, search: string, completenessGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Workflow/step?start=' + start + '&limit=' + limit + '&search=' + search + '&completenessGuid=' + completenessGuid, { headers });\r\n }\r\n\r\n getStepByWorkStepGuid(workstepGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Workflow/step/' + workstepGuid, { headers });\r\n }\r\n\r\n addStep(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(this._settingsService.getSettings('apiUrl') + 'Workflow/step', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n this._webSocket.connection.invoke('refresh', 'getalldesks');\r\n this._webSocket.connection.invoke('refresh', 'getallsteps');\r\n this._webSocket.connection.invoke('refresh', 'getallstepsbydesk');\r\n })\r\n );\r\n }\r\n\r\n updateStepByWorkStepGuid(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/step', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n this._webSocket.connection.invoke('refresh', 'getalldesks');\r\n })\r\n );\r\n }\r\n\r\n updateFieldStepWorkStepGuid(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/step/field', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n this._webSocket.connection.invoke('refresh', 'getalldesks');\r\n this._webSocket.connection.invoke('refresh', 'getallsteps');\r\n this._webSocket.connection.invoke('refresh', 'getallstepsbydesk');\r\n })\r\n );\r\n }\r\n\r\n deleteStepByWorkStepGuid(workstepGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.delete(this._settingsService.getSettings('apiUrl') + 'Workflow/step/' + workstepGuid, { headers }).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n this._webSocket.connection.invoke('refresh', 'getalldesks');\r\n this._webSocket.connection.invoke('refresh', 'getallsteps');\r\n this._webSocket.connection.invoke('refresh', 'getallstepsbydesk');\r\n })\r\n );\r\n }\r\n\r\n deleteStepsByWorkStepGuids(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .request('delete', this._settingsService.getSettings('apiUrl') + 'Workflow/step/array', {\r\n headers: headers,\r\n body: object,\r\n })\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n this._webSocket.connection.invoke('refresh', 'getalldesks');\r\n this._webSocket.connection.invoke('refresh', 'getallsteps');\r\n this._webSocket.connection.invoke('refresh', 'getallstepsbydesk');\r\n })\r\n );\r\n }\r\n\r\n checkItemStep(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/itemstep/verify', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n this._webSocket.connection.invoke('refresh', 'getalldesks');\r\n })\r\n );\r\n }\r\n\r\n checkItemStepUsers(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/itemstep/verify/users', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n this._webSocket.connection.invoke('refresh', 'getalldesks');\r\n })\r\n );\r\n }\r\n\r\n checkItemStepByWorkStepGuid(workstepGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/itemstep/verify/' + workstepGuid, {}, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n this._webSocket.connection.invoke('refresh', 'getalldesks');\r\n })\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n DESK - TCHAT\r\n ======================================================================== */\r\n\r\n getAllMessages(start: string, limit: string, workchatTargetGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Workflow/chat?start=' + start + '&limit=' + limit + '&workchatTargetGuid=' + workchatTargetGuid, { headers });\r\n }\r\n\r\n makeNewMessage(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(this._settingsService.getSettings('apiUrl') + 'Workflow/chat', object, options);\r\n }\r\n\r\n deleteMessageByWorkchatGuid(workchatGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.delete(this._settingsService.getSettings('apiUrl') + 'Workflow/chat/' + workchatGuid, { headers });\r\n }\r\n\r\n updateFieldChatByWorkchatGuid(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/chat/field', object, options);\r\n }\r\n\r\n likeMessageByworkchatGuid(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/chat/like', object, options);\r\n }\r\n\r\n unLikeMessageByworkchatGuid(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/chat/unlike', object, options);\r\n }\r\n\r\n readTchatOnItem(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/chat/read', object, options);\r\n }\r\n\r\n /* ========================================================================\r\n ROOM\r\n ======================================================================== */\r\n\r\n getAllRooms() {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Workflow/room', { headers });\r\n }\r\n\r\n getRoom(workroomGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Workflow/room/' + workroomGuid, { headers });\r\n }\r\n\r\n addRoom(workroomName: any, workroomDesks: any, workroomSkus = []) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Workflow/room',\r\n {\r\n workroomName: workroomName,\r\n workroomDesks: workroomDesks,\r\n workroomSkus: workroomSkus,\r\n },\r\n { headers }\r\n );\r\n }\r\n\r\n updateRoom(workroomGuid: any, fieldName: any, fieldValue: any) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.put(\r\n this._settingsService.getSettings('apiUrl') + 'Workflow/room/field',\r\n {\r\n workroomGuid: workroomGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n },\r\n { headers }\r\n );\r\n }\r\n\r\n deleteRoom(workroomGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.delete(this._settingsService.getSettings('apiUrl') + 'Workflow/room/' + workroomGuid, { headers });\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { SettingsService } from './settings.service';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { websocketService } from './websocket.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class WorkflowsHistoricalService {\r\n constructor(\r\n private http: HttpClient,\r\n private _settingsService: SettingsService,\r\n private _webSocket: websocketService\r\n ) { }\r\n\r\n getAllHistorical(start: string, limit: string, search: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Workflow/item/archived?start=' + start + '&limit=' + limit + '&search=' + search, { headers });\r\n }\r\n\r\n getOneHistoryByWorkitemarchivedGuid(workitemarchivedGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Workflow/item/archived/' + workitemarchivedGuid, { headers });\r\n }\r\n\r\n archiveThisItem(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Workflow/item/archive', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'getitembyitemguid');\r\n this._webSocket.connection.invoke('refresh', 'getalldesks');\r\n this._webSocket.connection.invoke('refresh', 'getallhistories');\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n deleteByWorkitemarchivedGuids(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .request('delete', this._settingsService.getSettings('apiUrl') + 'Workflow/item/archived/array', {\r\n headers: headers,\r\n body: object,\r\n })\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'getallhistories');\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { CompanyObject, ConnectionAttemptObject, UserSignInObject } from './login';\r\nimport { Router, UrlTree, UrlSegmentGroup, UrlSegment, PRIMARY_OUTLET } from '@angular/router';\r\nimport { SettingsService } from '../settings.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class LoginService {\r\n private user!: { [x: string]: any; };\r\n private company: any;\r\n constructor(\r\n private http: HttpClient,\r\n private settings: SettingsService,\r\n private router: Router\r\n ) { }\r\n\r\n /* ========================================================================\r\n SET\r\n ======================================================================== */\r\n\r\n setCompany(company: any) {\r\n this.company = company;\r\n }\r\n\r\n setUser(user: any) {\r\n this.user = user;\r\n }\r\n\r\n setLoginInLocalStorage(login: string) {\r\n // localStorage.setItem(\"Login\", login);\r\n localStorage.setItem('Login_' + this.settings.getAlias(), login);\r\n }\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getCompany() {\r\n return this.company;\r\n }\r\n\r\n getUserNotFromApi() {\r\n return this.user;\r\n }\r\n\r\n getLoginFromUser() {\r\n return this.user['userLogin'];\r\n }\r\n\r\n checkConnectionAttemptAndDate(login: string, alias: any) {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n });\r\n let options = { headers: headers };\r\n return this.http.post<ConnectionAttemptObject>(\r\n this.settings.getSettings('apiUrl') + 'Users/' + login + '/connectionAttempt',\r\n {\r\n alias: alias,\r\n },\r\n options\r\n );\r\n }\r\n\r\n getUser(login: any, mdp: any, alias: any) {\r\n //return user\r\n return this.http.post<UserSignInObject>(this.settings.getSettings('apiUrl') + 'Users/signIn', {\r\n login: login,\r\n password: mdp,\r\n alias: alias,\r\n });\r\n }\r\n\r\n getLoginInLocalStorage() {\r\n const login = localStorage.getItem('Login');\r\n\r\n if (login !== null) {\r\n localStorage.setItem('Login_' + this.settings.getAlias(), login);\r\n localStorage.removeItem('Login');\r\n }\r\n\r\n return localStorage.getItem('Login_' + this.settings.getAlias());\r\n }\r\n\r\n externalLogin(team: any) {\r\n return this.http.post(this.settings.getSettings('apiUrl') + 'Users/signIn/external', {\r\n team: team,\r\n alias: this.settings.getAlias(),\r\n });\r\n }\r\n\r\n iframeLogin(login: any, mdp: any) {\r\n //return user\r\n return this.http.post<UserSignInObject>(this.settings.getSettings('apiUrl') + 'Users/signIn', {\r\n login: login,\r\n password: mdp,\r\n alias: this.settings.getAlias(),\r\n });\r\n }\r\n}\r\n","import { Injectable, OnInit } from '@angular/core';\r\nimport { BehaviorSubject, ReplaySubject, Subject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SidebarRightService {\r\n private showNav$: { [component: string]: BehaviorSubject<boolean> } = {};\r\n\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n\r\n getShowNav(component: string) {\r\n if (!this.showNav$[component]) {\r\n this.showNav$[component] = new BehaviorSubject<boolean>(false);\r\n }\r\n return this.showNav$[component].asObservable();\r\n }\r\n\r\n setShowNav(component: string, showHide: boolean) {\r\n if (!this.showNav$[component]) {\r\n this.showNav$[component] = new BehaviorSubject<boolean>(false);\r\n } else {\r\n }\r\n this.showNav$[component].next(showHide);\r\n }\r\n\r\n toggleNavState(component: string) {\r\n if (!this.showNav$[component]) {\r\n this.showNav$[component] = new BehaviorSubject<boolean>(false);\r\n }\r\n this.showNav$[component].next(!this.showNav$[component].value);\r\n }\r\n\r\n isNavOpen(component: string) {\r\n if (!this.showNav$[component]) {\r\n this.showNav$[component] = new BehaviorSubject<boolean>(false);\r\n }\r\n return this.showNav$[component].value;\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { SettingsService } from './settings.service';\r\nimport { AuthService } from './auth.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CompletenessService {\r\n constructor(\r\n private http: HttpClient,\r\n private _settingsService: SettingsService,\r\n private auth: AuthService\r\n ) { }\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getCompletenessByGuid(guid: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'completeness/type/' + guid, { headers });\r\n }\r\n\r\n getAllCompleteness(completenessModule = 'GLOBAL') {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'completeness?completenessModule=' + completenessModule, { headers });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { SettingsService } from './settings.service';\r\nimport { AuthService } from './auth.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StatusService {\r\n constructor(\r\n private http: HttpClient,\r\n private _settingsService: SettingsService,\r\n private auth: AuthService\r\n ) { }\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getAllStatus(type: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Status?type=' + type, { headers });\r\n }\r\n\r\n getOneStatusByGuid(guid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Status/' + guid, { headers });\r\n }\r\n\r\n getStatusSort() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Status/sort', { headers });\r\n }\r\n /* ========================================================================\r\n CREATE\r\n ======================================================================== */\r\n\r\n createStatus(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(this._settingsService.getSettings('apiUrl') + 'status', object, options);\r\n }\r\n\r\n /* ========================================================================\r\n UPDATE\r\n ======================================================================== */\r\n\r\n modifyStatus(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'status', object, options);\r\n }\r\n\r\n /* ========================================================================\r\n DELETE\r\n ======================================================================== */\r\n\r\n deleteStatus(guid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.request('delete', this._settingsService.getSettings('apiUrl') + 'status/' + guid, {\r\n headers: headers,\r\n body: {},\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { SettingsService } from './settings.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ExportsService {\r\n constructor(\r\n private http: HttpClient,\r\n private _settings: SettingsService\r\n ) { }\r\n\r\n /* ========================================================================\r\n EXPORT\r\n ======================================================================== */\r\n\r\n exportDownload(exchangeObject: { exchangeMappingGuid: any; exchangeLanguage: any; exchangeExtensionOutputFile: any; exchangeSeparator: any; channelGuid: any; exchangeOrder: any; }) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settings.getSettings('apiUrl') + 'Exchanges/export/sku',\r\n {\r\n exchangeMappingGuid: exchangeObject.exchangeMappingGuid,\r\n exchangeLanguage: exchangeObject.exchangeLanguage,\r\n exchangeExtensionOutputFile: exchangeObject.exchangeExtensionOutputFile, //can be \".csv\", \".xls\", \".xlsx\", \".txt\", \".json\", \".xml\"\r\n exchangeSeparator: exchangeObject.exchangeSeparator, //not empty only if .csv and .txt,\r\n channelGuid: exchangeObject.channelGuid,\r\n exchangeOrder: exchangeObject.exchangeOrder,\r\n },\r\n options\r\n );\r\n }\r\n\r\n exportDownloadCate(exchangeObject: { exchangeLanguage: any; exchangeExtensionOutputFile: any; exchangeSeparator: any; exchangeOrder: any; }) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settings.getSettings('apiUrl') + 'Exchanges/export/category',\r\n {\r\n exchangeLanguage: exchangeObject.exchangeLanguage,\r\n exchangeExtensionOutputFile: exchangeObject.exchangeExtensionOutputFile, //can be \".csv\", \".xls\", \".xlsx\", \".txt\", \".json\", \".xml\"\r\n exchangeSeparator: exchangeObject.exchangeSeparator, //not empty only if .csv and .txt,\r\n exchangeOrder: exchangeObject.exchangeOrder,\r\n },\r\n options\r\n );\r\n }\r\n\r\n exportDownloadMultiCate(exchangeObject: { exchangeLanguage: any; exchangeExtensionOutputFile: any; exchangeSeparator: any; exchangeOrder: any; }) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settings.getSettings('apiUrl') + 'Exchanges/export/multicategory',\r\n {\r\n exchangeLanguage: exchangeObject.exchangeLanguage,\r\n exchangeExtensionOutputFile: exchangeObject.exchangeExtensionOutputFile, //can be \".csv\", \".xls\", \".xlsx\", \".txt\", \".json\", \".xml\"\r\n exchangeSeparator: exchangeObject.exchangeSeparator, //not empty only if .csv and .txt,\r\n exchangeOrder: exchangeObject.exchangeOrder,\r\n },\r\n options\r\n );\r\n }\r\n\r\n exportDownloadSupplier(exchangeObject: { exchangeLanguage: any; exchangeExtensionOutputFile: any; exchangeSeparator: any; exchangeOrder: any; }) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settings.getSettings('apiUrl') + 'Exchanges/export/supplier',\r\n {\r\n exchangeLanguage: exchangeObject.exchangeLanguage,\r\n exchangeExtensionOutputFile: exchangeObject.exchangeExtensionOutputFile, //can be \".csv\", \".xls\", \".xlsx\", \".txt\", \".json\", \".xml\"\r\n exchangeSeparator: exchangeObject.exchangeSeparator, //not empty only if .csv and .txt,\r\n exchangeOrder: exchangeObject.exchangeOrder,\r\n },\r\n options\r\n );\r\n }\r\n\r\n exportDownloadOrdersItems(exchangeObject: { exchangeExtensionOutputFile: any; exchangeSeparator: any; }) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settings.getSettings('apiUrl') + 'Exchanges/export/salesordersitems',\r\n {\r\n exchangeExtensionOutputFile: exchangeObject.exchangeExtensionOutputFile,\r\n exchangeSeparator: exchangeObject.exchangeSeparator, // if export is csv or txt, fill separator ; , |\r\n exchangeOrder: null,\r\n exchangeFilter: null,\r\n },\r\n options\r\n );\r\n }\r\n\r\n exportDownloadOrders(exchangeObject: { exchangeLanguage: any; exchangeExtensionOutputFile: any; exchangeSeparator: any; exchangeOrder: any; exchangeFilter: any; startDate: any; endDate: any; }) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settings.getSettings('apiUrl') + 'Exchanges/export/salesorders',\r\n {\r\n exchangeLanguage: exchangeObject.exchangeLanguage,\r\n exchangeExtensionOutputFile: exchangeObject.exchangeExtensionOutputFile, //can be \".csv\", \".xls\", \".xlsx\", \".txt\", \".json\", \".xml\"\r\n exchangeSeparator: exchangeObject.exchangeSeparator, //not empty only if .csv and .txt,\r\n exchangeOrder: exchangeObject.exchangeOrder,\r\n exchangeFilter: exchangeObject.exchangeFilter,\r\n startDate: exchangeObject.startDate,\r\n endDate: exchangeObject.endDate,\r\n },\r\n options\r\n );\r\n }\r\n\r\n exportDownloadQuotes(exchangeObject: { exchangeLanguage: any; exchangeExtensionOutputFile: any; exchangeSeparator: any; exchangeOrder: any; exchangeFilter: any; startDate: any; endDate: any; }) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settings.getSettings('apiUrl') + 'Exchanges/export/salesquotes',\r\n {\r\n exchangeLanguage: exchangeObject.exchangeLanguage,\r\n exchangeExtensionOutputFile: exchangeObject.exchangeExtensionOutputFile, //can be \".csv\", \".xls\", \".xlsx\", \".txt\", \".json\", \".xml\"\r\n exchangeSeparator: exchangeObject.exchangeSeparator, //not empty only if .csv and .txt,\r\n exchangeOrder: exchangeObject.exchangeOrder,\r\n exchangeFilter: exchangeObject.exchangeFilter,\r\n startDate: exchangeObject.startDate,\r\n endDate: exchangeObject.endDate,\r\n },\r\n options\r\n );\r\n }\r\n\r\n exportDownloadQuotesItems(exchangeObject: { exchangeExtensionOutputFile: any; exchangeSeparator: any; }) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settings.getSettings('apiUrl') + 'Exchanges/export/salesquotesitems',\r\n {\r\n exchangeExtensionOutputFile: exchangeObject.exchangeExtensionOutputFile,\r\n exchangeSeparator: exchangeObject.exchangeSeparator, // if export is csv or txt, fill separator ; , |\r\n exchangeOrder: null,\r\n exchangeFilter: null,\r\n },\r\n options\r\n );\r\n }\r\n\r\n exportDownloadAccount(exchangeObject: { exchangeLanguage: any; exchangeExtensionOutputFile: any; exchangeSeparator: any; exchangeOrder: any; }) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settings.getSettings('apiUrl') + 'Exchanges/export/account',\r\n {\r\n exchangeLanguage: exchangeObject.exchangeLanguage,\r\n exchangeExtensionOutputFile: exchangeObject.exchangeExtensionOutputFile, //can be \".csv\", \".xls\", \".xlsx\", \".txt\", \".json\", \".xml\"\r\n exchangeSeparator: exchangeObject.exchangeSeparator, //not empty only if .csv and .txt,\r\n exchangeOrder: exchangeObject.exchangeOrder,\r\n },\r\n options\r\n );\r\n }\r\n\r\n exportDownloadShipping(exchangeObject: { exchangeLanguage: any; exchangeExtensionOutputFile: any; exchangeSeparator: any; exchangeOrder: any; }) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settings.getSettings('apiUrl') + 'Exchanges/export/accountshipping',\r\n {\r\n exchangeLanguage: exchangeObject.exchangeLanguage,\r\n exchangeExtensionOutputFile: exchangeObject.exchangeExtensionOutputFile, //can be \".csv\", \".xls\", \".xlsx\", \".txt\", \".json\", \".xml\"\r\n exchangeSeparator: exchangeObject.exchangeSeparator, //not empty only if .csv and .txt,\r\n exchangeOrder: exchangeObject.exchangeOrder,\r\n },\r\n options\r\n );\r\n }\r\n\r\n exportSkuWithFilter(exchangeObject: { exchangeMappingGuid: any; exchangeLanguage: any; exchangeExtensionOutputFile: any; exchangeSeparator: any; channelGuid: any; exchangeOrder: any; exchangeFilter: any; }) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settings.getSettings('apiUrl') + 'Exchanges/export/sku',\r\n {\r\n exchangeMappingGuid: exchangeObject.exchangeMappingGuid,\r\n exchangeLanguage: exchangeObject.exchangeLanguage,\r\n exchangeExtensionOutputFile: exchangeObject.exchangeExtensionOutputFile, //can be \".csv\", \".xls\", \".xlsx\", \".txt\", \".json\", \".xml\"\r\n exchangeSeparator: exchangeObject.exchangeSeparator, //not empty only if .csv and .txt,\r\n channelGuid: exchangeObject.channelGuid,\r\n exchangeOrder: exchangeObject.exchangeOrder,\r\n exchangeFilter: exchangeObject.exchangeFilter,\r\n },\r\n options\r\n );\r\n }\r\n\r\n exportDownloadFrameworkAgreements(exchangeObject: { languageSelected: any; exchangeExtensionOutputFile: any; exchangeSeparator: any; }) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settings.getSettings('apiUrl') + 'Exchanges/export/frameworkagreements',\r\n {\r\n exchangeLanguage: exchangeObject.languageSelected,\r\n exchangeExtensionOutputFile: exchangeObject.exchangeExtensionOutputFile,\r\n exchangeSeparator: exchangeObject.exchangeSeparator, // if export is csv or txt, fill separator ; , |\r\n exchangeOrder: null,\r\n exchangeFilter: null,\r\n },\r\n options\r\n );\r\n }\r\n\r\n exportDownloadPriceNegociated(exchangeObject: { languageSelected: any; exchangeExtensionOutputFile: any; exchangeSeparator: any; }) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settings.getSettings('apiUrl') + 'Exchanges/export/accountsskusprices',\r\n {\r\n exchangeLanguage: exchangeObject.languageSelected,\r\n exchangeExtensionOutputFile: exchangeObject.exchangeExtensionOutputFile,\r\n exchangeSeparator: exchangeObject.exchangeSeparator, // if export is csv or txt, fill separator ; , |\r\n exchangeOrder: null,\r\n exchangeFilter: null,\r\n },\r\n options\r\n );\r\n }\r\n\r\n exportDownloadPublications(exchangeObject: { exchangeExtensionOutputFile: any; exchangeSeparator: any; exchangeOrder: any; exchangeFilter: any; }) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settings.getSettings('apiUrl') + 'Exchanges/export/publicationdatas',\r\n {\r\n exchangeExtensionOutputFile: exchangeObject.exchangeExtensionOutputFile,\r\n exchangeSeparator: exchangeObject.exchangeSeparator, // if export is csv or txt, fill separator ; , |\r\n exchangeOrder: exchangeObject.exchangeOrder,\r\n exchangeFilter: exchangeObject.exchangeFilter,\r\n },\r\n options\r\n );\r\n }\r\n\r\n exportDownloadAssets(exchangeObject: { languageSelected: any; exchangeExtensionOutputFile: any; exchangeSeparator: any; exchangeOrder: any; }) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settings.getSettings('apiUrl') + 'Exchanges/export/assets',\r\n {\r\n exchangeLanguage: exchangeObject.languageSelected,\r\n exchangeExtensionOutputFile: exchangeObject.exchangeExtensionOutputFile,\r\n exchangeSeparator: exchangeObject.exchangeSeparator, // if export is csv or txt, fill separator ; , |\r\n exchangeOrder: exchangeObject.exchangeOrder,\r\n },\r\n options\r\n );\r\n }\r\n\r\n exportDownloadMissingAssets(exchangeObject: { languageSelected: any; exchangeExtensionOutputFile: any; exchangeSeparator: any; exchangeOrder: any; }) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settings.getSettings('apiUrl') + 'Exchanges/export/assets',\r\n {\r\n exchangeLanguage: exchangeObject.languageSelected,\r\n exchangeExtensionOutputFile: exchangeObject.exchangeExtensionOutputFile,\r\n exchangeSeparator: exchangeObject.exchangeSeparator, // if export is csv or txt, fill separator ; , |\r\n exchangeOrder: exchangeObject.exchangeOrder,\r\n exchangeType: 'missing',\r\n },\r\n options\r\n );\r\n }\r\n\r\n exportDownloadOrphansAssets(exchangeObject: { languageSelected: any; exchangeExtensionOutputFile: any; exchangeSeparator: any; exchangeOrder: any; }) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settings.getSettings('apiUrl') + 'Exchanges/export/assets',\r\n {\r\n exchangeLanguage: exchangeObject.languageSelected,\r\n exchangeExtensionOutputFile: exchangeObject.exchangeExtensionOutputFile,\r\n exchangeSeparator: exchangeObject.exchangeSeparator, // if export is csv or txt, fill separator ; , |\r\n exchangeOrder: exchangeObject.exchangeOrder,\r\n exchangeType: 'orphans',\r\n },\r\n options\r\n );\r\n }\r\n\r\n exportPersonalized(exchangeObject: { exchangeLanguage: any; templateGuid: any; pricesListGuid: any; channelGuid: any; skuGuids: any; publicationId: any; }) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settings.getSettings('apiUrl') + 'Exchanges/export/personalized',\r\n {\r\n exchangeLanguage: exchangeObject.exchangeLanguage,\r\n templateGuid: exchangeObject.templateGuid,\r\n pricesListGuid: exchangeObject.pricesListGuid, // if export is csv or txt, fill separator ; , |\r\n channelGuid: exchangeObject.channelGuid,\r\n skuGuids: exchangeObject.skuGuids,\r\n publicationId: exchangeObject.publicationId,\r\n },\r\n options\r\n );\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'localeNumber',\r\n standalone: true,\r\n})\r\nexport class LocaleNumberPipe implements PipeTransform {\r\n transform(value: number, language: string): any {\r\n if (value && language) {\r\n return value.toLocaleString(language);\r\n } else {\r\n if (value == 0) return '0';\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Pipe({\r\n name: 'timeElapsed',\r\n standalone: true,\r\n})\r\nexport class TimeElapsedPipe implements PipeTransform {\r\n public daysLabel: any;\r\n public hoursLabel: any;\r\n public minutesLabel: any;\r\n public secondesLabel: any;\r\n public dayLabel: any;\r\n public hourLabel: any;\r\n public minuteLabel: any;\r\n public secondeLabel: any;\r\n constructor(private _tr: TranslateService) {\r\n this._tr.get('pipes.timeElapsed.DAYS').subscribe((res) => {\r\n this.daysLabel = res;\r\n this._tr.get('pipes.timeElapsed.HOURS').subscribe((res) => {\r\n this.hoursLabel = res;\r\n this._tr.get('pipes.timeElapsed.MINUTES').subscribe((res) => {\r\n this.minutesLabel = res;\r\n this._tr.get('pipes.timeElapsed.SECONDES').subscribe((res) => {\r\n this.secondesLabel = res;\r\n });\r\n });\r\n });\r\n });\r\n this._tr.get('pipes.timeElapsed.DAY').subscribe((res) => {\r\n this.dayLabel = res;\r\n this._tr.get('pipes.timeElapsed.HOUR').subscribe((res) => {\r\n this.hourLabel = res;\r\n this._tr.get('pipes.timeElapsed.MINUTE').subscribe((res) => {\r\n this.minuteLabel = res;\r\n this._tr.get('pipes.timeElapsed.SECONDE').subscribe((res) => {\r\n this.secondeLabel = res;\r\n });\r\n });\r\n });\r\n });\r\n }\r\n transform(date: any, mode: 'full' | 'soft' = 'full'): string {\r\n const startDateTime = new Date(date);\r\n const currentDateTime = new Date();\r\n\r\n const timeElapsed = currentDateTime.getTime() - startDateTime.getTime();\r\n const seconds = Math.floor(timeElapsed / 1000);\r\n const minutes = Math.floor(seconds / 60);\r\n const hours = Math.floor(minutes / 60);\r\n const days = Math.floor(hours / 24);\r\n\r\n if (mode === 'soft') {\r\n if (days > 0) {\r\n return days === 1 ? `1 ${this.dayLabel}` : `${days} ${this.daysLabel}`;\r\n } else if (hours > 0) {\r\n return hours === 1 ? `1 ${this.hourLabel}` : `${hours} ${this.hoursLabel}`;\r\n } else if (minutes > 0) {\r\n return minutes === 1 ? `1 ${this.minuteLabel}` : `${minutes} ${this.minutesLabel}`;\r\n } else {\r\n return seconds === 1 ? `1 ${this.secondeLabel}` : `${seconds} ${this.secondesLabel}`;\r\n }\r\n }\r\n\r\n let elapsedTime = '';\r\n\r\n if (days > 0) {\r\n elapsedTime += days;\r\n if (days == 1) {\r\n elapsedTime += ' ' + this.dayLabel + ' ';\r\n } else {\r\n elapsedTime += ' ' + this.daysLabel + ' ';\r\n }\r\n }\r\n if (hours > 0 && days <= 7) {\r\n elapsedTime += hours % 24;\r\n if (hours == 1) {\r\n elapsedTime += ' ' + this.hourLabel + ' ';\r\n } else {\r\n elapsedTime += ' ' + this.hoursLabel + ' ';\r\n }\r\n }\r\n if (minutes > 0 && hours <= 24) {\r\n elapsedTime += minutes % 60;\r\n if (minutes == 1) {\r\n elapsedTime += ' ' + this.minuteLabel + ' ';\r\n } else {\r\n elapsedTime += ' ' + this.minutesLabel + ' ';\r\n }\r\n }\r\n if (seconds > 0 && minutes <= 60) {\r\n elapsedTime += seconds % 60;\r\n if (seconds == 1) {\r\n elapsedTime += ' ' + this.secondeLabel + ' ';\r\n } else {\r\n elapsedTime += ' ' + this.secondesLabel + ' ';\r\n }\r\n }\r\n\r\n return elapsedTime;\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnInit, OnChanges, SimpleChanges, Renderer2 } from '@angular/core';\r\n\r\ntype PieOptions = {\r\n barColor: string;\r\n trackColor: string;\r\n lineCap: 'butt' | 'round' | 'square';\r\n lineWidth: number; // px\r\n size: number; // px\r\n rotate: number; // deg\r\n animate: { duration: number; enabled: boolean };\r\n // (facultatif) on conserve pour compat, non utilisés ici :\r\n scaleColor?: string;\r\n scaleLength?: number;\r\n};\r\n\r\n@Directive({\r\n selector: '[easypiechart]',\r\n standalone: true,\r\n})\r\nexport class EasypiechartDirective implements OnInit, OnChanges {\r\n private defaultOptions: PieOptions = {\r\n barColor: '#ef1e25',\r\n trackColor: '#f9f9f9',\r\n lineCap: 'round',\r\n lineWidth: 3,\r\n size: 110,\r\n rotate: 0,\r\n animate: { duration: 1000, enabled: true },\r\n };\r\n\r\n @Input() percent: number | string | null = 0;\r\n @Input() options?: Partial<PieOptions>;\r\n\r\n private svg?: SVGSVGElement;\r\n private track?: SVGCircleElement;\r\n private bar?: SVGCircleElement;\r\n private circumference = 0;\r\n private current = 0;\r\n\r\n constructor(\r\n private el: ElementRef<HTMLElement>,\r\n private r: Renderer2\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.initChart();\r\n this.updateChart(this.coerce(this.percent), false);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['options'] && !changes['options'].firstChange) {\r\n // Rebuild if options changed (size/width/colors…)\r\n this.destroyChart();\r\n this.initChart();\r\n }\r\n if (changes['percent'] && this.svg) {\r\n this.updateChart(this.coerce(changes['percent'].currentValue), true);\r\n }\r\n }\r\n\r\n // ---- private helpers ----\r\n private cfg(): PieOptions {\r\n return { ...this.defaultOptions, ...(this.options ?? {}) };\r\n }\r\n\r\n private coerce(v: unknown): number {\r\n const n = typeof v === 'string' ? parseFloat(v) : (v as number);\r\n return isFinite(n) ? Math.max(0, Math.min(100, n)) : 0;\r\n }\r\n\r\n private initChart() {\r\n const cfg = this.cfg();\r\n const size = cfg.size;\r\n const lw = cfg.lineWidth;\r\n const r = (size - lw) / 2;\r\n this.circumference = 2 * Math.PI * r;\r\n\r\n // container style\r\n const host = this.el.nativeElement;\r\n this.r.setStyle(host, 'display', 'inline-block');\r\n this.r.setStyle(host, 'width', `${size}px`);\r\n this.r.setStyle(host, 'height', `${size}px`);\r\n\r\n // svg\r\n this.svg = this.r.createElement('svg', 'svg');\r\n this.r.setAttribute(this.svg, 'width', `${size}`);\r\n this.r.setAttribute(this.svg, 'height', `${size}`);\r\n this.r.setAttribute(this.svg, 'viewBox', `0 0 ${size} ${size}`);\r\n this.r.setStyle(this.svg, 'transform', `rotate(${cfg.rotate - 90}deg)`); // -90 pour partir en haut\r\n\r\n // track\r\n this.track = this.r.createElement('circle', 'svg');\r\n this.r.setAttribute(this.track, 'cx', `${size / 2}`);\r\n this.r.setAttribute(this.track, 'cy', `${size / 2}`);\r\n this.r.setAttribute(this.track, 'r', `${r}`);\r\n this.r.setAttribute(this.track, 'fill', 'none');\r\n this.r.setAttribute(this.track, 'stroke', cfg.trackColor);\r\n this.r.setAttribute(this.track, 'stroke-width', `${lw}`);\r\n\r\n // bar\r\n this.bar = this.r.createElement('circle', 'svg');\r\n this.r.setAttribute(this.bar, 'cx', `${size / 2}`);\r\n this.r.setAttribute(this.bar, 'cy', `${size / 2}`);\r\n this.r.setAttribute(this.bar, 'r', `${r}`);\r\n this.r.setAttribute(this.bar, 'fill', 'none');\r\n this.r.setAttribute(this.bar, 'stroke', cfg.barColor);\r\n this.r.setAttribute(this.bar, 'stroke-width', `${lw}`);\r\n this.r.setAttribute(this.bar, 'stroke-linecap', cfg.lineCap);\r\n this.r.setAttribute(this.bar, 'stroke-dasharray', `${this.circumference} ${this.circumference}`);\r\n this.r.setAttribute(this.bar, 'stroke-dashoffset', `${this.circumference}`);\r\n\r\n // animation via CSS transition si activée\r\n if (cfg.animate.enabled) {\r\n this.r.setStyle(this.bar, 'transition', `stroke-dashoffset ${cfg.animate.duration}ms linear`);\r\n }\r\n\r\n this.r.appendChild(this.svg, this.track);\r\n this.r.appendChild(this.svg, this.bar);\r\n this.r.appendChild(host, this.svg);\r\n\r\n this.current = 0;\r\n }\r\n\r\n private updateChart(toPercent: number, animate: boolean) {\r\n if (!this.bar) return;\r\n const cfg = this.cfg();\r\n\r\n // si options changent la couleur, on met à jour\r\n this.r.setAttribute(this.bar, 'stroke', cfg.barColor);\r\n this.r.setAttribute(this.track!, 'stroke', cfg.trackColor);\r\n\r\n // transition on/off selon animate\r\n if (cfg.animate.enabled && animate) {\r\n this.r.setStyle(this.bar, 'transition', `stroke-dashoffset ${cfg.animate.duration}ms linear`);\r\n } else {\r\n this.r.removeStyle(this.bar, 'transition');\r\n }\r\n\r\n const offset = this.circumference * (1 - toPercent / 100);\r\n this.r.setAttribute(this.bar, 'stroke-dashoffset', `${offset}`);\r\n this.current = toPercent;\r\n }\r\n\r\n private destroyChart() {\r\n if (this.svg) {\r\n this.r.removeChild(this.el.nativeElement, this.svg);\r\n this.svg = undefined;\r\n this.track = undefined;\r\n this.bar = undefined;\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpHeaders, HttpClient } from '@angular/common/http';\r\nimport { SettingsService } from './settings.service';\r\nimport { AuthService } from './auth.service';\r\nimport { websocketService } from './websocket.service';\r\nimport { finalize } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CategoriesService {\r\n constructor(\r\n private auth: AuthService,\r\n private _settingsService: SettingsService,\r\n private http: HttpClient,\r\n private _webSocket: websocketService\r\n ) { }\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getClassification() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Categories', { headers });\r\n }\r\n\r\n getClassificationByGuid(guid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Categories/' + guid, { headers });\r\n }\r\n\r\n getClassificationTreeByParent(parentGuid: string | null) {\r\n let headers = this._settingsService.getHeaders();\r\n let parentguid = parentGuid == null ? '' : '?parentguid=' + parentGuid;\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Categories/tree' + parentguid, { headers });\r\n }\r\n\r\n getClassificationLevelOne() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Categories/all', { headers });\r\n }\r\n getClassificationByLevel(parentGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Categories/all?parentGuid=' + parentGuid, { headers });\r\n }\r\n\r\n getOrder(idItem: string) {\r\n let headers = new HttpHeaders({\r\n Authorization: 'Bearer ' + this._settingsService.getToken(),\r\n 'content-type': 'application/json',\r\n 'Accept-Language': this._settingsService.getLanguage(),\r\n });\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Categories/' + idItem + '/ordershow', { headers });\r\n }\r\n\r\n /* ========================================================================\r\n CREATE\r\n ======================================================================== */\r\n\r\n createClassification(exCode: any, name: any, owner: any, team: any, attributes: any, descendant: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Categories',\r\n {\r\n categoryExternalCode: exCode,\r\n categoryName: name,\r\n categoryOwner: owner,\r\n categoryTeam: team,\r\n categoryAttributes: attributes,\r\n descendantCategoryGuid: descendant,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n UPDATE\r\n ======================================================================== */\r\n\r\n //update field if not attribute\r\n updateCategoryField(categoryGuid: any, fieldName: any, fieldValue: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'categories/field',\r\n {\r\n categoryGuid: categoryGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n //update field if attribute\r\n updateCategoryFieldAttribute(categoryGuid: any, fieldName: any, fieldValue: any, attribute: any, language: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'categories/field',\r\n {\r\n categoryGuid: categoryGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n attribute: attribute,\r\n language: language,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n changeTree(idItem: any, idDestination: any, categoryNewOrder: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Categories/movetree',\r\n {\r\n sourcetree: idItem, // guid de la catégorie à déplacer (guid de + haut niveau)\r\n destinationtree: idDestination,\r\n categoryneworder: categoryNewOrder,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n modifyClassification(exCode: any, name: any, owner: any, team: any, attributes: any, id: any, description: any, metaTitle: any, metaDescription: any, metaKeywords: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Categories',\r\n {\r\n categoryExternalCode: exCode,\r\n categoryName: name,\r\n categoryOwner: owner,\r\n categoryTeam: team,\r\n categoryAttributes: attributes,\r\n categoryGuid: id,\r\n categoryDescription: description,\r\n categoryMetaTitle: metaTitle,\r\n categoryMetaDescription: metaDescription,\r\n categoryMetaKeywords: metaKeywords,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n changeOrder(categoryGuid: any, categoryOrder: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Categories/ordershow',\r\n {\r\n categoryGuid: categoryGuid,\r\n categoryOrder: categoryOrder,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n DELETE\r\n ======================================================================== */\r\n\r\n deleteClassification(id: string) {\r\n const httpOptions = {\r\n headers: this._settingsService.getHeaders(),\r\n };\r\n return this.http.delete(this._settingsService.getSettings('apiUrl') + 'Categories/' + id, httpOptions).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { SettingsService } from './settings.service';\r\nimport { Observable, map } from 'rxjs';\r\nimport { AuthService } from './auth.service';\r\nimport { websocketService } from './websocket.service';\r\nimport { finalize } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SkusService {\r\n constructor(\r\n private http: HttpClient,\r\n private _settingsService: SettingsService,\r\n private auth: AuthService,\r\n private _webSocket: websocketService\r\n ) { }\r\n\r\n /* ========================================================================\r\n SEARCH\r\n ======================================================================== */\r\n\r\n search(terms: { debounceTime: (arg0: number) => { (): any; new(): any; distinctUntilChanged: { (): { (): any; new(): any; switchMap: { (arg0: (term: any) => Observable<Object>): any; new(): any; }; }; new(): any; }; }; }) {\r\n return terms\r\n .debounceTime(400)\r\n .distinctUntilChanged()\r\n .switchMap((term: any) => this.searchEntries(term));\r\n }\r\n\r\n searchInSkuWithoutGroup(terms: { debounceTime: (arg0: number) => { (): any; new(): any; distinctUntilChanged: { (): { (): any; new(): any; switchMap: { (arg0: (term: any) => Observable<Object>): any; new(): any; }; }; new(): any; }; }; }) {\r\n return terms\r\n .debounceTime(400)\r\n .distinctUntilChanged()\r\n .switchMap((term: any) => this.searchEntriesForSkuWithoutGroup(term));\r\n }\r\n\r\n searchEntriesForSkuWithoutGroup(term: { search: string; limit: string; start: string; }, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n if (!archive) {\r\n return this.http\r\n .get(this._settingsService.getSettings('apiUrl') + 'Skus/withoutgroup?search=' + term.search + '&limit=' + term.limit + '&start=' + term.start, { headers })\r\n .pipe(map((res) => res));\r\n } else {\r\n return this.http\r\n .get(this._settingsService.getSettings('apiUrl') + 'SkusArchive/withoutgroup?search=' + term.search + '&limit=' + term.limit + '&start=' + term.start, { headers })\r\n .pipe(map((res) => res));\r\n }\r\n }\r\n\r\n searchEntries(term: { skuGroupMode: any; filter: string; search: string; limit: string; categoryGuid: string; start: string; searchType: string; }) {\r\n let headers = this._settingsService.getHeaders();\r\n if (term.skuGroupMode) {\r\n if (term.filter != '') {\r\n return this.http\r\n .get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Groups?search=' +\r\n term.search +\r\n '&limit=' +\r\n term.limit +\r\n '&categoryguid=' +\r\n term.categoryGuid +\r\n '&start=' +\r\n term.start +\r\n '&searchType=' +\r\n term.searchType +\r\n '&' +\r\n term.filter,\r\n { headers }\r\n )\r\n .pipe(map((res) => res));\r\n } else {\r\n return this.http\r\n .get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Groups?search=' +\r\n term.search +\r\n '&limit=' +\r\n term.limit +\r\n '&categoryguid=' +\r\n term.categoryGuid +\r\n '&start=' +\r\n term.start +\r\n '&searchType=' +\r\n term.searchType,\r\n { headers }\r\n )\r\n .pipe(map((res) => res));\r\n }\r\n } else {\r\n if (term.filter != '') {\r\n return this.http\r\n .get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Skus?search=' +\r\n term.search +\r\n '&limit=' +\r\n term.limit +\r\n '&categoryguid=' +\r\n term.categoryGuid +\r\n '&start=' +\r\n term.start +\r\n '&searchType=' +\r\n term.searchType +\r\n '&' +\r\n term.filter,\r\n { headers }\r\n )\r\n .pipe(map((res) => res));\r\n } else {\r\n return this.http\r\n .get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Skus?search=' +\r\n term.search +\r\n '&limit=' +\r\n term.limit +\r\n '&categoryguid=' +\r\n term.categoryGuid +\r\n '&start=' +\r\n term.start +\r\n '&searchType=' +\r\n term.searchType,\r\n { headers }\r\n )\r\n .pipe(map((res) => res));\r\n }\r\n }\r\n }\r\n\r\n getSearchAutocomplete(object: { search: string; choosenLanguage: string; }) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Searchs/autocomplete?search=' + object.search + '&choosenLanguage=' + object.choosenLanguage, { headers });\r\n }\r\n\r\n getSearchSkus(object: { search: string; choosenLanguage: string; categoryGuid: string; start: string; limit: string; filters: string; sort: string; direction: string; }) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Searchs?search=' +\r\n object.search +\r\n '&choosenLanguage=' +\r\n object.choosenLanguage +\r\n '&categoryGuid=' +\r\n object.categoryGuid +\r\n '&start=' +\r\n object.start +\r\n '&limit=' +\r\n object.limit +\r\n '&' +\r\n object.filters +\r\n '&sort=' +\r\n object.sort +\r\n '&direction=' +\r\n object.direction,\r\n { headers }\r\n );\r\n }\r\n\r\n getSearchSkusIA(object: { search: string; choosenLanguage: string; categoryId: string; start: string; limit: string; filters: string; sort: string; direction: string; }) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Searchs/advanced?search=' +\r\n object.search +\r\n '&lang=' +\r\n object.choosenLanguage +\r\n '&categoryId=' +\r\n object.categoryId +\r\n '&start=' +\r\n object.start +\r\n '&limit=' +\r\n object.limit +\r\n '&' +\r\n object.filters +\r\n '&sort=' +\r\n object.sort +\r\n '&direction=' +\r\n object.direction +\r\n '&semantic=true&fulltext=true',\r\n { headers }\r\n );\r\n }\r\n\r\n getSearchGroupSkus(object: { search: string; choosenLanguage: string; categoryGuid: string; start: string; limit: string; filters: string; sort: string; direction: string; }) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Searchs/group?search=' +\r\n object.search +\r\n '&choosenLanguage=' +\r\n object.choosenLanguage +\r\n '&categoryGuid=' +\r\n object.categoryGuid +\r\n '&start=' +\r\n object.start +\r\n '&limit=' +\r\n object.limit +\r\n '&' +\r\n object.filters +\r\n '&sort=' +\r\n object.sort +\r\n '&direction=' +\r\n object.direction,\r\n { headers }\r\n );\r\n }\r\n\r\n // sendSearch(search) {\r\n // this.searchSkus.next(search);\r\n // }\r\n\r\n // getSearch(): Observable<any> {\r\n // return this.searchSkus.asObservable();\r\n // }\r\n\r\n // sendAutocomplete(autocomplete) {\r\n // this.searchAutocomplete.next(autocomplete);\r\n // }\r\n\r\n // getAutocomplete(): Observable<any> {\r\n // return this.searchAutocomplete.asObservable();\r\n // }\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getTranslation(translationObject: { languageOrigin: any; languageDestination: any; texts: any; }) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'translations',\r\n {\r\n originLanguage: translationObject.languageOrigin,\r\n destinationLanguage: translationObject.languageDestination,\r\n values: translationObject.texts,\r\n },\r\n options\r\n );\r\n }\r\n\r\n getSkuById(skuId: string, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n if (!archive) {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Skus/' + skuId, { headers });\r\n } else {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'SkusArchive/' + skuId, { headers });\r\n }\r\n }\r\n\r\n getSkusWithFilters(filterString: string, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n if (!archive) {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Skus?' + filterString, { headers });\r\n } else {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'SkusArchive?' + filterString, { headers });\r\n }\r\n }\r\n\r\n getSkuFilters(archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n if (!archive) {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Skus/filters', { headers });\r\n } else {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'SkusArchive/filters', { headers });\r\n }\r\n }\r\n\r\n getSkuGroups(start: string, limit: string, filters?: string) {\r\n let headers = this._settingsService.getHeaders();\r\n if (filters) {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Groups?start=' + start + '&limit=' + limit + '&' + filters, { headers });\r\n } else {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Groups?start=' + start + '&limit=' + limit, { headers });\r\n }\r\n }\r\n\r\n getSkuForThisSkuGroups(groupGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Groups/' + groupGuid + '/skus', { headers });\r\n }\r\n\r\n getSkusGroupByGuid(groupGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Groups/' + groupGuid, { headers });\r\n }\r\n\r\n getSkuGroupsWithSearchAndCategory(start: string, limit: string, search: string, category: string, filters?: string) {\r\n let headers = this._settingsService.getHeaders();\r\n\r\n if (filters) {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Groups?start=' + start + '&limit=' + limit + '&search=' + search + '&categoryguid=' + category + '&' + filters, { headers });\r\n } else {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Groups?start=' + start + '&limit=' + limit + '&search=' + search + '&categoryguid=' + category, { headers });\r\n }\r\n }\r\n\r\n getSkuGroupsAvailableForAssociation() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Groups/only', { headers });\r\n }\r\n\r\n getVariantForThisGroups(groupId: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Groups/' + groupId + '/skus', { headers });\r\n }\r\n\r\n hasGroup() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Groups/hasGroup', { headers });\r\n }\r\n\r\n getSkuWithoutGroup(start: string, limit: string, search: string, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n if (!archive) {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Skus/withoutgroup?start=' + start + '&limit=' + limit + '&search=' + search, { headers });\r\n } else {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'SkusArchive/withoutgroup?start=' + start + '&limit=' + limit + '&search=' + search, { headers });\r\n }\r\n }\r\n\r\n existsByRefs(skusRefs = []) {\r\n let skusRefsString = skusRefs.join(',');\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Skus/existsByRefs?skuRefs=' + skusRefsString, { headers });\r\n }\r\n\r\n //get the list of the skus\r\n getAllSkus(archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Skus', {\r\n headers,\r\n });\r\n }\r\n\r\n getAllSkusByArray(arraySkuGuid: any, archive = false, start = 0, limit = 1000) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n if (!archive) {\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Skus/array?start=' + start + '&limit=' + limit,\r\n {\r\n arraySkuGuid: arraySkuGuid,\r\n },\r\n options\r\n );\r\n } else {\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'SkusArchive/array',\r\n {\r\n arraySkuGuid: arraySkuGuid,\r\n },\r\n options\r\n );\r\n }\r\n }\r\n\r\n getSkuRelations(skuGuid: string, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n if (!archive) {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Skus/' + skuGuid + '/relations', { headers });\r\n } else {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'SkusArchive/' + skuGuid + '/relations', { headers });\r\n }\r\n }\r\n\r\n getSkuOptions(skuGuid: string, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n if (!archive) {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Skus/' + skuGuid + '/options', { headers });\r\n } else {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'SkusArchive/' + skuGuid + '/options', { headers });\r\n }\r\n }\r\n\r\n getOptionForSkuAttribute(skuGuid: string, attributeGuid: string, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n if (!archive) {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Skus/' + skuGuid + '/options/' + attributeGuid, { headers });\r\n } else {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'SkusArchive/' + skuGuid + '/options/' + attributeGuid, { headers });\r\n }\r\n }\r\n\r\n getAttributeQuestion(arrayID: any, skuGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Skus/' + skuGuid + '/attributes/array',\r\n {\r\n attributesGuid: arrayID,\r\n },\r\n options\r\n );\r\n }\r\n\r\n getCategoriesBySkuGuid(skuGuid: string, language: string, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n if (!archive) {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Skus/getCategories/' + skuGuid + '/' + language, { headers });\r\n } else {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'SkusArchive/getCategories/' + skuGuid + '/' + language, { headers });\r\n }\r\n }\r\n\r\n getAllSkuWithSearchLimitStartSortDirection(search: string, limit: string, start: string, sort: string, direction: string, categoryGuid: string, filters?: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Skus?search=' +\r\n search +\r\n '&limit=' +\r\n limit +\r\n '&categoryguid=' +\r\n categoryGuid +\r\n '&start=' +\r\n start +\r\n '&sort=' +\r\n sort +\r\n '&direction=' +\r\n direction +\r\n '&' +\r\n filters,\r\n { headers }\r\n );\r\n }\r\n\r\n getSkuGroupsWithStartCategoryGuidTypeOfSelect(search: string, limit: string, start: string, categoryGuid: string, searchType: string, filters?: string) {\r\n let headers = this._settingsService.getHeaders();\r\n if (filters) {\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') + 'Groups?search=' + search + '&limit=' + limit + '&categoryguid=' + categoryGuid + '&start=' + start + '&searchType=' + searchType + '&' + filters,\r\n { headers }\r\n );\r\n } else {\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') + 'Groups?search=' + search + '&limit=' + limit + '&categoryguid=' + categoryGuid + '&start=' + start + '&searchType=' + searchType,\r\n { headers }\r\n );\r\n }\r\n }\r\n\r\n getAllSkuWithSearchLimitStart(search: string, limit: string, start: string, categoryGuid: string, searchType: string, filters?: string) {\r\n let headers = this._settingsService.getHeaders();\r\n if (filters) {\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') + 'Skus?search=' + search + '&limit=' + limit + '&categoryguid=' + categoryGuid + '&start=' + start + '&searchType=' + searchType + '&' + filters,\r\n { headers }\r\n );\r\n } else {\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') + 'Skus?search=' + search + '&limit=' + limit + '&categoryguid=' + categoryGuid + '&start=' + start + '&searchType=' + searchType,\r\n { headers }\r\n );\r\n }\r\n }\r\n\r\n //get sku by skuGuid\r\n getSkuBySkuGuid(skuGuid: string, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n if (!archive) {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Skus/' + skuGuid, { headers });\r\n } else {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'SkusArchive/' + skuGuid, { headers });\r\n }\r\n }\r\n\r\n getCatalogs() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'catalogs', { headers });\r\n }\r\n\r\n //get datasheets\r\n getDataSheets(source: string, sourceGuid: string, language: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'DataSheets/exists?source=' + source + '&sourceGuid=' + sourceGuid + '&language=' + language, { headers });\r\n }\r\n\r\n getSetupForMassEditByFieldName(fieldName: string, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n if (!archive) {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Skus/field/massive/' + fieldName, { headers });\r\n } else {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'SkusArchive/field/massive/' + fieldName, { headers });\r\n }\r\n }\r\n\r\n getMappingForMassEdit(archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n if (!archive) {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Skus/field/massive/mapping', { headers });\r\n } else {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'SkusArchive/field/massive/mapping', { headers });\r\n }\r\n }\r\n\r\n /* ========================================================================\r\n CREATE\r\n ======================================================================== */\r\n\r\n duplicateSku(skuGuid: any, sku: any, parent = null, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n if (!archive) {\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Skus/duplicate',\r\n {\r\n skuGuid: skuGuid,\r\n sku: sku,\r\n parent: parent,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n } else {\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'SkusArchive/duplicate',\r\n {\r\n skuGuid: skuGuid,\r\n sku: sku,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n }\r\n\r\n createSku(sku: { sku: any; groupGuid: any; skuName: any; skuDescription: any; skuImages: any; skuPictos: any; skuIsNew: any; skuIsActive: any; skuIsDraft: any; skuCreatedAt: any; skuModifiedAt: any; skuOrder: any; skuCategoryCollection: any; skuChannelCollection: any; skuStatusGuid: any; skuWorkSpace: any; skuMaskGuid: any; skuRelations: any; skuCompleteness: any; skuOwner: any; skuTeam: any; skuAttributes: any; skuDefaultImage: any; skuTotalStock: any; skuMinPrice: any; }) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Skus',\r\n {\r\n sku: sku.sku,\r\n groupGuid: sku.groupGuid,\r\n skuName: sku.skuName,\r\n skuDescription: sku.skuDescription,\r\n skuImages: sku.skuImages,\r\n skuPictos: sku.skuPictos,\r\n skuIsNew: sku.skuIsNew,\r\n skuIsActive: sku.skuIsActive,\r\n skuIsDraft: sku.skuIsDraft,\r\n skuCreatedAt: sku.skuCreatedAt,\r\n skuModifiedAt: sku.skuModifiedAt,\r\n skuOrder: sku.skuOrder,\r\n skuCategoryCollection: sku.skuCategoryCollection,\r\n skuChannelCollection: sku.skuChannelCollection,\r\n skuStatusGuid: sku.skuStatusGuid,\r\n skuWorkSpace: sku.skuWorkSpace,\r\n skuMaskGuid: sku.skuMaskGuid,\r\n skuRelations: sku.skuRelations,\r\n skuCompleteness: sku.skuCompleteness,\r\n skuOwner: sku.skuOwner,\r\n skuTeam: sku.skuTeam,\r\n skuAttributes: sku.skuAttributes,\r\n skuDefaultImage: sku.skuDefaultImage,\r\n skuTotalStock: sku.skuTotalStock,\r\n skuMinPrice: sku.skuMinPrice,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n assignCategories(skuGuid: any, categoryGuid: any, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n if (!archive) {\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Skus/assignCategories',\r\n {\r\n skuGuid: skuGuid,\r\n categoryGuid: categoryGuid,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n //this._webSocket.connection.invoke(\"RefreshWithArgument\",\"skuRefresh\",skuGuid);\r\n this._webSocket.connection.invoke('RefreshSkuField', 'refreshField', skuGuid, '', '', 'skuCategorie', null, '');\r\n })\r\n );\r\n } else {\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'SkusArchive/assignCategories',\r\n {\r\n skuGuid: skuGuid,\r\n categoryGuid: categoryGuid,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n //this._webSocket.connection.invoke(\"RefreshWithArgument\",\"skuRefresh\",skuGuid);\r\n this._webSocket.connection.invoke('RefreshSkuField', 'refreshField', skuGuid, '', '', 'skuCategorie', null, '');\r\n })\r\n );\r\n }\r\n }\r\n\r\n createGroupWithFieldAndSkus(fieldSource: any, skus: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Groups/group/one',\r\n {\r\n fieldSource: fieldSource,\r\n skus: skus,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n setSkuDefaultForGroup(groupGuid: string, skuGuid: string, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(this._settingsService.getSettings('apiUrl') + 'Groups/' + groupGuid + '/skus/' + skuGuid + '/groupSkuDefault', {}, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('RefreshWithArgument', 'skuRefresh', skuGuid);\r\n })\r\n );\r\n }\r\n\r\n //assign group to tabskus\r\n attachSkusToExistantGroup(skus: any, groupGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Groups/' + groupGuid + '/attachSkus',\r\n {\r\n skus: skus,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n batchGroupAllSkuWithField(fieldSource: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Groups/group/all',\r\n {\r\n fieldSource: fieldSource,\r\n },\r\n options\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n UPDATE\r\n ======================================================================== */\r\n\r\n updateMassEdit(object: any, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n if (!archive) {\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Skus/field/massive', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n } else {\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'SkusArchive/field/massive', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n }\r\n\r\n updateCatalogs(skuGuid: any, tabGuid: any, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n if (!archive) {\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Skus/field',\r\n {\r\n skuGuid: skuGuid,\r\n fieldName: 'skuCatalogCollection',\r\n fieldValue: tabGuid,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('RefreshWithArgument', 'skuRefresh', skuGuid);\r\n })\r\n );\r\n } else {\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'SkusArchive/field',\r\n {\r\n skuGuid: skuGuid,\r\n fieldName: 'skuCatalogCollection',\r\n fieldValue: tabGuid,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('RefreshWithArgument', 'skuRefresh', skuGuid);\r\n })\r\n );\r\n }\r\n }\r\n\r\n updateChannels(skuGuid: any, tabGuid: any, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n if (!archive) {\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Skus/field',\r\n {\r\n skuGuid: skuGuid,\r\n fieldName: 'skuChannelCollection',\r\n fieldValue: tabGuid,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('RefreshSkuField', 'refreshField', skuGuid, '', '', 'skuChannelCollection', null, '');\r\n //this._webSocket.connection.invoke(\"RefreshWithArgument\",\"skuRefresh\",skuGuid);\r\n })\r\n );\r\n } else {\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'SkusArchive/field',\r\n {\r\n skuGuid: skuGuid,\r\n fieldName: 'skuChannelCollection',\r\n fieldValue: tabGuid,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('RefreshSkuField', 'refreshField', skuGuid, '', '', 'skuChannelCollection', null, '');\r\n //this._webSocket.connection.invoke(\"RefreshWithArgument\",\"skuRefresh\",skuGuid);\r\n })\r\n );\r\n }\r\n }\r\n\r\n //update field if not attribute\r\n updateFieldIfNotAttribute(skuGuid: any, fieldName: any, fieldValue: any, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n if (!archive) {\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Skus/field',\r\n {\r\n skuGuid: skuGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n //this._webSocket.connection.invoke(\"RefreshWithArgument\",\"skuRefresh\",skuGuid);\r\n this._webSocket.connection.invoke('RefreshSkuField', 'refreshField', skuGuid, '', '', fieldName, null, '');\r\n })\r\n );\r\n } else {\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'SkusArchive/field',\r\n {\r\n skuGuid: skuGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n //this._webSocket.connection.invoke(\"RefreshWithArgument\",\"skuRefresh\",skuGuid);\r\n this._webSocket.connection.invoke('RefreshSkuField', 'refreshField', skuGuid, '', '', fieldName, null, '');\r\n })\r\n );\r\n }\r\n }\r\n\r\n updateSkuRef(oldValue: any, newValue: { skuGuid: any; }, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n if (!archive) {\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Skus/changeskuref',\r\n {\r\n oldSkuRef: oldValue,\r\n newSkuRef: newValue,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('RefreshWithArgument', 'skuRefresh', newValue.skuGuid);\r\n })\r\n );\r\n } else {\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'SkusArchive/changeskuref',\r\n {\r\n oldSkuRef: oldValue,\r\n newSkuRef: newValue,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('RefreshWithArgument', 'skuRefresh', newValue.skuGuid);\r\n })\r\n );\r\n }\r\n }\r\n\r\n //update field if attribute\r\n updateFieldAttribute(skuGuid: any, fieldName: any, fieldValue: any, attribute: any, language: any, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n if (!archive) {\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Skus/field',\r\n {\r\n skuGuid: skuGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n attribute: attribute,\r\n language: language,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n //this._webSocket.connection.invoke(\"RefreshWithArgument\",\"skuRefresh\",skuGuid);\r\n //this._webSocket.connection.invoke(\"RefreshSkuField\",\"refreshField\",skuGuid,\"\",\"\",\"skuAttribute\",null);\r\n })\r\n );\r\n } else {\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'SkusArchive/field',\r\n {\r\n skuGuid: skuGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n attribute: attribute,\r\n language: language,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n //this._webSocket.connection.invoke(\"RefreshWithArgument\",\"skuRefresh\",skuGuid);\r\n //this._webSocket.connection.invoke(\"RefreshSkuField\",\"refreshField\",skuGuid,\"\",\"\",\"skuAttribute\",null);\r\n })\r\n );\r\n }\r\n }\r\n\r\n updateSkuAttributeOptions(skuGuid: any, attributeGuid: any, tabGuidOptions: { toString: () => any; }, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n if (!archive) {\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Skus/field',\r\n {\r\n skuGuid: skuGuid,\r\n fieldName: attributeGuid,\r\n fieldValue: tabGuidOptions,\r\n attribute: true,\r\n language: '',\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n //this._webSocket.connection.invoke(\"RefreshWithArgument\",\"skuRefresh\",skuGuid);\r\n this._webSocket.connection.invoke('RefreshSkuField', 'refreshSkuAttributeOption', skuGuid, '', '', attributeGuid, tabGuidOptions.toString(), '');\r\n })\r\n );\r\n } else {\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'SkusArchive/field',\r\n {\r\n skuGuid: skuGuid,\r\n fieldName: attributeGuid,\r\n fieldValue: tabGuidOptions,\r\n attribute: true,\r\n language: '',\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n //this._webSocket.connection.invoke(\"RefreshWithArgument\",\"skuRefresh\",skuGuid);\r\n this._webSocket.connection.invoke('RefreshSkuField', 'refreshSkuAttributeOption', skuGuid, '', '', attributeGuid, tabGuidOptions.toString(), '');\r\n })\r\n );\r\n }\r\n }\r\n\r\n //update skus\r\n updateSku(sku: { sku: any; skuGuid: any; groupGuid: any; skuName: any; skuDescription: any; skuImages: any; skuPictos: any; skuIsNew: any; skuIsActive: any; skuIsDraft: any; skuCreatedAt: any; skuModifiedAt: any; skuOrder: any; skuCategoryCollection: any; skuChannelCollection: any; skuStatusGuid: any; skuWorkSpace: any; skuMaskGuid: any; skuRelations: any; skuCompleteness: any; skuOwner: any; skuTeam: any; skuAttributes: any; skuDefaultImage: any; skuTotalStock: any; skuMinPrice: any; }) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Skus',\r\n {\r\n sku: sku.sku,\r\n skuGuid: sku.skuGuid,\r\n groupGuid: sku.groupGuid,\r\n skuName: sku.skuName,\r\n skuDescription: sku.skuDescription,\r\n skuImages: sku.skuImages,\r\n skuPictos: sku.skuPictos,\r\n skuIsNew: sku.skuIsNew,\r\n skuIsActive: sku.skuIsActive,\r\n skuIsDraft: sku.skuIsDraft,\r\n skuCreatedAt: sku.skuCreatedAt,\r\n skuModifiedAt: sku.skuModifiedAt,\r\n skuOrder: sku.skuOrder,\r\n skuCategoryCollection: sku.skuCategoryCollection,\r\n skuChannelCollection: sku.skuChannelCollection,\r\n skuStatusGuid: sku.skuStatusGuid,\r\n skuWorkSpace: sku.skuWorkSpace,\r\n skuMaskGuid: sku.skuMaskGuid,\r\n skuRelations: sku.skuRelations,\r\n skuCompleteness: sku.skuCompleteness,\r\n skuOwner: sku.skuOwner,\r\n skuTeam: sku.skuTeam,\r\n skuAttributes: sku.skuAttributes,\r\n skuDefaultImage: sku.skuDefaultImage,\r\n skuTotalStock: sku.skuTotalStock,\r\n skuMinPrice: sku.skuMinPrice,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('RefreshWithArgument', 'skuRefresh', sku.skuGuid);\r\n })\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n DELETE\r\n ======================================================================== */\r\n\r\n //delete an sku by skuGuid\r\n deleteSkuBySkuGuid(skuGuid: string, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n if (!archive) {\r\n return this.http.delete(this._settingsService.getSettings('apiUrl') + 'Skus/' + skuGuid, { headers }).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n } else {\r\n return this.http.delete(this._settingsService.getSettings('apiUrl') + 'SkusArchive/' + skuGuid, { headers }).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n }\r\n\r\n //delete an sku by skuListGuid\r\n deleteSkuBySkuListGuid(skuListGuid: any, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n if (!archive) {\r\n return this.http\r\n .request('delete', this._settingsService.getSettings('apiUrl') + 'Skus', {\r\n headers: headers,\r\n body: {\r\n listingSkuToDelete: skuListGuid,\r\n },\r\n })\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n } else {\r\n return this.http\r\n .request('delete', this._settingsService.getSettings('apiUrl') + 'SkusArchive', {\r\n headers: headers,\r\n body: {\r\n listingSkuToDelete: skuListGuid,\r\n },\r\n })\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n }\r\n\r\n deleteSkuGroup(listeGroup: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .request('delete', this._settingsService.getSettings('apiUrl') + 'Groups', {\r\n headers: headers,\r\n body: {\r\n listingGroupToDelete: listeGroup,\r\n },\r\n })\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n removeCategories(skuGuid: any, categoryGuid: any, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n if (!archive) {\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Skus/removeCategories',\r\n {\r\n skuGuid: skuGuid,\r\n categoryGuid: categoryGuid,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('RefreshWithArgument', 'skuRefresh', skuGuid);\r\n })\r\n );\r\n } else {\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'SkusArchive/removeCategories',\r\n {\r\n skuGuid: skuGuid,\r\n categoryGuid: categoryGuid,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('RefreshWithArgument', 'skuRefresh', skuGuid);\r\n })\r\n );\r\n }\r\n }\r\n\r\n //detach skus from group\r\n detachFromGroups(skus: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Groups/detachSkus',\r\n {\r\n skus: [skus],\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n detachAllSkuAndRecreateGroupByFieldSource(fieldSource: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Groups/group/all/initialize',\r\n {\r\n fieldSource: fieldSource,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n ungroupAllSku() {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(this._settingsService.getSettings('apiUrl') + 'Groups/ungroup/all', {}, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n ungroupByGroupGuid(groupGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(this._settingsService.getSettings('apiUrl') + 'Groups/ungroup/' + groupGuid, {}, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n ARCHIVE\r\n ======================================================================== */\r\n\r\n getVersions(skuGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'SkusArchive/versions?skuGuid=' + skuGuid, { headers });\r\n }\r\n\r\n addVersion(skuGuid: any, versionName: any, versionDescription: any, incrementType: any, archiveBase = false) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'SkusArchive/add/version',\r\n {\r\n skuGuid: skuGuid,\r\n versionName: versionName,\r\n versionDescription: versionDescription,\r\n incrementType: incrementType,\r\n archiveBase: archiveBase,\r\n },\r\n { headers }\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('RefreshWithArgument', 'skuVersionRefresh', '');\r\n })\r\n );\r\n }\r\n\r\n draftToProduct(skuGuid: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'SkusArchive/drafttoproduction',\r\n {\r\n skuGuid: skuGuid,\r\n },\r\n { headers }\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('RefreshWithArgument', 'skuVersionRefresh', skuGuid);\r\n })\r\n );\r\n }\r\n\r\n deleteSkuInDraft(skuGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.delete(this._settingsService.getSettings('apiUrl') + 'SkusArchive/' + skuGuid + '/inDraft', { headers }).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('RefreshWithArgument', 'skuVersionRefresh', skuGuid);\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { SettingsService } from '../settings.service';\r\nimport { Supplier } from './supplier';\r\nimport { websocketService } from '../websocket.service';\r\nimport { finalize } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SuppliersService {\r\n constructor(\r\n private http: HttpClient,\r\n private _settingsService: SettingsService,\r\n private _webSocket: websocketService\r\n ) { }\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getAllSuppliers() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get<Supplier[]>(this._settingsService.getSettings('apiUrl') + 'Suppliers?limit=10000&start=0', { headers });\r\n }\r\n\r\n getAllSupplierWithSearchLimitStartSortDirection(search: string, limit: string, start: string, sort: string, direction: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get<Supplier[]>(this._settingsService.getSettings('apiUrl') + 'Suppliers?search=' + search + '&limit=' + limit + '&start=' + start + '&sort=' + sort + '&direction=' + direction, {\r\n headers,\r\n });\r\n }\r\n\r\n getAllSupplierWithSearchLimitStart(search: string, limit: string, start: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get<Supplier[]>(this._settingsService.getSettings('apiUrl') + 'Suppliers?search=' + search + '&limit=' + limit + '&start=' + start, { headers });\r\n }\r\n\r\n getSupplierById(supplierGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get<Supplier>(this._settingsService.getSettings('apiUrl') + 'Suppliers/' + supplierGuid, { headers });\r\n }\r\n\r\n /* ========================================================================\r\n CREATE\r\n ======================================================================== */\r\n\r\n createSupplier(supplierObj: { supplierRef: any; supplierCompanyName: any; supplierContactName: any; supplierAddress: any; supplierAddress2: any; supplierAddress3: any; supplierPostalCode: any; supplierCity: any; supplierCountry: any; supplierPhone: any; supplierMobilePhone: any; supplierLogin: any; supplierPassword: any; supplierAttributes: any; }) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Suppliers',\r\n {\r\n supplierRef: supplierObj.supplierRef,\r\n supplierCompanyName: supplierObj.supplierCompanyName,\r\n supplierContactName: supplierObj.supplierContactName,\r\n supplierAddress: supplierObj.supplierAddress,\r\n supplierAddress2: supplierObj.supplierAddress2,\r\n supplierAddress3: supplierObj.supplierAddress3,\r\n supplierPostalCode: supplierObj.supplierPostalCode,\r\n supplierCity: supplierObj.supplierCity,\r\n supplierCountry: supplierObj.supplierCountry,\r\n supplierPhone: supplierObj.supplierPhone,\r\n supplierMobilePhone: supplierObj.supplierMobilePhone,\r\n supplierLogin: supplierObj.supplierLogin,\r\n supplierPassword: supplierObj.supplierPassword,\r\n supplierAttributes: supplierObj.supplierAttributes,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n changeSupplierRef(oldSupplierRef: any, newSupplierRef: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Suppliers/changesupplierref',\r\n {\r\n oldSupplierRef: oldSupplierRef,\r\n newSupplierRef: newSupplierRef,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n UPDATE\r\n ======================================================================== */\r\n\r\n updateSupplierField(supplierGuid: any, fieldName: any, fieldValue: any, attribute: any, language: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Suppliers/field',\r\n {\r\n supplierGuid: supplierGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n attribute: attribute,\r\n language: language,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n updateSupplier(supplierObj: { supplierGuid: any; supplierRef: any; supplierCompanyName: any; supplierContactName: any; supplierAddress: any; supplierAddress2: any; supplierAddress3: any; supplierPostalCode: any; supplierCity: any; supplierCountry: any; supplierPhone: any; supplierMobilePhone: any; supplierLogin: any; supplierPassword: any; supplierAttributes: any; }) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Suppliers',\r\n {\r\n supplierGuid: supplierObj.supplierGuid,\r\n supplierRef: supplierObj.supplierRef,\r\n supplierCompanyName: supplierObj.supplierCompanyName,\r\n supplierContactName: supplierObj.supplierContactName,\r\n supplierAddress: supplierObj.supplierAddress,\r\n supplierAddress2: supplierObj.supplierAddress2,\r\n supplierAddress3: supplierObj.supplierAddress3,\r\n supplierPostalCode: supplierObj.supplierPostalCode,\r\n supplierCity: supplierObj.supplierCity,\r\n supplierCountry: supplierObj.supplierCountry,\r\n supplierPhone: supplierObj.supplierPhone,\r\n supplierMobilePhone: supplierObj.supplierMobilePhone,\r\n supplierLogin: supplierObj.supplierLogin,\r\n supplierPassword: supplierObj.supplierPassword,\r\n supplierAttributes: supplierObj.supplierAttributes,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n DELETE\r\n ======================================================================== */\r\n\r\n deleteSupplierByListOfId(tabIdSupplier: any) {\r\n let bodyjson = JSON.stringify({\r\n listingSupplierGuidToDelete: tabIdSupplier,\r\n });\r\n const httpOptions = {\r\n headers: this._settingsService.getHeaders(),\r\n body: bodyjson,\r\n };\r\n return this.http.delete(this._settingsService.getSettings('apiUrl') + 'Suppliers', httpOptions).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nimport { SettingsService } from './settings.service';\r\nimport { AuthService } from './auth.service';\r\nimport { websocketService } from './websocket.service';\r\nimport { finalize } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AccountsService {\r\n constructor(\r\n private http: HttpClient,\r\n private _settingsService: SettingsService,\r\n private auth: AuthService,\r\n private _webSocket: websocketService\r\n ) { }\r\n\r\n // convert request contact on acccount and account contact\r\n convert(contactGuidArray: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'accounts/convert',\r\n {\r\n contactGuids: contactGuidArray,\r\n },\r\n options\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n MAIL\r\n ======================================================================== */\r\n\r\n sendMailContactSubscription(accountContactGuid: string, channelGuid: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Accounts/contacts/' + accountContactGuid + '/confirmationaccount',\r\n {\r\n channelGuid: channelGuid,\r\n },\r\n options\r\n );\r\n }\r\n\r\n sendMailForgotPassword(accountContactGuid: string, channelGuid: any, initPassword: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Accounts/contacts/' + accountContactGuid + '/forgotpassword',\r\n {\r\n channelGuid: channelGuid,\r\n initPassword: initPassword,\r\n },\r\n options\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getTranchesCustomers(start: string, limit: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Accounts?start=' + start + '&limit=' + limit + '&search=&accountCategoryGuid=&sort=AccountNumber&direction=ASC', { headers });\r\n }\r\n\r\n //get all the customers between start and limit from the api\r\n getTranchesCustomersWithSearch(limit: string, start: string, searchWord: string, channelGuid: string, direction: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') + 'Accounts?limit=' + limit + '&start=' + start + '&search=' + searchWord + '&channelGuid=' + channelGuid + '&direction=' + direction,\r\n { headers }\r\n );\r\n }\r\n\r\n //get all the customers between start and limit from the api\r\n getTranchesCustomersWithSearchAndSort(limit: string, start: string, searchWord: string, sortColumn: string, order: string, channelGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Accounts/?limit=' +\r\n limit +\r\n '&start=' +\r\n start +\r\n '&search=' +\r\n searchWord +\r\n '&sort=' +\r\n sortColumn +\r\n '&direction=' +\r\n order +\r\n '&channelGuid=' +\r\n channelGuid,\r\n { headers }\r\n );\r\n }\r\n\r\n //call the api to get the customer with the account number in parameters\r\n getCustomer(numeroCompte: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Accounts/' + numeroCompte, { headers });\r\n }\r\n\r\n //call the api to get all category of customer\r\n getCategory(AccountCategoryName: string, dir: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Accounts/categories?sort=' + AccountCategoryName + '&direction=' + dir, { headers });\r\n }\r\n\r\n getPriceList() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'priceslists', { headers });\r\n }\r\n\r\n //get all contacts\r\n getAllContacts(compteGuid: string, AccountContactProfile: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Accounts/contacts?accountGuid=' + compteGuid + '&sort=' + AccountContactProfile + '&direction=ASC', { headers });\r\n }\r\n\r\n //get contact\r\n getContact(contactGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Accounts/contacts/' + contactGuid, { headers });\r\n }\r\n\r\n //call the api to get all the shipping addresses for the current customer\r\n getShippingAddresses(customerAccount: string, ship: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Accounts/shippings?accountGuid=' + customerAccount + '&sort=' + ship + '&direction=ASC', { headers });\r\n }\r\n\r\n //get list of contacts for pins of map\r\n getAccountsMap(limit: string, start: string, searchWord: string, sortColumn: string, direction: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') + 'Accounts/map?limit=' + limit + '&start=' + start + '&search=' + searchWord + '&direction=' + direction + '&sort=' + sortColumn,\r\n { headers }\r\n );\r\n }\r\n\r\n getCoordinateFromAddressAccount(accountCity: any, accountCountry: any, accountPostalCode: any, accountStreet: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Accounts/map/coordinates?type=account&city=' +\r\n accountCity +\r\n '&country=' +\r\n accountCountry +\r\n '&postalcode=' +\r\n accountPostalCode +\r\n '&street=' +\r\n accountStreet,\r\n { headers }\r\n );\r\n //return this.http.get('https://nominatim.openstreetmap.org/search?format=geojson&limit=5&city='+ accountCity +\"&country=\"+ accountCountry +\"&postalcode=\"+ accountPostalCode +\"&street=\"+ accountStreet);\r\n }\r\n\r\n getCoordinateFromAddressString(address: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Accounts/map/coordinates?type=string&q=' + address, { headers });\r\n // return this.http.get('https://nominatim.openstreetmap.org/search?format=geojson&limit=5&q='+ address);\r\n }\r\n\r\n /* ========================================================================\r\n CREATE\r\n ======================================================================== */\r\n\r\n //call the api to add a customer\r\n addAccount(\r\n accountNumber: any,\r\n accountType: any,\r\n accountCategoryGuid: any,\r\n accountOwner: any,\r\n accountTeam: any,\r\n accountPricesListGuid: any,\r\n accountCompany: any,\r\n accountAddress: any,\r\n accountAddress2: any,\r\n accountAddress3: any,\r\n accountCity: any,\r\n accountPostalCode: any,\r\n accountCountry: any,\r\n accountState: any,\r\n accountPhone: any,\r\n accountFax: any,\r\n accountLanguage: any,\r\n accountAccountFTP: any,\r\n accountPasswordFTP: any,\r\n accountApeCode: any,\r\n accountSalerAccount: any,\r\n accountPaymentGuid: any,\r\n accountSiret: any,\r\n accountNTI: any\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Accounts',\r\n {\r\n accountNumber: accountNumber,\r\n accountType: accountType,\r\n accountCategoryGuid: accountCategoryGuid,\r\n accountIsActive: true,\r\n accountOwner: accountOwner,\r\n accountTeam: accountTeam,\r\n accountPricesListGuid: accountPricesListGuid,\r\n accountOnlyPriceCategory: false,\r\n accountCompany: accountCompany,\r\n accountDescription: '',\r\n accountAddress: accountAddress,\r\n accountAddress2: accountAddress2,\r\n accountAddress3: accountAddress3,\r\n accountCity: accountCity,\r\n accountPostalCode: accountPostalCode,\r\n accountCountry: accountCountry,\r\n accountState: accountState,\r\n accountPhone: accountPhone,\r\n accountFax: accountFax,\r\n accountLanguage: accountLanguage,\r\n accountAccountFTP: accountAccountFTP,\r\n accountPasswordFTP: accountPasswordFTP,\r\n accountMessage: '',\r\n accountDiscount: 0,\r\n accountApeCode: accountApeCode,\r\n accountSalerAccount: accountSalerAccount,\r\n accountPaymentGuid: accountPaymentGuid,\r\n accountTotalExclVat: 0,\r\n accountTotalInclVat: 0,\r\n accountSiret: accountSiret,\r\n accountNTI: accountNTI,\r\n accountAttributes: {},\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n //call the api to add a shipping address to a customer\r\n addShippingAddress(accountGuid: any, accountContactGuid: any, title: any, company: any, lastName: any, firstName: any, email: any, address: any, address2: any, address3: any, address4: any, postalCode: any, city: any, country: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Accounts/shippings',\r\n {\r\n accountGuid: accountGuid,\r\n accountContactGuid: accountContactGuid,\r\n shippingIsActive: true,\r\n shippingTitle: title,\r\n shippingAddress: address,\r\n shippingAddress2: address2,\r\n shippingAddress3: address3,\r\n shippingAddress4: address4,\r\n shippingCity: city,\r\n shippingCompany: company,\r\n shippingEmail: email,\r\n shippingFirstName: firstName,\r\n shippingLastName: lastName,\r\n shippingEntryPhone: '', //interphone\r\n shippingPhone2: '',\r\n shippingPostalCode: postalCode,\r\n shippingCountry: country,\r\n shippingDoorCode1: '',\r\n shippingDoorCode2: '',\r\n shippingState: '',\r\n shippingComments: '',\r\n shippingNextVisit: '',\r\n shippingLastVisit: '',\r\n shippingVisitReport: {},\r\n shippingFollowUp: '',\r\n shippingDeliveryMode: '',\r\n shippingIdPointRetrait: '',\r\n shippingTraderCompanyName: '',\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n //add contact\r\n addContact(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(this._settingsService.getSettings('apiUrl') + 'Accounts/contacts', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n UPDATE\r\n ======================================================================== */\r\n\r\n //call api to update a customer by field\r\n updateCustomerByField(customerAccount: any, fieldName: any, fieldValue: any, attribute: any, language: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Accounts/field',\r\n {\r\n accountGuid: customerAccount,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n attribute: attribute,\r\n language: language,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n //Change the customer category\r\n changeCustomerCategory(customerAccount: string, customerCategoryId: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(this._settingsService.getSettings('apiUrl') + 'Customers/' + customerAccount + '/categories/' + customerCategoryId, {}, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n //update the customer account\r\n updateCustomerAccount(accountGuid: any, fieldName: any, fieldValue: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Accounts/field/',\r\n {\r\n accountGuid: accountGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n //call the api to update the customer by passing him the object customer\r\n updateCustomer(customer: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Customers', customer, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n //call the api to update contact\r\n updateContact(\r\n accountsContactGuid: any,\r\n accountGuid: any,\r\n accountsContactProfile: any,\r\n accountsContactRole: any,\r\n accountsContactIsActive: any,\r\n accountsContactIsValidated: any,\r\n accountsContactLogin: any,\r\n accountsContactPassword: any,\r\n accountsContactFirstName: any,\r\n accountsContactLastName: any,\r\n accountsContactCivility: any,\r\n accountsContactTitle: any,\r\n accountsContactEmail: any,\r\n accountsContactPhone: any,\r\n accountsContactPhone2: any,\r\n accountsContactMobilePhone: any,\r\n accountsContactAvatar: any,\r\n accountsContactLanguage: any,\r\n accountsContactFunction: any,\r\n accountsContactTwoFactorAuthentification: any,\r\n accountsContactCodeTwoFactor: any,\r\n accountsContactCodeAttempts: any,\r\n accountsContactAttributes: any\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Accounts/contacts',\r\n {\r\n accountContactGuid: accountsContactGuid,\r\n accountGuid: accountGuid,\r\n accountContactProfile: accountsContactProfile,\r\n accountContactRole: accountsContactRole,\r\n accountContactIsActive: accountsContactIsActive,\r\n accountContactIsValidated: accountsContactIsValidated,\r\n accountContactLogin: accountsContactLogin,\r\n accountContactPassword: accountsContactPassword,\r\n accountContactFirstName: accountsContactFirstName,\r\n accountContactLastName: accountsContactLastName,\r\n accountContactCivility: accountsContactCivility,\r\n accountContactTitle: accountsContactTitle,\r\n accountContactEmail: accountsContactEmail,\r\n accountContactPhone: accountsContactPhone,\r\n accountContactPhone2: accountsContactPhone2,\r\n accountContactMobilePhone: accountsContactMobilePhone,\r\n accountContactAvatar: accountsContactAvatar,\r\n accountContactLanguage: accountsContactLanguage,\r\n accountContactFunction: accountsContactFunction,\r\n accountContactTwoFactorAuthentification: accountsContactTwoFactorAuthentification,\r\n accountContactCodeTwoFactor: accountsContactCodeTwoFactor,\r\n accountContactCodeAttempts: accountsContactCodeAttempts,\r\n accountContactAttributes: accountsContactAttributes,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n updateContactByField(accountContactGuid: any, fieldName: any, fieldValue: any, attribute: any, language: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Accounts/contacts/field',\r\n {\r\n accountContactGuid: accountContactGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n attribute: attribute,\r\n language: language,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n //call the api to update a shipping address\r\n updateShippingAddress(\r\n accountGuid: any,\r\n idShipping: any,\r\n contactGuid: any,\r\n titre: any,\r\n shippingVisitReport: any,\r\n companie: any,\r\n shippingState: any,\r\n shippingLastVisit: any,\r\n shippingIsActive: any,\r\n lastname: any,\r\n firstName: any,\r\n phone: any,\r\n shippingEntryPhone: any,\r\n email: any,\r\n shippingTraderCompanyName: any,\r\n shippingFollowUp: any,\r\n shippingIdPointRetrait: any,\r\n comments: any,\r\n shippingNextVisit: any,\r\n codePorte1: any,\r\n codePorte2: any,\r\n address: any,\r\n address2: any,\r\n address3: any,\r\n address4: any,\r\n postalCode: any,\r\n city: any,\r\n country: any,\r\n modeLivraison: any\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Accounts/shippings',\r\n {\r\n shippingGuid: idShipping,\r\n accountGuid: accountGuid,\r\n accountContactGuid: contactGuid,\r\n shippingIsActive: shippingIsActive,\r\n shippingTitle: titre,\r\n shippingCompany: companie,\r\n shippingLastName: lastname,\r\n shippingFirstName: firstName,\r\n shippingEmail: email,\r\n shippingAddress: address,\r\n shippingAddress2: address2,\r\n shippingAddress3: address3,\r\n shippingAddress4: address4,\r\n shippingDoorCode1: codePorte1,\r\n shippingDoorCode2: codePorte2,\r\n shippingEntryPhone: shippingEntryPhone,\r\n shippingPhone2: phone,\r\n shippingCity: city,\r\n shippingPostalCode: postalCode,\r\n shippingCountry: country,\r\n shippingState: shippingState,\r\n shippingComments: comments,\r\n shippingNextVisit: shippingNextVisit,\r\n shippingLastVisit: shippingLastVisit,\r\n shippingVisitReport: shippingVisitReport,\r\n shippingFollowUp: shippingFollowUp,\r\n shippingDeliveryMode: modeLivraison,\r\n shippingIdPointRetrait: shippingIdPointRetrait,\r\n shippingTraderCompanyName: shippingTraderCompanyName,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n updateShippingByField(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Accounts/shippings/field', object, options).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n // update all coordinates account with their address\r\n updateCoordinatesAccounts(arrayAccounts: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Accounts/map/coordinates',\r\n {\r\n listingAccountsToCoordinates: arrayAccounts,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n changePassword(accountContactGuid: string, newPassword: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Accounts/contacts/' + accountContactGuid + '/changepassword',\r\n {\r\n newPassword: newPassword,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n DELETE\r\n ======================================================================== */\r\n\r\n //call the api to delete the customer with the same id as the parameters\r\n deleteCustomer(id: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .request('delete', this._settingsService.getSettings('apiUrl') + 'Accounts/' + id, {\r\n headers: headers,\r\n })\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n //call the api to delete the customer with the same id as the parameters\r\n deleteCustomers(tabId: any) {\r\n let bodyjson = JSON.stringify({\r\n listingAccountsToDelete: tabId,\r\n });\r\n const httpOptions = {\r\n headers: this._settingsService.getHeaders(),\r\n body: bodyjson,\r\n };\r\n return this.http.delete(this._settingsService.getSettings('apiUrl') + 'Accounts', httpOptions).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n deleteContact(guid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.delete(this._settingsService.getSettings('apiUrl') + 'Accounts/contacts/' + guid, { headers }).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n deleteContacts(arrayContacts: any) {\r\n let bodyjson = JSON.stringify({\r\n listingAccountsContactsToDelete: arrayContacts,\r\n });\r\n const httpOptions = {\r\n headers: this._settingsService.getHeaders(),\r\n body: bodyjson,\r\n };\r\n return this.http.delete(this._settingsService.getSettings('apiUrl') + 'Accounts/contacts', httpOptions).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n //call the api to delete a shipping address for the current customer\r\n deleteShippingAddress(shippingGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.delete(this._settingsService.getSettings('apiUrl') + 'Accounts/shippings/' + shippingGuid, { headers }).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { SettingsService } from './settings.service';\r\nimport { AuthService } from './auth.service';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { websocketService } from './websocket.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class FrameworkagreementsService {\r\n private api = this._settingsService.getSettings('apiUrl');\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private _settingsService: SettingsService,\r\n private auth: AuthService,\r\n private _webSocket: websocketService\r\n ) { }\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getFrameworkAgreementsWithSearchAndSort(nbrElementPage: string, start: string, searchWord: string, columnSort: string, order: string, accountGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this.api + 'AccountsFrameworkAgreements?sort=' + columnSort + '&direction=' + order + '&start=' + start + '&limit=' + nbrElementPage + '&search=' + searchWord + '&accountGuid=' + accountGuid,\r\n { headers }\r\n );\r\n }\r\n\r\n getFrameworkAgreementsWithSearch(nbrElementPage: string, start: string, searchWord: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.get(this.api + 'AccountsFrameworkAgreements?start=' + start + '&limit=' + nbrElementPage + '&search=' + searchWord, { headers });\r\n }\r\n\r\n getAccountsOfFrameworkAgreement(guid: string, start: string, limit: string, search: string, sort: string, direction: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this.api + 'AccountsFrameworkAgreements/accounts?sort=' + sort + '&direction=' + direction + '&start=' + start + '&limit=' + limit + '&search=' + search + '&frameworkAgreementGuid=' + guid,\r\n { headers }\r\n );\r\n }\r\n\r\n getAccountsSkusPricesOfFrameworkAgreement(guid: string, start: string, limit: string, search: string, sort: string, direction: string, language: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this.api +\r\n 'AccountsFrameworkAgreements/skusprices?sort=' +\r\n sort +\r\n '&direction=' +\r\n direction +\r\n '&start=' +\r\n start +\r\n '&limit=' +\r\n limit +\r\n '&search=' +\r\n search +\r\n '&dealFrameworkAgreementGuid=' +\r\n guid +\r\n '&language=' +\r\n language,\r\n { headers }\r\n ); // '\r\n }\r\n\r\n getFrameworkAgreements(guid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this.api + 'AccountsFrameworkAgreements/' + guid, {\r\n headers,\r\n });\r\n }\r\n\r\n /* ========================================================================\r\n CREATE\r\n ======================================================================== */\r\n\r\n createFrameworkAgreement(internalRef: any, externalRef: any, dealName: any, startedAt: any, endedAt: any) {\r\n const headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this.api + 'AccountsFrameworkAgreements',\r\n {\r\n dealInternalRef: internalRef,\r\n dealExternalRef: externalRef,\r\n dealName: dealName,\r\n dealStartedAt: startedAt,\r\n dealEndedAt: endedAt,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n attach(dealFrameworkAgreementGuid: string, guidAcc: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this.api + 'AccountsFrameworkAgreements/' + dealFrameworkAgreementGuid + '/accounts/attach',\r\n {\r\n listingAccountsToAttach: guidAcc,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n createFrameworkAgreementSkusPrices(\r\n dealFrameworkAgreementGuid: any,\r\n sku: any,\r\n accountSkuPricePrice = 0,\r\n accountSkuPricePriceFromQuantity = 0,\r\n accountSkuPriceEcoContribution = 0,\r\n accountSkuPriceDateStart = null,\r\n accountSkuPriceDateEnd = null,\r\n accountSkuPriceSkuOptions = {},\r\n accountSkuPriceIsDealFrameworkAgreement = false\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this.api + 'AccountsFrameworkAgreements/skusprices',\r\n {\r\n dealFrameworkAgreementGuid: dealFrameworkAgreementGuid,\r\n accountSkuPriceIsDealFrameworkAgreement: accountSkuPriceIsDealFrameworkAgreement,\r\n sku: sku,\r\n accountSkuPricePrice: accountSkuPricePrice,\r\n accountSkuPricePriceFromQuantity: accountSkuPricePriceFromQuantity,\r\n accountSkuPriceDateStart: accountSkuPriceDateStart,\r\n accountSkuPriceDateEnd: accountSkuPriceDateEnd,\r\n accountSkuPriceSkuOptions: accountSkuPriceSkuOptions,\r\n accountSkuPriceEcoContribution: accountSkuPriceEcoContribution,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n UPDATE\r\n ======================================================================== */\r\n\r\n updateFrameworkAgreementByField(dealFrameworkAgreementGuid: any, fieldName: any, fieldValue: any, attribute: any, language: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this.api + 'AccountsFrameworkAgreements/field',\r\n {\r\n dealFrameworkAgreementGuid: dealFrameworkAgreementGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n attribute: attribute,\r\n language: language,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n updateDealCatalogCollection(dealFrameworkAgreementGuid: any, tabGuid: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this.api + 'AccountsFrameworkAgreements/field',\r\n {\r\n dealFrameworkAgreementGuid: dealFrameworkAgreementGuid,\r\n fieldName: 'dealCatalogCollection',\r\n fieldValue: tabGuid,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n updateFrameworkAgreementPriceWithAccountSkuPriceGuid(accountSkuPriceGuid: any, dealFrameworkAgreementGuid: any, accountSkuPricePrice: any, accountSkuPricePriceFromQuantity: any, accountSkuPriceEcoContribution: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this.api + 'AccountsFrameworkAgreements/skusprices/field/pricebyframeworkagreement',\r\n {\r\n skuGuid: accountSkuPriceGuid,\r\n dealFrameworkAgreementGuid: dealFrameworkAgreementGuid,\r\n accountSkuPricePrice: accountSkuPricePrice,\r\n accountSkuPricePriceFromQuantity: accountSkuPricePriceFromQuantity,\r\n accountSkuPriceEcoContribution: accountSkuPriceEcoContribution,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n updateFrameworkAgreementPrice(skuGuid: any, dealFrameworkAgreementGuid: any, accountSkuPricePrice: any, accountSkuPricePriceFromQuantity: any, accountSkuPriceEcoContribution: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this.api + 'AccountsFrameworkAgreements/skusprices',\r\n {\r\n accountGuid: '',\r\n dealFrameworkAgreementGuid: dealFrameworkAgreementGuid,\r\n accountSkuPriceIsDealFrameworkAgreement: false,\r\n skuGuid: skuGuid,\r\n accountSkuPricePrice: accountSkuPricePrice,\r\n accountSkuPricePriceFromQuantity: accountSkuPricePriceFromQuantity,\r\n accountSkuPriceDateStart: '',\r\n accountSkuPriceDateEnd: '',\r\n accountSkuPriceSkuOptions: {},\r\n accountSkuPriceEcoContribution: accountSkuPriceEcoContribution,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n updateOrCreateFrameworkAgreementSkusPrices(dealFrameworkAgreementGuid: any, listSkuPrices: any[]) {\r\n // Créer une bonne liste avec les info qu'il faut\r\n listSkuPrices = listSkuPrices.map((sku: { skuGuid: any; skuPrice: any; quantity: any; accountSkuPriceEcoContribution: any; }) => {\r\n return {\r\n accountGuid: '',\r\n dealFrameworkAgreementGuid: dealFrameworkAgreementGuid,\r\n accountSkuPriceIsDealFrameworkAgreement: null,\r\n skuGuid: sku.skuGuid,\r\n accountSkuPricePrice: sku.skuPrice,\r\n accountSkuPricePriceFromQuantity: sku.quantity ? sku.quantity : 1,\r\n accountSkuPriceDateStart: '',\r\n accountSkuPriceDateEnd: '',\r\n accountSkuPriceSkuOptions: {},\r\n accountSkuPriceEcoContribution: sku.accountSkuPriceEcoContribution ? sku.accountSkuPriceEcoContribution : 0,\r\n };\r\n });\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this.api + 'AccountsFrameworkAgreements/skuspriceslist',\r\n {\r\n listingAccountSkuPrices: listSkuPrices,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n DELETE\r\n ======================================================================== */\r\n\r\n deleteFrameworkAgreements(listGuid: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .request('delete', this.api + 'AccountsFrameworkAgreements', {\r\n headers: headers,\r\n body: {\r\n listingAccountsFrameworkAgreementsToDelete: listGuid,\r\n },\r\n })\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n deleteFrameworkAgreementsSkusPrices(dealFrameworkAgreementGuid: string, skuGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.request('delete', this.api + 'AccountsFrameworkAgreements/skusprices/frameworkagreement/' + dealFrameworkAgreementGuid + '/skus/' + skuGuid, { headers: headers }).pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n\r\n detach(dealFrameworkAgreementGuid: string, guidAcc: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this.api + 'AccountsFrameworkAgreements/' + dealFrameworkAgreementGuid + '/accounts/detach',\r\n {\r\n listingAccountsToDetach: guidAcc,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { SettingsService } from './settings.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TranslateService {\r\n constructor(\r\n private http: HttpClient,\r\n private _settingsService: SettingsService,\r\n private router: Router\r\n ) { }\r\n\r\n getTranslation(translationObject: { languageOrigin: any; languageDestination: any; texts: any; }) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'translations',\r\n {\r\n originLanguage: translationObject.languageOrigin,\r\n destinationLanguage: translationObject.languageDestination,\r\n values: translationObject.texts,\r\n },\r\n options\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AuthService } from './auth.service';\r\nimport { CompanyService } from './companies/company.service';\r\nimport { LoginService } from './login/login.service';\r\nimport { SettingsService } from './settings.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TranslatorService {\r\n private defaultLanguage: string = 'en';\r\n\r\n private availablelangs = [\r\n { code: 'en', text: 'English' },\r\n { code: 'es_AR', text: 'Spanish' },\r\n { code: 'fr', text: 'Français' },\r\n ];\r\n\r\n constructor(\r\n public translate: TranslateService,\r\n public _company: CompanyService,\r\n public auth: AuthService,\r\n private _settings: SettingsService,\r\n ) {\r\n if (localStorage.getItem('language_' + this._settings.getAlias())) {\r\n this.setDefaultLang();\r\n const langage = localStorage.getItem(\r\n 'language_' + this._settings.getAlias(),\r\n );\r\n if (langage) {\r\n this.useLanguage(langage);\r\n }\r\n } else {\r\n let lang = window.navigator.language.split('-')[0];\r\n if (lang == 'fr' || lang == 'en' || lang == 'es') {\r\n this.defaultLanguage = lang;\r\n this.translate.setDefaultLang(lang);\r\n } else {\r\n this.translate.setDefaultLang('en');\r\n }\r\n this.useLanguage(this.defaultLanguage);\r\n }\r\n //this.useLanguage();\r\n }\r\n\r\n setDefaultLang() {\r\n this.translate.setDefaultLang(this.defaultLanguage);\r\n }\r\n\r\n useLanguage(lang: string) {\r\n this.translate.use(\r\n lang || this.translate.getDefaultLang() || this.defaultLanguage,\r\n );\r\n }\r\n\r\n getAvailableLanguages() {\r\n return this.availablelangs;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { SettingsService } from '../settings.service';\r\nimport { AttributesGroup, AttributeObject } from './attribute';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AttributesService {\r\n constructor(\r\n private readonly http: HttpClient,\r\n private readonly _settingsService: SettingsService,\r\n ) {}\r\n\r\n // ******************** Start Attributes function******************** //\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getAttributesWithSearch(search: string, attributesGroupType: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get<AttributeObject[]>(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Attributes?attributesGroupType=' +\r\n attributesGroupType +\r\n '&search=' +\r\n search,\r\n { headers },\r\n );\r\n }\r\n\r\n //Return the list of all attributes from an attributes group guid\r\n getAttributesByGroupsType(\r\n attributesGroupGuid: string,\r\n attributesGroupType: string,\r\n attributesGroupIsSystem: boolean = false,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get<AttributeObject[]>(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Attributes?attributesGroupGuid=' +\r\n attributesGroupGuid +\r\n '&attributesGroupType=' +\r\n attributesGroupType +\r\n '&attributesGroupIsSystem=' +\r\n attributesGroupIsSystem,\r\n { headers },\r\n );\r\n }\r\n\r\n getAttributesByType(attributeType: string, attributeGroup: string = '') {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get<AttributeObject[]>(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Attributes/byAttributeTypeAndAttributeGroupType?attributesType=' +\r\n attributeType +\r\n '&attributesGroupType=' +\r\n attributeGroup +\r\n '&language=fr',\r\n { headers },\r\n );\r\n }\r\n\r\n getAttributeSystem(attributesGroupGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get<AttributeObject[]>(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Attributes/system/group?attributesGroupGuid=' +\r\n attributesGroupGuid,\r\n { headers },\r\n );\r\n }\r\n\r\n sortValues(values: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Attributes/options/order',\r\n {\r\n attributeOptions: values,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n //Return every attribute\r\n getAllAttributes() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get<AttributeObject>(\r\n this._settingsService.getSettings('apiUrl') + 'Attributes',\r\n { headers },\r\n );\r\n }\r\n\r\n //Return one attribute by attributeGuid\r\n getAttribute(attributeGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get<AttributeObject>(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Attributes/' +\r\n attributeGuid,\r\n { headers },\r\n );\r\n }\r\n\r\n //Return the list of all attributes in the trash bin\r\n getAttributesTrashBin(type: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get<AttributeObject[]>(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Attributes?attributesGroupType=' +\r\n type +\r\n '&trashbin=true',\r\n { headers },\r\n );\r\n }\r\n\r\n //Return a list with all attributes groups by type passed in parameters\r\n getAttributesGroupsByType(type: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get<AttributesGroup[]>(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Attributes/groups?attributesGroupType=' +\r\n type,\r\n { headers },\r\n );\r\n }\r\n\r\n //Return a list of attributes groups by attributes group guid passed in parameters\r\n getAttributesGroupsByAttributeGroupGuid(attributeGroupGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get<AttributesGroup[]>(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Attributes/groups/' +\r\n attributeGroupGuid,\r\n { headers },\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n CREATE\r\n ======================================================================== */\r\n\r\n //Creation of an attributes\r\n createAttribute(\r\n attribute: {\r\n attributeName: any;\r\n attributesGroupGuid: any;\r\n attributeType: any;\r\n attributeIsActive: any;\r\n attributeIsFront: any;\r\n attributeIsTrashbin: any;\r\n attributeIsReadonly: any;\r\n attributeIsMandatory: any;\r\n attributeIsUnique: any;\r\n attributeIsFilter: any;\r\n attributeIsTranslated: any;\r\n attributeIsGrouped: any;\r\n attributeOrder: any;\r\n attributeNote: any;\r\n attributeInitialValue: any;\r\n attributeMinValue: any;\r\n attributeMaxValue: any;\r\n attributeMaxNumberDigits: any;\r\n attributeDecimalPoints: any;\r\n attributeMaxCharacters: any;\r\n attributeOptions: any;\r\n },\r\n isDec: any,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Attributes',\r\n {\r\n attributeName: attribute.attributeName,\r\n attributesGroupGuid: attribute.attributesGroupGuid,\r\n attributeType: attribute.attributeType,\r\n attributeIsActive: attribute.attributeIsActive,\r\n attributeIsFront: attribute.attributeIsFront,\r\n attributeIsTrashbin: attribute.attributeIsTrashbin,\r\n attributeIsReadonly: attribute.attributeIsReadonly,\r\n attributeIsMandatory: attribute.attributeIsMandatory,\r\n attributeIsUnique: attribute.attributeIsUnique,\r\n attributeIsFilter: attribute.attributeIsFilter,\r\n attributeIsTranslated: attribute.attributeIsTranslated,\r\n attributeIsGrouped: attribute.attributeIsGrouped,\r\n attributeOrder: attribute.attributeOrder,\r\n attributeNote: attribute.attributeNote,\r\n attributeInitialValue: attribute.attributeInitialValue,\r\n attributeMinValue: attribute.attributeMinValue,\r\n attributeMaxValue: attribute.attributeMaxValue,\r\n attributeMaxNumberDigits: attribute.attributeMaxNumberDigits,\r\n attributeDecimalPoints: attribute.attributeDecimalPoints,\r\n attributeMaxCharacters: attribute.attributeMaxCharacters,\r\n attributeOptions: attribute.attributeOptions,\r\n attributeIsModelVariant: isDec,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n //Dupplicate an attribute\r\n dupplicateAttribut(attributeGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Attributes/' +\r\n attributeGuid +\r\n '/duplicate',\r\n options,\r\n );\r\n }\r\n\r\n //Create an attributes group with the parameters\r\n createAttributesGroup(\r\n attributesGroupName: string,\r\n attributesGroupType: string,\r\n attributesGroupOrder: number,\r\n attributesGroupIsTranslate: boolean,\r\n attributesGroupNote: string,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Attributes/groups',\r\n {\r\n attributesGroupName: attributesGroupName,\r\n attributesGroupType: attributesGroupType,\r\n attributesGroupOrder: attributesGroupOrder,\r\n attributesGroupIsTranslate: attributesGroupIsTranslate,\r\n attributesGroupNote: attributesGroupNote,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n UPDATE\r\n ======================================================================== */\r\n\r\n //Update of an attributes\r\n updateAttribute(attributeModified: {\r\n attributeGuid: any;\r\n attributeName: any;\r\n attributesGroupGuid: any;\r\n attributeType: any;\r\n attributeIsActive: any;\r\n attributeIsFront: any;\r\n attributeIsTrashbin: any;\r\n attributeIsReadonly: any;\r\n attributeIsFilter: any;\r\n attributeIsMandatory: any;\r\n attributeIsUnique: any;\r\n attributeIsTranslated: any;\r\n attributeIsGrouped: any;\r\n attributeOrder: any;\r\n attributeNote: any;\r\n attributeInitialValue: any;\r\n attributeMinValue: any;\r\n attributeMaxValue: any;\r\n attributeMaxNumberDigits: any;\r\n attributeDecimalPoints: any;\r\n attributeMaxCharacters: any;\r\n attributeOptions: any;\r\n attributeIsModelVariant: any;\r\n }) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(\r\n this._settingsService.getSettings('apiUrl') + 'Attributes',\r\n {\r\n attributeGuid: attributeModified.attributeGuid,\r\n attributeName: attributeModified.attributeName,\r\n attributesGroupGuid: attributeModified.attributesGroupGuid,\r\n attributeType: attributeModified.attributeType,\r\n attributeIsActive: attributeModified.attributeIsActive,\r\n attributeIsFront: attributeModified.attributeIsFront,\r\n attributeIsTrashbin: attributeModified.attributeIsTrashbin,\r\n attributeIsReadonly: attributeModified.attributeIsReadonly,\r\n attributeIsFilter: attributeModified.attributeIsFilter,\r\n attributeIsMandatory: attributeModified.attributeIsMandatory,\r\n attributeIsUnique: attributeModified.attributeIsUnique,\r\n attributeIsTranslated: attributeModified.attributeIsTranslated,\r\n attributeIsGrouped: attributeModified.attributeIsGrouped,\r\n attributeOrder: attributeModified.attributeOrder,\r\n attributeNote: attributeModified.attributeNote,\r\n attributeInitialValue: attributeModified.attributeInitialValue,\r\n attributeMinValue: attributeModified.attributeMinValue,\r\n attributeMaxValue: attributeModified.attributeMaxValue,\r\n attributeMaxNumberDigits: attributeModified.attributeMaxNumberDigits,\r\n attributeDecimalPoints: attributeModified.attributeDecimalPoints,\r\n attributeMaxCharacters: attributeModified.attributeMaxCharacters,\r\n attributeOptions: attributeModified.attributeOptions,\r\n attributeIsModelVariant: attributeModified.attributeIsModelVariant,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n //Change order of an attribute\r\n changeOrderAttribute(attributeGuid: string, attributeOrder: number) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Attributes/ordershow',\r\n {\r\n attributeGuid: attributeGuid,\r\n attributeOrder: attributeOrder,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n //Update the attributes group with the parameters\r\n modifyAttributesGroup(\r\n attributesGroupGuid: string,\r\n attributesGroupName: string,\r\n attributesGroupType: string,\r\n attributesGroupOrder: number,\r\n attributesGroupIsTranslate: boolean,\r\n attributesGroupNote: string,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(\r\n this._settingsService.getSettings('apiUrl') + 'Attributes/groups',\r\n {\r\n attributesGroupGuid: attributesGroupGuid,\r\n attributesGroupName: attributesGroupName,\r\n attributesGroupType: attributesGroupType,\r\n attributesGroupOrder: attributesGroupOrder,\r\n attributesGroupIsTranslate: attributesGroupIsTranslate,\r\n attributesGroupNote: attributesGroupNote,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n //Change the order of the attributes group\r\n moveAttributesGroupOrder(\r\n attributesGroupGuid: string,\r\n attributesGroupOrder: number,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Attributes/groups/ordershow',\r\n {\r\n attributesGroupGuid: attributesGroupGuid,\r\n attributesGroupOrder: attributesGroupOrder,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n //Move an attribute into the trashbin\r\n moveAnAttributeToTrashbin(attributeGroupGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Attributes/' +\r\n attributeGroupGuid +\r\n '/movetotrashbin/true',\r\n {},\r\n options,\r\n );\r\n }\r\n\r\n //Move an attribute out of the trashbin\r\n moveAnAttributeOufOfTrashbin(attributeGroupGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Attributes/' +\r\n attributeGroupGuid +\r\n '/movetotrashbin/false',\r\n {},\r\n options,\r\n );\r\n }\r\n\r\n //Move a list of attributes into the trashbin\r\n moveAnListOfAttributesIntoTrashBin(listingAttributesToMoving: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Attributes/movetotrashbin',\r\n {\r\n listingAttributesToMoving: listingAttributesToMoving,\r\n value: true,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n //Move a list of attributes into the trashbin\r\n moveAnListOfAttributesOutOfTrashBin(listingAttributesToMoving: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Attributes/movetotrashbin',\r\n {\r\n listingAttributesToMoving: listingAttributesToMoving,\r\n value: false,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n updateAttributeByField(\r\n attributeGuid: string,\r\n fieldName: string,\r\n fieldValue: any,\r\n language?: string,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(\r\n this._settingsService.getSettings('apiUrl') + 'Attributes/field',\r\n {\r\n attributeGuid: attributeGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n language: language,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n updateOrder(attributeGuid: string, fieldName: string, fieldValue: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(\r\n this._settingsService.getSettings('apiUrl') + 'Attributes/options/order',\r\n {\r\n attributeGuid: attributeGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n //Update an attributes group by fieldName and attributeGuid\r\n updateAttributeGroupByField(\r\n attributeGuid: string,\r\n fieldName: string,\r\n fieldValue: any,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Attributes/groups',\r\n {\r\n attributeGuid: attributeGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n DELETE\r\n ======================================================================== */\r\n\r\n //Delete an attribute by attributeGuid\r\n deleteAttribute(attributeGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.delete(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Attributes/' +\r\n attributeGuid,\r\n { headers },\r\n );\r\n }\r\n\r\n //Delete the attributes group which has the same group guid as the parameters\r\n deleteAttributesGroupByGroupGuid(attributesGroupGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.request(\r\n 'delete',\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Attributes/groups/' +\r\n attributesGroupGuid,\r\n {\r\n headers: headers,\r\n },\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { SettingsService } from '../settings.service';\r\nimport { Mask } from './masks';\r\nimport { AttributeObject } from '../attribute/attribute';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MasksService {\r\n constructor(\r\n private http: HttpClient,\r\n private _settings: SettingsService\r\n ) { }\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n withoutMaskByMaskGuidAndAttributesGroupGuid(maskGuid: string, attributesGroupGuid: string, maskAttributeIsVariant = false) {\r\n let headers = this._settings.getHeaders();\r\n return this.http.get<AttributeObject[]>(\r\n this._settings.getSettings('apiUrl') + 'Attributes/withoutmask?attributesGroupGuid=' + attributesGroupGuid + '&maskGuid=' + maskGuid + '&maskAttributeIsVariant=' + maskAttributeIsVariant,\r\n { headers }\r\n );\r\n }\r\n withoutMaskByGroupGuid(attributesGroupGuid: string) {\r\n let headers = this._settings.getHeaders();\r\n return this.http.get<AttributeObject[]>(this._settings.getSettings('apiUrl') + 'Attributes/withoutmask?attributesGroupGuid=' + attributesGroupGuid, { headers });\r\n }\r\n\r\n withoutMask(attributesGroupType: string) {\r\n let headers = this._settings.getHeaders();\r\n return this.http.get<AttributeObject[]>(this._settings.getSettings('apiUrl') + 'Attributes/withoutmask?attributesGroupType=' + attributesGroupType, { headers });\r\n }\r\n\r\n getAttributesByMaskGuid(maskGuid: string, maskAttributeIsVariant = false) {\r\n let headers = this._settings.getHeaders();\r\n return this.http.get<AttributeObject[]>(this._settings.getSettings('apiUrl') + 'Attributes?maskGuid=' + maskGuid + '&maskAttributeIsVariant=' + maskAttributeIsVariant, { headers });\r\n }\r\n\r\n getAttributesInThisMaskOrderByGroup(maskGuid: string) {\r\n let headers = this._settings.getHeaders();\r\n return this.http.get<AttributeObject[]>(this._settings.getSettings('apiUrl') + 'Attributes/orderByGroup?maskGuid=' + maskGuid, { headers });\r\n }\r\n\r\n getAttributesByMaskWithAttributeGroupTypeAndWithoutAttributesGroupGuid(maskGuid: string, attributesGroupType: string) {\r\n let headers = this._settings.getHeaders();\r\n return this.http.get<AttributeObject[]>(this._settings.getSettings('apiUrl') + 'Attributes?maskGuid=' + maskGuid + '?attributesGroupType=' + attributesGroupType, { headers });\r\n }\r\n\r\n getAttributesByMaskWithAttributeGroupTypeAndAttributesGroupGuid(maskGuid: string, attributesGroupType: string, attributesGroupGuid: string) {\r\n let headers = this._settings.getHeaders();\r\n return this.http.get<AttributeObject[]>(\r\n this._settings.getSettings('apiUrl') + 'Attributes?maskGuid=' + maskGuid + '?attributesGroupType=' + attributesGroupType + '?attributesGroupGuid=' + attributesGroupGuid,\r\n { headers }\r\n );\r\n }\r\n\r\n getAllMasks() {\r\n let headers = this._settings.getHeaders();\r\n return this.http.get<Mask[]>(this._settings.getSettings('apiUrl') + 'Attributes/masks', { headers });\r\n }\r\n\r\n getOneMask(maskGuid: string) {\r\n let headers = this._settings.getHeaders();\r\n return this.http.get<Mask[]>(this._settings.getSettings('apiUrl') + 'Attributes/masks/' + maskGuid, { headers });\r\n }\r\n\r\n /* ========================================================================\r\n CREATE\r\n ======================================================================== */\r\n\r\n createMask(maskName: any, maskNote: any, maskIsTranslate: any) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settings.getSettings('apiUrl') + 'Attributes/masks',\r\n {\r\n maskName: maskName,\r\n maskNote: maskNote,\r\n maskIsTranslate: maskIsTranslate,\r\n },\r\n options\r\n );\r\n }\r\n\r\n addToMask(maskGuid: any, attributes: any, maskAttributeIsVariant = false) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settings.getSettings('apiUrl') + 'Attributes/addtomask',\r\n {\r\n maskGuid: maskGuid,\r\n attributes: attributes,\r\n maskAttributeIsVariant: maskAttributeIsVariant,\r\n },\r\n options\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n UPDATE\r\n ======================================================================== */\r\n\r\n updateMask(maskGuid: any, maskNameObject: any, maskNote: any, maskIsTranslate: any) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(\r\n this._settings.getSettings('apiUrl') + 'Attributes/masks',\r\n {\r\n maskGuid: maskGuid,\r\n maskName: maskNameObject,\r\n maskNote: maskNote,\r\n maskIsTranslate: maskIsTranslate,\r\n },\r\n options\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n DELETE\r\n ======================================================================== */\r\n\r\n deleteOneMask(maskGuid: string) {\r\n let headers = this._settings.getHeaders();\r\n return this.http.delete(this._settings.getSettings('apiUrl') + 'Attributes/masks/' + maskGuid, { headers });\r\n }\r\n\r\n removeToMask(maskGuid: any, attributes: any, maskAttributeIsVariant = false) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settings.getSettings('apiUrl') + 'Attributes/removetomask',\r\n {\r\n maskGuid: maskGuid,\r\n attributes: attributes,\r\n maskAttributeIsVariant: maskAttributeIsVariant,\r\n },\r\n options\r\n );\r\n }\r\n\r\n updateToMask(maskGuid: any, attributeGuid: any, field: any, fieldValue: any, maskAttributeIsVariant: any) {\r\n let headers = this._settings.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(\r\n this._settings.getSettings('apiUrl') + 'Attributes/updatetomask',\r\n {\r\n maskGuid: maskGuid,\r\n attributeGuid: attributeGuid,\r\n field: field,\r\n fieldValue: fieldValue,\r\n maskAttributeIsVariant: maskAttributeIsVariant,\r\n },\r\n options\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpHeaders, HttpClient } from '@angular/common/http';\r\nimport { SettingsService } from './settings.service';\r\nimport { throws } from 'assert';\r\nimport { AuthService } from './auth.service';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { websocketService } from './websocket.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class DamAssetsService {\r\n constructor(\r\n private auth: AuthService,\r\n private _settingsService: SettingsService,\r\n private http: HttpClient,\r\n private _webSocket: websocketService,\r\n ) {}\r\n\r\n public folderTemplatesGuid = '33333333-3333-3333-3333-333333333333';\r\n public folderDocumentsGuid = '11111111-1111-1111-1111-111111111111';\r\n public folderExcelGuid = '22222222-2222-2222-2222-222222222222';\r\n public folderProductSheetsGuid = '44444444-4444-4444-4444-444444444444';\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getFoldersWithParent(\r\n parent: string,\r\n showEmptyFolders = true,\r\n folderType = 'DAM',\r\n trashbinMode = 'none',\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/folders?parent=' +\r\n parent +\r\n '&showEmptyFolders=' +\r\n showEmptyFolders +\r\n '&foldertype=' +\r\n folderType +\r\n '&trashbinMode=' +\r\n trashbinMode,\r\n { headers },\r\n );\r\n }\r\n\r\n getMissingAssets(start: string, limit: string, search: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/assets/missing?start=' +\r\n start +\r\n '&limit=' +\r\n limit +\r\n '&search=' +\r\n search,\r\n { headers },\r\n );\r\n }\r\n\r\n getOrphansAssets(start: string, limit: string, search: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/assets/orphan?start=' +\r\n start +\r\n '&limit=' +\r\n limit +\r\n '&search=' +\r\n search,\r\n { headers },\r\n );\r\n }\r\n\r\n getInfoFolder(folderGuid: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/folders/' + folderGuid,\r\n { headers },\r\n );\r\n }\r\n\r\n getFoldersOnLevelOne(\r\n showEmptyFolders = true,\r\n folderType = 'DAM',\r\n trashbinMode = 'none',\r\n ) {\r\n if (folderType == 'TEMPLATES') {\r\n let parent = this.folderTemplatesGuid;\r\n return this.getFoldersWithParent(\r\n parent,\r\n showEmptyFolders,\r\n folderType,\r\n trashbinMode,\r\n );\r\n } else if (folderType == 'PROJECTS') {\r\n let parent = this.folderDocumentsGuid;\r\n return this.getFoldersWithParent(\r\n parent,\r\n showEmptyFolders,\r\n folderType,\r\n trashbinMode,\r\n );\r\n } else if (folderType == 'EXCEL') {\r\n let parent = this.folderExcelGuid;\r\n return this.getFoldersWithParent(\r\n parent,\r\n showEmptyFolders,\r\n folderType,\r\n trashbinMode,\r\n );\r\n } else if (folderType == 'PRODUCTSHEETS') {\r\n let parent = this.folderProductSheetsGuid;\r\n return this.getFoldersWithParent(\r\n parent,\r\n showEmptyFolders,\r\n folderType,\r\n trashbinMode,\r\n );\r\n } else {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/folders?parent=&showEmptyFolders=' +\r\n showEmptyFolders +\r\n '&foldertype=' +\r\n folderType +\r\n '&trashbinMode=' +\r\n trashbinMode,\r\n { headers },\r\n );\r\n }\r\n }\r\n\r\n getAssetByGuids(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/assets/array',\r\n object,\r\n { headers },\r\n );\r\n }\r\n\r\n getAssetByUrlOriginal(assetsUrlOriginal: any = []) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'dam/assets/array/originalurl',\r\n {\r\n assetsUrlOriginal: assetsUrlOriginal,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n getAssetBySkus(start: any, limit: any, skuGuids: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/assets/skus?start=' +\r\n start +\r\n '&limit=' +\r\n limit,\r\n {\r\n skuGuids: skuGuids,\r\n },\r\n { headers },\r\n );\r\n }\r\n\r\n getAssetByGuid(assetguid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/assets/' + assetguid,\r\n { headers },\r\n );\r\n }\r\n\r\n getAssetWhereUsedByGuid(assetguid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/assets/used/' +\r\n assetguid,\r\n { headers },\r\n );\r\n }\r\n\r\n getStatus(type: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') + 'Status?type=' + type,\r\n { headers },\r\n );\r\n }\r\n\r\n getAssetsByFolderGuid(\r\n folderGuid: string,\r\n start: string,\r\n limit: string,\r\n sort = 'assetCreatedAt',\r\n direction = 'DESC',\r\n folderType = 'DAM',\r\n assetType = '',\r\n trashbinMode = 'none',\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n const url =\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/assets?folder=' +\r\n folderGuid +\r\n '&sort=' +\r\n sort +\r\n '&direction=' +\r\n direction +\r\n '&start=' +\r\n start +\r\n '&limit=' +\r\n limit +\r\n '&folderType=' +\r\n folderType +\r\n '&assetType=' +\r\n assetType +\r\n '&trashbinMode=' +\r\n trashbinMode;\r\n return this.http.get(url, { headers });\r\n }\r\n\r\n getAssetsByOnLevelOne(\r\n start: any,\r\n limit: any,\r\n search: any,\r\n status = '',\r\n sort = 'assetCreatedAt',\r\n direction = 'DESC',\r\n folderType = 'DAM',\r\n assetType = '',\r\n trashbinMode = 'none',\r\n ) {\r\n let mediaType = assetType;\r\n\r\n if (assetType === 'imagemultilang' || assetType === 'imageMultiLang') {\r\n mediaType = 'image';\r\n }\r\n\r\n if (assetType === 'filemultilang' || assetType === 'fileMultiLang') {\r\n mediaType = 'file';\r\n }\r\n\r\n if (folderType == 'TEMPLATES') {\r\n let parent = this.folderTemplatesGuid;\r\n return this.getAssetsByFolderGuid(\r\n parent,\r\n start,\r\n limit,\r\n sort,\r\n direction,\r\n folderType,\r\n mediaType,\r\n trashbinMode,\r\n );\r\n } else if (folderType == 'PROJECTS') {\r\n let parent = this.folderDocumentsGuid;\r\n return this.getAssetsByFolderGuid(\r\n parent,\r\n start,\r\n limit,\r\n sort,\r\n direction,\r\n folderType,\r\n mediaType,\r\n trashbinMode,\r\n );\r\n } else if (folderType == 'EXCEL') {\r\n let parent = this.folderExcelGuid;\r\n return this.getAssetsByFolderGuid(\r\n parent,\r\n start,\r\n limit,\r\n sort,\r\n direction,\r\n folderType,\r\n mediaType,\r\n trashbinMode,\r\n );\r\n } else if (folderType == 'PRODUCTSHEETS') {\r\n let parent = this.folderProductSheetsGuid;\r\n return this.getAssetsByFolderGuid(\r\n parent,\r\n start,\r\n limit,\r\n sort,\r\n direction,\r\n folderType,\r\n mediaType,\r\n trashbinMode,\r\n );\r\n } else {\r\n return this.getAssetsByFolderGuid(\r\n '',\r\n start,\r\n limit,\r\n sort,\r\n direction,\r\n folderType,\r\n mediaType,\r\n trashbinMode,\r\n );\r\n }\r\n }\r\n\r\n getOutOfTrash(listingAssetToMoveOutOfTrash: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'dam/assets/movetotrashbin/false',\r\n {\r\n listingAssetToMoveTrashbin: listingAssetToMoveOutOfTrash,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n getAssetFromTrash(start: any, limit: any, search: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'dam/assets/trashbin?start=' +\r\n start +\r\n '&limit=' +\r\n limit +\r\n '&search=' +\r\n search,\r\n { headers },\r\n );\r\n }\r\n\r\n getAssetFromArchive(start: any, limit: any, search: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'dam/assets/trashbin/archive?start=' +\r\n start +\r\n '&limit=' +\r\n limit +\r\n '&search=' +\r\n search,\r\n { headers },\r\n );\r\n }\r\n\r\n downloadAssetFromAssetGuidArray(listingAssetToDownload: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/assets/downloads',\r\n {\r\n listingAssetToDownload: listingAssetToDownload,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n getTemplates(\r\n folderGuid: string = this.folderTemplatesGuid,\r\n start: number = 0,\r\n limit: number = 10000,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'dam/assets?folder=' +\r\n folderGuid +\r\n '&sort=assetName&direction=ASC&start=' +\r\n start +\r\n '&limit=' +\r\n limit +\r\n '&folderType=TEMPLATES',\r\n { headers },\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n CREATE\r\n ======================================================================== */\r\n\r\n sharedAssets(tabGuidAsset: any, tabGuidTeams: any, sendNotification = false) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/assets/shared',\r\n {\r\n listingTeams: tabGuidTeams,\r\n listingAssetsToTeam: tabGuidAsset,\r\n sendNotification: sendNotification,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n assignTeamsToFolder(\r\n folderGuid: any,\r\n tabGuidTeams: any,\r\n subfolderImpact = true,\r\n sendNotification = false,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/folders/assignTeams',\r\n {\r\n folderGuid: folderGuid,\r\n listingTeams: tabGuidTeams,\r\n subfolder: subfolderImpact,\r\n sendNotification: sendNotification,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n assignStatus(guid: any, status: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/assets/assignStatus',\r\n {\r\n listingAssetsToStatus: status,\r\n statusGuid: guid,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n createFolder(\r\n folderName: any,\r\n folderParentGuid: string | null,\r\n folderType = 'DAM',\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/folders',\r\n {\r\n folderName: folderName,\r\n folderParentGuid: folderParentGuid,\r\n folderType: folderType,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n createFolderLevelOne(folderName: any, folderType = 'DAM') {\r\n if (folderType == 'TEMPLATES') {\r\n let parent = this.folderTemplatesGuid;\r\n return this.createFolder(folderName, parent, folderType);\r\n } else if (folderType == 'PROJECTS') {\r\n let parent = this.folderDocumentsGuid;\r\n return this.createFolder(folderName, parent, folderType);\r\n } else if (folderType == 'EXCEL') {\r\n let parent = this.folderExcelGuid;\r\n return this.createFolder(folderName, parent, folderType);\r\n } else if (folderType == 'PRODUCTSHEETS') {\r\n let parent = this.folderProductSheetsGuid;\r\n return this.createFolder(folderName, parent, folderType);\r\n } else {\r\n return this.createFolder(folderName, null, folderType);\r\n }\r\n }\r\n\r\n // lang = \"fr\"/\"en\"/\"es\", onAlreadyTagged = \"skip\"/\"merge\"/\"replace\"\r\n generateTag(\r\n lang = 'fr',\r\n onAlreadyTagged = 'merge',\r\n assetGuidsArray: any = null,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'OpenAI/assettagging?lang=' +\r\n lang +\r\n '&onAlreadyTagged=' +\r\n onAlreadyTagged,\r\n {\r\n assetGuids: assetGuidsArray,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n limitGenerateTag(type = 'IMAGE_TAGGING') {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Usages/getusage?type=' +\r\n type,\r\n { headers },\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n UPDATE\r\n ======================================================================== */\r\n\r\n modifyFolder(folderGuid: any, folderName: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/folders',\r\n {\r\n folderGuid: folderGuid,\r\n folderName: folderName,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n renameAsset(assetGuid: any, assetNewName: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/assets/rename',\r\n {\r\n assetGuid: assetGuid,\r\n assetNewName: assetNewName,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n resize(profileAssetGuid: any, tabsGuid: any, resizeRecursive: any = null) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/resize',\r\n {\r\n profileAssetGuid: profileAssetGuid,\r\n assetGuids: tabsGuid,\r\n allSubFolders: resizeRecursive == null ? false : resizeRecursive,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n updateFieldForAsset(\r\n assetGuid: any,\r\n fieldName: any,\r\n fieldValue: any,\r\n attribute: any,\r\n language: any,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/assets/field',\r\n {\r\n assetGuid: assetGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n attribute: attribute,\r\n language: language,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n moveAssetToFolder(folderGuid: string, listingAssetToMove: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'dam/assets/move/' +\r\n folderGuid,\r\n {\r\n listingAssetToMove: listingAssetToMove,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n moveAssetToHome(listingAssetToMove: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'dam/assets/move/' + null,\r\n {\r\n listingAssetToMove: listingAssetToMove,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n moveFolderToAnotherFolder(\r\n sourceFolderGuid: string,\r\n destinationFolderGuid: string,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/folders/move/' +\r\n sourceFolderGuid +\r\n '/' +\r\n destinationFolderGuid,\r\n { headers },\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n moveToTrash(listingAssetToMoveTrashbin: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'dam/assets/movetotrashbin/true',\r\n {\r\n listingAssetToMoveTrashbin: listingAssetToMoveTrashbin,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n moveAllOrphansToTrash() {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'dam/assets/movetotrashbin/true',\r\n {\r\n listingAssetToMoveTrashbin: [],\r\n moveAllOrphans: true,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n batchAssets(profileAssetGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'dam/assets/batch?profileAssetGuid=' +\r\n profileAssetGuid,\r\n {},\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n getAssetsWaitingInImport() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'dam/assets/countwaitingupload',\r\n { headers },\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n deleteFolder(folderGuid: string) {\r\n const httpOptions = {\r\n headers: this._settingsService.getHeaders(),\r\n };\r\n\r\n return this.http\r\n .delete(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/folders/' +\r\n folderGuid,\r\n httpOptions,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n deleteAssets(listingAssetToDelete: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .request(\r\n 'delete',\r\n this._settingsService.getSettings('apiUrl') + 'Dam/assets',\r\n {\r\n headers: headers,\r\n body: {\r\n listingAssetToDelete: listingAssetToDelete,\r\n },\r\n },\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n emptyTrash() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .request(\r\n 'delete',\r\n this._settingsService.getSettings('apiUrl') + 'Dam/assets',\r\n {\r\n headers: headers,\r\n body: {\r\n listingAssetToDelete: [],\r\n emptyTrash: true,\r\n },\r\n },\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n // REMOVE BG (AI)\r\n\r\n removeBg(assetguid: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/assets/removebg',\r\n {\r\n assetGuid: assetguid,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n restoreOriginal(assetguid: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/assets/restore',\r\n {\r\n assetGuid: assetguid,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpHeaders, HttpClient } from '@angular/common/http';\r\nimport { SettingsService } from './settings.service';\r\nimport { AuthService } from './auth.service';\r\nimport { websocketService } from './websocket.service';\r\nimport { finalize } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MediaSelectionService {\r\n constructor(\r\n private auth: AuthService,\r\n private _settingsService: SettingsService,\r\n private http: HttpClient,\r\n private _webSocket: websocketService\r\n ) { }\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getAssetsForBomItem(bomItemGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Boms/bomitems/' + bomItemGuid + '/assets', { headers });\r\n }\r\n\r\n getAssetsForBom(bomGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Boms/' + bomGuid + '/assets', { headers });\r\n }\r\n\r\n getAssetsForBomDrawing(bomGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Boms/' + bomGuid + '/drawing', { headers });\r\n }\r\n\r\n getAssetsForSku(skuGuid: string, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n if (!archive) {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Skus/' + skuGuid + '/assets', { headers });\r\n } else {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'SkusArchive/' + skuGuid + '/assets', { headers });\r\n }\r\n }\r\n\r\n getAssetsForSkuAttribute(skuGuid: string, attributeGuid: string, archive = false, language = '') {\r\n let headers = this._settingsService.getHeaders();\r\n if (!archive) {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Skus/' + skuGuid + '/assets/' + attributeGuid + '?language=' + language, { headers });\r\n } else {\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'SkusArchive/' + skuGuid + '/assets/' + attributeGuid + '?language=' + language, { headers });\r\n }\r\n }\r\n\r\n getAssetsForCategoryAttribute(skuGuid: string, attributeGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'categories/' + skuGuid + '/assets/' + attributeGuid, { headers });\r\n }\r\n\r\n getAssetsByType(skuGuid: string, attributeGuid: string, type: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + type + '/' + skuGuid + '/assets/' + attributeGuid, { headers });\r\n }\r\n\r\n getAssetsForCategories(categoryGuid: string, field: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Categories/' + categoryGuid + '/assets?field=' + field, { headers });\r\n }\r\n\r\n getAssetsByGuidArray(guids: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.post(this._settingsService.getSettings('apiUrl') + 'Dam/assets/array', { assetGuids: guids }, { headers });\r\n }\r\n\r\n /* ========================================================================\r\n UPDATE\r\n ======================================================================== */\r\n\r\n updateSkuImages(skuGuid: any, tabGuidImages: any, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n if (!archive) {\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Skus/field',\r\n {\r\n skuGuid: skuGuid,\r\n fieldName: 'skuImages',\r\n fieldValue: tabGuidImages,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('RefreshWithArgument', 'mediaRefresh', null);\r\n })\r\n );\r\n } else {\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'SkusArchive/field',\r\n {\r\n skuGuid: skuGuid,\r\n fieldName: 'skuImages',\r\n fieldValue: tabGuidImages,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('RefreshWithArgument', 'mediaRefresh', null);\r\n })\r\n );\r\n }\r\n }\r\n\r\n replaceSkuImages(skuGuid: any, assetguidToReplace: any, assetGuidToInsert: any, archive = false) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n if (!archive) {\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Skus/skuimages/replaceAsset',\r\n {\r\n skuGuid: skuGuid,\r\n assetguidToReplace: assetguidToReplace,\r\n assetGuidToInsert: assetGuidToInsert,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('RefreshWithArgument', 'mediaRefresh', null);\r\n })\r\n );\r\n } else {\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'SkusArchive/skuimages/replaceAsset',\r\n {\r\n skuGuid: skuGuid,\r\n assetguidToReplace: assetguidToReplace,\r\n assetGuidToInsert: assetGuidToInsert,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('RefreshWithArgument', 'mediaRefresh', null);\r\n })\r\n );\r\n }\r\n }\r\n\r\n updateBomModel(bomGuid: any, drawing: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(\r\n this._settingsService.getSettings('apiUrl') + 'boms/field',\r\n {\r\n bomGuid: bomGuid,\r\n fieldName: 'bomDrawing',\r\n fieldValue: drawing,\r\n },\r\n options\r\n );\r\n }\r\n\r\n updateBomItemImage(bomItemGuid: any, tabGuidImages: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(\r\n this._settingsService.getSettings('apiUrl') + 'Boms/bomItems/field',\r\n {\r\n bomItemGuid: bomItemGuid,\r\n fieldName: 'bomItemImages',\r\n fieldValue: tabGuidImages,\r\n },\r\n options\r\n );\r\n }\r\n\r\n updateBomImage(bomGuid: any, field: any, guidBomDrawing: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(\r\n this._settingsService.getSettings('apiUrl') + 'Boms/field',\r\n {\r\n bomGuid: bomGuid,\r\n fieldName: field,\r\n fieldValue: guidBomDrawing,\r\n },\r\n options\r\n );\r\n }\r\n\r\n updateSkuAttributeImages(skuGuid: any, tabGuidImages: any, attributeGuid: any, archive = false, oneLanguage = '') {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n if (!archive) {\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Skus/field',\r\n {\r\n skuGuid: skuGuid,\r\n fieldName: attributeGuid,\r\n fieldValue: tabGuidImages,\r\n attribute: true,\r\n language: oneLanguage ? oneLanguage : ''\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('RefreshWithArgument', 'mediaRefresh', attributeGuid);\r\n })\r\n );\r\n } else {\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'SkusArchive/field',\r\n {\r\n skuGuid: skuGuid,\r\n fieldName: attributeGuid,\r\n fieldValue: tabGuidImages,\r\n attribute: true,\r\n language: oneLanguage ? oneLanguage : ''\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n this._webSocket.connection.invoke('RefreshWithArgument', 'mediaRefresh', attributeGuid);\r\n })\r\n );\r\n }\r\n }\r\n\r\n updateCategoryAttributeImages(categoryGuid: any, tabGuidImages: any, attributeGuid: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(\r\n this._settingsService.getSettings('apiUrl') + 'Categories/field',\r\n {\r\n categoryGuid: categoryGuid,\r\n fieldName: attributeGuid,\r\n fieldValue: tabGuidImages,\r\n attribute: true,\r\n language: '',\r\n },\r\n options\r\n );\r\n }\r\n\r\n updateCategoryImage(categoryGuid: any, tabGuidImages: any, fieldName: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(\r\n this._settingsService.getSettings('apiUrl') + 'Categories/field',\r\n {\r\n categoryGuid: categoryGuid,\r\n fieldName: fieldName,\r\n fieldValue: tabGuidImages,\r\n },\r\n options\r\n );\r\n }\r\n\r\n updateWorkflowImage(assetGuid: any, workitemGuid: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(\r\n this._settingsService.getSettings('apiUrl') + 'workflow/item/field',\r\n {\r\n workitemGuid: workitemGuid,\r\n fieldName: 'workitemBaseGuid',\r\n fieldValue: assetGuid,\r\n },\r\n options\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpHeaders, HttpClient } from '@angular/common/http';\r\nimport { Observable, map, debounceTime, distinctUntilChanged, switchMap } from 'rxjs';\r\nimport { SettingsService } from './settings.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SearchService {\r\n headers = this._settingsService.getHeaders();\r\n queryUrl: string = '?search=';\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private _settingsService: SettingsService\r\n ) { }\r\n\r\n search(terms: Observable<string>) {\r\n return terms.pipe(\r\n debounceTime(400),\r\n distinctUntilChanged(),\r\n switchMap((term) => this.searchEntries(term))\r\n );\r\n }\r\n\r\n searchEntries(term: string | number | boolean) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Dam/assets' + this.queryUrl + encodeURIComponent(term), { headers }).pipe(map((res) => res));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { UserObject } from './user';\r\nimport { SettingsService } from '../settings.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class UsersService {\r\n constructor(\r\n private http: HttpClient,\r\n private _settingsService: SettingsService,\r\n ) {}\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getUsers(\r\n start: number,\r\n limit: number,\r\n search: string,\r\n team: string,\r\n profil: string,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get<UserObject[]>(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Users?search=' +\r\n search +\r\n '&limit=' +\r\n limit +\r\n '&start=' +\r\n start +\r\n '&profileGuid=' +\r\n profil +\r\n '&teamGuid=' +\r\n team,\r\n { headers },\r\n );\r\n }\r\n\r\n getUsersWithSort(sort: string, order: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get<UserObject[]>(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Users?sort=' +\r\n sort +\r\n '&direction=' +\r\n order,\r\n { headers },\r\n );\r\n }\r\n\r\n getUserByUserLogin(login: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get<UserObject[]>(\r\n this._settingsService.getSettings('apiUrl') + 'Users/' + login,\r\n { headers },\r\n );\r\n }\r\n\r\n getUserAvatar(userGuid: string){\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get<UserObject[]>(\r\n this._settingsService.getSettings('apiUrl') + 'Users/' + userGuid + '/avatar',\r\n { headers },\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n CREATE\r\n ======================================================================== */\r\n\r\n createUser(\r\n login: string,\r\n password: string,\r\n profileguid: string,\r\n language: string,\r\n active: boolean,\r\n email: string,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Users',\r\n {\r\n userLogin: login,\r\n userPassword: password,\r\n userProfileGuid: profileguid,\r\n userLanguage: language,\r\n userIsActive: active,\r\n userEmail: email,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n uploadProfilePicture(formData: FormData, login: string) {\r\n let token = this._settingsService.getToken();\r\n let language = this._settingsService.getLanguage();\r\n let headers = {\r\n Authorization: 'Bearer ' + token,\r\n 'Accept-Language': language,\r\n };\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Users/' +\r\n login +\r\n '/upload/avatar',\r\n formData,\r\n options,\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n UPDATE\r\n ======================================================================== */\r\n\r\n updateUserByField(userGuid: string, fieldName: string, fieldValue: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(\r\n this._settingsService.getSettings('apiUrl') + 'Users/field',\r\n {\r\n userGuid: userGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n modifyUser(user: UserObject) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(\r\n this._settingsService.getSettings('apiUrl') + 'Users',\r\n {\r\n user: user,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n changePassword(login: string, oldPassword: string, newPassword: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Users/changepassword',\r\n {\r\n login: login,\r\n oldPassword: oldPassword,\r\n newPassword: newPassword,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n confirmUser(param: string, alias: string){\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Users/confirm-account',\r\n {\r\n parameter: param,\r\n alias: alias,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n forgotPassword(login: string, alias: string, isStudio: boolean){\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Users/forgotpassword',\r\n {\r\n login: login,\r\n alias: alias,\r\n isStudio: isStudio,\r\n initPassword: false\r\n },\r\n options,\r\n );\r\n }\r\n\r\n checkForgotPassword(param: string, alias: string){\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Users/forgotpassword/check',\r\n {\r\n parameter: param,\r\n alias: alias,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n changeForgotenPassword(param: string, alias: string, newPassword: string){\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Users/initializepassword',\r\n {\r\n parameter: param,\r\n alias: alias,\r\n newPassword: newPassword,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n DELETE\r\n ======================================================================== */\r\n\r\n deleteUsers(listGuid: string[]) {\r\n let headers = this._settingsService.getHeaders();\r\n\r\n return this.http.request(\r\n 'delete',\r\n this._settingsService.getSettings('apiUrl') + 'Users',\r\n {\r\n headers: headers,\r\n body: {\r\n listingUsersToDelete: listGuid,\r\n },\r\n },\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { SettingsService } from '../settings.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PricesTaxService {\r\n constructor(\r\n private http: HttpClient,\r\n private _settingsService: SettingsService,\r\n ) {}\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getAllPriceList() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') + 'PricesLists',\r\n { headers },\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n CREATE\r\n ======================================================================== */\r\n\r\n createPriceList(priceList: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'PricesLists',\r\n {\r\n pricesListName: priceList.pricesListName,\r\n pricesListCreatedAt: priceList.pricesListCreatedAt,\r\n pricesListModifiedAt: priceList.pricesListModifiedAt,\r\n pricesListOwner: priceList.pricesListOwner,\r\n pricesListTeam: priceList.pricesListTeam,\r\n pricesListCurrency: priceList.pricesListCurrency,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n UPDATE\r\n ======================================================================== */\r\n\r\n updatePriceList(priceList: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(\r\n this._settingsService.getSettings('apiUrl') + 'PricesLists',\r\n {\r\n pricesListGuid: priceList.pricesListGuid,\r\n pricesListName: priceList.pricesListName,\r\n pricesListCreatedAt: priceList.pricesListCreatedAt,\r\n pricesListModifiedAt: priceList.pricesListModifiedAt,\r\n pricesListOwner: priceList.pricesListOwner,\r\n pricesListTeam: priceList.pricesListTeam,\r\n pricesListCurrency: priceList.pricesListCurrency,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n updatePriceListByField(\r\n pricesListGuid: string,\r\n fieldName: string,\r\n fieldValue: any,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(\r\n this._settingsService.getSettings('apiUrl') + 'PricesLists/field',\r\n {\r\n pricesListGuid: pricesListGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n DELETE\r\n ======================================================================== */\r\n\r\n deletePriceList(listingPricesLists: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.request(\r\n 'delete',\r\n this._settingsService.getSettings('apiUrl') + 'PricesLists',\r\n {\r\n headers: headers,\r\n body: {\r\n listingPricesListToDelete: listingPricesLists,\r\n },\r\n },\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { SettingsService } from '../settings.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class NotificationServiceService {\r\n private quantity = new Subject<any>();\r\n\r\n //private showNav$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\r\n private sidenav?: MatSidenav;\r\n\r\n constructor(\r\n private _settingsService: SettingsService,\r\n private http: HttpClient,\r\n ) {}\r\n\r\n sendUpdate(message: number) {\r\n //the component that wants to update something, calls this fn\r\n this.quantity.next(message); //next(void 0) will feed the value in Subject\r\n }\r\n\r\n getUpdate(): Observable<any> {\r\n //the receiver component calls this function\r\n return this.quantity.asObservable(); //it returns as an observable to which the receiver funtion will subscribe\r\n }\r\n\r\n getNotifications(start: any = 0, limit?: any) {\r\n let headers = this._settingsService.getHeaders();\r\n var limitParameter = limit ? '&limit=' + limit : '';\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Notifications?start=' +\r\n start +\r\n limitParameter,\r\n { headers },\r\n );\r\n }\r\n\r\n markAllView() {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Notifications/markallview',\r\n {},\r\n options,\r\n );\r\n }\r\n\r\n markasreaded(notificationGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Notifications/markasreaded?notificationGuid=' +\r\n notificationGuid,\r\n {},\r\n options,\r\n );\r\n }\r\n\r\n public setSidenav(sidenav: MatSidenav) {\r\n this.sidenav = sidenav;\r\n }\r\n\r\n public open() {\r\n return this.sidenav?.open();\r\n }\r\n\r\n public close() {\r\n return this.sidenav?.close();\r\n }\r\n\r\n public toggle(): void {\r\n this.sidenav?.toggle();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ThumbnailService {\r\n /**\r\n * Generates a thumbnail from an SVG string.\r\n * @param svgString The SVG content\r\n * @param maxWidth Maximum width of the thumbnail (default 800)\r\n * @param quality Quality of the output WebP (default 0.3)\r\n * @returns A Promise resolving to a Blob (image/webp)\r\n */\r\n async generateThumbnail(svgString: string, maxWidth: number = 800, quality: number = 0.7): Promise<Blob> {\r\n if (!svgString) {\r\n throw new Error('SVG string is empty');\r\n }\r\n\r\n // Parse the string to DOM\r\n const parser = new DOMParser();\r\n const doc = parser.parseFromString(svgString, 'image/svg+xml');\r\n const clone = doc.documentElement as unknown as SVGSVGElement;\r\n\r\n // Perform thorough cleaning to avoid ANY external resource that might taint the canvas\r\n this.cleanForThumbnail(clone);\r\n\r\n // Inline images to avoid \"tainted canvas\" error\r\n await this.inlineImages(clone);\r\n\r\n const width = parseFloat(clone.getAttribute('width') || '100');\r\n const height = parseFloat(clone.getAttribute('height') || '100');\r\n const aspectRatio = width / height || 1;\r\n\r\n const thumbWidth = Math.min(width, maxWidth);\r\n const thumbHeight = thumbWidth / aspectRatio;\r\n\r\n // Serialize cleaned SVG\r\n const serializedSvg = new XMLSerializer().serializeToString(clone);\r\n const dataUrl = 'data:image/svg+xml;charset=utf-8,' + encodeURIComponent(serializedSvg);\r\n\r\n return new Promise((resolve, reject) => {\r\n const img = new Image();\r\n\r\n img.onload = () => {\r\n try {\r\n const canvas = document.createElement('canvas');\r\n canvas.width = thumbWidth;\r\n canvas.height = thumbHeight;\r\n const ctx = canvas.getContext('2d');\r\n\r\n if (!ctx) {\r\n reject(new Error('Could not get canvas context'));\r\n return;\r\n }\r\n\r\n ctx.imageSmoothingEnabled = true;\r\n ctx.imageSmoothingQuality = 'high';\r\n\r\n // Fill background with white\r\n ctx.fillStyle = 'white';\r\n ctx.fillRect(0, 0, thumbWidth, thumbHeight);\r\n\r\n ctx.drawImage(img, 0, 0, thumbWidth, thumbHeight);\r\n\r\n canvas.toBlob(\r\n (blob) => {\r\n if (blob) resolve(blob);\r\n else reject(new Error('Canvas toBlob failed'));\r\n },\r\n 'image/webp',\r\n quality\r\n );\r\n } catch (err) {\r\n console.error('Canvas export failed', err);\r\n reject(err);\r\n }\r\n };\r\n\r\n img.onerror = (err) => {\r\n console.error('Image loading failed for thumbnail', err);\r\n reject(new Error('Image loading failed for thumbnail'));\r\n };\r\n\r\n img.src = dataUrl;\r\n });\r\n }\r\n\r\n private cleanForThumbnail(clone: SVGSVGElement) {\r\n // 1. Copy relevant page styles (especially CSS variables) into the SVG\r\n this.injectPageVariables(clone);\r\n\r\n // 2. Clean all <style> tags\r\n clone.querySelectorAll('style').forEach((styleEl) => {\r\n let css = styleEl.textContent || '';\r\n // Remove @import to avoid tainting.\r\n css = css.replace(/@import[^;]+;/gi, '');\r\n // Remove external url() references but keep data: urls and internal fragments\r\n css = css.replace(/url\\(\\s*[\"']?(?!data:|#)[^)]+\\)/gi, 'none');\r\n styleEl.textContent = css;\r\n });\r\n\r\n // 3. Remove blacklisted elements\r\n clone.querySelectorAll('script, link, iframe, object, embed').forEach((el) => el.remove());\r\n }\r\n\r\n private injectPageVariables(clone: SVGSVGElement) {\r\n // Get CSS variables from the main document to preserve theme colors\r\n const root = document.documentElement;\r\n const computed = getComputedStyle(root);\r\n\r\n // Subset of common variables to avoid bloat\r\n const varNames = ['--active', '--gray-1', '--gray-2', '--gray-3', '--gray-4', '--gray-5', '--white', '--black', '--radius-s', '--radius-m'];\r\n\r\n let varsCss = ':root {\\n';\r\n varNames.forEach((name) => {\r\n const val = computed.getPropertyValue(name).trim();\r\n if (val) varsCss += ` ${name}: ${val};\\n`;\r\n });\r\n varsCss += '}\\n';\r\n\r\n const styleEl = document.createElementNS('http://www.w3.org/2000/svg', 'style');\r\n styleEl.textContent = varsCss;\r\n clone.insertBefore(styleEl, clone.firstChild);\r\n }\r\n\r\n private async inlineImages(clone: SVGSVGElement): Promise<void> {\r\n const promises: Promise<void>[] = [];\r\n\r\n // 1. Handle elements that might be missing data urls\r\n // Note: Project uses <img> tags inside foreignObject or <image> tags\r\n clone.querySelectorAll('img, image').forEach((img) => {\r\n const isHTMLImg = img.tagName.toLowerCase() === 'img';\r\n const src = isHTMLImg ? (img as HTMLImageElement).src : img.getAttribute('href');\r\n\r\n if (src && !src.startsWith('data:')) {\r\n promises.push(\r\n this.toDataUrl(src)\r\n .then((dataUrl) => {\r\n if (isHTMLImg) (img as HTMLImageElement).src = dataUrl;\r\n else img.setAttribute('href', dataUrl);\r\n })\r\n .catch(() => {\r\n // If failed, we might want to keep it or remove it.\r\n // Removing it to avoid \"tainted canvas\" error.\r\n img.remove();\r\n })\r\n );\r\n }\r\n });\r\n\r\n // 2. Inline background images in style attributes\r\n clone.querySelectorAll('[style*=\"background-image\"]').forEach((el) => {\r\n const htmlEl = el as HTMLElement;\r\n const bg = htmlEl.style.backgroundImage;\r\n const match = bg.match(/url\\(\\s*[\"']?([^\"']+)[\"']?\\s*\\)/);\r\n if (match && match[1] && !match[1].startsWith('data:')) {\r\n promises.push(\r\n this.toDataUrl(match[1])\r\n .then((dataUrl) => {\r\n htmlEl.style.backgroundImage = `url(\"${dataUrl}\")`;\r\n })\r\n .catch(() => {\r\n htmlEl.style.backgroundImage = 'none';\r\n })\r\n );\r\n }\r\n });\r\n\r\n await Promise.all(promises);\r\n }\r\n\r\n private async toDataUrl(url: string): Promise<string> {\r\n try {\r\n const response = await fetch(url);\r\n if (!response.ok) throw new Error('Fetch failed');\r\n const blob = await response.blob();\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.onloadend = () => resolve(reader.result as string);\r\n reader.onerror = reject;\r\n reader.readAsDataURL(blob);\r\n });\r\n } catch {\r\n throw new Error(`Could not convert to data url: ${url}`);\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport JSZip from 'jszip';\r\nimport { SettingsService } from '../../settings.service';\r\nimport { ThumbnailService } from './thumbnail.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class GenerationService {\r\n constructor(\r\n private http: HttpClient,\r\n private _settingsService: SettingsService,\r\n private thumbnailService: ThumbnailService,\r\n ) {}\r\n\r\n generateDocument(objectGeneratePDF: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'DataSheets/generate/svg',\r\n objectGeneratePDF,\r\n options,\r\n );\r\n }\r\n\r\n async generatePdfByFile(objectGeneratePDF: any, files: any) {\r\n // ZIP\r\n const zip = new JSZip();\r\n\r\n if (objectGeneratePDF.source === 2) {\r\n zip.folder('thumbnails');\r\n }\r\n\r\n files.forEach((f: any) => {\r\n const fileName = f.sourceGuid ? `${f.sourceGuid}__${f.name}` : f.name;\r\n zip.file(fileName, f.svg);\r\n });\r\n\r\n // THUMBNAILS\r\n if (objectGeneratePDF.source === 2) {\r\n console.log(\r\n `ModalPdfService: Generating thumbnails for ${files.length} files...`,\r\n );\r\n const BATCH_SIZE = 5;\r\n for (let i = 0; i < files.length; i += BATCH_SIZE) {\r\n const batch = files.slice(i, i + BATCH_SIZE);\r\n await Promise.all(\r\n batch.map(async (f: any) => {\r\n try {\r\n const thumbnailBlob =\r\n await this.thumbnailService.generateThumbnail(f.svg);\r\n const fileName = f.sourceGuid\r\n ? `${f.sourceGuid}__${f.name}`\r\n : f.name;\r\n const thumbName = fileName.replace(/\\.svg$/i, '.webp');\r\n zip.file(`thumbnails/${thumbName}`, thumbnailBlob);\r\n } catch (err) {\r\n console.error(\r\n `ModalPdfService: Failed to generate thumbnail for ${f.name}`,\r\n err,\r\n );\r\n }\r\n }),\r\n );\r\n }\r\n }\r\n\r\n // ZIP BLOB\r\n const zipBlob = await zip.generateAsync({\r\n type: 'blob',\r\n compression: 'DEFLATE',\r\n compressionOptions: { level: 6 },\r\n });\r\n\r\n // CHUNKS\r\n const CHUNK_SIZE = 5 * 1024 * 1024;\r\n const totalChunks = Math.ceil(zipBlob.size / CHUNK_SIZE);\r\n const uploadId = `${objectGeneratePDF.sourceGuid}_${Date.now()}`;\r\n\r\n // CHUNKS LOOP\r\n for (let chunkIndex = 0; chunkIndex < totalChunks; chunkIndex++) {\r\n const start = chunkIndex * CHUNK_SIZE;\r\n const end = Math.min(start + CHUNK_SIZE, zipBlob.size);\r\n const chunk = zipBlob.slice(start, end);\r\n\r\n await this.sendChunk(\r\n objectGeneratePDF,\r\n chunk,\r\n uploadId,\r\n chunkIndex,\r\n totalChunks,\r\n );\r\n }\r\n }\r\n\r\n async sendChunk(\r\n objectPDF: any,\r\n chunkBlob: Blob,\r\n uploadId: string,\r\n chunkIndex: number,\r\n totalChunks: number,\r\n ) {\r\n const formData = new FormData();\r\n\r\n // On passe les datas de ton objet\r\n Object.keys(objectPDF).forEach((key) => {\r\n if (\r\n objectPDF[key] !== null &&\r\n objectPDF[key] !== undefined &&\r\n key !== 'files'\r\n ) {\r\n formData.append(key, objectPDF[key].toString());\r\n }\r\n });\r\n\r\n // Infos de gestion du Chunk\r\n formData.append('uploadId', uploadId);\r\n formData.append('chunkIndex', chunkIndex.toString());\r\n formData.append('totalChunks', totalChunks.toString());\r\n\r\n // Le morceau de fichier\r\n formData.append('chunkFile', chunkBlob, `chunk_${chunkIndex}.zip`);\r\n\r\n let headers = this._settingsService.getHeaders();\r\n if (headers instanceof HttpHeaders) {\r\n if (headers.has('Content-Type')) headers = headers.delete('Content-Type');\r\n } else {\r\n if (headers['Content-Type']) delete headers['Content-Type'];\r\n }\r\n\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'DataSheets/generate/import/svg',\r\n formData,\r\n { headers },\r\n )\r\n .toPromise();\r\n }\r\n\r\n getPublicationTemplate(\r\n start = 0,\r\n limit = 10000,\r\n type = 'ALL',\r\n search = '',\r\n active = 'true',\r\n sort = 'publicationtemplatename',\r\n direction = 'ASC',\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'DataSheets/publicationstemplates?start=' +\r\n start +\r\n '&limit=' +\r\n limit +\r\n '&type=' +\r\n type +\r\n '&search=' +\r\n search +\r\n '&active=' +\r\n active +\r\n '&sort=' +\r\n sort +\r\n '&direction=' +\r\n direction,\r\n { headers },\r\n );\r\n }\r\n\r\n registerBatch(batchConfig: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Exchanges/export/batch/datasheets',\r\n batchConfig,\r\n { headers },\r\n );\r\n }\r\n\r\n getBatchConfig(skuGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Exchanges/export/batch/datasheets/config/' +\r\n skuGuid,\r\n { headers },\r\n );\r\n }\r\n\r\n deleteBatchConfig(skuGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.delete(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Exchanges/export/batch/datasheets/' +\r\n skuGuid,\r\n { headers },\r\n );\r\n }\r\n\r\n getSkusDatas(\r\n language: string,\r\n attributeSkuGuid: string,\r\n templateGuid: string,\r\n onlyNeedRegeneration: boolean = true,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'DataSheets/skus/datas?language=' +\r\n language +\r\n '&attributeSkuGuid=' +\r\n attributeSkuGuid +\r\n '&templateGuid=' +\r\n templateGuid +\r\n '&onlyNeedRegeneration=' +\r\n onlyNeedRegeneration,\r\n { headers },\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { AuthService } from '../../auth.service';\r\nimport { SettingsService } from '../../settings.service';\r\nimport { websocketService } from '../../websocket.service';\r\nimport { finalize } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ProductSheetsService {\r\n constructor(\r\n private auth: AuthService,\r\n private _settingsService: SettingsService,\r\n private http: HttpClient,\r\n private _webSocket: websocketService,\r\n ) {}\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getProductSheetsByAssetGuid(assetGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/product-sheets/asset/' +\r\n assetGuid,\r\n { headers },\r\n );\r\n }\r\n\r\n getProductSheetLines(\r\n productSheetGuid: string,\r\n start = 0,\r\n limit = 10000,\r\n summary = false,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/product-sheets/' +\r\n productSheetGuid +\r\n '/lines?start=' +\r\n start +\r\n '&limit=' +\r\n limit +\r\n '&summary=' +\r\n summary,\r\n { headers },\r\n );\r\n }\r\n\r\n getProductSheetColumns(assetGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/product-sheets/columns/asset/' +\r\n assetGuid,\r\n { headers },\r\n );\r\n }\r\n\r\n getProductSheetLineByGuid(\r\n productSheetGuid: string,\r\n productSheetLineGuid: string,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/product-sheets/' +\r\n productSheetGuid +\r\n '/line',\r\n { lineGuid: productSheetLineGuid },\r\n { headers },\r\n );\r\n }\r\n\r\n getProductSheetLineByReference(productSheetGuid: string, reference: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/product-sheets/' +\r\n productSheetGuid +\r\n '/line',\r\n { lineRef: reference },\r\n { headers },\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n POST\r\n ======================================================================== */\r\n\r\n addProductSheetLine(\r\n productSheetLineAttributes: any,\r\n productSheetGuid: string,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/product-sheets/lines',\r\n {\r\n productSheetLineAttributes: productSheetLineAttributes,\r\n productSheetGuid: productSheetGuid,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n addProductSheetLines(productSheetLines: any[], productSheetGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/product-sheets/lines/bulk',\r\n {\r\n productSheetGuid,\r\n lines: productSheetLines,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n createProductSheetColumn(productSheetColumn: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/product-sheets/columns',\r\n productSheetColumn,\r\n options,\r\n );\r\n }\r\n\r\n createProductSheetAsset(assetName: string, folderGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/product-sheets/asset',\r\n {\r\n assetName: assetName,\r\n folderGuid: folderGuid,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n createProductSheet(sheetName: string, assetGuid: string, columns: any[] = []) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/product-sheets',\r\n {\r\n productSheetName: sheetName,\r\n assetGuid: assetGuid,\r\n columns: columns,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n importProductSheet(\r\n assetGuid: string,\r\n file: File,\r\n referenceColumn: string,\r\n imageColumns: string[],\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n if (headers instanceof HttpHeaders) {\r\n if (headers.has('Content-Type')) {\r\n headers = headers.delete('Content-Type');\r\n }\r\n } else if (headers['Content-Type']) {\r\n delete headers['Content-Type'];\r\n }\r\n const options = { headers: headers };\r\n\r\n const formData = new FormData();\r\n formData.append('file', file);\r\n formData.append('referenceColumn', referenceColumn);\r\n imageColumns.forEach((col) => formData.append('imageColumns', col));\r\n\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') +\r\n `Dam/product-sheets/import/${assetGuid}`,\r\n formData,\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n DELETE\r\n ======================================================================== */\r\n\r\n deleteProductSheet(productSheetGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.delete(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/product-sheets/' +\r\n productSheetGuid,\r\n { headers },\r\n )\r\n }\r\n\r\n deleteProductSheetColumn(productSheetColumnGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .delete(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/product-sheets/columns/' +\r\n productSheetColumnGuid,\r\n { headers },\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n deleteProductSheetLine(productSheetLineGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.delete(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/product-sheets/lines/' +\r\n productSheetLineGuid,\r\n { headers },\r\n )\r\n }\r\n\r\n /* ========================================================================\r\n PUT\r\n ======================================================================== */\r\n\r\n updateProductSheetLine(productSheetLine: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/product-sheets/lines',\r\n productSheetLine,\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n updateProductSheetColumn(productSheetColumn: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/product-sheets/columns',\r\n productSheetColumn,\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n}\r\n","export interface PublicationPageProps {\r\n publicationGuid?: string;\r\n pageId?: number;\r\n name?: string;\r\n status?: number;\r\n background?: string;\r\n order?: number;\r\n modifiedAt?: Date | string | null;\r\n type?: string;\r\n dataCount?: number;\r\n isMarketingBlock?: boolean;\r\n attributes?: any[];\r\n}\r\n\r\nexport class PublicationPage {\r\n private _publicationGuid: string = '';\r\n private _pageId: number = 0;\r\n private _name: string = '';\r\n private _status: number = 0; // PageStatus enum: Draft = 0, Waiting = 1, Ready = 2, InProcess = 3\r\n private _background: string = '';\r\n private _order: number = 0;\r\n private _modifiedAt: Date | string | null = null;\r\n private _type: string = 'SKUS';\r\n private _dataCount: number = 0;\r\n private _attributes: any[] = [];\r\n\r\n constructor(data: PublicationPageProps = {}) {\r\n this._publicationGuid = data.publicationGuid ?? '';\r\n this.pageId = data.pageId ?? 0;\r\n this.name = data.name ?? '';\r\n this.status = data.status ?? 0;\r\n this.background = data.background ?? '';\r\n this.order = data.order ?? 0;\r\n this.modifiedAt = data.modifiedAt ?? null;\r\n this.type = data.type ?? 'SKUS';\r\n this.dataCount = data.dataCount ?? 0;\r\n this.attributes = data.attributes ?? [];\r\n }\r\n\r\n get publicationGuid(): string {\r\n return this._publicationGuid;\r\n }\r\n set publicationGuid(value: string) {\r\n this._publicationGuid = value || '';\r\n }\r\n\r\n get pageId(): number {\r\n return this._pageId;\r\n }\r\n set pageId(value: number) {\r\n this._pageId = value || 0;\r\n }\r\n\r\n get name(): string {\r\n return this._name;\r\n }\r\n set name(value: string) {\r\n this._name = value || '';\r\n }\r\n\r\n get status(): number {\r\n return this._status;\r\n }\r\n set status(value: number) {\r\n this._status = value || 0;\r\n }\r\n\r\n get background(): string {\r\n return this._background;\r\n }\r\n set background(value: string) {\r\n this._background = value || '';\r\n }\r\n\r\n get order(): number {\r\n return this._order;\r\n }\r\n set order(value: number) {\r\n this._order = value || 0;\r\n }\r\n\r\n get modifiedAt(): Date | string | null {\r\n return this._modifiedAt;\r\n }\r\n set modifiedAt(value: Date | string | null) {\r\n this._modifiedAt = value;\r\n }\r\n\r\n get type(): string {\r\n return this._type;\r\n }\r\n set type(value: string) {\r\n this._type = value || 'SKUS';\r\n }\r\n\r\n get dataCount(): number {\r\n return this._dataCount;\r\n }\r\n set dataCount(value: number) {\r\n this._dataCount = value || 0;\r\n }\r\n\r\n get attributes(): any[] {\r\n return this._attributes;\r\n }\r\n set attributes(value: any[]) {\r\n this._attributes = value || [];\r\n }\r\n\r\n toJSON() {\r\n return {\r\n publicationGuid: this.publicationGuid,\r\n pageId: this.pageId,\r\n name: this.name,\r\n status: this.status,\r\n background: this.background,\r\n order: this.order,\r\n modifiedAt: this.modifiedAt,\r\n type: this.type,\r\n dataCount: this.dataCount,\r\n attributes: this.attributes,\r\n };\r\n }\r\n}\r\n\r\nexport interface PublicationPagesResponse {\r\n getPublicationPages: PublicationPage[];\r\n}\r\n","import { PublicationPage } from './publication-page.model';\r\n\r\nexport const DEFAULT_PUBLICATION_STR = '00000000-0000-0000-0000-000000000000';\r\n\r\nexport interface PublicationProps {\r\n publicationGuid?: string;\r\n publicationId?: number;\r\n publicationLocked?: boolean;\r\n publicationName?: string;\r\n publicationDescription?: string;\r\n publicationValidationDate?: Date | string | null;\r\n publicationDeadline?: Date | string | null;\r\n publicationActive?: boolean;\r\n publicationStatus?: number;\r\n publicationRemarks?: string;\r\n publicationMasterINDD?: string;\r\n publicationLibraryINDL?: string;\r\n publicationFinalINDD?: string;\r\n publicationPDF?: string;\r\n publicationTotalPages?: number;\r\n publicationContents?: string;\r\n publicationMasterSpreads?: string;\r\n publicationFormat?: string;\r\n publicationOrientationPortrait?: boolean;\r\n publicationPreview?: string;\r\n publicationDraft?: string;\r\n publicationBeta?: string;\r\n publicationAlpha?: string;\r\n publicationProgress?: number;\r\n publicationType?: string;\r\n publicationVersion?: number;\r\n publicationLangsBlocked?: string[];\r\n publicationPageStart?: number;\r\n publicationPageStartLeft?: boolean;\r\n selectionCode?: string;\r\n publicationTemplateGuid?: string;\r\n publicationCoverpage?: string;\r\n publicationDealGuid?: string;\r\n publicationRatebase?: number;\r\n publicationPriceListGuid?: string;\r\n publicationAccountGuid?: string;\r\n publicationAttributes?: any[];\r\n publicationLanguage?: string;\r\n publicationAutoGeneration?: boolean;\r\n publicationYouBooky?: boolean;\r\n publicationProductSheetGuid?: string | null;\r\n publicationProductSheetAssetGuid?: string | null;\r\n publicationRelecturePDFs?: string[];\r\n publicationTemplateDefaultBackgroundGuid?: string;\r\n publicationPageIdFirst?: string;\r\n publicationTemplateBackgroundName?: string;\r\n publicationPreviewUrl?: string;\r\n publicationTemplateName?: string;\r\n publicationCoverpageUrl?: string;\r\n publicationNbPages?: number;\r\n publicationNbSkus?: number;\r\n publicationPages?: any[];\r\n publicationFolderGuid?: string;\r\n\r\n // PascalCase properties for backward compatibility\r\n PublicationGuid?: string;\r\n PublicationId?: number;\r\n PublicationLocked?: boolean;\r\n PublicationName?: string;\r\n PublicationDescription?: string;\r\n PublicationValidationDate?: Date | string | null;\r\n PublicationDeadline?: Date | string | null;\r\n PublicationActive?: boolean;\r\n PublicationStatus?: number;\r\n PublicationRemarks?: string;\r\n PublicationMasterINDD?: string;\r\n PublicationLibraryINDL?: string;\r\n PublicationFinalINDD?: string;\r\n PublicationPDF?: string;\r\n PublicationTotalPages?: number;\r\n PublicationContents?: string;\r\n PublicationMasterSpreads?: string;\r\n PublicationFormat?: string;\r\n PublicationOrientationPortrait?: boolean;\r\n PublicationPreview?: string;\r\n PublicationDraft?: string;\r\n PublicationBeta?: string;\r\n PublicationAlpha?: string;\r\n PublicationProgress?: number;\r\n PublicationType?: string;\r\n PublicationVersion?: number;\r\n PublicationLangsBlocked?: string[];\r\n PublicationPageStart?: number;\r\n PublicationPageStartLeft?: boolean;\r\n SelectionCode?: string;\r\n PublicationTemplateGuid?: string;\r\n PublicationCoverpage?: string;\r\n PublicationDealGuid?: string;\r\n PublicationRatebase?: number;\r\n PublicationPriceListGuid?: string;\r\n PublicationAccountGuid?: string;\r\n PublicationAttributes?: any[];\r\n PublicationLanguage?: string;\r\n PublicationAutoGeneration?: boolean;\r\n PublicationYouBooky?: boolean;\r\n PublicationProductSheetGuid?: string | null;\r\n PublicationProductSheetAssetGuid?: string | null;\r\n PublicationRelecturePDFs?: string[];\r\n PublicationTemplateDefaultBackgroundGuid?: string;\r\n PublicationPageIdFirst?: string;\r\n PublicationTemplateBackgroundName?: string;\r\n PublicationPreviewUrl?: string;\r\n PublicationTemplateName?: string;\r\n PublicationCoverpageUrl?: string;\r\n PublicationNbPages?: number;\r\n PublicationNbSkus?: number;\r\n PublicationPages?: any[];\r\n PublicationFolderGuid?: string;\r\n}\r\n\r\nexport class Publication {\r\n private _publicationGuid: string = DEFAULT_PUBLICATION_STR;\r\n private _publicationId: number = 0;\r\n private _publicationLocked: boolean = false;\r\n private _publicationName: string = '';\r\n private _publicationDescription: string = '';\r\n private _publicationValidationDate: Date | string | null = null;\r\n private _publicationDeadline: Date | string | null = null;\r\n private _publicationActive: boolean = false;\r\n private _publicationStatus: number = 0;\r\n private _publicationRemarks: string = '';\r\n private _publicationMasterINDD: string = '';\r\n private _publicationLibraryINDL: string = '';\r\n private _publicationFinalINDD: string = '';\r\n private _publicationPDF: string = '';\r\n private _publicationTotalPages: number = 0;\r\n private _publicationContents: string = '';\r\n private _publicationMasterSpreads: string = '';\r\n private _publicationFormat: string = '';\r\n private _publicationOrientationPortrait: boolean = false;\r\n private _publicationPreview: string = '';\r\n private _publicationDraft: string = '';\r\n private _publicationBeta: string = '';\r\n private _publicationAlpha: string = '';\r\n private _publicationProgress: number = 0;\r\n private _publicationType: string = '';\r\n private _publicationVersion: number = 0;\r\n private _publicationLangsBlocked: string[] = [];\r\n private _publicationPageStart: number = 1;\r\n private _publicationPageStartLeft: boolean = false;\r\n private _publicationTemplateGuid: string = DEFAULT_PUBLICATION_STR;\r\n private _publicationCoverpage: string = '';\r\n private _publicationDealGuid: string = '';\r\n private _publicationRatebase: number = 0;\r\n private _publicationPriceListGuid: string = DEFAULT_PUBLICATION_STR;\r\n private _publicationAccountGuid: string = '';\r\n private _publicationAttributes: any[] = [];\r\n private _publicationLanguage: string = '';\r\n private _publicationAutoGeneration: boolean = true;\r\n private _publicationYouBooky: boolean = false;\r\n private _publicationProductSheetGuid: string | null = null;\r\n private _publicationProductSheetAssetGuid: string | null = null;\r\n private _publicationRelecturePDFs: string[] = [];\r\n private _publicationTemplateDefaultBackgroundGuid: string = '';\r\n private _publicationPageIdFirst: string = '';\r\n private _publicationTemplateBackgroundName: string = '';\r\n private _publicationPreviewUrl: string = '';\r\n private _publicationTemplateName: string = '';\r\n private _publicationCoverpageUrl: string = '';\r\n private _publicationNbPages: number = 0;\r\n private _publicationNbSkus: number = 0;\r\n private _publicationPages: PublicationPage[] = [];\r\n private _publicationFolderGuid: string = '';\r\n private _selectionCode: string = '';\r\n\r\n constructor(data: PublicationProps = {}) {\r\n this._publicationGuid = data.publicationGuid ?? DEFAULT_PUBLICATION_STR;\r\n this.publicationId = data.publicationId ?? 0;\r\n this.publicationLocked = data.publicationLocked ?? false;\r\n this.publicationName = data.publicationName ?? '';\r\n this.publicationDescription = data.publicationDescription ?? '';\r\n this.publicationValidationDate = data.publicationValidationDate ?? null;\r\n this.publicationDeadline = data.publicationDeadline ?? null;\r\n this.publicationActive = data.publicationActive ?? false;\r\n this.publicationStatus = data.publicationStatus ?? 0;\r\n this.publicationRemarks = data.publicationRemarks ?? '';\r\n this.publicationMasterINDD = data.publicationMasterINDD ?? '';\r\n this.publicationLibraryINDL = data.publicationLibraryINDL ?? '';\r\n this.publicationFinalINDD = data.publicationFinalINDD ?? '';\r\n this.publicationPDF = data.publicationPDF ?? '';\r\n this.publicationTotalPages = data.publicationTotalPages ?? 0;\r\n this.publicationContents = data.publicationContents ?? '';\r\n this.publicationMasterSpreads = data.publicationMasterSpreads ?? '';\r\n this.publicationFormat = data.publicationFormat ?? '';\r\n this.publicationOrientationPortrait = data.publicationOrientationPortrait ?? false;\r\n this.publicationPreview = data.publicationPreview ?? '';\r\n this.publicationDraft = data.publicationDraft ?? '';\r\n this.publicationBeta = data.publicationBeta ?? '';\r\n this.publicationAlpha = data.publicationAlpha ?? '';\r\n this.publicationProgress = data.publicationProgress ?? 0;\r\n this.publicationType = data.publicationType ?? '';\r\n this.publicationVersion = data.publicationVersion ?? 0;\r\n this.publicationLangsBlocked = data.publicationLangsBlocked ?? [];\r\n this.publicationPageStart = data.publicationPageStart ?? 1;\r\n this.publicationPageStartLeft = data.publicationPageStartLeft ?? false;\r\n this.selectionCode = data.selectionCode ?? data.SelectionCode ?? '';\r\n this.publicationTemplateGuid = data.publicationTemplateGuid ?? DEFAULT_PUBLICATION_STR;\r\n this.publicationCoverpage = data.publicationCoverpage ?? '';\r\n this.publicationDealGuid = data.publicationDealGuid ?? '';\r\n this.publicationRatebase = data.publicationRatebase ?? 0;\r\n this.publicationPriceListGuid = data.publicationPriceListGuid ?? DEFAULT_PUBLICATION_STR;\r\n this.publicationAccountGuid = data.publicationAccountGuid ?? '';\r\n this.publicationAttributes = data.publicationAttributes ?? [];\r\n this.publicationLanguage = data.publicationLanguage ?? '';\r\n this.publicationAutoGeneration = data.publicationAutoGeneration ?? true;\r\n this.publicationYouBooky = data.publicationYouBooky ?? false;\r\n this.publicationProductSheetGuid = data.publicationProductSheetGuid ?? null;\r\n this.publicationProductSheetAssetGuid = data.publicationProductSheetAssetGuid ?? null;\r\n this.publicationRelecturePDFs = data.publicationRelecturePDFs ?? [];\r\n this.publicationTemplateDefaultBackgroundGuid = data.publicationTemplateDefaultBackgroundGuid ?? '';\r\n this.publicationPageIdFirst = data.publicationPageIdFirst ?? '';\r\n this.publicationTemplateBackgroundName = data.publicationTemplateBackgroundName ?? '';\r\n this.publicationPreviewUrl = data.publicationPreviewUrl ?? '';\r\n this.publicationTemplateName = data.publicationTemplateName ?? '';\r\n this.publicationCoverpageUrl = data.publicationCoverpageUrl ?? '';\r\n this.publicationNbPages = data.publicationNbPages ?? 0;\r\n this.publicationNbSkus = data.publicationNbSkus ?? 0;\r\n this._publicationFolderGuid = data.publicationFolderGuid ?? data.PublicationFolderGuid ?? '';\r\n\r\n if (data.publicationPages) {\r\n const pages = data.publicationPages;\r\n this._publicationPages = Array.isArray(pages) ? pages.map((p) => new PublicationPage(p)) : [];\r\n } else {\r\n this._publicationPages = [];\r\n }\r\n }\r\n\r\n // Getters & Setters\r\n get publicationGuid(): string {\r\n return this._publicationGuid;\r\n }\r\n set publicationGuid(value: string) {\r\n this._publicationGuid = value || DEFAULT_PUBLICATION_STR;\r\n }\r\n\r\n get publicationId(): number {\r\n return this._publicationId;\r\n }\r\n set publicationId(value: number) {\r\n this._publicationId = value || 0;\r\n }\r\n\r\n get publicationLocked(): boolean {\r\n return this._publicationLocked;\r\n }\r\n set publicationLocked(value: boolean) {\r\n this._publicationLocked = !!value;\r\n }\r\n\r\n get publicationName(): string {\r\n return this._publicationName;\r\n }\r\n set publicationName(value: string) {\r\n this._publicationName = value || '';\r\n }\r\n\r\n get publicationDescription(): string {\r\n return this._publicationDescription;\r\n }\r\n set publicationDescription(value: string) {\r\n this._publicationDescription = value || '';\r\n }\r\n\r\n get publicationValidationDate(): Date | string | null {\r\n return this._publicationValidationDate;\r\n }\r\n set publicationValidationDate(value: Date | string | null) {\r\n this._publicationValidationDate = value;\r\n }\r\n\r\n get publicationDeadline(): Date | string | null {\r\n return this._publicationDeadline;\r\n }\r\n set publicationDeadline(value: Date | string | null) {\r\n this._publicationDeadline = value;\r\n }\r\n\r\n get publicationActive(): boolean {\r\n return this._publicationActive;\r\n }\r\n set publicationActive(value: boolean) {\r\n this._publicationActive = !!value;\r\n }\r\n\r\n get publicationStatus(): number {\r\n return this._publicationStatus;\r\n }\r\n set publicationStatus(value: number) {\r\n this._publicationStatus = value || 0;\r\n }\r\n\r\n get publicationRemarks(): string {\r\n return this._publicationRemarks;\r\n }\r\n set publicationRemarks(value: string) {\r\n this._publicationRemarks = value || '';\r\n }\r\n\r\n get publicationMasterINDD(): string {\r\n return this._publicationMasterINDD;\r\n }\r\n set publicationMasterINDD(value: string) {\r\n this._publicationMasterINDD = value || '';\r\n }\r\n\r\n get publicationLibraryINDL(): string {\r\n return this._publicationLibraryINDL;\r\n }\r\n set publicationLibraryINDL(value: string) {\r\n this._publicationLibraryINDL = value || '';\r\n }\r\n\r\n get publicationFinalINDD(): string {\r\n return this._publicationFinalINDD;\r\n }\r\n set publicationFinalINDD(value: string) {\r\n this._publicationFinalINDD = value || '';\r\n }\r\n\r\n get publicationPDF(): string {\r\n return this._publicationPDF;\r\n }\r\n set publicationPDF(value: string) {\r\n this._publicationPDF = value || '';\r\n }\r\n\r\n get publicationTotalPages(): number {\r\n return this._publicationTotalPages;\r\n }\r\n set publicationTotalPages(value: number) {\r\n this._publicationTotalPages = value || 0;\r\n }\r\n\r\n get publicationContents(): string {\r\n return this._publicationContents;\r\n }\r\n set publicationContents(value: string) {\r\n this._publicationContents = value || '';\r\n }\r\n\r\n get publicationMasterSpreads(): string {\r\n return this._publicationMasterSpreads;\r\n }\r\n set publicationMasterSpreads(value: string) {\r\n this._publicationMasterSpreads = value || '';\r\n }\r\n\r\n get publicationFormat(): string {\r\n return this._publicationFormat;\r\n }\r\n set publicationFormat(value: string) {\r\n this._publicationFormat = value || '';\r\n }\r\n\r\n get publicationOrientationPortrait(): boolean {\r\n return this._publicationOrientationPortrait;\r\n }\r\n set publicationOrientationPortrait(value: boolean) {\r\n this._publicationOrientationPortrait = !!value;\r\n }\r\n\r\n get publicationPreview(): string {\r\n return this._publicationPreview;\r\n }\r\n set publicationPreview(value: string) {\r\n this._publicationPreview = value || '';\r\n }\r\n\r\n get publicationDraft(): string {\r\n return this._publicationDraft;\r\n }\r\n set publicationDraft(value: string) {\r\n this._publicationDraft = value || '';\r\n }\r\n\r\n get publicationBeta(): string {\r\n return this._publicationBeta;\r\n }\r\n set publicationBeta(value: string) {\r\n this._publicationBeta = value || '';\r\n }\r\n\r\n get publicationAlpha(): string {\r\n return this._publicationAlpha;\r\n }\r\n set publicationAlpha(value: string) {\r\n this._publicationAlpha = value || '';\r\n }\r\n\r\n get publicationProgress(): number {\r\n return this._publicationProgress;\r\n }\r\n set publicationProgress(value: number) {\r\n this._publicationProgress = value || 0;\r\n }\r\n\r\n get publicationType(): string {\r\n return this._publicationType;\r\n }\r\n set publicationType(value: string) {\r\n this._publicationType = value || '';\r\n }\r\n\r\n get publicationVersion(): number {\r\n return this._publicationVersion;\r\n }\r\n set publicationVersion(value: number) {\r\n this._publicationVersion = value || 0;\r\n }\r\n\r\n get publicationLangsBlocked(): string[] {\r\n return this._publicationLangsBlocked;\r\n }\r\n set publicationLangsBlocked(value: string[]) {\r\n this._publicationLangsBlocked = value || [];\r\n }\r\n\r\n get publicationPageStart(): number {\r\n return this._publicationPageStart;\r\n }\r\n set publicationPageStart(value: number) {\r\n this._publicationPageStart = value || 1;\r\n }\r\n\r\n get publicationPageStartLeft(): boolean {\r\n return this._publicationPageStartLeft;\r\n }\r\n set publicationPageStartLeft(value: boolean) {\r\n this._publicationPageStartLeft = !!value;\r\n }\r\n\r\n get publicationTemplateGuid(): string {\r\n return this._publicationTemplateGuid;\r\n }\r\n set publicationTemplateGuid(value: string) {\r\n this._publicationTemplateGuid = value || DEFAULT_PUBLICATION_STR;\r\n }\r\n\r\n get publicationCoverpage(): string {\r\n return this._publicationCoverpage;\r\n }\r\n set publicationCoverpage(value: string) {\r\n this._publicationCoverpage = value || '';\r\n }\r\n\r\n get publicationDealGuid(): string {\r\n return this._publicationDealGuid;\r\n }\r\n set publicationDealGuid(value: string) {\r\n this._publicationDealGuid = value || '';\r\n }\r\n\r\n get publicationRatebase(): number {\r\n return this._publicationRatebase;\r\n }\r\n set publicationRatebase(value: number) {\r\n this._publicationRatebase = value || 0;\r\n }\r\n\r\n get publicationPriceListGuid(): string {\r\n return this._publicationPriceListGuid;\r\n }\r\n set publicationPriceListGuid(value: string) {\r\n this._publicationPriceListGuid = value || DEFAULT_PUBLICATION_STR;\r\n }\r\n\r\n get publicationAccountGuid(): string {\r\n return this._publicationAccountGuid;\r\n }\r\n set publicationAccountGuid(value: string) {\r\n this._publicationAccountGuid = value || '';\r\n }\r\n\r\n get publicationAttributes(): any[] {\r\n return this._publicationAttributes;\r\n }\r\n set publicationAttributes(value: any[]) {\r\n this._publicationAttributes = value || [];\r\n }\r\n\r\n get publicationLanguage(): string {\r\n return this._publicationLanguage;\r\n }\r\n set publicationLanguage(value: string) {\r\n this._publicationLanguage = value || '';\r\n }\r\n\r\n get publicationAutoGeneration(): boolean {\r\n return this._publicationAutoGeneration;\r\n }\r\n set publicationAutoGeneration(value: boolean) {\r\n this._publicationAutoGeneration = !!value;\r\n }\r\n\r\n get publicationYouBooky(): boolean {\r\n return this._publicationYouBooky;\r\n }\r\n set publicationYouBooky(value: boolean) {\r\n this._publicationYouBooky = !!value;\r\n }\r\n\r\n get publicationProductSheetGuid(): string | null {\r\n return this._publicationProductSheetGuid;\r\n }\r\n set publicationProductSheetGuid(value: string | null) {\r\n this._publicationProductSheetGuid = value;\r\n }\r\n\r\n get publicationProductSheetAssetGuid(): string | null {\r\n return this._publicationProductSheetAssetGuid;\r\n }\r\n set publicationProductSheetAssetGuid(value: string | null) {\r\n this._publicationProductSheetAssetGuid = value;\r\n }\r\n\r\n get publicationRelecturePDFs(): string[] {\r\n return this._publicationRelecturePDFs;\r\n }\r\n set publicationRelecturePDFs(value: string[]) {\r\n this._publicationRelecturePDFs = value || [];\r\n }\r\n\r\n get publicationTemplateDefaultBackgroundGuid(): string {\r\n return this._publicationTemplateDefaultBackgroundGuid;\r\n }\r\n set publicationTemplateDefaultBackgroundGuid(value: string) {\r\n this._publicationTemplateDefaultBackgroundGuid = value || '';\r\n }\r\n\r\n get publicationPageIdFirst(): string {\r\n return this._publicationPageIdFirst;\r\n }\r\n set publicationPageIdFirst(value: string) {\r\n this._publicationPageIdFirst = value || '';\r\n }\r\n\r\n get publicationTemplateBackgroundName(): string {\r\n return this._publicationTemplateBackgroundName;\r\n }\r\n set publicationTemplateBackgroundName(value: string) {\r\n this._publicationTemplateBackgroundName = value || '';\r\n }\r\n\r\n get publicationPreviewUrl(): string {\r\n return this._publicationPreviewUrl;\r\n }\r\n set publicationPreviewUrl(value: string) {\r\n this._publicationPreviewUrl = value || '';\r\n }\r\n\r\n get publicationTemplateName(): string {\r\n return this._publicationTemplateName;\r\n }\r\n set publicationTemplateName(value: string) {\r\n this._publicationTemplateName = value || '';\r\n }\r\n\r\n get publicationCoverpageUrl(): string {\r\n return this._publicationCoverpageUrl;\r\n }\r\n set publicationCoverpageUrl(value: string) {\r\n this._publicationCoverpageUrl = value || '';\r\n }\r\n\r\n get publicationNbPages(): number {\r\n return this._publicationNbPages;\r\n }\r\n set publicationNbPages(value: number) {\r\n this._publicationNbPages = value || 0;\r\n }\r\n\r\n get publicationNbSkus(): number {\r\n return this._publicationNbSkus;\r\n }\r\n set publicationNbSkus(value: number) {\r\n this._publicationNbSkus = value || 0;\r\n }\r\n\r\n get selectionCode(): string {\r\n return this._selectionCode;\r\n }\r\n set selectionCode(value: string) {\r\n this._selectionCode = value || '';\r\n }\r\n\r\n get publicationPages(): PublicationPage[] {\r\n return this._publicationPages;\r\n }\r\n set publicationPages(value: PublicationPage[]) {\r\n this._publicationPages = value || [];\r\n }\r\n\r\n get publicationFolderGuid(): string {\r\n return this._publicationFolderGuid;\r\n }\r\n set publicationFolderGuid(value: string) {\r\n this._publicationFolderGuid = value || '';\r\n }\r\n\r\n // PascalCase Backward Compatibility Getters & Setters\r\n get PublicationGuid(): string {\r\n return this.publicationGuid;\r\n }\r\n set PublicationGuid(value: string) {\r\n this.publicationGuid = value;\r\n }\r\n\r\n get PublicationId(): number {\r\n return this.publicationId;\r\n }\r\n set PublicationId(value: number) {\r\n this.publicationId = value;\r\n }\r\n\r\n get PublicationLocked(): boolean {\r\n return this.publicationLocked;\r\n }\r\n set PublicationLocked(value: boolean) {\r\n this.publicationLocked = value;\r\n }\r\n\r\n get PublicationName(): string {\r\n return this.publicationName;\r\n }\r\n set PublicationName(value: string) {\r\n this.publicationName = value;\r\n }\r\n\r\n get PublicationDescription(): string {\r\n return this.publicationDescription;\r\n }\r\n set PublicationDescription(value: string) {\r\n this.publicationDescription = value;\r\n }\r\n\r\n get PublicationValidationDate(): Date | string | null {\r\n return this.publicationValidationDate;\r\n }\r\n set PublicationValidationDate(value: Date | string | null) {\r\n this.publicationValidationDate = value;\r\n }\r\n\r\n get PublicationDeadline(): Date | string | null {\r\n return this.publicationDeadline;\r\n }\r\n set PublicationDeadline(value: Date | string | null) {\r\n this.publicationDeadline = value;\r\n }\r\n\r\n get PublicationActive(): boolean {\r\n return this.publicationActive;\r\n }\r\n set PublicationActive(value: boolean) {\r\n this.publicationActive = value;\r\n }\r\n\r\n get PublicationStatus(): number {\r\n return this.publicationStatus;\r\n }\r\n set PublicationStatus(value: number) {\r\n this.publicationStatus = value;\r\n }\r\n\r\n get PublicationRemarks(): string {\r\n return this.publicationRemarks;\r\n }\r\n set PublicationRemarks(value: string) {\r\n this.publicationRemarks = value;\r\n }\r\n\r\n get PublicationMasterINDD(): string {\r\n return this.publicationMasterINDD;\r\n }\r\n set PublicationMasterINDD(value: string) {\r\n this.publicationMasterINDD = value;\r\n }\r\n\r\n get PublicationLibraryINDL(): string {\r\n return this.publicationLibraryINDL;\r\n }\r\n set PublicationLibraryINDL(value: string) {\r\n this.publicationLibraryINDL = value;\r\n }\r\n\r\n get PublicationFinalINDD(): string {\r\n return this.publicationFinalINDD;\r\n }\r\n set PublicationFinalINDD(value: string) {\r\n this.publicationFinalINDD = value;\r\n }\r\n\r\n get PublicationPDF(): string {\r\n return this.publicationPDF;\r\n }\r\n set PublicationPDF(value: string) {\r\n this.publicationPDF = value;\r\n }\r\n\r\n get PublicationTotalPages(): number {\r\n return this.publicationTotalPages;\r\n }\r\n set PublicationTotalPages(value: number) {\r\n this.publicationTotalPages = value;\r\n }\r\n\r\n get PublicationContents(): string {\r\n return this.publicationContents;\r\n }\r\n set PublicationContents(value: string) {\r\n this.publicationContents = value;\r\n }\r\n\r\n get PublicationMasterSpreads(): string {\r\n return this.publicationMasterSpreads;\r\n }\r\n set PublicationMasterSpreads(value: string) {\r\n this.publicationMasterSpreads = value;\r\n }\r\n\r\n get PublicationFormat(): string {\r\n return this.publicationFormat;\r\n }\r\n set PublicationFormat(value: string) {\r\n this.publicationFormat = value;\r\n }\r\n\r\n get PublicationOrientationPortrait(): boolean {\r\n return this.publicationOrientationPortrait;\r\n }\r\n set PublicationOrientationPortrait(value: boolean) {\r\n this.publicationOrientationPortrait = value;\r\n }\r\n\r\n get PublicationPreview(): string {\r\n return this.publicationPreview;\r\n }\r\n set PublicationPreview(value: string) {\r\n this.publicationPreview = value;\r\n }\r\n\r\n get PublicationDraft(): string {\r\n return this.publicationDraft;\r\n }\r\n set PublicationDraft(value: string) {\r\n this.publicationDraft = value;\r\n }\r\n\r\n get PublicationBeta(): string {\r\n return this.publicationBeta;\r\n }\r\n set PublicationBeta(value: string) {\r\n this.publicationBeta = value;\r\n }\r\n\r\n get PublicationAlpha(): string {\r\n return this.publicationAlpha;\r\n }\r\n set PublicationAlpha(value: string) {\r\n this.publicationAlpha = value;\r\n }\r\n\r\n get PublicationProgress(): number {\r\n return this.publicationProgress;\r\n }\r\n set PublicationProgress(value: number) {\r\n this.publicationProgress = value;\r\n }\r\n\r\n get PublicationType(): string {\r\n return this.publicationType;\r\n }\r\n set PublicationType(value: string) {\r\n this.publicationType = value;\r\n }\r\n\r\n get PublicationVersion(): number {\r\n return this.publicationVersion;\r\n }\r\n set PublicationVersion(value: number) {\r\n this.publicationVersion = value;\r\n }\r\n\r\n get PublicationLangsBlocked(): string[] {\r\n return this.publicationLangsBlocked;\r\n }\r\n set PublicationLangsBlocked(value: string[]) {\r\n this.publicationLangsBlocked = value;\r\n }\r\n\r\n get PublicationPageStart(): number {\r\n return this.publicationPageStart;\r\n }\r\n set PublicationPageStart(value: number) {\r\n this.publicationPageStart = value;\r\n }\r\n\r\n get PublicationPageStartLeft(): boolean {\r\n return this.publicationPageStartLeft;\r\n }\r\n set PublicationPageStartLeft(value: boolean) {\r\n this.publicationPageStartLeft = value;\r\n }\r\n\r\n get PublicationTemplateGuid(): string {\r\n return this.publicationTemplateGuid;\r\n }\r\n set PublicationTemplateGuid(value: string) {\r\n this.publicationTemplateGuid = value;\r\n }\r\n\r\n get PublicationCoverpage(): string {\r\n return this.publicationCoverpage;\r\n }\r\n set PublicationCoverpage(value: string) {\r\n this.publicationCoverpage = value;\r\n }\r\n\r\n get PublicationDealGuid(): string {\r\n return this.publicationDealGuid;\r\n }\r\n set PublicationDealGuid(value: string) {\r\n this.publicationDealGuid = value;\r\n }\r\n\r\n get PublicationRatebase(): number {\r\n return this.publicationRatebase;\r\n }\r\n set PublicationRatebase(value: number) {\r\n this.publicationRatebase = value;\r\n }\r\n\r\n get PublicationPriceListGuid(): string {\r\n return this.publicationPriceListGuid;\r\n }\r\n set PublicationPriceListGuid(value: string) {\r\n this.publicationPriceListGuid = value;\r\n }\r\n\r\n get PublicationAccountGuid(): string {\r\n return this.publicationAccountGuid;\r\n }\r\n set PublicationAccountGuid(value: string) {\r\n this.publicationAccountGuid = value;\r\n }\r\n\r\n get PublicationAttributes(): any[] {\r\n return this.publicationAttributes;\r\n }\r\n set PublicationAttributes(value: any[]) {\r\n this.publicationAttributes = value;\r\n }\r\n\r\n get PublicationLanguage(): string {\r\n return this.publicationLanguage;\r\n }\r\n set PublicationLanguage(value: string) {\r\n this.publicationLanguage = value;\r\n }\r\n\r\n get PublicationAutoGeneration(): boolean {\r\n return this.publicationAutoGeneration;\r\n }\r\n set PublicationAutoGeneration(value: boolean) {\r\n this.publicationAutoGeneration = value;\r\n }\r\n\r\n get PublicationYouBooky(): boolean {\r\n return this.publicationYouBooky;\r\n }\r\n set PublicationYouBooky(value: boolean) {\r\n this.publicationYouBooky = value;\r\n }\r\n\r\n get PublicationProductSheetGuid(): string | null {\r\n return this.publicationProductSheetGuid;\r\n }\r\n set PublicationProductSheetGuid(value: string | null) {\r\n this.publicationProductSheetGuid = value;\r\n }\r\n\r\n get PublicationProductSheetAssetGuid(): string | null {\r\n return this.publicationProductSheetAssetGuid;\r\n }\r\n set PublicationProductSheetAssetGuid(value: string | null) {\r\n this.publicationProductSheetAssetGuid = value;\r\n }\r\n\r\n get PublicationRelecturePDFs(): string[] {\r\n return this.publicationRelecturePDFs;\r\n }\r\n set PublicationRelecturePDFs(value: string[]) {\r\n this.publicationRelecturePDFs = value;\r\n }\r\n\r\n get PublicationTemplateDefaultBackgroundGuid(): string {\r\n return this.publicationTemplateDefaultBackgroundGuid;\r\n }\r\n set PublicationTemplateDefaultBackgroundGuid(value: string) {\r\n this.publicationTemplateDefaultBackgroundGuid = value;\r\n }\r\n\r\n get PublicationPageIdFirst(): string {\r\n return this.publicationPageIdFirst;\r\n }\r\n set PublicationPageIdFirst(value: string) {\r\n this.publicationPageIdFirst = value;\r\n }\r\n\r\n get PublicationTemplateBackgroundName(): string {\r\n return this.publicationTemplateBackgroundName;\r\n }\r\n set PublicationTemplateBackgroundName(value: string) {\r\n this.publicationTemplateBackgroundName = value;\r\n }\r\n\r\n get PublicationPreviewUrl(): string {\r\n return this.publicationPreviewUrl;\r\n }\r\n set PublicationPreviewUrl(value: string) {\r\n this.publicationPreviewUrl = value;\r\n }\r\n\r\n get PublicationTemplateName(): string {\r\n return this.publicationTemplateName;\r\n }\r\n set PublicationTemplateName(value: string) {\r\n this.publicationTemplateName = value;\r\n }\r\n\r\n get PublicationCoverpageUrl(): string {\r\n return this.publicationCoverpageUrl;\r\n }\r\n set PublicationCoverpageUrl(value: string) {\r\n this.publicationCoverpageUrl = value;\r\n }\r\n\r\n get PublicationNbPages(): number {\r\n return this.publicationNbPages;\r\n }\r\n set PublicationNbPages(value: number) {\r\n this.publicationNbPages = value;\r\n }\r\n\r\n get PublicationNbSkus(): number {\r\n return this.publicationNbSkus;\r\n }\r\n set PublicationNbSkus(value: number) {\r\n this.publicationNbSkus = value;\r\n }\r\n\r\n get SelectionCode(): string {\r\n return this.selectionCode;\r\n }\r\n set SelectionCode(value: string) {\r\n this.selectionCode = value;\r\n }\r\n\r\n get PublicationPages(): PublicationPage[] {\r\n return this.publicationPages;\r\n }\r\n set PublicationPages(value: PublicationPage[]) {\r\n this.publicationPages = value;\r\n }\r\n\r\n get PublicationFolderGuid(): string {\r\n return this.publicationFolderGuid;\r\n }\r\n set PublicationFolderGuid(value: string) {\r\n this.publicationFolderGuid = value;\r\n }\r\n\r\n toJSON() {\r\n return {\r\n publicationGuid: this.publicationGuid,\r\n publicationId: this.publicationId,\r\n publicationLocked: this.publicationLocked,\r\n publicationName: this.publicationName,\r\n publicationDescription: this.publicationDescription,\r\n publicationValidationDate: this.publicationValidationDate,\r\n publicationDeadline: this.publicationDeadline,\r\n publicationActive: this.publicationActive,\r\n publicationStatus: this.publicationStatus,\r\n publicationRemarks: this.publicationRemarks,\r\n publicationMasterINDD: this.publicationMasterINDD,\r\n publicationLibraryINDL: this.publicationLibraryINDL,\r\n publicationFinalINDD: this.publicationFinalINDD,\r\n publicationPDF: this.publicationPDF,\r\n publicationTotalPages: this.publicationTotalPages,\r\n publicationContents: this.publicationContents,\r\n publicationMasterSpreads: this.publicationMasterSpreads,\r\n publicationFormat: this.publicationFormat,\r\n publicationOrientationPortrait: this.publicationOrientationPortrait,\r\n publicationPreview: this.publicationPreview,\r\n publicationDraft: this.publicationDraft,\r\n publicationBeta: this.publicationBeta,\r\n publicationAlpha: this.publicationAlpha,\r\n publicationProgress: this.publicationProgress,\r\n publicationType: this.publicationType,\r\n publicationVersion: this.publicationVersion,\r\n publicationLangsBlocked: this.publicationLangsBlocked,\r\n publicationPageStart: this.publicationPageStart,\r\n publicationPageStartLeft: this.publicationPageStartLeft,\r\n publicationTemplateGuid: this.publicationTemplateGuid,\r\n publicationCoverpage: this.publicationCoverpage,\r\n publicationDealGuid: this.publicationDealGuid,\r\n publicationRatebase: this.publicationRatebase,\r\n publicationPriceListGuid: this.publicationPriceListGuid,\r\n publicationAccountGuid: this.publicationAccountGuid,\r\n publicationAttributes: this.publicationAttributes,\r\n publicationLanguage: this.publicationLanguage,\r\n publicationAutoGeneration: this.publicationAutoGeneration,\r\n publicationYouBooky: this.publicationYouBooky,\r\n publicationProductSheetGuid: this.publicationProductSheetGuid,\r\n publicationProductSheetAssetGuid: this.publicationProductSheetAssetGuid,\r\n publicationRelecturePDFs: this.publicationRelecturePDFs,\r\n publicationTemplateDefaultBackgroundGuid: this.publicationTemplateDefaultBackgroundGuid,\r\n publicationPageIdFirst: this.publicationPageIdFirst,\r\n publicationTemplateBackgroundName: this.publicationTemplateBackgroundName,\r\n publicationPreviewUrl: this.publicationPreviewUrl,\r\n publicationTemplateName: this.publicationTemplateName,\r\n publicationCoverpageUrl: this.publicationCoverpageUrl,\r\n publicationNbPages: this.publicationNbPages,\r\n publicationNbSkus: this.publicationNbSkus,\r\n publicationFolderGuid: this.publicationFolderGuid,\r\n selectionCode: this.selectionCode,\r\n publicationPages: this.publicationPages.map((p) => p.toJSON()),\r\n };\r\n }\r\n}\r\n","export enum PublicationDataType {\r\n PRODUCT = 'PRODUCT',\r\n LINEBREAK = 'LINEBREAK',\r\n PAGEBREAK = 'PAGEBREAK',\r\n}\r\n\r\nexport interface PublicationDataProps {\r\n attributePublication?: any[];\r\n skus?: any[];\r\n priceObject?: any;\r\n hasVariant?: string | boolean;\r\n gabaritSelected?: any;\r\n\r\n publicationGuid?: string;\r\n pageId?: number;\r\n guid?: string;\r\n reference?: string;\r\n groupGuid?: string;\r\n order?: number;\r\n documentGuid?: string;\r\n modifiedAt?: Date | string | null;\r\n gabaritName?: string;\r\n extras?: string;\r\n isMarketingBlock?: boolean;\r\n skuGuids?: string[];\r\n skuGuidsToExclude?: string[];\r\n skuGroupOriginal?: string;\r\n sku?: string;\r\n name?: any;\r\n description?: any;\r\n picture?: any;\r\n attributes?: any[];\r\n splitVariantTable?: boolean;\r\n exist?: boolean;\r\n type?: PublicationDataType | string;\r\n}\r\n\r\nexport class PublicationData {\r\n // Dynamic properties attached dynamically in preview/generation pipelines\r\n public attributePublication?: any[];\r\n public skus?: any[];\r\n public priceObject?: any;\r\n public hasVariant?: string | boolean;\r\n public gabaritSelected?: any;\r\n\r\n private _publicationGuid: string = '';\r\n private _pageId: number = 0;\r\n private _guid: string = '';\r\n private _reference: string = '';\r\n private _groupGuid: string = '';\r\n private _order: number = 0;\r\n private _documentGuid: string = '';\r\n private _modifiedAt: Date | string | null = null;\r\n private _gabaritName: string = '';\r\n private _extras: string = '';\r\n private _isMarketingBlock: boolean = false;\r\n private _skuGuids: string[] = [];\r\n private _skuGuidsToExclude: string[] = [];\r\n private _skuGroupOriginal: string = '';\r\n private _sku: string = '';\r\n private _name: any = {};\r\n private _description: any = {};\r\n private _picture: any = {};\r\n private _attributes: any[] = [];\r\n private _splitVariantTable: boolean = true;\r\n private _exist: boolean = true;\r\n private _type: PublicationDataType = PublicationDataType.PRODUCT;\r\n\r\n constructor(data: PublicationDataProps = {}) {\r\n this.attributePublication = data.attributePublication;\r\n this.skus = data.skus;\r\n this.priceObject = data.priceObject;\r\n this.hasVariant = data.hasVariant;\r\n this.gabaritSelected = data.gabaritSelected;\r\n\r\n this._publicationGuid = data.publicationGuid ?? '';\r\n this.pageId = data.pageId ?? 0;\r\n this.guid = data.guid ?? '';\r\n this.reference = data.reference ?? '';\r\n this.groupGuid = data.groupGuid ?? '';\r\n this.order = data.order ?? 0;\r\n this.documentGuid = data.documentGuid ?? '';\r\n this.modifiedAt = data.modifiedAt ?? null;\r\n this.gabaritName = data.gabaritName ?? '';\r\n this.extras = data.extras ?? '';\r\n this.isMarketingBlock = data.isMarketingBlock ?? false;\r\n this.skuGuids = data.skuGuids ?? [];\r\n this.skuGuidsToExclude = data.skuGuidsToExclude ?? [];\r\n this.skuGroupOriginal = data.skuGroupOriginal ?? '';\r\n this.sku = data.sku ?? '';\r\n this.name = data.name ?? {};\r\n this.description = data.description ?? {};\r\n this.picture = data.picture ?? {};\r\n this.attributes = data.attributes ?? [];\r\n this.splitVariantTable = data.splitVariantTable ?? true;\r\n this.exist = data.exist ?? false;\r\n this.type = (data.type as PublicationDataType) ?? PublicationDataType.PRODUCT;\r\n }\r\n\r\n // Getters and Setters for the new cleaned properties\r\n get publicationGuid(): string {\r\n return this._publicationGuid;\r\n }\r\n set publicationGuid(value: string) {\r\n this._publicationGuid = value || '';\r\n }\r\n\r\n get pageId(): number {\r\n return this._pageId;\r\n }\r\n set pageId(value: number) {\r\n this._pageId = value || 0;\r\n }\r\n\r\n get guid(): string {\r\n return this._guid;\r\n }\r\n set guid(value: string) {\r\n this._guid = value || '';\r\n }\r\n\r\n get reference(): string {\r\n return this._reference;\r\n }\r\n set reference(value: string) {\r\n this._reference = value || '';\r\n }\r\n\r\n get groupGuid(): string {\r\n return this._groupGuid;\r\n }\r\n set groupGuid(value: string) {\r\n this._groupGuid = value || '';\r\n }\r\n\r\n get order(): number {\r\n return this._order;\r\n }\r\n set order(value: number) {\r\n this._order = value || 0;\r\n }\r\n\r\n get documentGuid(): string {\r\n return this._documentGuid;\r\n }\r\n set documentGuid(value: string) {\r\n this._documentGuid = value || '';\r\n }\r\n\r\n get modifiedAt(): Date | string | null {\r\n return this._modifiedAt;\r\n }\r\n set modifiedAt(value: Date | string | null) {\r\n this._modifiedAt = value;\r\n }\r\n\r\n get gabaritName(): string {\r\n return this._gabaritName;\r\n }\r\n set gabaritName(value: string) {\r\n this._gabaritName = value || '';\r\n }\r\n\r\n get extras(): string {\r\n return this._extras;\r\n }\r\n set extras(value: string) {\r\n this._extras = value || '';\r\n }\r\n\r\n get isMarketingBlock(): boolean {\r\n return this._isMarketingBlock;\r\n }\r\n set isMarketingBlock(value: boolean) {\r\n this._isMarketingBlock = !!value;\r\n }\r\n\r\n get skuGuids(): string[] {\r\n return this._skuGuids;\r\n }\r\n set skuGuids(value: string[]) {\r\n this._skuGuids = value || [];\r\n }\r\n\r\n get skuGuidsToExclude(): string[] {\r\n return this._skuGuidsToExclude;\r\n }\r\n set skuGuidsToExclude(value: string[]) {\r\n this._skuGuidsToExclude = value || [];\r\n }\r\n\r\n get skuGroupOriginal(): string {\r\n return this._skuGroupOriginal;\r\n }\r\n set skuGroupOriginal(value: string) {\r\n this._skuGroupOriginal = value || '';\r\n }\r\n\r\n get sku(): string {\r\n return this._sku;\r\n }\r\n set sku(value: string) {\r\n this._sku = value || '';\r\n }\r\n\r\n get name(): any {\r\n return this._name;\r\n }\r\n set name(value: any) {\r\n this._name = value || {};\r\n }\r\n\r\n get description(): any {\r\n return this._description;\r\n }\r\n set description(value: any) {\r\n this._description = value || {};\r\n }\r\n\r\n get picture(): any {\r\n return this._picture;\r\n }\r\n set picture(value: any) {\r\n this._picture = value || {};\r\n }\r\n\r\n get attributes(): any[] {\r\n return this._attributes;\r\n }\r\n set attributes(value: any[]) {\r\n this._attributes = value || [];\r\n }\r\n\r\n get splitVariantTable(): boolean {\r\n return this._splitVariantTable;\r\n }\r\n set splitVariantTable(value: boolean) {\r\n this._splitVariantTable = !!value;\r\n }\r\n\r\n get exist(): boolean {\r\n return this._exist;\r\n }\r\n set exist(value: boolean) {\r\n this._exist = !!value;\r\n }\r\n\r\n get type(): string {\r\n return this._type;\r\n }\r\n set type(value: string) {\r\n this._type = (value as PublicationDataType) || PublicationDataType.PRODUCT;\r\n }\r\n\r\n get isLineBreak(): boolean {\r\n return this._type === PublicationDataType.LINEBREAK;\r\n }\r\n\r\n get isPageBreak(): boolean {\r\n return this._type === PublicationDataType.PAGEBREAK;\r\n }\r\n\r\n get isBreak(): boolean {\r\n return this.isLineBreak || this.isPageBreak;\r\n }\r\n\r\n get isProduct(): boolean {\r\n return this._type === PublicationDataType.PRODUCT;\r\n }\r\n\r\n static createLineBreak(data: Partial<PublicationDataProps> = {}): PublicationData {\r\n return new PublicationData({\r\n ...data,\r\n type: PublicationDataType.LINEBREAK,\r\n });\r\n }\r\n\r\n static createPageBreak(data: Partial<PublicationDataProps> = {}): PublicationData {\r\n return new PublicationData({\r\n ...data,\r\n type: PublicationDataType.PAGEBREAK,\r\n });\r\n }\r\n\r\n // Serialization to plain JSON for backend API calls\r\n toJSON() {\r\n return {\r\n publicationGuid: this.publicationGuid,\r\n pageId: this.pageId,\r\n guid: this.guid,\r\n reference: this.reference,\r\n groupGuid: this.groupGuid,\r\n order: this.order,\r\n documentGuid: this.documentGuid,\r\n modifiedAt: this.modifiedAt,\r\n gabaritName: this.gabaritName,\r\n extras: this.extras,\r\n isMarketingBlock: this.isMarketingBlock,\r\n skuGuids: this.skuGuids,\r\n skuGuidsToExclude: this.skuGuidsToExclude,\r\n skuGroupOriginal: this.skuGroupOriginal,\r\n sku: this.sku,\r\n name: this.name,\r\n description: this.description,\r\n picture: this.picture,\r\n attributes: this.attributes,\r\n splitVariantTable: this.splitVariantTable,\r\n exist: this.exist,\r\n type: this.type,\r\n attributePublication: this.attributePublication,\r\n skus: this.skus,\r\n priceObject: this.priceObject,\r\n hasVariant: this.hasVariant,\r\n gabaritSelected: this.gabaritSelected,\r\n };\r\n }\r\n}\r\n\r\nexport class PublicationBreak extends PublicationData {\r\n constructor(type: PublicationDataType | 'LINEBREAK' | 'PAGEBREAK', data: Partial<PublicationDataProps> = {}) {\r\n super({\r\n ...data,\r\n type: type,\r\n reference: '',\r\n groupGuid: '',\r\n documentGuid: '',\r\n modifiedAt: null,\r\n gabaritName: '',\r\n extras: '',\r\n isMarketingBlock: false,\r\n exist: true,\r\n });\r\n }\r\n}\r\n\r\nexport interface PublicationProductsResponse {\r\n getPublicationProductsOfAPage: PublicationData[];\r\n getPublicationNumberProductsOfAPage: number;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { finalize, map } from 'rxjs/operators';\r\nimport { Observable, defer } from 'rxjs';\r\nimport { HubConnectionState } from '@aspnet/signalr';\r\nimport { SettingsService } from '../../settings.service';\r\nimport { websocketService } from '../../websocket.service';\r\nimport { Publication } from './publication.model';\r\nimport {\r\n PublicationPage,\r\n PublicationPagesResponse,\r\n} from './publication-page.model';\r\nimport {\r\n PublicationData,\r\n PublicationProductsResponse,\r\n} from './publication-data.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PublicationsService {\r\n constructor(\r\n private readonly _settingsService: SettingsService,\r\n private readonly http: HttpClient,\r\n private readonly _webSocket: websocketService,\r\n ) {}\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n //Is present in this page\r\n isPresent(\r\n publicationGuid: string,\r\n publicationDataReference: string,\r\n isSku: any,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/pages/skusgroups/ispresent',\r\n {\r\n publicationGuid: publicationGuid,\r\n publicationDataReference: publicationDataReference,\r\n isSku: isSku,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n getAllPagesByPublication(publicationGuid: string, language: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'DataSheets/previews?publicationGuid=' +\r\n publicationGuid +\r\n '&language=' +\r\n language,\r\n { headers },\r\n );\r\n }\r\n\r\n //get export easy catalog\r\n getExportEasycatalog(publicationGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Exchanges/export/easycatalog/' +\r\n publicationGuid,\r\n { headers },\r\n );\r\n }\r\n\r\n //get datasheets\r\n getDataSheets(\r\n source: string | number,\r\n sourceGuid: string,\r\n language: string,\r\n hd: boolean = false,\r\n youbooky: boolean = false,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'DataSheets/exists?source=' +\r\n source +\r\n '&sourceGuid=' +\r\n sourceGuid +\r\n '&language=' +\r\n language +\r\n '&hd=' +\r\n hd +\r\n '&youbooky=' +\r\n youbooky,\r\n { headers },\r\n );\r\n }\r\n\r\n //get xml\r\n getEasyCatalog(publication: Publication, lang: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Exchanges/export/easycatalog',\r\n {\r\n publicationGuid: publication.publicationGuid.toString(),\r\n exchangeLanguage: lang,\r\n },\r\n { headers },\r\n );\r\n }\r\n\r\n getEasyCatalogXML(publication: Publication, lang: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Exchanges/export/easycatalog/xml',\r\n {\r\n publicationGuid: publication.publicationGuid.toString(),\r\n exchangeLanguage: lang,\r\n },\r\n { headers },\r\n );\r\n }\r\n\r\n //Get all publications\r\n getGabarit() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/pages/skusgroups/gabarit',\r\n { headers },\r\n );\r\n }\r\n\r\n //Get one publication\r\n getPublication(publicationGuid: string): Observable<Publication> {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/' +\r\n publicationGuid,\r\n { headers },\r\n )\r\n .pipe(\r\n map((res: any) => {\r\n if (res && res.publication) {\r\n res.publication = new Publication(res.publication);\r\n }\r\n return res;\r\n }),\r\n );\r\n }\r\n\r\n getPublicationDocuments(publication: Publication) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/' +\r\n publication.publicationGuid +\r\n '/documents',\r\n { headers },\r\n );\r\n }\r\n\r\n migratePublication(publicationGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Publications/migrate',\r\n { publicationGuid },\r\n { headers },\r\n );\r\n }\r\n\r\n //Get page of publication\r\n getPageOfPublication(\r\n publication: Publication,\r\n ): Observable<PublicationPagesResponse> {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/' +\r\n publication.publicationGuid +\r\n '/pages',\r\n { headers },\r\n )\r\n .pipe(\r\n map((res: any) => {\r\n if (res && res.getPublicationPages) {\r\n res.getPublicationPages = res.getPublicationPages.map(\r\n (item: any) => new PublicationPage(item),\r\n );\r\n }\r\n return res as PublicationPagesResponse;\r\n }),\r\n );\r\n }\r\n\r\n //Get page by his numero\r\n getSkuForThisPage(\r\n publicationPage: PublicationPage,\r\n limit = 50,\r\n ): Observable<PublicationProductsResponse> {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/' +\r\n publicationPage.publicationGuid +\r\n '/pages/' +\r\n publicationPage.pageId +\r\n '?limit=' +\r\n limit,\r\n { headers },\r\n )\r\n .pipe(\r\n map((res: any) => {\r\n if (res && res.getPublicationProductsOfAPage) {\r\n res.getPublicationProductsOfAPage =\r\n res.getPublicationProductsOfAPage.map(\r\n (item: any) => new PublicationData(item),\r\n );\r\n }\r\n return res as PublicationProductsResponse;\r\n }),\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n CREATE\r\n ======================================================================== */\r\n\r\n //Create a publication\r\n createPublication(publication: Publication) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Publications',\r\n {\r\n publicationName: publication.publicationName,\r\n publicationFolderGuid: publication.publicationFolderGuid,\r\n publicationTemplateGuid: publication.publicationTemplateGuid,\r\n publicationRatebase: publication.publicationRatebase,\r\n publicationPriceListGuid: publication.publicationPriceListGuid,\r\n publicationAccountGuid: publication.publicationAccountGuid,\r\n publicationLanguage: publication.publicationLanguage,\r\n publicationProductSheetGuid: publication.publicationProductSheetGuid,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (\r\n this._webSocket.connection?.state === HubConnectionState.Connected\r\n ) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n }),\r\n );\r\n }\r\n\r\n createPublicationDeal(publication: Publication) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Publications/deal',\r\n {\r\n sourceId: publication.publicationGuid,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (\r\n this._webSocket.connection?.state === HubConnectionState.Connected\r\n ) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n }),\r\n );\r\n }\r\n\r\n //Create a Gabarit\r\n assignGabaritReference(\r\n listingPublicationDataGuidToUpdateGabarit: any,\r\n gabarit: string,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/pages/skusgroups/gabarit',\r\n {\r\n listingPublicationDataGuidToUpdateGabarit:\r\n listingPublicationDataGuidToUpdateGabarit,\r\n gabarit: gabarit,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (\r\n this._webSocket.connection?.state === HubConnectionState.Connected\r\n ) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n }),\r\n );\r\n }\r\n\r\n //create product in publication\r\n createProductInPublication(products: PublicationData | PublicationData[]) {\r\n let payload: any;\r\n if (Array.isArray(products)) {\r\n payload = products.map((item) =>\r\n typeof item?.toJSON === 'function' ? item.toJSON() : item,\r\n );\r\n } else {\r\n payload =\r\n typeof products?.toJSON === 'function' ? products.toJSON() : products;\r\n }\r\n\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/assignSkusGroups',\r\n {\r\n listingGroupsToAdding: payload,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (\r\n this._webSocket.connection?.state === HubConnectionState.Connected\r\n ) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n }),\r\n );\r\n }\r\n\r\n checkProductInPublication(\r\n products: PublicationData | PublicationData[],\r\n templateGuid: string,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n let payload: any;\r\n if (Array.isArray(products)) {\r\n payload = products.map((item) =>\r\n typeof item?.toJSON === 'function' ? item.toJSON() : item,\r\n );\r\n } else {\r\n payload =\r\n typeof products?.toJSON === 'function' ? products.toJSON() : products;\r\n }\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/checkSkusGroups',\r\n {\r\n listingGroupsToAdding: payload,\r\n templateGuid: templateGuid,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (\r\n this._webSocket.connection?.state === HubConnectionState.Connected\r\n ) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n }),\r\n );\r\n }\r\n\r\n checkExcludeProductInPublication(\r\n products: PublicationData | PublicationData[],\r\n ) {\r\n let payload: any;\r\n if (Array.isArray(products)) {\r\n payload = products.map((item) =>\r\n typeof item?.toJSON === 'function' ? item.toJSON() : item,\r\n );\r\n } else {\r\n payload =\r\n typeof products?.toJSON === 'function' ? products.toJSON() : products;\r\n }\r\n\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/checkExcludeSkusGroups',\r\n {\r\n listingGroupsToExclude: payload,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (\r\n this._webSocket.connection?.state === HubConnectionState.Connected\r\n ) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n }),\r\n );\r\n }\r\n\r\n //Duplicate a publication\r\n duplicatePublication(\r\n sourcePublicationGuid: string,\r\n targetPublication: Publication,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Publications/duplicate',\r\n {\r\n publicationGuid: sourcePublicationGuid, //publication of old publication to duplicate\r\n publicationName: targetPublication.publicationName, //new name\r\n publicationFolderGuid: targetPublication.publicationFolderGuid, //folder where to put the new publication\r\n publicationRatebase: targetPublication.publicationRatebase, //ratebase of the new publication\r\n publicationPriceListGuid: targetPublication.publicationPriceListGuid, //pricelist of the new publication\r\n publicationAccountGuid: targetPublication.publicationAccountGuid, //account of the new publication\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (\r\n this._webSocket.connection?.state === HubConnectionState.Connected\r\n ) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n }),\r\n );\r\n }\r\n\r\n // Create a template\r\n addTemplate(\r\n name: string,\r\n type: string,\r\n isActive: boolean,\r\n formatName: string,\r\n linkedBackgroundGuid: string,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'DataSheets/new',\r\n {\r\n publicationTemplateName: name,\r\n publicationTemplateType: type,\r\n publicationTemplateIsActive: isActive,\r\n publicationTemplateFormatName: formatName,\r\n publicationTemplateLinkedTemplate: linkedBackgroundGuid,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (\r\n this._webSocket.connection?.state === HubConnectionState.Connected\r\n ) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n }),\r\n );\r\n }\r\n\r\n // Duplicate a template\r\n duplicateTemplate(name: string, duplicateGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'DataSheets/duplicate',\r\n {\r\n publicationTemplateName: name,\r\n publicationTemplateGuid: duplicateGuid,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (\r\n this._webSocket.connection?.state === HubConnectionState.Connected\r\n ) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n }),\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n UPDATE\r\n ======================================================================== */\r\n\r\n updateFieldForPublication(\r\n publicationGuid: string,\r\n fieldName: string,\r\n fieldValue: any,\r\n attribute: any,\r\n language: any,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Publications/field',\r\n {\r\n publicationGuid: publicationGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n attribute: attribute,\r\n language: language,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n updateFieldForPublicationPages(\r\n publicationGuid: string,\r\n fieldName: string,\r\n fieldValue: any,\r\n attribute: any,\r\n language: any,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/pages/field',\r\n {\r\n publicationGuid: publicationGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n attribute: attribute,\r\n language: language,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n updateFieldForPublicationDatas(\r\n publicationDataGuid: string,\r\n fieldName: string,\r\n fieldValue: any,\r\n attribute: any,\r\n language: string,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/datas/field',\r\n {\r\n publicationDataGuid: publicationDataGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n attribute: attribute,\r\n language: language,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n setPublicationTemplateGuid(publicationGuid: string, templateGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let body = {\r\n publicationGuid: publicationGuid,\r\n fieldName: 'publicationTemplateGuid',\r\n fieldValue: templateGuid,\r\n };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Publications/field',\r\n body,\r\n { headers },\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (\r\n this._webSocket.connection?.state === HubConnectionState.Connected\r\n ) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n }),\r\n );\r\n }\r\n\r\n setPublicationCover(publicationGuid: string, covername: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let body = {\r\n publicationGuid: publicationGuid,\r\n fieldName: 'publicationCoverpage',\r\n fieldValue: covername + '.svg',\r\n };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Publications/field',\r\n body,\r\n { headers },\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (\r\n this._webSocket.connection?.state === HubConnectionState.Connected\r\n ) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n }),\r\n );\r\n }\r\n\r\n setPublicationStartPage(publicationGuid: string, startPageNumber: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let body = {\r\n publicationGuid: publicationGuid,\r\n fieldName: 'publicationPageStart',\r\n fieldValue: startPageNumber,\r\n };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Publications/field',\r\n body,\r\n { headers },\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (\r\n this._webSocket.connection?.state === HubConnectionState.Connected\r\n ) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n }),\r\n );\r\n }\r\n\r\n //Create a page in publication\r\n updateOrCreatePageInPublication(publicationPage: PublicationPage) {\r\n let payload =\r\n typeof publicationPage?.toJSON === 'function'\r\n ? publicationPage.toJSON()\r\n : publicationPage;\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Publications/pages',\r\n payload,\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (\r\n this._webSocket.connection?.state === HubConnectionState.Connected\r\n ) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n }),\r\n );\r\n }\r\n\r\n //update publication field\r\n updatePublicationField(\r\n publicationGuid: string,\r\n fieldName: string,\r\n fieldValue: any,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Publications/field',\r\n {\r\n publicationGuid: publicationGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (\r\n this._webSocket.connection?.state === HubConnectionState.Connected\r\n ) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n }),\r\n );\r\n }\r\n\r\n updatePublicationDataField(\r\n publicationDataGuid: string,\r\n fieldName: string,\r\n fieldValue: any,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/datasid/field',\r\n {\r\n publicationDataGuid: publicationDataGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (\r\n this._webSocket.connection?.state === HubConnectionState.Connected\r\n ) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n }),\r\n );\r\n }\r\n\r\n //Change the order of the section\r\n moveSections(publicationPageId: string | number, number: number) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/pages/ordershow',\r\n {\r\n publicationPageId: publicationPageId,\r\n number: number,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n moveSkusGroupInPage(\r\n skusData: { publicationDataGuid: string; number: number }[],\r\n ) {\r\n const headers = this._settingsService.getHeaders();\r\n const options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/pages/skusgroups/ordershow',\r\n skusData,\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (\r\n this._webSocket.connection?.state === HubConnectionState.Connected\r\n ) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n }),\r\n );\r\n }\r\n\r\n changeOrderSkusBySort(payload: any) {\r\n const headers = this._settingsService.getHeaders();\r\n const options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/pages/skusgroups/changeorder',\r\n payload,\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (\r\n this._webSocket.connection?.state === HubConnectionState.Connected\r\n ) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n }),\r\n );\r\n }\r\n\r\n moveSkusToNewSection(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/pages/skusgroups/move',\r\n object,\r\n options,\r\n );\r\n }\r\n\r\n updateTemplateField(\r\n publicationTemplateGuid: string,\r\n fieldName: string,\r\n fieldValue: any,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'DataSheets/field',\r\n {\r\n publicationTemplateGuid: publicationTemplateGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (\r\n this._webSocket.connection?.state === HubConnectionState.Connected\r\n ) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n }),\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n DELETE\r\n ======================================================================== */\r\n\r\n //delete pages in publication\r\n deletePagesInPublication(listingPagesToDelete: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .request(\r\n 'delete',\r\n this._settingsService.getSettings('apiUrl') + 'Publications/pages',\r\n {\r\n headers: headers,\r\n body: {\r\n listingPagesToDelete: listingPagesToDelete,\r\n },\r\n },\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (\r\n this._webSocket.connection?.state === HubConnectionState.Connected\r\n ) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n }),\r\n );\r\n }\r\n\r\n //delete product in publication\r\n deleteProductInPublication(listingSkusGroupsUidToDelete: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .request(\r\n 'delete',\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/removeSkusGroups',\r\n {\r\n headers: headers,\r\n body: {\r\n listingSkusGroupsToDelete: listingSkusGroupsUidToDelete,\r\n },\r\n },\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (\r\n this._webSocket.connection?.state === HubConnectionState.Connected\r\n ) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n }),\r\n );\r\n }\r\n upsertExcludeSkuGuids(\r\n publicationGuid: string,\r\n publicationPageId: string | number,\r\n publicationDataReference: string,\r\n skuGuidsExcludesCheck: any,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/pages/skusgroups/excludes',\r\n {\r\n publicationGuid: publicationGuid,\r\n publicationPageId: publicationPageId,\r\n publicationDataReference: publicationDataReference,\r\n listingUidToUpdateExcludes: skuGuidsExcludesCheck,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (\r\n this._webSocket.connection?.state === HubConnectionState.Connected\r\n ) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n }),\r\n );\r\n }\r\n\r\n // FIELDS FOR PUBLICATION\r\n getFieldsPublications() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') + 'Exchanges/allfields',\r\n { headers },\r\n );\r\n }\r\n\r\n getSkuForThisPagePreview(\r\n publicationGuid: string,\r\n publicationPageId: string | number,\r\n language: string,\r\n ratebase: number,\r\n priceListGuid: string | null,\r\n accountGuid: string | null,\r\n limit = 50,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/pages/skus?publicationGuid=' +\r\n publicationGuid +\r\n '&publicationPageId=' +\r\n publicationPageId +\r\n '&language=' +\r\n language +\r\n '&limit=' +\r\n limit +\r\n '&ratebase=' +\r\n ratebase +\r\n '&priceList=' +\r\n priceListGuid +\r\n '&accountGuid=' +\r\n accountGuid,\r\n { headers },\r\n );\r\n }\r\n\r\n // Only for sku (not catalog)\r\n getSkuPreview(\r\n sourceId: string | number,\r\n language: string,\r\n ratebase: number,\r\n priceListGuid: string | null,\r\n accountGuid: string | null,\r\n productSheetGuid: string | null = null,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let url =\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/sku?sourceId=' +\r\n sourceId +\r\n '&language=' +\r\n language +\r\n '&ratebase=' +\r\n ratebase +\r\n '&priceList=' +\r\n priceListGuid +\r\n '&accountGuid=' +\r\n accountGuid;\r\n if (productSheetGuid) {\r\n url += '&productSheetGuid=' + productSheetGuid;\r\n }\r\n return this.http.get(url, { headers });\r\n }\r\n\r\n getPublicationSkuPrice(publicationGuid: string, sku: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/pages/skuprice?publicationGuid=' +\r\n publicationGuid +\r\n '&skuRef=' +\r\n encodeURIComponent(sku),\r\n { headers },\r\n );\r\n }\r\n\r\n updatePublicationSkuPrice(\r\n publicationGuid: string,\r\n sku: string,\r\n skuPrice: any,\r\n skuPricePromotion: any,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/pages/skuprice',\r\n {\r\n publicationGuid: publicationGuid,\r\n skuRef: sku,\r\n skuPrice,\r\n skuPricePromotion,\r\n },\r\n { headers },\r\n );\r\n }\r\n\r\n // FONTS\r\n getFonts() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') + 'Publications/fonts',\r\n { headers },\r\n );\r\n }\r\n\r\n getFontFaceBase64(\r\n url: string,\r\n fontName: string,\r\n ): Observable<string | undefined> {\r\n const headers = this._settingsService.getHeaders();\r\n\r\n return defer(async () => {\r\n try {\r\n const response = await fetch(url, { headers });\r\n if (!response.ok) {\r\n throw new Error(\r\n `Erreur lors du téléchargement de la police : ${response.status}`,\r\n );\r\n }\r\n\r\n const blob = await response.blob();\r\n const base64 = await this.blobToBase64(blob);\r\n\r\n const { mime, type } = this.getFontMimeAndType(url);\r\n\r\n const cleanBase64 =\r\n typeof base64 === 'string' && base64.startsWith('data:')\r\n ? base64.split(',')[1]\r\n : base64;\r\n\r\n const fontFaceStyle = `\r\n @font-face {\r\n font-family: '${fontName}';\r\n src: url('data:${mime};base64,${cleanBase64}') format('${type}');\r\n font-weight: normal;\r\n font-style: normal;\r\n }\r\n `;\r\n\r\n return fontFaceStyle as string;\r\n } catch {\r\n console.log(\"[ERROR] Getting the font '\" + fontName + \"'\");\r\n return undefined;\r\n }\r\n });\r\n }\r\n\r\n blobToBase64(blob: Blob): Promise<string | ArrayBuffer> {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.onloadend = () => resolve(reader.result!);\r\n reader.onerror = reject;\r\n reader.readAsDataURL(blob);\r\n });\r\n }\r\n\r\n getFontMimeAndType(fileUrl: any) {\r\n const ext = fileUrl.split('.').pop().toLowerCase();\r\n switch (ext) {\r\n case 'otf':\r\n return { mime: 'font/otf', type: 'opentype' };\r\n case 'ttf':\r\n return { mime: 'font/ttf', type: 'truetype' };\r\n case 'woff':\r\n return { mime: 'font/woff', type: 'woff' };\r\n case 'woff2':\r\n return { mime: 'font/woff2', type: 'woff2' };\r\n default:\r\n return { mime: 'application/octet-stream', type: 'truetype' };\r\n }\r\n }\r\n\r\n // ***********************************************************************************\r\n // * DOCUMENTS\r\n // ***********************************************************************************\r\n\r\n createDocumentFromPublication(\r\n documentName: string,\r\n publicationGuid: string,\r\n folderSelected: string,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/documents',\r\n {\r\n documentName: documentName,\r\n documentType: 'publication',\r\n documentCatalogId: publicationGuid,\r\n folderGuid: folderSelected,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n createEmptyDocumentFromPublication(\r\n documentName: string,\r\n publicationGuid: string,\r\n folderSelected: string,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/documents',\r\n {\r\n documentName: documentName,\r\n documentType: 'publication',\r\n documentCatalogId: publicationGuid,\r\n folderGuid: folderSelected,\r\n isEmpty: true,\r\n empty: true,\r\n isBlank: true,\r\n createFromScratch: true,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n // ***********************************************************************************\r\n // * YOUBOOKY\r\n // ***********************************************************************************\r\n\r\n shareToYoubooky(publicationGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Publications/youbooky',\r\n {\r\n publicationGuid: publicationGuid,\r\n type: 'publications',\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n}\r\n","export const DEFAULT_TEMPLATEGUID = '00000000-0000-0000-0000-000000000000';\r\n\r\nexport interface TemplateProps {\r\n id?: number;\r\n guid?: string;\r\n name?: string;\r\n defaultBackground?: string;\r\n defaultProductBlock?: string;\r\n unit?: string;\r\n version?: number;\r\n productSheetAssetGuid?: string | null;\r\n}\r\n\r\nexport class Template {\r\n private _id: number = -1;\r\n private _guid: string | null = null;\r\n private _name: string | null = null;\r\n private _defaultBackground: string = '';\r\n private _defaultProductBlock: string = '';\r\n private _unit: string = 'mm';\r\n private _version: number = 0;\r\n private _productSheetAssetGuid: string | null = null;\r\n\r\n constructor(data: TemplateProps = {}) {\r\n this.id = data.id ?? -1;\r\n this.name = data.name ?? '';\r\n this.guid = data.guid ?? null;\r\n this.defaultBackground = data.defaultBackground ?? '';\r\n this.defaultProductBlock = data.defaultProductBlock ?? '';\r\n this.unit = data.unit ?? 'mm';\r\n this.version = data.version ?? 0;\r\n this.productSheetAssetGuid = data.productSheetAssetGuid ?? null;\r\n }\r\n\r\n get id(): number {\r\n return this._id;\r\n }\r\n set id(value: number) {\r\n this._id = value;\r\n }\r\n\r\n get guid(): string | null {\r\n return this._guid;\r\n }\r\n set guid(value: string | null) {\r\n this._guid = value;\r\n }\r\n\r\n get name(): string | null {\r\n return this._name;\r\n }\r\n set name(value: string | null) {\r\n this._name = value;\r\n }\r\n\r\n get defaultBackground(): string {\r\n return this._defaultBackground;\r\n }\r\n set defaultBackground(value: string) {\r\n this._defaultBackground = value;\r\n }\r\n\r\n get defaultProductBlock(): string {\r\n return this._defaultProductBlock;\r\n }\r\n set defaultProductBlock(value: string) {\r\n this._defaultProductBlock = value;\r\n }\r\n\r\n get unit(): string {\r\n return this._unit;\r\n }\r\n set unit(value: string) {\r\n this._unit = value;\r\n }\r\n\r\n get version(): number {\r\n return this._version;\r\n }\r\n set version(value: number) {\r\n this._version = value;\r\n }\r\n\r\n get productSheetAssetGuid(): string | null {\r\n return this._productSheetAssetGuid;\r\n }\r\n set productSheetAssetGuid(value: string | null) {\r\n this._productSheetAssetGuid = value;\r\n }\r\n\r\n toJSON() {\r\n return {\r\n id: this._id,\r\n guid: this._guid,\r\n defaultBackground: this._defaultBackground,\r\n defaultProductBlock: this._defaultProductBlock,\r\n unit: this._unit,\r\n version: this._version,\r\n productSheetAssetGuid: this._productSheetAssetGuid,\r\n };\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { finalize, map } from 'rxjs/operators';\r\nimport { Observable } from 'rxjs';\r\nimport { AuthService } from '../../auth.service';\r\nimport { SettingsService } from '../../settings.service';\r\nimport { websocketService } from '../../websocket.service';\r\nimport { Template, TemplateProps } from './template.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TemplatesService {\r\n constructor(\r\n private auth: AuthService,\r\n private _settingsService: SettingsService,\r\n private http: HttpClient,\r\n private _webSocket: websocketService,\r\n ) {}\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getTemplate(templateGuid: string): Observable<Template> {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .get<TemplateProps>(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/template?templateGuid=' +\r\n templateGuid,\r\n { headers },\r\n )\r\n .pipe(map((res: TemplateProps) => new Template(res)));\r\n }\r\n\r\n getTemplateDimensions() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'DataSheets/templateDimensions',\r\n { headers },\r\n );\r\n }\r\n\r\n templateSetDefault(\r\n assetGuid: string,\r\n defaultType: string,\r\n defaultGuid: string,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/template/default',\r\n {\r\n templateGuid: assetGuid,\r\n defaultType: defaultType,\r\n defaultGuid: defaultGuid,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n createTemplate(\r\n folderGuid: string,\r\n templateName: string,\r\n templateUnit = 'mm',\r\n templateProductSheetAssetGuid?: string,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/template',\r\n {\r\n folderGuid: folderGuid,\r\n templateName: templateName,\r\n templateUnit: templateUnit,\r\n templateProductSheetAssetGuid: templateProductSheetAssetGuid,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n duplicateTemplate(duplicateGuid: string, name: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/template/duplicate',\r\n {\r\n templateName: name,\r\n assetGuid: duplicateGuid,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n updateFieldForTemplate(\r\n templateGuid: string,\r\n fieldName: string,\r\n fieldValue: string,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/template/field',\r\n {\r\n templateGuid: templateGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n migrateTemplate(assetGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/templates/migrate',\r\n { assetGuid },\r\n { headers },\r\n );\r\n }\r\n}\r\n","import { DEFAULT_TEMPLATEGUID } from './template.model';\r\n\r\nexport interface PublicationTemplateProps {\r\n guid?: string;\r\n name?: string;\r\n type?: string;\r\n createdAt?: Date | string;\r\n modifiedAt?: Date | string | null;\r\n active?: boolean;\r\n settingVariants?: any;\r\n default?: boolean;\r\n linkedTemplate?: string;\r\n templateGuid?: string;\r\n version?: string;\r\n thumbnail?: string;\r\n productSheetGuid?: string | null;\r\n productSheetAssetGuid?: string | null;\r\n url?: string;\r\n formatName?: string;\r\n backgroundName?: string;\r\n backgroundFormatName?: string;\r\n svgContent?: string | null;\r\n svgUrl?: string;\r\n marginHorizontal?: number;\r\n}\r\n\r\nexport class PublicationTemplate {\r\n private _guid: string = '';\r\n private _name: string = '';\r\n private _type: string = '';\r\n private _createdAt: Date | string = '';\r\n private _modifiedAt: Date | string | null = null;\r\n private _active: boolean = true;\r\n private _settingVariants: any = {};\r\n private _default: boolean = false;\r\n private _linkedTemplate: string = '';\r\n private _templateGuid: string = DEFAULT_TEMPLATEGUID;\r\n private _version: string = '';\r\n private _thumbnail: string = '';\r\n private _productSheetAssetGuid: string | null = null;\r\n private _url: string = '';\r\n\r\n // MORE PROPERTIES (for front only)\r\n private _nameNoSvg: string = '';\r\n private _width: number = 0;\r\n private _height: number = 0;\r\n private _headerHeight: number = 0;\r\n private _footerHeight: number = 0;\r\n private _leftMargin: number = 0;\r\n private _rightMargin: number = 0;\r\n private _bleedMarginTop: number = 0;\r\n private _bleedMarginBottom: number = 0;\r\n private _bleedMarginLeft: number = 0;\r\n private _bleedMarginRight: number = 0;\r\n private _pathFile: string = '';\r\n private _svgImage: string | null = null;\r\n private _backgroundFormatName: string = '';\r\n private _svgContent: string | null = null;\r\n private _svgUrl: string = '';\r\n private _marginHorizontal: number = 0;\r\n private _isSvgLoaded: boolean = false;\r\n\r\n constructor(data: PublicationTemplateProps = {}) {\r\n this.guid = data.guid ?? '';\r\n this.name = data.name ?? data.backgroundName ?? '';\r\n this.type = data.type ?? '';\r\n this.createdAt = data.createdAt ?? new Date();\r\n this.modifiedAt = data.modifiedAt ?? null;\r\n this.active = data.active ?? true;\r\n this.settingVariants = data.settingVariants ?? {};\r\n this.default = data.default ?? false;\r\n this.linkedTemplate = data.linkedTemplate ?? '';\r\n this.templateGuid = data.templateGuid ?? DEFAULT_TEMPLATEGUID;\r\n this.version = data.version ?? '';\r\n this.thumbnail = data.thumbnail ?? '';\r\n this.productSheetAssetGuid = data.productSheetAssetGuid ?? null;\r\n this.url = data.url ?? '';\r\n this.formatName = data.formatName ?? data.backgroundFormatName ?? '';\r\n this.svgContent = data.svgContent ?? null;\r\n this.svgUrl = data.svgUrl ?? '';\r\n this.marginHorizontal = data.marginHorizontal ?? 0;\r\n }\r\n\r\n // Getters and Setters for the standard property names\r\n get guid(): string {\r\n return this._guid;\r\n }\r\n set guid(value: string) {\r\n this._guid = value || '';\r\n }\r\n\r\n get name(): string {\r\n return this._name;\r\n }\r\n set name(value: string) {\r\n this._name = value || '';\r\n }\r\n\r\n get type(): string {\r\n return this._type;\r\n }\r\n set type(value: string) {\r\n this._type = value || '';\r\n }\r\n\r\n get createdAt(): Date | string {\r\n return this._createdAt;\r\n }\r\n set createdAt(value: Date | string) {\r\n this._createdAt = value || new Date();\r\n }\r\n\r\n get modifiedAt(): Date | string | null {\r\n return this._modifiedAt;\r\n }\r\n set modifiedAt(value: Date | string | null) {\r\n this._modifiedAt = value;\r\n }\r\n\r\n get active(): boolean {\r\n return this._active;\r\n }\r\n set active(value: boolean) {\r\n this._active = !!value;\r\n }\r\n\r\n get settingVariants(): any {\r\n return this._settingVariants;\r\n }\r\n set settingVariants(value: any) {\r\n this._settingVariants = value || {};\r\n }\r\n\r\n get default(): boolean {\r\n return this._default;\r\n }\r\n set default(value: boolean) {\r\n this._default = !!value;\r\n }\r\n\r\n get linkedTemplate(): string {\r\n return this._linkedTemplate;\r\n }\r\n set linkedTemplate(value: string) {\r\n this._linkedTemplate = value || '';\r\n }\r\n\r\n get templateGuid(): string {\r\n return this._templateGuid;\r\n }\r\n set templateGuid(value: string) {\r\n this._templateGuid = value || DEFAULT_TEMPLATEGUID;\r\n }\r\n\r\n get version(): string {\r\n return this._version;\r\n }\r\n set version(value: string) {\r\n this._version = value || '';\r\n }\r\n\r\n get thumbnail(): string {\r\n return this._thumbnail;\r\n }\r\n set thumbnail(value: string) {\r\n this._thumbnail = value || '';\r\n }\r\n\r\n get productSheetAssetGuid(): string | null {\r\n return this._productSheetAssetGuid;\r\n }\r\n set productSheetAssetGuid(value: string | null) {\r\n this._productSheetAssetGuid = value;\r\n }\r\n\r\n get url(): string {\r\n return this._url;\r\n }\r\n set url(value: string) {\r\n this._url = value || '';\r\n }\r\n\r\n // MORE ONLY FOR FRONT\r\n get nameNoSvg(): string {\r\n return this._nameNoSvg;\r\n }\r\n set nameNoSvg(value: string) {\r\n this._nameNoSvg = value || '';\r\n }\r\n\r\n get width() {\r\n return this._width;\r\n }\r\n set width(value: number) {\r\n this._width = value || 0;\r\n }\r\n\r\n get height() {\r\n return this._height;\r\n }\r\n set height(value: number) {\r\n this._height = value || 0;\r\n }\r\n\r\n get headerHeight() {\r\n return this._headerHeight;\r\n }\r\n set headerHeight(value: number) {\r\n this._headerHeight = value || 0;\r\n }\r\n\r\n get footerHeight() {\r\n return this._footerHeight;\r\n }\r\n set footerHeight(value: number) {\r\n this._footerHeight = value || 0;\r\n }\r\n\r\n get leftMargin() {\r\n return this._leftMargin;\r\n }\r\n set leftMargin(value: number) {\r\n this._leftMargin = value || 0;\r\n }\r\n\r\n get rightMargin() {\r\n return this._rightMargin;\r\n }\r\n set rightMargin(value: number) {\r\n this._rightMargin = value || 0;\r\n }\r\n\r\n get bleedMarginTop() {\r\n return this._bleedMarginTop;\r\n }\r\n set bleedMarginTop(value: number) {\r\n this._bleedMarginTop = value || 0;\r\n }\r\n\r\n get bleedMarginBottom() {\r\n return this._bleedMarginBottom;\r\n }\r\n set bleedMarginBottom(value: number) {\r\n this._bleedMarginBottom = value || 0;\r\n }\r\n\r\n get bleedMarginLeft() {\r\n return this._bleedMarginLeft;\r\n }\r\n set bleedMarginLeft(value: number) {\r\n this._bleedMarginLeft = value || 0;\r\n }\r\n\r\n get bleedMarginRight() {\r\n return this._bleedMarginRight;\r\n }\r\n set bleedMarginRight(value: number) {\r\n this._bleedMarginRight = value || 0;\r\n }\r\n\r\n get pathFile() {\r\n return this._pathFile;\r\n }\r\n set pathFile(value: string) {\r\n this._pathFile = value;\r\n }\r\n\r\n get svgImage() {\r\n return this._svgImage;\r\n }\r\n set svgImage(value: string | null) {\r\n this._svgImage = value;\r\n }\r\n\r\n get formatName(): string {\r\n return this._backgroundFormatName;\r\n }\r\n set formatName(value: string) {\r\n this._backgroundFormatName = value || '';\r\n }\r\n\r\n get svgContent(): string | null {\r\n return this._svgContent;\r\n }\r\n set svgContent(value: string | null) {\r\n this._svgContent = value;\r\n }\r\n\r\n get svgUrl(): string {\r\n return this._svgUrl;\r\n }\r\n set svgUrl(value: string) {\r\n this._svgUrl = value || '';\r\n }\r\n\r\n get marginHorizontal(): number {\r\n return this._marginHorizontal;\r\n }\r\n set marginHorizontal(value: number) {\r\n this._marginHorizontal = value || 0;\r\n }\r\n\r\n get isSvgLoaded(): boolean {\r\n return this._isSvgLoaded;\r\n }\r\n set isSvgLoaded(value: boolean) {\r\n this._isSvgLoaded = value;\r\n }\r\n\r\n toJSON() {\r\n return {\r\n guid: this.guid,\r\n name: this.name,\r\n type: this.type,\r\n createdAt: this.createdAt,\r\n modifiedAt: this.modifiedAt,\r\n active: this.active,\r\n settingVariants: this.settingVariants,\r\n default: this.default,\r\n linkedTemplate: this.linkedTemplate,\r\n templateGuid: this.templateGuid,\r\n version: this.version,\r\n thumbnail: this.thumbnail,\r\n productSheetAssetGuid: this.productSheetAssetGuid,\r\n url: this.url,\r\n };\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpHeaders, HttpClient } from '@angular/common/http';\r\nimport { throws } from 'assert';\r\nimport { finalize, map } from 'rxjs/operators';\r\nimport { Observable } from 'rxjs';\r\nimport { AuthService } from '../../auth.service';\r\nimport { SettingsService } from '../../settings.service';\r\nimport { websocketService } from '../../websocket.service';\r\nimport { PublicationTemplate } from './publication-template.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PublicationsTemplatesService {\r\n constructor(\r\n private auth: AuthService,\r\n private _settingsService: SettingsService,\r\n private http: HttpClient,\r\n private _webSocket: websocketService,\r\n ) {}\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getPublicationTemplate(\r\n publicationTemplateGuid: any,\r\n ): Observable<PublicationTemplate> {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .get<any>(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'DataSheets/' +\r\n publicationTemplateGuid,\r\n { headers },\r\n )\r\n .pipe(map((res: any) => new PublicationTemplate(res)));\r\n }\r\n\r\n // get all templates with parameters\r\n getPublicationsTemplates(\r\n start: number,\r\n limit: number,\r\n searchWord?: string,\r\n typeSelected?: string,\r\n columnSort?: any,\r\n direction?: string,\r\n active?: boolean,\r\n delautTemplate?: boolean,\r\n ) {\r\n let searchParam = searchWord ? '&search=' + searchWord : '';\r\n let typeParam = typeSelected ? '&type=' + typeSelected : '';\r\n let columnSortParam = columnSort ? '&sort=' + columnSort : '';\r\n let directionParam = direction ? '&direction=' + direction : '';\r\n let activeParam = active ? '&active=' + active : '';\r\n let delautTemplateParam = delautTemplate\r\n ? '&defaultTemplate=' + delautTemplate\r\n : '';\r\n\r\n let headers = this._settingsService.getHeaders();\r\n let params = `?start=${start}&limit=${limit}${searchParam}${typeParam}${columnSortParam}${directionParam}${activeParam}${delautTemplateParam}`;\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n `DataSheets/publicationstemplates${params}`,\r\n { headers },\r\n );\r\n }\r\n\r\n duplicatePublicationTemplate(name: string, duplicateGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'DataSheets/duplicate',\r\n {\r\n publicationTemplateName: name,\r\n publicationTemplateGuid: duplicateGuid,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n deletePublicationTemplate(publicationtemplateguid: string) {\r\n let listingTemplateGuidToDelete = [publicationtemplateguid];\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .request(\r\n 'delete',\r\n this._settingsService.getSettings('apiUrl') +\r\n 'DataSheets/publicationstemplates',\r\n {\r\n headers: headers,\r\n body: {\r\n listingPublicationTemplateToDelete: listingTemplateGuidToDelete,\r\n },\r\n },\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n deletePublicationTemplates(listingTemplateGuidToDelete: string[]) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .request(\r\n 'delete',\r\n this._settingsService.getSettings('apiUrl') +\r\n 'DataSheets/publicationstemplates',\r\n {\r\n headers: headers,\r\n body: {\r\n listingPublicationTemplateToDelete: listingTemplateGuidToDelete,\r\n },\r\n },\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n renamePublicationTemplate(\r\n publicationTemplateGuid: string,\r\n fieldValue: string,\r\n templateGuid: string,\r\n ) {\r\n let fieldName = 'publicationTemplateName';\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'DataSheets/field',\r\n {\r\n publicationTemplateGuid: publicationTemplateGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n templateGuid: templateGuid,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n changePublicationTemplateType(\r\n publicationTemplateGuid: string,\r\n fieldValue: string,\r\n templateGuid: string,\r\n ) {\r\n let fieldName = 'publicationTemplateType';\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n\r\n switch (fieldValue) {\r\n case 'coverpage':\r\n fieldValue = 'COVER';\r\n }\r\n fieldValue = fieldValue.toUpperCase();\r\n\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'DataSheets/field',\r\n {\r\n publicationTemplateGuid: publicationTemplateGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n templateGuid: templateGuid,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n updatePublicationTemplateBackgroundLink(\r\n publicationTemplateGuid: string,\r\n fieldValue: string,\r\n templateGuid: string,\r\n ) {\r\n let fieldName = 'publicationtemplatelinkedtemplate';\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .put(\r\n this._settingsService.getSettings('apiUrl') + 'DataSheets/field',\r\n {\r\n publicationTemplateGuid: publicationTemplateGuid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n templateGuid: templateGuid,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n addPublicationTemplate(\r\n templateGuid: string,\r\n name: string,\r\n type: string,\r\n formatName: string,\r\n linkedBackgroundGuid: string,\r\n width: number,\r\n height: number,\r\n marginTop?: number,\r\n marginBottom?: number,\r\n marginLeft?: number,\r\n marginRight?: number,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'DataSheets/new',\r\n {\r\n publicationTemplateName: name,\r\n publicationTemplateType: type,\r\n publicationTemplateIsActive: true,\r\n publicationTemplateFormatName: formatName,\r\n publicationTemplateLinkedTemplate: linkedBackgroundGuid,\r\n publicationTemplateTemplateGuid: templateGuid,\r\n publicationTemplateWidth: width,\r\n publicationTemplateHeight: height,\r\n publicationTemplateMarginTop: marginTop,\r\n publicationTemplateMarginBottom: marginBottom,\r\n publicationTemplateMarginLeft: marginLeft,\r\n publicationTemplateMarginRight: marginRight,\r\n },\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n getTemplateBackgrounds(\r\n templateGuid: string,\r\n ): Observable<{ backgrounds: PublicationTemplate[] }> {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'DataSheets/backgrounds/template?templateGuid=' +\r\n templateGuid,\r\n { headers },\r\n )\r\n .pipe(\r\n map((res: any) => {\r\n return {\r\n backgrounds: (res.backgrounds || res.Backgrounds || []).map(\r\n (item: any) => new PublicationTemplate(item),\r\n ),\r\n };\r\n }),\r\n );\r\n }\r\n\r\n getTemplateProductBlocks(\r\n templateGuid: string,\r\n ): Observable<{ productBlocks: PublicationTemplate[] }> {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'DataSheets/productblocks/template?templateGuid=' +\r\n templateGuid,\r\n { headers },\r\n )\r\n .pipe(\r\n map((res: any) => {\r\n return {\r\n productBlocks: (res.productBlocks || []).map(\r\n (item: any) => new PublicationTemplate(item),\r\n ),\r\n };\r\n }),\r\n );\r\n }\r\n\r\n getTemplateCoverpages(\r\n templateGuid: string,\r\n ): Observable<{ coverpages: PublicationTemplate[] }> {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'DataSheets/coverpages/template?templateGuid=' +\r\n templateGuid,\r\n { headers },\r\n )\r\n .pipe(\r\n map((res: any) => {\r\n return {\r\n coverpages: (res.coverpages || res.Coverpages || []).map(\r\n (item: any) => new PublicationTemplate(item),\r\n ),\r\n };\r\n }),\r\n );\r\n }\r\n\r\n getTemplateMarketings(\r\n templateGuid: string,\r\n ): Observable<{ marketing: PublicationTemplate[] }> {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'DataSheets/marketing/template?templateGuid=' +\r\n templateGuid,\r\n { headers },\r\n )\r\n .pipe(\r\n map((res: any) => {\r\n return {\r\n marketing: (res.marketing || res.Marketing || []).map(\r\n (item: any) => new PublicationTemplate(item),\r\n ),\r\n };\r\n }),\r\n );\r\n }\r\n\r\n getCoverPages() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') + 'DataSheets/coverpages',\r\n { headers },\r\n );\r\n }\r\n\r\n deleteCoverPage(imageGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.request(\r\n 'delete',\r\n this._settingsService.getSettings('apiUrl') + 'DataSheets/coverpages',\r\n {\r\n headers: headers,\r\n body: { coverName: imageGuid },\r\n },\r\n );\r\n }\r\n\r\n deleteMarketing(imageGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.request(\r\n 'delete',\r\n this._settingsService.getSettings('apiUrl') + 'DataSheets/marketing',\r\n {\r\n headers: headers,\r\n body: { marketingName: imageGuid },\r\n },\r\n );\r\n }\r\n\r\n getBackgrounds() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') + 'DataSheets/backgrounds',\r\n { headers },\r\n );\r\n }\r\n\r\n deleteBackground(imageGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.request(\r\n 'delete',\r\n this._settingsService.getSettings('apiUrl') + 'DataSheets/backgrounds',\r\n {\r\n headers: headers,\r\n body: { backgroundName: imageGuid },\r\n },\r\n );\r\n }\r\n\r\n getGabarits() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') + 'DataSheets/gabarits',\r\n { headers },\r\n );\r\n }\r\n\r\n deleteGabarits(imageGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.request(\r\n 'delete',\r\n this._settingsService.getSettings('apiUrl') + 'DataSheets/gabarits',\r\n {\r\n headers: headers,\r\n body: { gabaritName: imageGuid },\r\n },\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { SettingsService } from '../../settings.service';\r\nimport { websocketService } from '../../websocket.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class DocumentsService {\r\n constructor(\r\n private _settingsService: SettingsService,\r\n private http: HttpClient,\r\n private _webSocket: websocketService,\r\n ) {}\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n // DOCUMENTS\r\n getDocument(assetGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/documents/' +\r\n assetGuid,\r\n { headers },\r\n );\r\n }\r\n\r\n existDocument(assetGuid: string, version: string = 'v1') {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/documents/exist/' +\r\n assetGuid +\r\n '/' +\r\n version,\r\n { headers },\r\n );\r\n }\r\n\r\n createDocument(assetName: string, folderGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/documents',\r\n {\r\n documentName: assetName,\r\n folderGuid: folderGuid,\r\n documentType: 'document',\r\n },\r\n options,\r\n );\r\n }\r\n\r\n duplicateDocument(assetGuid: string, documentName: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/documents/duplicate',\r\n {\r\n assetGuid: assetGuid,\r\n documentName: documentName,\r\n },\r\n options,\r\n );\r\n }\r\n\r\n updateDocumentPagePosition(\r\n assetGuid: string,\r\n pageGuid: string,\r\n position: number,\r\n ) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.put(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Dam/documents/page/' +\r\n assetGuid +\r\n '/' +\r\n pageGuid +\r\n '/' +\r\n position,\r\n {},\r\n { headers },\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n DOCUMENTS IMPORT (PDF to SVG)\r\n ======================================================================== */\r\n\r\n importDocumentFiles(assetGuid: string, overwrite: boolean, files: any[]) {\r\n let headers = this._settingsService.getHeaders();\r\n if (headers instanceof HttpHeaders) {\r\n if (headers.has('Content-Type')) {\r\n headers = headers.delete('Content-Type');\r\n }\r\n } else if (headers['Content-Type']) {\r\n delete headers['Content-Type'];\r\n }\r\n const options = { headers: headers };\r\n\r\n const formData = new FormData();\r\n formData.append('assetGuid', assetGuid);\r\n if (overwrite !== null && overwrite !== undefined) {\r\n formData.append('overwrite', overwrite.toString());\r\n }\r\n\r\n if (files && files.length > 0) {\r\n for (const file of files) {\r\n formData.append('files', file);\r\n }\r\n }\r\n\r\n return this.http\r\n .post(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/documents/import',\r\n formData,\r\n options,\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }),\r\n );\r\n }\r\n\r\n migrateDocument(assetGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Dam/documents/migrate',\r\n { assetGuid },\r\n { headers },\r\n );\r\n }\r\n}\r\n","export interface DocumentProps {\r\n documentGuid?: string;\r\n documentVersion?: number;\r\n documentPublicationGuid?: string | null;\r\n productSheetGuid?: string | null;\r\n productSheetAssetGuid?: string | null;\r\n}\r\n\r\nexport class Document {\r\n private _documentGuid: string = '';\r\n private _documentVersion: number = 0;\r\n private _documentPublicationGuid: string | null = null;\r\n private _productSheetGuid: string | null = null;\r\n private _productSheetAssetGuid: string | null = null;\r\n\r\n constructor(data: DocumentProps = {}) {\r\n this.documentGuid = data.documentGuid ?? '';\r\n this.documentVersion = data.documentVersion ?? 0;\r\n this.documentPublicationGuid = data.documentPublicationGuid ?? null;\r\n this.productSheetGuid = data.productSheetGuid ?? null;\r\n this.productSheetAssetGuid = data.productSheetAssetGuid ?? null;\r\n }\r\n\r\n get documentGuid(): string {\r\n return this._documentGuid;\r\n }\r\n set documentGuid(value: string) {\r\n this._documentGuid = value || '';\r\n }\r\n\r\n get documentVersion(): number {\r\n return this._documentVersion;\r\n }\r\n set documentVersion(value: number) {\r\n this._documentVersion = value || 0;\r\n }\r\n\r\n get documentPublicationGuid(): string | null {\r\n return this._documentPublicationGuid;\r\n }\r\n set documentPublicationGuid(value: string | null) {\r\n this._documentPublicationGuid = value;\r\n }\r\n\r\n get productSheetGuid(): string | null {\r\n return this._productSheetGuid;\r\n }\r\n set productSheetGuid(value: string | null) {\r\n this._productSheetGuid = value;\r\n }\r\n\r\n get productSheetAssetGuid(): string | null {\r\n return this._productSheetAssetGuid;\r\n }\r\n set productSheetAssetGuid(value: string | null) {\r\n this._productSheetAssetGuid = value;\r\n }\r\n\r\n toJSON() {\r\n return {\r\n documentGuid: this.documentGuid,\r\n documentVersion: this.documentVersion,\r\n documentPublicationGuid: this.documentPublicationGuid,\r\n productSheetGuid: this.productSheetGuid,\r\n productSheetAssetGuid: this.productSheetAssetGuid,\r\n };\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { SettingsService } from '../../settings.service';\r\nimport { DocumentComment } from './document-comment.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DocumentCommentService {\r\n constructor(\r\n private http: HttpClient,\r\n private settingsService: SettingsService\r\n ) {}\r\n\r\n private getAliasQuery(): string {\r\n const alias = this.settingsService.getSettings('alias') || this.settingsService.getAppSetting('alias');\r\n return alias ? `?alias=${alias}` : '';\r\n }\r\n\r\n getComments(documentGuid: string): Observable<DocumentComment[]> {\r\n const headers = this.settingsService.getHeaders();\r\n const apiUrl = this.settingsService.getSettings('apiUrl');\r\n return this.http.get<DocumentComment[]>(`${apiUrl}dam/documents/${documentGuid}/comments${this.getAliasQuery()}`, { headers });\r\n }\r\n\r\n addComment(comment: Partial<DocumentComment>): Observable<DocumentComment> {\r\n const headers = this.settingsService.getHeaders();\r\n const apiUrl = this.settingsService.getSettings('apiUrl');\r\n return this.http.post<DocumentComment>(`${apiUrl}dam/documents/comments${this.getAliasQuery()}`, comment, { headers });\r\n }\r\n\r\n deleteComment(commentGuid: string): Observable<{ success: boolean }> {\r\n const headers = this.settingsService.getHeaders();\r\n const apiUrl = this.settingsService.getSettings('apiUrl');\r\n return this.http.delete<{ success: boolean }>(`${apiUrl}dam/documents/comments/${commentGuid}${this.getAliasQuery()}`, { headers });\r\n }\r\n\r\n updateComment(commentGuid: string, updates: { x?: number; y?: number; color?: string; documentCommentIsArchived?: boolean }): Observable<{ success: boolean }> {\r\n const headers = this.settingsService.getHeaders();\r\n const apiUrl = this.settingsService.getSettings('apiUrl');\r\n return this.http.put<{ success: boolean }>(`${apiUrl}dam/documents/comments/${commentGuid}${this.getAliasQuery()}`, updates, { headers });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { SettingsService } from './settings.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StripeService {\r\n constructor(\r\n private http: HttpClient,\r\n private _settingsService: SettingsService\r\n ) { }\r\n\r\n createCheckoutSession(subscriptionGuid: string, successUrl: string, cancelUrl: string) {\r\n const headers = this._settingsService.getHeaders();\r\n const options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Stripe/checkout-session',\r\n {\r\n subscriptionGuid: subscriptionGuid,\r\n successUrl: successUrl,\r\n cancelUrl: cancelUrl,\r\n },\r\n options\r\n );\r\n }\r\n\r\n changeSubscription(newSubscriptionGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n const options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Stripe/change-subscription',\r\n {\r\n newSubscriptionGuid: newSubscriptionGuid,\r\n },\r\n options\r\n );\r\n }\r\n\r\n cancelSubscription(newSubscriptionGuid: string) {\r\n const headers = this._settingsService.getHeaders();\r\n const options = { headers: headers };\r\n return this.http.post(\r\n this._settingsService.getSettings('apiUrl') + 'Stripe/cancel-subscription',\r\n {\r\n newSubscriptionGuid: newSubscriptionGuid,\r\n },\r\n options\r\n );\r\n }\r\n\r\n getInvoices() {\r\n const headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') + 'Stripe/invoices',\r\n { headers }\r\n );\r\n }\r\n}\r\n","/*\r\n * Public API Surface of solidpepper-service\r\n */\r\n\r\nexport * from './lib/menu.service';\r\nexport * from './lib/settings.service';\r\nexport * from './lib/views.service';\r\nexport * from './lib/rights.service';\r\nexport * from './lib/auth.service';\r\nexport * from './lib/websocket.service';\r\nexport * from './lib/companies/companies.service';\r\nexport * from './lib/companies/company.service';\r\nexport * from './lib/companies/company.model';\r\nexport * from './lib/teams.service';\r\nexport * from './lib/dam-assets-profiles.service';\r\nexport * from './lib/dam-assets-selections.service';\r\nexport * from './lib/workflows-desks.service';\r\nexport * from './lib/workflows-historical.service';\r\nexport * from './lib/login/login.service';\r\nexport * from './lib/sidebar-right.service';\r\nexport * from './lib/completeness.service';\r\nexport * from './lib/status.service';\r\nexport * from './lib/exports.service';\r\nexport * from './lib/locale-number.pipe';\r\nexport * from './lib/time-elapsed.pipe';\r\nexport * from './lib/directive/easypiechart/easypiechart.directive';\r\nexport * from './lib/categories.service';\r\nexport * from './lib/skus.service';\r\nexport * from './lib/supplier/suppliers.service';\r\nexport * from './lib/accounts.service';\r\nexport * from './lib/frameworkagreements.service';\r\nexport * from './lib/translate.service';\r\nexport * from './lib/translator.service';\r\nexport * from './lib/attribute/attributes.service';\r\nexport * from './lib/masks/masks.service';\r\nexport * from './lib/dam-assets.service';\r\nexport * from './lib/media-selection.service';\r\nexport * from './lib/search.service';\r\nexport * from './lib/users/users.service';\r\nexport * from './lib/prices-tax/prices-tax.service';\r\nexport * from './lib/notifications/notification-service.service';\r\nexport * from './lib/publications/generation/generation.service';\r\nexport * from './lib/publications/generation/thumbnail.service';\r\nexport * from './lib/publications/productsheet/productsheets.service';\r\nexport * from './lib/publications/publication/publications.service';\r\nexport * from './lib/publications/publication/publication.model';\r\nexport * from './lib/publications/publication/publication-page.model';\r\nexport * from './lib/publications/publication/publication-data.model';\r\nexport * from './lib/publications/template/templates.service';\r\nexport * from './lib/publications/template/publications-templates.service';\r\nexport * from './lib/publications/template/template.model';\r\nexport * from './lib/publications/template/publication-template.model';\r\nexport * from './lib/publications/document/documents.service';\r\nexport * from './lib/publications/document/document.model';\r\nexport * from './lib/publications/document/document-comment.model';\r\nexport * from './lib/publications/document/document-comment.service';\r\n\r\nexport * from './lib/stripe.service';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.SettingsService","i1","i2","i3.RightsService","i4","i5.SettingsService","i6.ViewsService","i1.SettingsService","NotificationServiceService","i4.NotificationServiceService","i3.SettingsService","i4.CompanyService","i6.websocketService","i3.AuthService","i3.websocketService","i1.AuthService","i3","i4.websocketService","map","i2.CompanyService","i4.SettingsService","i3.ThumbnailService","finalize"],"mappings":"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"}
|