@solidpepper/solidpepper-service 1.0.0 → 1.0.1

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.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/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/publications-templates.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/publications.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/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\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(private http: HttpClient) {\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: '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 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) ? (language = localStorage.getItem('language_' + this.alias)) : (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) {\r\n let headers = this.getHeaders();\r\n return this.http.get(this.getSettings('apiUrl') + 'profiles/rights/login/' + login, { headers });\r\n }\r\n\r\n getRightsAccesModuleForOneProfile(profileGuid: any) {\r\n let headers = this.getHeaders();\r\n return this.http.get(this.getSettings('apiUrl') + 'profiles/rights/' + profileGuid, { headers });\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 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 //Get setting information for this account\r\n getAccountSettings() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Settings', { headers });\r\n }\r\n\r\n getActiveSession() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Settings/activesession', { headers });\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(this._settingsService.getSettings('apiUrl') + 'Settings/upload/logo?settingGuid=' + settingGuid, {}, options);\r\n }\r\n\r\n getConnections(start: string, limit: string, login: string, sort: string, direction: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'connections?start=' + start + '&limit=' + limit + '&userLogin=' + login + '&sort=' + sort + '&direction=' + direction, {\r\n headers,\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 } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { SettingsService } from './settings.service';\r\nimport { CompaniesService } from './companies.service';\r\n// import { environment } from '../../../environments/environment';\r\nimport { ModalDismissReasons, NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { websocketService } from './websocket.service';\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: CompaniesService,\r\n private modalService: NgbModal,\r\n private _webSocket: websocketService\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')) this.myRoute.navigate(['identification']);\r\n }\r\n\r\n logoutServiceApi() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Users/logout', { headers });\r\n }\r\n\r\n /* ========================================================================\r\n RIGHTS\r\n ======================================================================== */\r\n\r\n setRight(authenticateObjectWithRight: { [x: string]: {}; }) {\r\n this.authenticateObjectWithRight = 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(this._settingsService.getSettings('apiUrl') + 'Authenticate', { headers });\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 triggerModal(content: any) {\r\n return this.modalService.open(content, { ariaLabelledBy: content, windowClass: 'modalSize' }).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 { 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 { 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 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 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('delete', this._settingsService.getSettings('apiUrl') + 'DataSheets/publicationstemplates', {\r\n headers: headers,\r\n body: {\r\n listingPublicationTemplateToDelete: listingTemplateGuidToDelete,\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 templateSetDefault(templateId: any, assetGuid: any, defaultType: any, defaultGuid: 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/template/default',\r\n {\r\n templateId: templateId,\r\n templateAssetGuid: 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(folderGuid: any, templateName: 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/template',\r\n {\r\n folderGuid: folderGuid,\r\n templateName: templateName,\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 renamePublicationTemplate(publicationTemplateGuid: any, fieldValue: any, templateId: any) {\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 templateId: templateId,\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(publicationTemplateGuid: any, fieldValue: any, templateId: any) {\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 templateId: templateId,\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(templateId: string, name: string, type: string, formatName: string, linkedBackgroundGuid: string, width: number, height: number) {\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 publicationTemplateTemplateId: templateId,\r\n publicationTemplateWidth: width,\r\n publicationTemplateHeight: height,\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 getTemplateDimensions() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'DataSheets/templateDimensions', { headers });\r\n }\r\n\r\n getTemplateByAssetguid(assetguid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Dam/template/asset?assetGuid=' + assetguid, { headers });\r\n }\r\n\r\n getTemplate(templateId: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Dam/template?templateId=' + templateId, { headers });\r\n }\r\n\r\n getTemplateBackgrounds(templateId: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'DataSheets/backgrounds/template?templateId=' + templateId, { headers });\r\n }\r\n\r\n getTemplateProductBlocks(templateId: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'DataSheets/productblocks/template?templateId=' + templateId, { headers });\r\n }\r\n\r\n getTemplateCoverpages(templateId: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'DataSheets/coverpages/template?templateId=' + templateId, { headers });\r\n }\r\n\r\n getTemplateMarketings(templateId: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'DataSheets/marketing/template?templateId=' + templateId, { headers });\r\n }\r\n\r\n getFoldersWithParent(parent: string, showEmptyFolders = true, folderType = 'TEMPLATES') {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Dam/folders?parent=' + parent + '&showEmptyFolders=' + showEmptyFolders + '&foldertype=' + folderType, { headers });\r\n }\r\n\r\n getInfoFolder(folderGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Dam/folders/' + folderGuid, { headers });\r\n }\r\n\r\n getFoldersOnLevelOne(showEmptyFolders = true, folderType = 'TEMPLATES') {\r\n let parent = '33333333-3333-3333-3333-333333333333';\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Dam/folders?parent=' + parent + '&showEmptyFolders=' + showEmptyFolders + '&foldertype=' + folderType, { headers });\r\n }\r\n\r\n getAssetByGuid(assetguid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Dam/assets/' + assetguid, { headers });\r\n }\r\n\r\n getStatus(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 getAssetsByFolderGuid(folderGuid: string, start: string, limit: string, sort = 'assetCreatedAt', direction = 'DESC') {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Dam/templates?folder=' + folderGuid + '&sort=' + sort + '&direction=' + direction + '&start=' + start + '&limit=' + limit, {\r\n headers,\r\n });\r\n }\r\n\r\n getAssetsByOnLevelOne(start: string, limit: string, search: any, status = '', sort = 'assetCreatedAt', direction = 'DESC') {\r\n let folderGuid = '33333333-3333-3333-3333-333333333333';\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Dam/templates?folder=' + folderGuid + '&sort=' + sort + '&direction=' + direction + '&start=' + start + '&limit=' + limit, {\r\n headers,\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') + 'dam/assets/movetotrashbin/false',\r\n {\r\n listingAssetToMoveTrashbin: listingAssetToMoveOutOfTrash,\r\n },\r\n options\r\n );\r\n }\r\n\r\n assignTeamsToFolder(folderGuid: any, tabGuidTeams: any, subfolderImpact = true, 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/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(folderName: any, folderParentGuid: any, folderType = 'TEMPLATES') {\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) {\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: '33333333-3333-3333-3333-333333333333',\r\n folderType: 'TEMPLATES',\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 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 updateFieldForAsset(assetGuid: 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') + 'Dam/assets/field',\r\n {\r\n assetGuid: assetGuid,\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 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') + 'dam/assets/move/' + 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/' + '33333333-3333-3333-3333-333333333333',\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(sourceFolderGuid: string, destinationFolderGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Dam/folders/move/' + sourceFolderGuid + '/' + destinationFolderGuid, { headers }).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') + '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 deleteFolder(folderGuid: string) {\r\n const httpOptions = {\r\n headers: this._settingsService.getHeaders(),\r\n };\r\n\r\n return this.http.delete(this._settingsService.getSettings('apiUrl') + 'Dam/folders/' + folderGuid, httpOptions).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('delete', this._settingsService.getSettings('apiUrl') + 'Dam/assets', {\r\n headers: headers,\r\n body: {\r\n listingAssetToDelete: listingAssetToDelete,\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","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 { HttpHeaders, HttpClient } from '@angular/common/http';\r\nimport { SettingsService } from './settings.service';\r\nimport { websocketService } from './websocket.service';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { from, Observable, defer } from 'rxjs';\r\nimport { HubConnectionState } from '@aspnet/signalr';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PublicationsService {\r\n constructor(\r\n private _settingsService: SettingsService,\r\n private http: HttpClient,\r\n private _webSocket: websocketService\r\n ) { }\r\n\r\n //Is present in this page\r\n isPresent(publicationId: any, guid: any, isSku: 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') + 'Publications/pages/skusgroups/ispresent',\r\n {\r\n publicationId: publicationId,\r\n guid: guid,\r\n isSku: isSku,\r\n },\r\n options\r\n );\r\n }\r\n\r\n //link a publication\r\n linkPublication(publicationId: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Publications/' + publicationId + '/links', {}, options).pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n })\r\n );\r\n }\r\n\r\n //Design models\r\n designModelsPublication(publicationId: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Publications/' + publicationId + '/designmodels', {}, options).pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n })\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getAllPagesByPublication(publicationId: string, language: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'DataSheets/previews?publicationGuid=' + publicationId + '&language=' + language, { headers });\r\n }\r\n\r\n //get export easy catalog\r\n getExportEasycatalog(publicationId: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Exchanges/export/easycatalog/' + publicationId, { headers });\r\n }\r\n\r\n //get datasheets\r\n getDataSheets(source: string, sourceGuid: string, language: string, hd = false, youbooky = false) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') + 'DataSheets/exists?source=' + source + '&sourceGuid=' + sourceGuid + '&language=' + language + '&hd=' + hd + '&youbooky=' + youbooky,\r\n { headers }\r\n );\r\n }\r\n\r\n //get xml\r\n getXML(publicationId: any, lang: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Exchanges/export/easycatalog?publicationId=' + publicationId + '&language=' + lang, { headers });\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(this._settingsService.getSettings('apiUrl') + 'Publications/pages/skusgroups/gabarit', { headers });\r\n }\r\n\r\n //Get all publications\r\n getPublications() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Publications/all', { headers });\r\n }\r\n\r\n getPublicationByFolderGuid(publicationFolderGuid: string | null) {\r\n if (publicationFolderGuid == null) {\r\n publicationFolderGuid = '';\r\n }\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Publications?publicationFolderGuid=' + publicationFolderGuid, { headers });\r\n }\r\n\r\n //Get one publication\r\n getPublication(publicationId: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Publications/' + publicationId, { headers });\r\n }\r\n\r\n //Flat plan problem\r\n flatPlanProblem(publicationId: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Publications/' + publicationId + '/flatplanproblem', { headers });\r\n }\r\n\r\n //Get page of publication\r\n getPageOfPublication(publicationId: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Publications/' + publicationId + '/pages', { headers });\r\n }\r\n\r\n //Get page by his numero\r\n getSkuForThisPage(publicationId: string, guid: string, limit = 50) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Publications/' + publicationId + '/pages/' + guid + '?limit=' + limit, { headers });\r\n }\r\n\r\n //Get all responsible\r\n getResponsibles() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Publications/responsibles', { headers });\r\n }\r\n\r\n //get folders publication\r\n getFoldersPublication(folderParentGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Publications/folders?parent=' + folderParentGuid, { headers });\r\n }\r\n\r\n //get info folder in publication\r\n getInfoFolderInPublication(folderGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Publications/folders/' + folderGuid, { headers });\r\n }\r\n\r\n // get all templates with parameters\r\n getTemplates(start: number, limit: number, searchWord?: string, typeSelected?: string, columnSort?: string, direction?: string, active?: boolean, delautTemplate?: boolean) {\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 ? '&defaultTemplate=' + delautTemplate : '';\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(this._settingsService.getSettings('apiUrl') + `DataSheets/publicationstemplates${params}`, { headers });\r\n }\r\n\r\n // get a template\r\n getTemplate(templateGuid: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'DataSheets/' + templateGuid, { headers });\r\n }\r\n\r\n // get a list of existing dimensions\r\n getTemplateDimensions() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'DataSheets/templateDimensions', { headers });\r\n }\r\n\r\n\r\n /* ========================================================================\r\n CREATE\r\n ======================================================================== */\r\n\r\n //create a folder in publication\r\n createFolderPublication(folderName: any, folderParentGuid: 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') + 'Publications/folders',\r\n {\r\n folderName: folderName,\r\n folderParentGuid: folderParentGuid,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n })\r\n );\r\n }\r\n\r\n //Create a publication\r\n createPublication(publicationReference: any, publicationName: any, folderGuid: any, publicationTemplateId = 0, ratebase = 0, pricelistguid = '00000000-0000-0000-0000-000000000000', accountguid = null, language: 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') + 'Publications',\r\n {\r\n publicationReference: publicationReference,\r\n publicationName: publicationName,\r\n publicationFolderGuid: folderGuid,\r\n publicationTemplateId: publicationTemplateId,\r\n publicationRatebase: ratebase,\r\n publicationPriceListGuid: pricelistguid,\r\n publicationAccountGuid: accountguid,\r\n publicationLanguage: language,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n })\r\n );\r\n }\r\n\r\n createPublicationDeal(publicationId: 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') + 'Publications/deal',\r\n {\r\n sourceId: publicationId,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\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 createGabarit(listingUidToUpdateGabarit: any, gabarit: 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') + 'Publications/pages/skusgroups/gabarit',\r\n {\r\n listingUidToUpdateGabarit: listingUidToUpdateGabarit,\r\n gabarit: gabarit,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\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(objForLinkProductsToPublication: 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') + 'Publications/assignSkusGroups',\r\n {\r\n listingGroupsToAdding: objForLinkProductsToPublication,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n })\r\n );\r\n }\r\n\r\n checkProductInPublication(objForLinkProductsToPublication: any, idTemplate: 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') + 'Publications/checkSkusGroups',\r\n {\r\n listingGroupsToAdding: objForLinkProductsToPublication,\r\n idTemplate: idTemplate,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n })\r\n );\r\n }\r\n\r\n checkExcludeProductInPublication(objForLinkProductsToPublication: 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') + 'Publications/checkExcludeSkusGroups',\r\n {\r\n listingGroupsToExclude: objForLinkProductsToPublication,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\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(publicationId: any, publicationReference: any, publicationName: any, publicationFolderGuid = null, ratebase = null, pricelistguid = null, accountguid = 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') + 'Publications/duplicate',\r\n {\r\n publicationId: publicationId, //publication of old publication to duplicate\r\n publicationReference: publicationReference, //new reference\r\n publicationName: publicationName, //new name\r\n publicationFolderGuid: publicationFolderGuid, //folder where to put the new publication\r\n publicationRatebase: ratebase, //ratebase of the new publication\r\n publicationPriceListGuid: pricelistguid, //pricelist of the new publication\r\n publicationAccountGuid: accountguid, //account of the new publication\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\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(name: string, type: string, isActive: boolean, formatName: string, linkedBackgroundGuid: 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/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 (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\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 (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\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(publicationId: 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') + 'Publications/field',\r\n {\r\n publicationId: publicationId,\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(publicationId: 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') + 'Publications/pages/field',\r\n {\r\n publicationId: publicationId,\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(dataUid: 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') + 'Publications/datas/field',\r\n {\r\n dataUid: dataUid,\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 //update a folder in publication\r\n updateFolderPublication(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') + 'Publications/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 if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n })\r\n );\r\n }\r\n\r\n //update field of items in publication\r\n updateFieldOfItems(itemTabGuid: any, nameField: any, valueField: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Publications/folders', options).pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n })\r\n );\r\n }\r\n\r\n //move folder from source to destination\r\n moveFolderPublication(sourceFolderGuid: string, destinationFolderGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Publications/folders/move/' + sourceFolderGuid + '/' + destinationFolderGuid, { headers }).pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n })\r\n );\r\n }\r\n\r\n //move folder from source to destination\r\n movePublication(publicationId: any, destinationFolderGuid: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let body = {\r\n publicationId: publicationId,\r\n fieldName: 'publicationFolderGuid',\r\n fieldValue: destinationFolderGuid,\r\n };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Publications/field', body, { headers }).pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n })\r\n );\r\n }\r\n\r\n setPublicationTemplateId(publicationId: any, templateId: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let body = {\r\n publicationId: publicationId,\r\n fieldName: 'publicationTemplateId',\r\n fieldValue: templateId,\r\n };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Publications/field', body, { headers }).pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n })\r\n );\r\n }\r\n\r\n setPublicationCover(publicationId: any, covername: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let body = {\r\n publicationId: publicationId,\r\n fieldName: 'publicationCoverpage',\r\n fieldValue: covername + '.svg',\r\n };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Publications/field', body, { headers }).pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n })\r\n );\r\n }\r\n\r\n setPublicationStartPage(publicationId: any, startPageNumber: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let body = {\r\n publicationId: publicationId,\r\n fieldName: 'publicationPageStart',\r\n fieldValue: startPageNumber,\r\n };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Publications/field', body, { headers }).pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n })\r\n );\r\n }\r\n\r\n assignTeamsToFolder(folderGuid: any, tabGuidTeams: any, subfolderImpact = true) {\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/folders/assignTeams',\r\n {\r\n folderGuid: folderGuid,\r\n listingTeams: tabGuidTeams,\r\n subfolder: subfolderImpact\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 //Create a page in publication\r\n updateOrCreatePageInPublication(pageObject: { publicationId: any; id: any; name: any; width: any; backgroundPreview: any; height: any; statuts: any; spreadName: any; number: any; printNumber: any; isStatic: any; lastUpdate: any; publicationPageType: 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') + 'Publications/pages',\r\n {\r\n publicationId: pageObject.publicationId,\r\n id: pageObject.id,\r\n name: pageObject.name,\r\n width: pageObject.width,\r\n backgroundPreview: pageObject.backgroundPreview,\r\n height: pageObject.height,\r\n statuts: pageObject.statuts, //draft(0), waiting(1), ready (2), in progress (3)\r\n spreadName: pageObject.spreadName,\r\n number: pageObject.number,\r\n printNumber: pageObject.printNumber, //start to one and need to be incremented\r\n isStatic: pageObject.isStatic, //if static, the page got empty\r\n lastUpdate: pageObject.lastUpdate,\r\n publicationPageType: pageObject.publicationPageType,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\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(publicationId: 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') + 'Publications/field',\r\n {\r\n publicationId: publicationId,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n })\r\n );\r\n }\r\n\r\n updatePublicationDataField(dataUid: 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') + 'Publications/datasid/field',\r\n {\r\n dataUid: dataUid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\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(id: any, number: 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') + 'Publications/pages/ordershow',\r\n {\r\n id: id,\r\n number: number,\r\n },\r\n options\r\n );\r\n }\r\n\r\n moveSkusGroupInPage(skusData: { uid: string; number: number }[]) {\r\n const headers = this._settingsService.getHeaders();\r\n const options = { headers: headers };\r\n return this.http.post(this._settingsService.getSettings('apiUrl') + 'Publications/pages/skusgroups/ordershow', skusData, options).pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n })\r\n );\r\n }\r\n\r\n updateTemplateField(publicationTemplateGuid: 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') + '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 (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\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 a publication\r\n deletePublication(publicationId: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .request('delete', this._settingsService.getSettings('apiUrl') + 'Publications/' + publicationId, {\r\n headers: headers,\r\n body: {},\r\n })\r\n .pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n })\r\n );\r\n }\r\n\r\n //delete a publication folder\r\n deletePublicationFolder(listingFolderToDelete: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .request('delete', this._settingsService.getSettings('apiUrl') + 'Publications/folders', {\r\n headers: headers,\r\n body: {\r\n listingFolderToDelete: listingFolderToDelete,\r\n },\r\n })\r\n .pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n })\r\n );\r\n }\r\n\r\n //delete a publication folder\r\n deletePublicationFolderById(guid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .request('delete', this._settingsService.getSettings('apiUrl') + 'Publications/folders/' + guid, {\r\n headers: headers,\r\n })\r\n .pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n })\r\n );\r\n }\r\n\r\n deletePublicationByTabOfId(listingPublicationToDelete: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .request('delete', this._settingsService.getSettings('apiUrl') + 'Publications', {\r\n headers: headers,\r\n body: {\r\n listingPublicationToDelete: listingPublicationToDelete,\r\n },\r\n })\r\n .pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n })\r\n );\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('delete', this._settingsService.getSettings('apiUrl') + 'Publications/pages', {\r\n headers: headers,\r\n body: {\r\n listingPagesToDelete: listingPagesToDelete,\r\n },\r\n })\r\n .pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\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('delete', this._settingsService.getSettings('apiUrl') + 'Publications/removeSkusGroups', {\r\n headers: headers,\r\n body: {\r\n listingSkusGroupsToDelete: listingSkusGroupsUidToDelete,\r\n },\r\n })\r\n .pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n })\r\n );\r\n }\r\n upsertExcludeSkuGuids(publicationId: any, page: any, sku: any, skuGuidsExcludesCheck: 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') + 'Publications/pages/skusgroups/excludes',\r\n {\r\n publicationId: publicationId,\r\n page: page,\r\n skuGuid: sku,\r\n listingUidToUpdateExcludes: skuGuidsExcludesCheck,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n })\r\n );\r\n }\r\n\r\n //delete template\r\n deleteTemplate(listingTemplateGuidToDelete: Array<string>) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .request('delete', this._settingsService.getSettings('apiUrl') + 'DataSheets/publicationstemplates', {\r\n headers: headers,\r\n body: {\r\n listingPublicationTemplateToDelete: listingTemplateGuidToDelete,\r\n },\r\n })\r\n .pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\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(this._settingsService.getSettings('apiUrl') + 'Exchanges/allfields', { headers });\r\n }\r\n\r\n getSkuForThisPagePreview(sourceId: string, sectionKey: string, language: string, ratebase: string, priceListGuid: string, accountGuid: string, limit = 50) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/pages/skus?sourceId=' +\r\n sourceId +\r\n '&sectionKey=' +\r\n sectionKey +\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(sourceId: string, language: string, ratebase: string, priceListGuid: string, accountGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\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 { headers }\r\n );\r\n }\r\n\r\n getPublicationSkuPrice(sourceId: string, sku: string | number | boolean) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Publications/pages/skuprice?sourceId=' + sourceId + '&skuRef=' + encodeURIComponent(sku), { headers });\r\n }\r\n\r\n updatePublicationSkuPrice(sourceId: any, sku: any, skuPrice: any, skuPricePromotion: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.post(this._settingsService.getSettings('apiUrl') + 'Publications/pages/skuprice', { sourceId, skuRef: sku, skuPrice, skuPricePromotion }, { headers });\r\n }\r\n\r\n // FONTS\r\n getFonts() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Publications/fonts', { headers });\r\n }\r\n\r\n getFontFaceBase64(url: string, fontName: string): Observable<any> {\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(`Erreur lors du téléchargement de la police : ${response.status}`);\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 (error) {\r\n console.log(\"[ERROR] Getting the font '\" + fontName + \"'\", error);\r\n\r\n // ⬇️ On retourne une chaîne vide ou null\r\n return \"\"; // ou return null;\r\n }\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: string) {\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(documentName: any, publicationId: any, folderSelected: 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/documents',\r\n {\r\n documentName: documentName,\r\n documentType: 'publication',\r\n documentCatalogId: publicationId,\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 // ***********************************************************************************\r\n // * YOUBOOKY\r\n // ***********************************************************************************\r\n\r\n shareToYoubooky(publicationId: 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') + 'Publications/youbooky',\r\n {\r\n publicationId: publicationId,\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","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 { CompaniesService } from './companies.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 _companies: CompaniesService,\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('language_' + this._settings.getAlias());\r\n if (langage) {\r\n this.useLanguage(langage);\r\n }\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(lang || this.translate.getDefaultLang() || this.defaultLanguage);\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 http: HttpClient,\r\n private _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[]>(this._settingsService.getSettings('apiUrl') + 'Attributes?attributesGroupType=' + attributesGroupType + '&search=' + search, { headers });\r\n }\r\n\r\n //Return the list of all attributes from an attributes group guid\r\n getAttributesByGroupsType(attributesGroupGuid: string, attributesGroupType: string, attributesGroupIsSystem = false) {\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 = '') {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get<AttributeObject[]>(\r\n this._settingsService.getSettings('apiUrl') + 'Attributes/byAttributeTypeAndAttributeGroupType?attributesType=' + attributeType + '&attributesGroupType=' + attributeGroup + '&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[]>(this._settingsService.getSettings('apiUrl') + 'Attributes/system/group?attributesGroupGuid=' + attributesGroupGuid, { headers });\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>(this._settingsService.getSettings('apiUrl') + 'Attributes', { headers });\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>(this._settingsService.getSettings('apiUrl') + 'Attributes/' + attributeGuid, { headers });\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[]>(this._settingsService.getSettings('apiUrl') + 'Attributes?attributesGroupType=' + type + '&trashbin=true', { headers });\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[]>(this._settingsService.getSettings('apiUrl') + 'Attributes/groups?attributesGroupType=' + type, { headers });\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[]>(this._settingsService.getSettings('apiUrl') + 'Attributes/groups/' + attributeGroupGuid, { headers });\r\n }\r\n\r\n /* ========================================================================\r\n CREATE\r\n ======================================================================== */\r\n\r\n //Creation of an attributes\r\n createAttribute(attribute: { attributeName: any; attributesGroupGuid: any; attributeType: any; attributeIsActive: any; attributeIsFront: any; attributeIsTrashbin: any; attributeIsReadonly: any; attributeIsMandatory: any; attributeIsUnique: any; attributeIsFilter: any; attributeIsTranslated: any; attributeIsGrouped: any; attributeOrder: any; attributeNote: any; attributeInitialValue: any; attributeMinValue: any; attributeMaxValue: any; attributeMaxNumberDigits: any; attributeDecimalPoints: any; attributeMaxCharacters: any; attributeOptions: any; }, isDec: 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',\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(this._settingsService.getSettings('apiUrl') + 'Attributes/' + attributeGuid + '/duplicate', options);\r\n }\r\n\r\n //Create an attributes group with the parameters\r\n createAttributesGroup(attributesGroupName: any, attributesGroupType: any, attributesGroupOrder: any, attributesGroupIsTranslate: any, attributesGroupNote: 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/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: { attributeGuid: any; attributeName: any; attributesGroupGuid: any; attributeType: any; attributeIsActive: any; attributeIsFront: any; attributeIsTrashbin: any; attributeIsReadonly: any; attributeIsFilter: any; attributeIsMandatory: any; attributeIsUnique: any; attributeIsTranslated: any; attributeIsGrouped: any; attributeOrder: any; attributeNote: any; attributeInitialValue: any; attributeMinValue: any; attributeMaxValue: any; attributeMaxNumberDigits: any; attributeDecimalPoints: any; attributeMaxCharacters: any; attributeOptions: any; attributeIsModelVariant: 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',\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: any, attributeOrder: 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/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(attributesGroupGuid: any, attributesGroupName: any, attributesGroupType: any, attributesGroupOrder: any, attributesGroupIsTranslate: any, attributesGroupNote: 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/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(attributesGroupGuid: any, attributesGroupOrder: 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/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(this._settingsService.getSettings('apiUrl') + 'Attributes/' + attributeGroupGuid + '/movetotrashbin/true', {}, options);\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(this._settingsService.getSettings('apiUrl') + 'Attributes/' + attributeGroupGuid + '/movetotrashbin/false', {}, options);\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(attributeGuid: any, fieldName: any, fieldValue: any, language?: 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/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: 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') + '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(attributeGuid: any, fieldName: any, fieldValue: 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/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(this._settingsService.getSettings('apiUrl') + 'Attributes/' + attributeGuid, { headers });\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('delete', this._settingsService.getSettings('apiUrl') + 'Attributes/groups/' + attributesGroupGuid, {\r\n headers: 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 { 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 /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getFoldersWithParent(parent: string, showEmptyFolders = true, folderType = 'DAM') {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Dam/folders?parent=' + parent + '&showEmptyFolders=' + showEmptyFolders + '&foldertype=' + folderType, { headers });\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(this._settingsService.getSettings('apiUrl') + 'Dam/assets/missing?start=' + start + '&limit=' + limit + '&search=' + search, { headers });\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(this._settingsService.getSettings('apiUrl') + 'Dam/assets/orphan?start=' + start + '&limit=' + limit + '&search=' + search, { headers });\r\n }\r\n\r\n getInfoFolder(folderGuid: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Dam/folders/' + folderGuid, { headers });\r\n }\r\n\r\n getFoldersOnLevelOne(showEmptyFolders = true, folderType = 'DAM') {\r\n if (folderType == 'TEMPLATES') {\r\n let parent = this.folderTemplatesGuid;\r\n return this.getFoldersWithParent(parent, showEmptyFolders, folderType);\r\n } else if (folderType == 'DOCUMENTS') {\r\n let parent = this.folderDocumentsGuid;\r\n return this.getFoldersWithParent(parent, showEmptyFolders, folderType);\r\n } else if (folderType == 'EXCEL') {\r\n let parent = this.folderExcelGuid;\r\n return this.getFoldersWithParent(parent, showEmptyFolders, folderType);\r\n } else {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Dam/folders?showEmptyFolders=' + showEmptyFolders + '&foldertype=' + folderType, { headers });\r\n }\r\n }\r\n\r\n getAssetByGuids(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.post(this._settingsService.getSettings('apiUrl') + 'Dam/assets/array', object, { headers });\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') + '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') + 'Dam/assets/skus?start=' + start + '&limit=' + 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(this._settingsService.getSettings('apiUrl') + 'Dam/assets/' + assetguid, { headers });\r\n }\r\n\r\n getAssetWhereUsedByGuid(assetguid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Dam/assets/used/' + assetguid, { headers });\r\n }\r\n\r\n getStatus(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 getAssetsByFolderGuid(folderGuid: string, start: string, limit: string, sort = 'assetCreatedAt', direction = 'DESC', folderType = 'DAM') {\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=' +\r\n sort +\r\n '&direction=' +\r\n direction +\r\n '&start=' +\r\n start +\r\n '&limit=' +\r\n limit +\r\n '&assetType=' +\r\n folderType,\r\n { headers }\r\n );\r\n }\r\n\r\n getAssetsByOnLevelOne(start: any, limit: any, search: any, status = '', sort = 'assetCreatedAt', direction = 'DESC', folderType = 'DAM') {\r\n if (folderType == 'TEMPLATES') {\r\n let parent = this.folderTemplatesGuid;\r\n return this.getAssetsByFolderGuid(parent, start, limit, sort, direction, folderType);\r\n } else if (folderType == 'DOCUMENTS') {\r\n let parent = this.folderDocumentsGuid;\r\n return this.getAssetsByFolderGuid(parent, start, limit, sort, direction, folderType);\r\n } else if (folderType == 'EXCEL') {\r\n let parent = this.folderExcelGuid;\r\n return this.getAssetsByFolderGuid(parent, start, limit, sort, direction, folderType);\r\n } else {\r\n return this.getAssetsByFolderGuid('', start, limit, sort, direction, folderType);\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') + '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(this._settingsService.getSettings('apiUrl') + 'dam/assets/trashbin?start=' + start + '&limit=' + limit + '&search=' + search, { headers });\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(this._settingsService.getSettings('apiUrl') + 'dam/assets/trashbin/archive?start=' + start + '&limit=' + limit + '&search=' + search, { headers });\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 /* ========================================================================\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(folderGuid: any, tabGuidTeams: any, subfolderImpact = true, 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/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(folderName: any, folderParentGuid: string | null, folderType = 'DAM') {\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 == 'DOCUMENTS') {\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 {\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(lang = 'fr', onAlreadyTagged = 'merge', assetGuidsArray: any = null) {\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') + 'OpenAI/assettagging?lang=' + lang + '&onAlreadyTagged=' + 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(this._settingsService.getSettings('apiUrl') + 'Usages/getusage?type=' + type, { headers });\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(assetGuid: 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') + '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') + 'dam/assets/move/' + 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(sourceFolderGuid: string, destinationFolderGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Dam/folders/move/' + sourceFolderGuid + '/' + destinationFolderGuid, { headers }).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') + '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') + '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.post(this._settingsService.getSettings('apiUrl') + 'dam/assets/batch?profileAssetGuid=' + profileAssetGuid, {}, options).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.get(this._settingsService.getSettings('apiUrl') + 'dam/assets/countwaitingupload', { headers }).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.delete(this._settingsService.getSettings('apiUrl') + 'Dam/folders/' + folderGuid, httpOptions).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('delete', this._settingsService.getSettings('apiUrl') + 'Dam/assets', {\r\n headers: headers,\r\n body: {\r\n listingAssetToDelete: listingAssetToDelete,\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('delete', this._settingsService.getSettings('apiUrl') + 'Dam/assets', {\r\n headers: headers,\r\n body: {\r\n listingAssetToDelete: [],\r\n emptyTrash: true,\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 // DOCUMENTS\r\n getDocument(assetguid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Dam/documents/' + assetguid, { headers });\r\n }\r\n\r\n existDocument(assetguid: string, version = 'v1') {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Dam/documents/exist/' + assetguid + '/' + version, { headers });\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","/*\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.service'\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/publications-templates.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/publications.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'","/**\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","i4.NotificationServiceService","i3.SettingsService","i4.CompaniesService","i6.websocketService","i3.AuthService","i3.websocketService","i1.AuthService","i3","i4.websocketService","i2.CompaniesService","i4.SettingsService"],"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;;;MCGY,eAAe,CAAA;AA2B1B,IAAA,WAAA,CAAoB,IAAgB,EAAA;QAAhB,IAAA,CAAA,IAAI,GAAJ,IAAI;AAxBhB,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;AAGxB;;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,sCAAsC,GAAG,IAAI,CAAC,KAAK,GAAG,OAAO;;SAEtE;;;;;;;;;;;;;;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,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;AACD,SAAA,CAAC;IACJ;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,QAAa;AACjB,QAAA,YAAY,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,QAAQ,GAAG,IAAI,CAAC;AAChI,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,EAAA;AACvC,QAAA,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE;QAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,wBAAwB,GAAG,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC;IAClG;AAEA,IAAA,iCAAiC,CAAC,WAAgB,EAAA;AAChD,QAAA,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE;QAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,kBAAkB,GAAG,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC;IAClG;+GA/LW,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,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,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,gBAAgB,CAAA;IAC3B,WAAA,CACU,IAAgB,EAChB,gBAAiC,EAAA;QADjC,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;IACtB;AAEJ;;AAE2E;;IAG3E,kBAAkB,GAAA;QAChB,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;IAEA,gBAAgB,GAAA;QACd,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,wBAAwB,EAAE,EAAE,OAAO,EAAE,CAAC;IAC3G;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;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,mCAAmC,GAAG,WAAW,EAAE,EAAE,EAAE,OAAO,CAAC;IACrI;IAEA,cAAc,CAAC,KAAa,EAAE,KAAa,EAAE,KAAa,EAAE,IAAY,EAAE,SAAiB,EAAA;QACzF,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,oBAAoB,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,aAAa,GAAG,KAAK,GAAG,QAAQ,GAAG,IAAI,GAAG,aAAa,GAAG,SAAS,EAAE;YACzL,OAAO;AACR,SAAA,CAAC;IACJ;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;+GA/DW,gBAAgB,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;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;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;;4FAEP,0BAA0B,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,EAAAK,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAL,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,aAAA,EAAA,EAAA,EAAA,KAAA,EAAAK,0BAAA,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;;;MCEY,WAAW,CAAA;IAOtB,WAAA,CACU,OAAe,EACf,IAAgB,EAChB,gBAAiC,EACjC,UAA4B,EAC5B,YAAsB,EACtB,UAA4B,EAAA;QAL5B,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,YAAY,GAAZ,YAAY;QACZ,IAAA,CAAA,UAAU,GAAV,UAAU;QAVZ,IAAA,CAAA,2BAA2B,GAAQ,EAAE;AAY3C,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;YAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC7F;IAEA,gBAAgB,GAAA;QACd,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;;AAE2E;AAE3E,IAAA,QAAQ,CAAC,2BAAiD,EAAA;AACxD,QAAA,IAAI,CAAC,2BAA2B,GAAG,2BAA2B,CAAC,cAAc,CAAC;IAChF;AAEA;;AAE2E;IAE3E,eAAe,GAAA;QACb,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,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;AAE3E,IAAA,YAAY,CAAC,OAAY,EAAA;QACvB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CACvG,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;IACH;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,KAA0B,EAAA;AAC1C,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;+GAzLW,WAAW,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAP,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAO,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,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;;;MCHY,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,EAAAX,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAY,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,EAAAL,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAL,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAW,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,EAAAN,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAL,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAW,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,EAAAb,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAa,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,EAAAb,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAa,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,EAAAb,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,EAAAY,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,EAAAZ,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAY,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,EAAAZ,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;;;MCKY,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;IAChB;AAEJ;;AAE6E;IAE7E,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,aAAA,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,kCAAkC,EAAE;AACnG,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,IAAI,EAAE;AACJ,gBAAA,kCAAkC,EAAE,2BAA2B;AAChE,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,UAAe,EAAE,SAAc,EAAE,WAAgB,EAAE,WAAgB,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;aACT,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,sBAAsB,EACpE;AACE,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,iBAAiB,EAAE,SAAS;AAC5B,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,CAAC,UAAe,EAAE,YAAiB,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,cAAc,EAC5D;AACE,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,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,yBAAyB,CAAC,uBAA4B,EAAE,UAAe,EAAE,UAAe,EAAA;QACtF,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,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,uCAAuC,CAAC,uBAA4B,EAAE,UAAe,EAAE,UAAe,EAAA;QACpG,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,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,sBAAsB,CAAC,UAAkB,EAAE,IAAY,EAAE,IAAY,EAAE,UAAkB,EAAE,oBAA4B,EAAE,KAAa,EAAE,MAAc,EAAA;QACpJ,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,6BAA6B,EAAE,UAAU;AACzC,YAAA,wBAAwB,EAAE,KAAK;AAC/B,YAAA,yBAAyB,EAAE,MAAM;AAClC,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;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,+BAA+B,EAAE,EAAE,OAAO,EAAE,CAAC;IAClH;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,+BAA+B,GAAG,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC;IAC9H;AAEA,IAAA,WAAW,CAAC,UAAkB,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,0BAA0B,GAAG,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC;IAC1H;AAEA,IAAA,sBAAsB,CAAC,UAAkB,EAAA;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,6CAA6C,GAAG,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC;IAC7I;AAEA,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,+CAA+C,GAAG,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC;IAC/I;AAEA,IAAA,qBAAqB,CAAC,UAAkB,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,4CAA4C,GAAG,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC;IAC5I;AAEA,IAAA,qBAAqB,CAAC,UAAkB,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,2CAA2C,GAAG,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC;IAC3I;IAEA,oBAAoB,CAAC,MAAc,EAAE,gBAAgB,GAAG,IAAI,EAAE,UAAU,GAAG,WAAW,EAAA;QACpF,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,qBAAqB,GAAG,MAAM,GAAG,oBAAoB,GAAG,gBAAgB,GAAG,cAAc,GAAG,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC;IACzL;AAEA,IAAA,aAAa,CAAC,UAAkB,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,cAAc,GAAG,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC;IAC9G;AAEA,IAAA,oBAAoB,CAAC,gBAAgB,GAAG,IAAI,EAAE,UAAU,GAAG,WAAW,EAAA;QACpE,IAAI,MAAM,GAAG,sCAAsC;QACnD,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,qBAAqB,GAAG,MAAM,GAAG,oBAAoB,GAAG,gBAAgB,GAAG,cAAc,GAAG,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC;IACzL;AAEA,IAAA,cAAc,CAAC,SAAiB,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,aAAa,GAAG,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC;IAC5G;AAEA,IAAA,SAAS,CAAC,IAAY,EAAA;QACpB,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,qBAAqB,CAAC,UAAkB,EAAE,KAAa,EAAE,KAAa,EAAE,IAAI,GAAG,gBAAgB,EAAE,SAAS,GAAG,MAAM,EAAA;QACjH,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,uBAAuB,GAAG,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,EAAE;YAC7L,OAAO;AACR,SAAA,CAAC;IACJ;AAEA,IAAA,qBAAqB,CAAC,KAAa,EAAE,KAAa,EAAE,MAAW,EAAE,MAAM,GAAG,EAAE,EAAE,IAAI,GAAG,gBAAgB,EAAE,SAAS,GAAG,MAAM,EAAA;QACvH,IAAI,UAAU,GAAG,sCAAsC;QACvD,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,uBAAuB,GAAG,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,EAAE;YAC7L,OAAO;AACR,SAAA,CAAC;IACJ;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,GAAG,iCAAiC,EAC/E;AACE,YAAA,0BAA0B,EAAE,4BAA4B;SACzD,EACD,OAAO,CACR;IACH;IAEA,mBAAmB,CAAC,UAAe,EAAE,YAAiB,EAAE,eAAe,GAAG,IAAI,EAAE,gBAAgB,GAAG,KAAK,EAAA;QACtG,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,CAAC,UAAe,EAAE,gBAAqB,EAAE,UAAU,GAAG,WAAW,EAAA;QAC3E,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,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,GAAG,aAAa,EAC3D;AACE,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,gBAAgB,EAAE,sCAAsC;AACxD,YAAA,UAAU,EAAE,WAAW;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;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,mBAAmB,CAAC,SAAc,EAAE,SAAc,EAAE,UAAe,EAAA;QACjE,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;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,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,aAAA,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,kBAAkB,GAAG,UAAU,EAC7E;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,sCAAsC,EACzG;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,CAAC,gBAAwB,EAAE,qBAA6B,EAAA;QAC/E,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,mBAAmB,GAAG,gBAAgB,GAAG,GAAG,GAAG,qBAAqB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CACxJ,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACH;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,GAAG,gCAAgC,EAC9E;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;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,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,cAAc,GAAG,UAAU,EAAE,WAAW,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,YAAY,CAAC,oBAAyB,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,YAAY,EAAE;AAC7E,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,IAAI,EAAE;AACJ,gBAAA,oBAAoB,EAAE,oBAAoB;AAC3C,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;+GA/eW,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAc,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAd,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAe,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;;;MCJY,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,EAAAf,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,EAAAa,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAd,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAe,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,CAAC,GAAG,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,CAAC,GAAG,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,CAAC,GAAG,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,CAAC,GAAG,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,CAAC,GAAG,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,CAAC,GAAG,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,EAAAhB,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAY,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,EAAAhB,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAa,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,EAAAb,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAY,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,EAAAhB,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAY,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;;;MCEY,mBAAmB,CAAA;AAC9B,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;IAChB;;AAGJ,IAAA,SAAS,CAAC,aAAkB,EAAE,IAAS,EAAE,KAAU,EAAA;QACjD,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,yCAAyC,EACvF;AACE,YAAA,aAAa,EAAE,aAAa;AAC5B,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,KAAK,EAAE,KAAK;SACb,EACD,OAAO,CACR;IACH;;AAGA,IAAA,eAAe,CAAC,aAAqB,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,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,eAAe,GAAG,aAAa,GAAG,QAAQ,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,CAC9H,QAAQ,CAAC,MAAK;AACZ,YAAA,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAAE;gBACnG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACH;;AAGA,IAAA,uBAAuB,CAAC,aAAqB,EAAA;QAC3C,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,eAAe,GAAG,aAAa,GAAG,eAAe,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,CACrI,QAAQ,CAAC,MAAK;AACZ,YAAA,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAAE;gBACnG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACH;AAEA;;AAE6E;IAE7E,wBAAwB,CAAC,aAAqB,EAAE,QAAgB,EAAA;QAC9D,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,sCAAsC,GAAG,aAAa,GAAG,YAAY,GAAG,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC;IACnK;;AAGA,IAAA,oBAAoB,CAAC,aAAqB,EAAA;QACxC,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,aAAa,EAAE,EAAE,OAAO,EAAE,CAAC;IAClI;;AAGA,IAAA,aAAa,CAAC,MAAc,EAAE,UAAkB,EAAE,QAAgB,EAAE,EAAE,GAAG,KAAK,EAAE,QAAQ,GAAG,KAAK,EAAA;QAC9F,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,2BAA2B,GAAG,MAAM,GAAG,cAAc,GAAG,UAAU,GAAG,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,EAAE,GAAG,YAAY,GAAG,QAAQ,EAClL,EAAE,OAAO,EAAE,CACZ;IACH;;IAGA,MAAM,CAAC,aAAkB,EAAE,IAAS,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,6CAA6C,GAAG,aAAa,GAAG,YAAY,GAAG,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC;IACtK;;IAGA,UAAU,GAAA;QACR,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,uCAAuC,EAAE,EAAE,OAAO,EAAE,CAAC;IAC1H;;IAGA,eAAe,GAAA;QACb,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,kBAAkB,EAAE,EAAE,OAAO,EAAE,CAAC;IACrG;AAEA,IAAA,0BAA0B,CAAC,qBAAoC,EAAA;AAC7D,QAAA,IAAI,qBAAqB,IAAI,IAAI,EAAE;YACjC,qBAAqB,GAAG,EAAE;QAC5B;QACA,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,qCAAqC,GAAG,qBAAqB,EAAE,EAAE,OAAO,EAAE,CAAC;IAChJ;;AAGA,IAAA,cAAc,CAAC,aAAqB,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,eAAe,GAAG,aAAa,EAAE,EAAE,OAAO,EAAE,CAAC;IAClH;;AAGA,IAAA,eAAe,CAAC,aAAqB,EAAA;QACnC,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,eAAe,GAAG,aAAa,GAAG,kBAAkB,EAAE,EAAE,OAAO,EAAE,CAAC;IACvI;;AAGA,IAAA,oBAAoB,CAAC,aAAqB,EAAA;QACxC,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,eAAe,GAAG,aAAa,GAAG,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC;IAC7H;;AAGA,IAAA,iBAAiB,CAAC,aAAqB,EAAE,IAAY,EAAE,KAAK,GAAG,EAAE,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,eAAe,GAAG,aAAa,GAAG,SAAS,GAAG,IAAI,GAAG,SAAS,GAAG,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC;IACzJ;;IAGA,eAAe,GAAA;QACb,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,EAAE,EAAE,OAAO,EAAE,CAAC;IAC9G;;AAGA,IAAA,qBAAqB,CAAC,gBAAwB,EAAA;QAC5C,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,8BAA8B,GAAG,gBAAgB,EAAE,EAAE,OAAO,EAAE,CAAC;IACpI;;AAGA,IAAA,0BAA0B,CAAC,UAAkB,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,uBAAuB,GAAG,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC;IACvH;;AAGA,IAAA,YAAY,CAAC,KAAa,EAAE,KAAa,EAAE,UAAmB,EAAE,YAAqB,EAAE,UAAmB,EAAE,SAAkB,EAAE,MAAgB,EAAE,cAAwB,EAAA;AACxK,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;AACnD,QAAA,IAAI,mBAAmB,GAAG,cAAc,GAAG,mBAAmB,GAAG,cAAc,GAAG,EAAE;QAEpF,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;QAC9I,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAA,gCAAA,EAAmC,MAAM,CAAA,CAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IAC9H;;AAGA,IAAA,WAAW,CAAC,YAAiB,EAAA;QAC3B,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,EAAE,EAAE,OAAO,EAAE,CAAC;IAC/G;;IAGA,qBAAqB,GAAA;QACnB,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,EAAE,EAAE,OAAO,EAAE,CAAC;IAClH;AAGA;;AAE6E;;IAG7E,uBAAuB,CAAC,UAAe,EAAE,gBAAqB,EAAA;QAC5D,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,UAAU,EAAE,UAAU;AACtB,YAAA,gBAAgB,EAAE,gBAAgB;AACnC,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;AACZ,YAAA,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAAE;gBACnG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACL;;IAGA,iBAAiB,CAAC,oBAAyB,EAAE,eAAoB,EAAE,UAAe,EAAE,qBAAqB,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,EAAE,aAAa,GAAG,sCAAsC,EAAE,WAAW,GAAG,IAAI,EAAE,QAAa,EAAA;QACpN,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,oBAAoB,EAAE,oBAAoB;AAC1C,YAAA,eAAe,EAAE,eAAe;AAChC,YAAA,qBAAqB,EAAE,UAAU;AACjC,YAAA,qBAAqB,EAAE,qBAAqB;AAC5C,YAAA,mBAAmB,EAAE,QAAQ;AAC7B,YAAA,wBAAwB,EAAE,aAAa;AACvC,YAAA,sBAAsB,EAAE,WAAW;AACnC,YAAA,mBAAmB,EAAE,QAAQ;AAC9B,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;AACZ,YAAA,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAAE;gBACnG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACL;AAEA,IAAA,qBAAqB,CAAC,aAAkB,EAAA;QACtC,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,QAAQ,EAAE,aAAa;AACxB,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;AACZ,YAAA,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAAE;gBACnG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACL;;IAGA,aAAa,CAAC,yBAA8B,EAAE,OAAY,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,uCAAuC,EACrF;AACE,YAAA,yBAAyB,EAAE,yBAAyB;AACpD,YAAA,OAAO,EAAE,OAAO;AACjB,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;AACZ,YAAA,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAAE;gBACnG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACL;;AAGA,IAAA,0BAA0B,CAAC,+BAAoC,EAAA;QAC7D,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,+BAA+B,EAC7E;AACE,YAAA,qBAAqB,EAAE,+BAA+B;AACvD,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;AACZ,YAAA,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAAE;gBACnG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACL;IAEA,yBAAyB,CAAC,+BAAoC,EAAE,UAAe,EAAA;QAC7E,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,8BAA8B,EAC5E;AACE,YAAA,qBAAqB,EAAE,+BAA+B;AACtD,YAAA,UAAU,EAAE,UAAU;AACvB,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;AACZ,YAAA,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAAE;gBACnG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACL;AAEA,IAAA,gCAAgC,CAAC,+BAAoC,EAAA;QACnE,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,qCAAqC,EACnF;AACE,YAAA,sBAAsB,EAAE,+BAA+B;AACxD,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;AACZ,YAAA,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAAE;gBACnG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACL;;IAGA,oBAAoB,CAAC,aAAkB,EAAE,oBAAyB,EAAE,eAAoB,EAAE,qBAAqB,GAAG,IAAI,EAAE,QAAQ,GAAG,IAAI,EAAE,aAAa,GAAG,IAAI,EAAE,WAAW,GAAG,IAAI,EAAA;QAC/K,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,aAAa,EAAE,aAAa;YAC5B,oBAAoB,EAAE,oBAAoB;YAC1C,eAAe,EAAE,eAAe;YAChC,qBAAqB,EAAE,qBAAqB;YAC5C,mBAAmB,EAAE,QAAQ;YAC7B,wBAAwB,EAAE,aAAa;YACvC,sBAAsB,EAAE,WAAW;AACpC,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;AACZ,YAAA,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAAE;gBACnG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACL;;IAGA,WAAW,CAAC,IAAY,EAAE,IAAY,EAAE,QAAiB,EAAE,UAAkB,EAAE,oBAA4B,EAAA;QACzG,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,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAAE;gBACnG,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,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAAE;gBACnG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACL;AAEA;;AAE6E;IAE7E,yBAAyB,CAAC,aAAkB,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,oBAAoB,EAClE;AACE,YAAA,aAAa,EAAE,aAAa;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;IAEA,8BAA8B,CAAC,aAAkB,EAAE,SAAc,EAAE,UAAe,EAAE,SAAc,EAAE,QAAa,EAAA;QAC/G,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,0BAA0B,EACxE;AACE,YAAA,aAAa,EAAE,aAAa;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;IAEA,8BAA8B,CAAC,OAAY,EAAE,SAAc,EAAE,UAAe,EAAE,SAAc,EAAE,QAAa,EAAA;QACzG,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,0BAA0B,EACxE;AACE,YAAA,OAAO,EAAE,OAAO;AAChB,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,uBAAuB,CAAC,UAAe,EAAE,UAAe,EAAA;QACtD,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,UAAU,EAAE,UAAU;AACtB,YAAA,UAAU,EAAE,UAAU;AACvB,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;AACZ,YAAA,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAAE;gBACnG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACL;;AAGA,IAAA,kBAAkB,CAAC,WAAgB,EAAE,SAAc,EAAE,UAAe,EAAA;QAClE,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,OAAO,CAAC,CAAC,IAAI,CACtG,QAAQ,CAAC,MAAK;AACZ,YAAA,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAAE;gBACnG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACH;;IAGA,qBAAqB,CAAC,gBAAwB,EAAE,qBAA6B,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,4BAA4B,GAAG,gBAAgB,GAAG,GAAG,GAAG,qBAAqB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CACjK,QAAQ,CAAC,MAAK;AACZ,YAAA,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAAE;gBACnG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACH;;IAGA,eAAe,CAAC,aAAkB,EAAE,qBAA0B,EAAA;QAC5D,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,IAAI,GAAG;AACT,YAAA,aAAa,EAAE,aAAa;AAC5B,YAAA,SAAS,EAAE,uBAAuB;AAClC,YAAA,UAAU,EAAE,qBAAqB;SAClC;AACD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,oBAAoB,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAC9G,QAAQ,CAAC,MAAK;AACZ,YAAA,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAAE;gBACnG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACH;IAEA,wBAAwB,CAAC,aAAkB,EAAE,UAAe,EAAA;QAC1D,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,IAAI,GAAG;AACT,YAAA,aAAa,EAAE,aAAa;AAC5B,YAAA,SAAS,EAAE,uBAAuB;AAClC,YAAA,UAAU,EAAE,UAAU;SACvB;AACD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,oBAAoB,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAC9G,QAAQ,CAAC,MAAK;AACZ,YAAA,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAAE;gBACnG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACH;IAEA,mBAAmB,CAAC,aAAkB,EAAE,SAAiB,EAAA;QACvD,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,IAAI,GAAG;AACT,YAAA,aAAa,EAAE,aAAa;AAC5B,YAAA,SAAS,EAAE,sBAAsB;YACjC,UAAU,EAAE,SAAS,GAAG,MAAM;SAC/B;AACD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,oBAAoB,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAC9G,QAAQ,CAAC,MAAK;AACZ,YAAA,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAAE;gBACnG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACH;IAEA,uBAAuB,CAAC,aAAkB,EAAE,eAAoB,EAAA;QAC9D,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,IAAI,IAAI,GAAG;AACT,YAAA,aAAa,EAAE,aAAa;AAC5B,YAAA,SAAS,EAAE,sBAAsB;AACjC,YAAA,UAAU,EAAE,eAAe;SAC5B;AACD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,oBAAoB,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAC9G,QAAQ,CAAC,MAAK;AACZ,YAAA,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAAE;gBACnG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACH;AAEA,IAAA,mBAAmB,CAAC,UAAe,EAAE,YAAiB,EAAE,eAAe,GAAG,IAAI,EAAA;QAC5E,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,kCAAkC,EAChF;AACE,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,YAAY,EAAE,YAAY;AAC1B,YAAA,SAAS,EAAE;AACZ,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,+BAA+B,CAAC,UAAgO,EAAA;QAC9P,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;YACE,aAAa,EAAE,UAAU,CAAC,aAAa;YACvC,EAAE,EAAE,UAAU,CAAC,EAAE;YACjB,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,iBAAiB,EAAE,UAAU,CAAC,iBAAiB;YAC/C,MAAM,EAAE,UAAU,CAAC,MAAM;AACzB,YAAA,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,MAAM,EAAE,UAAU,CAAC,MAAM;AACzB,YAAA,WAAW,EAAE,UAAU,CAAC,WAAW;AACnC,YAAA,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,mBAAmB,EAAE,UAAU,CAAC,mBAAmB;AACpD,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;AACZ,YAAA,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAAE;gBACnG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACL;;AAGA,IAAA,sBAAsB,CAAC,aAAkB,EAAE,SAAc,EAAE,UAAe,EAAA;QACxE,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,aAAa,EAAE,aAAa;AAC5B,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,UAAU,EAAE,UAAU;AACvB,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;AACZ,YAAA,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAAE;gBACnG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACL;AAEA,IAAA,0BAA0B,CAAC,OAAY,EAAE,SAAc,EAAE,UAAe,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,GAAG,CACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,4BAA4B,EAC1E;AACE,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,UAAU,EAAE,UAAU;AACvB,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;AACZ,YAAA,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAAE;gBACnG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACL;;IAGA,YAAY,CAAC,EAAO,EAAE,MAAW,EAAA;QAC/B,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,8BAA8B,EAC5E;AACE,YAAA,EAAE,EAAE,EAAE;AACN,YAAA,MAAM,EAAE,MAAM;SACf,EACD,OAAO,CACR;IACH;AAEA,IAAA,mBAAmB,CAAC,QAA2C,EAAA;QAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAClD,QAAA,MAAM,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,yCAAyC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CACpI,QAAQ,CAAC,MAAK;AACZ,YAAA,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAAE;gBACnG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACH;AAEA,IAAA,mBAAmB,CAAC,uBAA4B,EAAE,SAAc,EAAE,UAAe,EAAA;QAC/E,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,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAAE;gBACnG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACL;AAEA;;AAE6E;;AAG7E,IAAA,iBAAiB,CAAC,aAAqB,EAAA;QACrC,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,eAAe,GAAG,aAAa,EAAE;AAChG,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,IAAI,EAAE,EAAE;SACT;AACA,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;AACZ,YAAA,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAAE;gBACnG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACL;;AAGA,IAAA,uBAAuB,CAAC,qBAA0B,EAAA;QAChD,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,sBAAsB,EAAE;AACvF,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,IAAI,EAAE;AACJ,gBAAA,qBAAqB,EAAE,qBAAqB;AAC7C,aAAA;SACF;AACA,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;AACZ,YAAA,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAAE;gBACnG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACL;;AAGA,IAAA,2BAA2B,CAAC,IAAY,EAAA;QACtC,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,uBAAuB,GAAG,IAAI,EAAE;AAC/F,YAAA,OAAO,EAAE,OAAO;SACjB;AACA,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;AACZ,YAAA,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAAE;gBACnG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACL;AAEA,IAAA,0BAA0B,CAAC,0BAA+B,EAAA;QACxD,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,cAAc,EAAE;AAC/E,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,IAAI,EAAE;AACJ,gBAAA,0BAA0B,EAAE,0BAA0B;AACvD,aAAA;SACF;AACA,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;AACZ,YAAA,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAAE;gBACnG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACL;;AAGA,IAAA,wBAAwB,CAAC,oBAAyB,EAAA;QAChD,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,oBAAoB,EAAE;AACrF,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,IAAI,EAAE;AACJ,gBAAA,oBAAoB,EAAE,oBAAoB;AAC3C,aAAA;SACF;AACA,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;AACZ,YAAA,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAAE;gBACnG,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,aAAA,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,+BAA+B,EAAE;AAChG,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,IAAI,EAAE;AACJ,gBAAA,yBAAyB,EAAE,4BAA4B;AACxD,aAAA;SACF;AACA,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;AACZ,YAAA,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAAE;gBACnG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACL;AACA,IAAA,qBAAqB,CAAC,aAAkB,EAAE,IAAS,EAAE,GAAQ,EAAE,qBAA0B,EAAA;QACvF,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,wCAAwC,EACtF;AACE,YAAA,aAAa,EAAE,aAAa;AAC5B,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,OAAO,EAAE,GAAG;AACZ,YAAA,0BAA0B,EAAE,qBAAqB;AAClD,SAAA,EACD,OAAO;AAER,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;AACZ,YAAA,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAAE;gBACnG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClE;QACF,CAAC,CAAC,CACH;IACL;;AAGA,IAAA,cAAc,CAAC,2BAA0C,EAAA;QACvD,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,kCAAkC,EAAE;AACnG,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,IAAI,EAAE;AACJ,gBAAA,kCAAkC,EAAE,2BAA2B;AAChE,aAAA;SACF;AACA,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;AACZ,YAAA,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAAE;gBACnG,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,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,qBAAqB,EAAE,EAAE,OAAO,EAAE,CAAC;IACxG;AAEA,IAAA,wBAAwB,CAAC,QAAgB,EAAE,UAAkB,EAAE,QAAgB,EAAE,QAAgB,EAAE,aAAqB,EAAE,WAAmB,EAAE,KAAK,GAAG,EAAE,EAAA;QACvJ,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,mCAAmC;YACnC,QAAQ;YACR,cAAc;YACd,UAAU;YACV,YAAY;YACZ,QAAQ;YACR,SAAS;YACT,KAAK;YACL,YAAY;YACZ,QAAQ;YACR,aAAa;YACb,aAAa;YACb,eAAe;AACf,YAAA,WAAW,EACX,EAAE,OAAO,EAAE,CACZ;IACH;;IAGA,aAAa,CAAC,QAAgB,EAAE,QAAgB,EAAE,QAAgB,EAAE,aAAqB,EAAE,WAAmB,EAAA;QAC5G,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,4BAA4B;YAC5B,QAAQ;YACR,YAAY;YACZ,QAAQ;YACR,YAAY;YACZ,QAAQ;YACR,aAAa;YACb,aAAa;YACb,eAAe;AACf,YAAA,WAAW,EACX,EAAE,OAAO,EAAE,CACZ;IACH;IAEA,sBAAsB,CAAC,QAAgB,EAAE,GAA8B,EAAA;QACrE,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,uCAAuC,GAAG,QAAQ,GAAG,UAAU,GAAG,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;IAC5K;AAEA,IAAA,yBAAyB,CAAC,QAAa,EAAE,GAAQ,EAAE,QAAa,EAAE,iBAAsB,EAAA;QACtF,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,6BAA6B,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,iBAAiB,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IACzK;;IAGA,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,oBAAoB,EAAE,EAAE,OAAO,EAAE,CAAC;IACvG;IAEA,iBAAiB,CAAC,GAAW,EAAE,QAAgB,EAAA;QAC7C,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,CAAC,CAAA,6CAAA,EAAgD,QAAQ,CAAC,MAAM,CAAA,CAAE,CAAC;gBACpF;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;;wBAEN,QAAQ,CAAA;yBACP,IAAI,CAAA,QAAA,EAAW,WAAW,CAAA,WAAA,EAAc,IAAI,CAAA;;;;KAIhE;AAEG,gBAAA,OAAO,aAAuB;YAChC;YAAE,OAAO,KAAK,EAAE;gBACd,OAAO,CAAC,GAAG,CAAC,4BAA4B,GAAG,QAAQ,GAAG,GAAG,EAAE,KAAK,CAAC;;gBAGjE,OAAO,EAAE,CAAC;YACZ;AACF,QAAA,CAAC,CAAC;IAEJ;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,OAAe,EAAA;AAChC,QAAA,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,WAAW,EAAE;QACpD,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,CAAC,YAAiB,EAAE,aAAkB,EAAE,cAAmB,EAAA;QACtF,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,aAAa;AAChC,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;;;;AAMA,IAAA,eAAe,CAAC,aAAkB,EAAA;QAChC,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,aAAa,EAAE,aAAa;AAC5B,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;+GA9hCW,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAT,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAL,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAW,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;;;MCFY,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,EAAAb,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,UAA4B,EAC5B,IAAiB,EAChB,SAA0B,EAAA;QAH3B,IAAA,CAAA,SAAS,GAAT,SAAS;QACT,IAAA,CAAA,UAAU,GAAV,UAAU;QACV,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,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YAC7E,IAAI,OAAO,EAAE;AACX,gBAAA,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YAC3B;QAEF;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,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,eAAe,CAAC;IACrF;IAEA,qBAAqB,GAAA;QACnB,OAAO,IAAI,CAAC,cAAc;IAC5B;+GA7CW,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAgB,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAL,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAM,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,CACU,IAAgB,EAChB,gBAAiC,EAAA;QADjC,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;IACtB;;AAIJ;;AAE2E;IAE3E,uBAAuB,CAAC,MAAc,EAAE,mBAA2B,EAAA;QACjE,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAoB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,iCAAiC,GAAG,mBAAmB,GAAG,UAAU,GAAG,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC;IACnL;;AAGA,IAAA,yBAAyB,CAAC,mBAA2B,EAAE,mBAA2B,EAAE,uBAAuB,GAAG,KAAK,EAAA;QACjH,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,iCAAiC;YACjC,mBAAmB;YACnB,uBAAuB;YACvB,mBAAmB;YACnB,2BAA2B;AAC3B,YAAA,uBAAuB,EACvB,EAAE,OAAO,EAAE,CACZ;IACH;AAEA,IAAA,mBAAmB,CAAC,aAAqB,EAAE,cAAc,GAAG,EAAE,EAAA;QAC5D,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,iEAAiE,GAAG,aAAa,GAAG,uBAAuB,GAAG,cAAc,GAAG,cAAc,EAC3L,EAAE,OAAO,EAAE,CACZ;IACH;AAEA,IAAA,kBAAkB,CAAC,mBAA2B,EAAA;QAC5C,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAoB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,8CAA8C,GAAG,mBAAmB,EAAE,EAAE,OAAO,EAAE,CAAC;IAC1K;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,CAAkB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,YAAY,EAAE,EAAE,OAAO,EAAE,CAAC;IAChH;;AAGA,IAAA,YAAY,CAAC,aAAqB,EAAA;QAChC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAkB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,aAAa,GAAG,aAAa,EAAE,EAAE,OAAO,EAAE,CAAC;IACjI;;AAGA,IAAA,qBAAqB,CAAC,IAAY,EAAA;QAChC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAoB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,iCAAiC,GAAG,IAAI,GAAG,gBAAgB,EAAE,EAAE,OAAO,EAAE,CAAC;IACjK;;AAGA,IAAA,yBAAyB,CAAC,IAAY,EAAA;QACpC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAoB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,wCAAwC,GAAG,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC;IACrJ;;AAGA,IAAA,uCAAuC,CAAC,kBAA0B,EAAA;QAChE,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAoB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,oBAAoB,GAAG,kBAAkB,EAAE,EAAE,OAAO,EAAE,CAAC;IAC/I;AAEA;;AAE2E;;IAG3E,eAAe,CAAC,SAAwhB,EAAE,KAAU,EAAA;QACljB,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;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,aAAa,GAAG,aAAa,GAAG,YAAY,EAAE,OAAO,CAAC;IAC5H;;IAGA,qBAAqB,CAAC,mBAAwB,EAAE,mBAAwB,EAAE,oBAAyB,EAAE,0BAA+B,EAAE,mBAAwB,EAAA;QAC5J,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,iBAAklB,EAAA;QAChmB,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,aAAkB,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,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,CAAC,mBAAwB,EAAE,mBAAwB,EAAE,mBAAwB,EAAE,oBAAyB,EAAE,0BAA+B,EAAE,mBAAwB,EAAA;QACtL,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,CAAC,mBAAwB,EAAE,oBAAyB,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,6BAA6B,EAC3E;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;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,aAAa,GAAG,kBAAkB,GAAG,sBAAsB,EAAE,EAAE,EAAE,OAAO,CAAC;IAC/I;;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;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,aAAa,GAAG,kBAAkB,GAAG,uBAAuB,EAAE,EAAE,EAAE,OAAO,CAAC;IAChJ;;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,CAAC,aAAkB,EAAE,SAAc,EAAE,UAAe,EAAE,QAAc,EAAA;QACxF,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,aAAkB,EAAE,SAAc,EAAE,UAAe,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,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,CAAC,aAAkB,EAAE,SAAc,EAAE,UAAe,EAAA;QAC7E,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;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,aAAa,GAAG,aAAa,EAAE,EAAE,OAAO,EAAE,CAAC;IACnH;;AAGA,IAAA,gCAAgC,CAAC,mBAA2B,EAAA;QAC1D,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,oBAAoB,GAAG,mBAAmB,EAAE;AAC3H,YAAA,OAAO,EAAE,OAAO;AACjB,SAAA,CAAC;IACJ;+GAhVW,iBAAiB,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;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;IAJ3D;AAKJ;;AAE6E;IAE7E,oBAAoB,CAAC,MAAc,EAAE,gBAAgB,GAAG,IAAI,EAAE,UAAU,GAAG,KAAK,EAAA;QAC9E,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,qBAAqB,GAAG,MAAM,GAAG,oBAAoB,GAAG,gBAAgB,GAAG,cAAc,GAAG,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC;IACzL;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,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,2BAA2B,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC;IAChK;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,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;IAC/J;AAEA,IAAA,aAAa,CAAC,UAAe,EAAA;QAC3B,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,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC;IAC9G;AAEA,IAAA,oBAAoB,CAAC,gBAAgB,GAAG,IAAI,EAAE,UAAU,GAAG,KAAK,EAAA;AAC9D,QAAA,IAAI,UAAU,IAAI,WAAW,EAAE;AAC7B,YAAA,IAAI,MAAM,GAAG,IAAI,CAAC,mBAAmB;YACrC,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,EAAE,UAAU,CAAC;QACxE;AAAO,aAAA,IAAI,UAAU,IAAI,WAAW,EAAE;AACpC,YAAA,IAAI,MAAM,GAAG,IAAI,CAAC,mBAAmB;YACrC,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,EAAE,UAAU,CAAC;QACxE;AAAO,aAAA,IAAI,UAAU,IAAI,OAAO,EAAE;AAChC,YAAA,IAAI,MAAM,GAAG,IAAI,CAAC,eAAe;YACjC,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,EAAE,UAAU,CAAC;QACxE;aAAO;YACL,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;YAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,+BAA+B,GAAG,gBAAgB,GAAG,cAAc,GAAG,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC;QACnK;IACF;AAEA,IAAA,eAAe,CAAC,MAAW,EAAA;QACzB,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,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC;IAC9G;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,GAAG,8BAA8B,EAC5E;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;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,wBAAwB,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,EAClG;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,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,aAAa,GAAG,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC;IAC5G;AAEA,IAAA,uBAAuB,CAAC,SAAiB,EAAA;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,kBAAkB,GAAG,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC;IACjH;AAEA,IAAA,SAAS,CAAC,IAAY,EAAA;QACpB,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,qBAAqB,CAAC,UAAkB,EAAE,KAAa,EAAE,KAAa,EAAE,IAAI,GAAG,gBAAgB,EAAE,SAAS,GAAG,MAAM,EAAE,UAAU,GAAG,KAAK,EAAA;QACrI,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,oBAAoB;YACpB,UAAU;YACV,QAAQ;YACR,IAAI;YACJ,aAAa;YACb,SAAS;YACT,SAAS;YACT,KAAK;YACL,SAAS;YACT,KAAK;YACL,aAAa;AACb,YAAA,UAAU,EACV,EAAE,OAAO,EAAE,CACZ;IACH;IAEA,qBAAqB,CAAC,KAAU,EAAE,KAAU,EAAE,MAAW,EAAE,MAAM,GAAG,EAAE,EAAE,IAAI,GAAG,gBAAgB,EAAE,SAAS,GAAG,MAAM,EAAE,UAAU,GAAG,KAAK,EAAA;AACrI,QAAA,IAAI,UAAU,IAAI,WAAW,EAAE;AAC7B,YAAA,IAAI,MAAM,GAAG,IAAI,CAAC,mBAAmB;AACrC,YAAA,OAAO,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC;QACtF;AAAO,aAAA,IAAI,UAAU,IAAI,WAAW,EAAE;AACpC,YAAA,IAAI,MAAM,GAAG,IAAI,CAAC,mBAAmB;AACrC,YAAA,OAAO,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC;QACtF;AAAO,aAAA,IAAI,UAAU,IAAI,OAAO,EAAE;AAChC,YAAA,IAAI,MAAM,GAAG,IAAI,CAAC,eAAe;AACjC,YAAA,OAAO,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC;QACtF;aAAO;AACL,YAAA,OAAO,IAAI,CAAC,qBAAqB,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC;QAClF;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,GAAG,iCAAiC,EAC/E;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,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,4BAA4B,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC;IACjK;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,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,oCAAoC,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC;IACzK;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;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,CAAC,UAAe,EAAE,YAAiB,EAAE,eAAe,GAAG,IAAI,EAAE,gBAAgB,GAAG,KAAK,EAAA;QACtG,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,CAAC,UAAe,EAAE,gBAA+B,EAAE,UAAU,GAAG,KAAK,EAAA;QAC/E,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,WAAW,EAAE;AACpC,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;YACL,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC;QACxD;IACF;;IAGA,WAAW,CAAC,IAAI,GAAG,IAAI,EAAE,eAAe,GAAG,OAAO,EAAE,eAAA,GAAuB,IAAI,EAAA;QAC7E,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,GAAG,IAAI,GAAG,mBAAmB,GAAG,eAAe,EACxH;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;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,uBAAuB,GAAG,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC;IACjH;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,CAAC,SAAc,EAAE,SAAc,EAAE,UAAe,EAAE,SAAc,EAAE,QAAa,EAAA;QAChG,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,aAAA,IAAI,CACH,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,kBAAkB,GAAG,UAAU,EAC7E;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,CAAC,gBAAwB,EAAE,qBAA6B,EAAA;QAC/E,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,mBAAmB,GAAG,gBAAgB,GAAG,GAAG,GAAG,qBAAqB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CACxJ,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACH;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,GAAG,gCAAgC,EAC9E;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,GAAG,gCAAgC,EAC9E;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;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,oCAAoC,GAAG,gBAAgB,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,CAC5I,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACH;IACA,wBAAwB,GAAA;QACtB,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,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CACnH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAClE,CAAC,CAAC,CACH;IACH;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,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,cAAc,GAAG,UAAU,EAAE,WAAW,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,YAAY,CAAC,oBAAyB,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,YAAY,EAAE;AAC7E,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,IAAI,EAAE;AACJ,gBAAA,oBAAoB,EAAE,oBAAoB;AAC3C,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,UAAU,GAAA;QACR,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,YAAY,EAAE;AAC7E,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,IAAI,EAAE;AACJ,gBAAA,oBAAoB,EAAE,EAAE;AACxB,gBAAA,UAAU,EAAE,IAAI;AACjB,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;;AAGA,IAAA,WAAW,CAAC,SAAiB,EAAA;QAC3B,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,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC;IAC/G;AAEA,IAAA,aAAa,CAAC,SAAiB,EAAE,OAAO,GAAG,IAAI,EAAA;QAC7C,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,sBAAsB,GAAG,SAAS,GAAG,GAAG,GAAG,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC;IACrI;;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;+GA5iBW,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAc,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAd,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAe,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,EAAAd,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAe,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,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;IAClK;+GApBW,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAhB,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;;;ACPD;;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.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/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/publications-templates.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/publications.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/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\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(private http: HttpClient) {\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: '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 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) ? (language = localStorage.getItem('language_' + this.alias)) : (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) {\r\n let headers = this.getHeaders();\r\n return this.http.get(this.getSettings('apiUrl') + 'profiles/rights/login/' + login, { headers });\r\n }\r\n\r\n getRightsAccesModuleForOneProfile(profileGuid: any) {\r\n let headers = this.getHeaders();\r\n return this.http.get(this.getSettings('apiUrl') + 'profiles/rights/' + profileGuid, { headers });\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 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 //Get setting information for this account\r\n getAccountSettings() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Settings', { headers });\r\n }\r\n\r\n getActiveSession() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Settings/activesession', { headers });\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(this._settingsService.getSettings('apiUrl') + 'Settings/upload/logo?settingGuid=' + settingGuid, {}, options);\r\n }\r\n\r\n getConnections(start: string, limit: string, login: string, sort: string, direction: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'connections?start=' + start + '&limit=' + limit + '&userLogin=' + login + '&sort=' + sort + '&direction=' + direction, {\r\n headers,\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 { CompaniesService } from './companies.service';\r\n// import { environment } from '../../../environments/environment';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { websocketService } from './websocket.service';\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: CompaniesService,\r\n private dialog: MatDialog,\r\n private _webSocket: websocketService\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')) this.myRoute.navigate(['identification']);\r\n }\r\n\r\n logoutServiceApi() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Users/logout', { headers });\r\n }\r\n\r\n /* ========================================================================\r\n RIGHTS\r\n ======================================================================== */\r\n\r\n setRight(authenticateObjectWithRight: { [x: string]: {}; }) {\r\n this.authenticateObjectWithRight = 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(this._settingsService.getSettings('apiUrl') + 'Authenticate', { headers });\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 triggerModal(content: TemplateRef<any>, viewContainerRef?: ViewContainerRef) {\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 closeAllModal() {\r\n this.dialog.closeAll();\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 { 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 { 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 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 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('delete', this._settingsService.getSettings('apiUrl') + 'DataSheets/publicationstemplates', {\r\n headers: headers,\r\n body: {\r\n listingPublicationTemplateToDelete: listingTemplateGuidToDelete,\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 templateSetDefault(templateId: any, assetGuid: any, defaultType: any, defaultGuid: 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/template/default',\r\n {\r\n templateId: templateId,\r\n templateAssetGuid: 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(folderGuid: any, templateName: 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/template',\r\n {\r\n folderGuid: folderGuid,\r\n templateName: templateName,\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 renamePublicationTemplate(publicationTemplateGuid: any, fieldValue: any, templateId: any) {\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 templateId: templateId,\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(publicationTemplateGuid: any, fieldValue: any, templateId: any) {\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 templateId: templateId,\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(templateId: string, name: string, type: string, formatName: string, linkedBackgroundGuid: string, width: number, height: number) {\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 publicationTemplateTemplateId: templateId,\r\n publicationTemplateWidth: width,\r\n publicationTemplateHeight: height,\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 getTemplateDimensions() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'DataSheets/templateDimensions', { headers });\r\n }\r\n\r\n getTemplateByAssetguid(assetguid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Dam/template/asset?assetGuid=' + assetguid, { headers });\r\n }\r\n\r\n getTemplate(templateId: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Dam/template?templateId=' + templateId, { headers });\r\n }\r\n\r\n getTemplateBackgrounds(templateId: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'DataSheets/backgrounds/template?templateId=' + templateId, { headers });\r\n }\r\n\r\n getTemplateProductBlocks(templateId: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'DataSheets/productblocks/template?templateId=' + templateId, { headers });\r\n }\r\n\r\n getTemplateCoverpages(templateId: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'DataSheets/coverpages/template?templateId=' + templateId, { headers });\r\n }\r\n\r\n getTemplateMarketings(templateId: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'DataSheets/marketing/template?templateId=' + templateId, { headers });\r\n }\r\n\r\n getFoldersWithParent(parent: string, showEmptyFolders = true, folderType = 'TEMPLATES') {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Dam/folders?parent=' + parent + '&showEmptyFolders=' + showEmptyFolders + '&foldertype=' + folderType, { headers });\r\n }\r\n\r\n getInfoFolder(folderGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Dam/folders/' + folderGuid, { headers });\r\n }\r\n\r\n getFoldersOnLevelOne(showEmptyFolders = true, folderType = 'TEMPLATES') {\r\n let parent = '33333333-3333-3333-3333-333333333333';\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Dam/folders?parent=' + parent + '&showEmptyFolders=' + showEmptyFolders + '&foldertype=' + folderType, { headers });\r\n }\r\n\r\n getAssetByGuid(assetguid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Dam/assets/' + assetguid, { headers });\r\n }\r\n\r\n getStatus(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 getAssetsByFolderGuid(folderGuid: string, start: string, limit: string, sort = 'assetCreatedAt', direction = 'DESC') {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Dam/templates?folder=' + folderGuid + '&sort=' + sort + '&direction=' + direction + '&start=' + start + '&limit=' + limit, {\r\n headers,\r\n });\r\n }\r\n\r\n getAssetsByOnLevelOne(start: string, limit: string, search: any, status = '', sort = 'assetCreatedAt', direction = 'DESC') {\r\n let folderGuid = '33333333-3333-3333-3333-333333333333';\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Dam/templates?folder=' + folderGuid + '&sort=' + sort + '&direction=' + direction + '&start=' + start + '&limit=' + limit, {\r\n headers,\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') + 'dam/assets/movetotrashbin/false',\r\n {\r\n listingAssetToMoveTrashbin: listingAssetToMoveOutOfTrash,\r\n },\r\n options\r\n );\r\n }\r\n\r\n assignTeamsToFolder(folderGuid: any, tabGuidTeams: any, subfolderImpact = true, 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/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(folderName: any, folderParentGuid: any, folderType = 'TEMPLATES') {\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) {\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: '33333333-3333-3333-3333-333333333333',\r\n folderType: 'TEMPLATES',\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 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 updateFieldForAsset(assetGuid: 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') + 'Dam/assets/field',\r\n {\r\n assetGuid: assetGuid,\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 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') + 'dam/assets/move/' + 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/' + '33333333-3333-3333-3333-333333333333',\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(sourceFolderGuid: string, destinationFolderGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Dam/folders/move/' + sourceFolderGuid + '/' + destinationFolderGuid, { headers }).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') + '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 deleteFolder(folderGuid: string) {\r\n const httpOptions = {\r\n headers: this._settingsService.getHeaders(),\r\n };\r\n\r\n return this.http.delete(this._settingsService.getSettings('apiUrl') + 'Dam/folders/' + folderGuid, httpOptions).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('delete', this._settingsService.getSettings('apiUrl') + 'Dam/assets', {\r\n headers: headers,\r\n body: {\r\n listingAssetToDelete: listingAssetToDelete,\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","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 { HttpHeaders, HttpClient } from '@angular/common/http';\r\nimport { SettingsService } from './settings.service';\r\nimport { websocketService } from './websocket.service';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { from, Observable, defer } from 'rxjs';\r\nimport { HubConnectionState } from '@aspnet/signalr';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PublicationsService {\r\n constructor(\r\n private _settingsService: SettingsService,\r\n private http: HttpClient,\r\n private _webSocket: websocketService\r\n ) { }\r\n\r\n //Is present in this page\r\n isPresent(publicationId: any, guid: any, isSku: 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') + 'Publications/pages/skusgroups/ispresent',\r\n {\r\n publicationId: publicationId,\r\n guid: guid,\r\n isSku: isSku,\r\n },\r\n options\r\n );\r\n }\r\n\r\n //link a publication\r\n linkPublication(publicationId: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Publications/' + publicationId + '/links', {}, options).pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n })\r\n );\r\n }\r\n\r\n //Design models\r\n designModelsPublication(publicationId: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Publications/' + publicationId + '/designmodels', {}, options).pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n })\r\n );\r\n }\r\n\r\n /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getAllPagesByPublication(publicationId: string, language: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'DataSheets/previews?publicationGuid=' + publicationId + '&language=' + language, { headers });\r\n }\r\n\r\n //get export easy catalog\r\n getExportEasycatalog(publicationId: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Exchanges/export/easycatalog/' + publicationId, { headers });\r\n }\r\n\r\n //get datasheets\r\n getDataSheets(source: string, sourceGuid: string, language: string, hd = false, youbooky = false) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') + 'DataSheets/exists?source=' + source + '&sourceGuid=' + sourceGuid + '&language=' + language + '&hd=' + hd + '&youbooky=' + youbooky,\r\n { headers }\r\n );\r\n }\r\n\r\n //get xml\r\n getXML(publicationId: any, lang: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Exchanges/export/easycatalog?publicationId=' + publicationId + '&language=' + lang, { headers });\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(this._settingsService.getSettings('apiUrl') + 'Publications/pages/skusgroups/gabarit', { headers });\r\n }\r\n\r\n //Get all publications\r\n getPublications() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Publications/all', { headers });\r\n }\r\n\r\n getPublicationByFolderGuid(publicationFolderGuid: string | null) {\r\n if (publicationFolderGuid == null) {\r\n publicationFolderGuid = '';\r\n }\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Publications?publicationFolderGuid=' + publicationFolderGuid, { headers });\r\n }\r\n\r\n //Get one publication\r\n getPublication(publicationId: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Publications/' + publicationId, { headers });\r\n }\r\n\r\n //Flat plan problem\r\n flatPlanProblem(publicationId: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Publications/' + publicationId + '/flatplanproblem', { headers });\r\n }\r\n\r\n //Get page of publication\r\n getPageOfPublication(publicationId: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Publications/' + publicationId + '/pages', { headers });\r\n }\r\n\r\n //Get page by his numero\r\n getSkuForThisPage(publicationId: string, guid: string, limit = 50) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Publications/' + publicationId + '/pages/' + guid + '?limit=' + limit, { headers });\r\n }\r\n\r\n //Get all responsible\r\n getResponsibles() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Publications/responsibles', { headers });\r\n }\r\n\r\n //get folders publication\r\n getFoldersPublication(folderParentGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Publications/folders?parent=' + folderParentGuid, { headers });\r\n }\r\n\r\n //get info folder in publication\r\n getInfoFolderInPublication(folderGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Publications/folders/' + folderGuid, { headers });\r\n }\r\n\r\n // get all templates with parameters\r\n getTemplates(start: number, limit: number, searchWord?: string, typeSelected?: string, columnSort?: string, direction?: string, active?: boolean, delautTemplate?: boolean) {\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 ? '&defaultTemplate=' + delautTemplate : '';\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(this._settingsService.getSettings('apiUrl') + `DataSheets/publicationstemplates${params}`, { headers });\r\n }\r\n\r\n // get a template\r\n getTemplate(templateGuid: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'DataSheets/' + templateGuid, { headers });\r\n }\r\n\r\n // get a list of existing dimensions\r\n getTemplateDimensions() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'DataSheets/templateDimensions', { headers });\r\n }\r\n\r\n\r\n /* ========================================================================\r\n CREATE\r\n ======================================================================== */\r\n\r\n //create a folder in publication\r\n createFolderPublication(folderName: any, folderParentGuid: 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') + 'Publications/folders',\r\n {\r\n folderName: folderName,\r\n folderParentGuid: folderParentGuid,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n })\r\n );\r\n }\r\n\r\n //Create a publication\r\n createPublication(publicationReference: any, publicationName: any, folderGuid: any, publicationTemplateId = 0, ratebase = 0, pricelistguid = '00000000-0000-0000-0000-000000000000', accountguid = null, language: 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') + 'Publications',\r\n {\r\n publicationReference: publicationReference,\r\n publicationName: publicationName,\r\n publicationFolderGuid: folderGuid,\r\n publicationTemplateId: publicationTemplateId,\r\n publicationRatebase: ratebase,\r\n publicationPriceListGuid: pricelistguid,\r\n publicationAccountGuid: accountguid,\r\n publicationLanguage: language,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n })\r\n );\r\n }\r\n\r\n createPublicationDeal(publicationId: 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') + 'Publications/deal',\r\n {\r\n sourceId: publicationId,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\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 createGabarit(listingUidToUpdateGabarit: any, gabarit: 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') + 'Publications/pages/skusgroups/gabarit',\r\n {\r\n listingUidToUpdateGabarit: listingUidToUpdateGabarit,\r\n gabarit: gabarit,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\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(objForLinkProductsToPublication: 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') + 'Publications/assignSkusGroups',\r\n {\r\n listingGroupsToAdding: objForLinkProductsToPublication,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n })\r\n );\r\n }\r\n\r\n checkProductInPublication(objForLinkProductsToPublication: any, idTemplate: 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') + 'Publications/checkSkusGroups',\r\n {\r\n listingGroupsToAdding: objForLinkProductsToPublication,\r\n idTemplate: idTemplate,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n })\r\n );\r\n }\r\n\r\n checkExcludeProductInPublication(objForLinkProductsToPublication: 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') + 'Publications/checkExcludeSkusGroups',\r\n {\r\n listingGroupsToExclude: objForLinkProductsToPublication,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\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(publicationId: any, publicationReference: any, publicationName: any, publicationFolderGuid = null, ratebase = null, pricelistguid = null, accountguid = 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') + 'Publications/duplicate',\r\n {\r\n publicationId: publicationId, //publication of old publication to duplicate\r\n publicationReference: publicationReference, //new reference\r\n publicationName: publicationName, //new name\r\n publicationFolderGuid: publicationFolderGuid, //folder where to put the new publication\r\n publicationRatebase: ratebase, //ratebase of the new publication\r\n publicationPriceListGuid: pricelistguid, //pricelist of the new publication\r\n publicationAccountGuid: accountguid, //account of the new publication\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\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(name: string, type: string, isActive: boolean, formatName: string, linkedBackgroundGuid: 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/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 (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\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 (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\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(publicationId: 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') + 'Publications/field',\r\n {\r\n publicationId: publicationId,\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(publicationId: 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') + 'Publications/pages/field',\r\n {\r\n publicationId: publicationId,\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(dataUid: 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') + 'Publications/datas/field',\r\n {\r\n dataUid: dataUid,\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 //update a folder in publication\r\n updateFolderPublication(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') + 'Publications/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 if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n })\r\n );\r\n }\r\n\r\n //update field of items in publication\r\n updateFieldOfItems(itemTabGuid: any, nameField: any, valueField: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let options = { headers: headers };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Publications/folders', options).pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n })\r\n );\r\n }\r\n\r\n //move folder from source to destination\r\n moveFolderPublication(sourceFolderGuid: string, destinationFolderGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Publications/folders/move/' + sourceFolderGuid + '/' + destinationFolderGuid, { headers }).pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n })\r\n );\r\n }\r\n\r\n //move folder from source to destination\r\n movePublication(publicationId: any, destinationFolderGuid: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let body = {\r\n publicationId: publicationId,\r\n fieldName: 'publicationFolderGuid',\r\n fieldValue: destinationFolderGuid,\r\n };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Publications/field', body, { headers }).pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n })\r\n );\r\n }\r\n\r\n setPublicationTemplateId(publicationId: any, templateId: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let body = {\r\n publicationId: publicationId,\r\n fieldName: 'publicationTemplateId',\r\n fieldValue: templateId,\r\n };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Publications/field', body, { headers }).pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n })\r\n );\r\n }\r\n\r\n setPublicationCover(publicationId: any, covername: string) {\r\n let headers = this._settingsService.getHeaders();\r\n let body = {\r\n publicationId: publicationId,\r\n fieldName: 'publicationCoverpage',\r\n fieldValue: covername + '.svg',\r\n };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Publications/field', body, { headers }).pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n })\r\n );\r\n }\r\n\r\n setPublicationStartPage(publicationId: any, startPageNumber: any) {\r\n let headers = this._settingsService.getHeaders();\r\n let body = {\r\n publicationId: publicationId,\r\n fieldName: 'publicationPageStart',\r\n fieldValue: startPageNumber,\r\n };\r\n return this.http.put(this._settingsService.getSettings('apiUrl') + 'Publications/field', body, { headers }).pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n })\r\n );\r\n }\r\n\r\n assignTeamsToFolder(folderGuid: any, tabGuidTeams: any, subfolderImpact = true) {\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/folders/assignTeams',\r\n {\r\n folderGuid: folderGuid,\r\n listingTeams: tabGuidTeams,\r\n subfolder: subfolderImpact\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 //Create a page in publication\r\n updateOrCreatePageInPublication(pageObject: { publicationId: any; id: any; name: any; width: any; backgroundPreview: any; height: any; statuts: any; spreadName: any; number: any; printNumber: any; isStatic: any; lastUpdate: any; publicationPageType: 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') + 'Publications/pages',\r\n {\r\n publicationId: pageObject.publicationId,\r\n id: pageObject.id,\r\n name: pageObject.name,\r\n width: pageObject.width,\r\n backgroundPreview: pageObject.backgroundPreview,\r\n height: pageObject.height,\r\n statuts: pageObject.statuts, //draft(0), waiting(1), ready (2), in progress (3)\r\n spreadName: pageObject.spreadName,\r\n number: pageObject.number,\r\n printNumber: pageObject.printNumber, //start to one and need to be incremented\r\n isStatic: pageObject.isStatic, //if static, the page got empty\r\n lastUpdate: pageObject.lastUpdate,\r\n publicationPageType: pageObject.publicationPageType,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\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(publicationId: 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') + 'Publications/field',\r\n {\r\n publicationId: publicationId,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n })\r\n );\r\n }\r\n\r\n updatePublicationDataField(dataUid: 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') + 'Publications/datasid/field',\r\n {\r\n dataUid: dataUid,\r\n fieldName: fieldName,\r\n fieldValue: fieldValue,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\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(id: any, number: 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') + 'Publications/pages/ordershow',\r\n {\r\n id: id,\r\n number: number,\r\n },\r\n options\r\n );\r\n }\r\n\r\n moveSkusGroupInPage(skusData: { uid: string; number: number }[]) {\r\n const headers = this._settingsService.getHeaders();\r\n const options = { headers: headers };\r\n return this.http.post(this._settingsService.getSettings('apiUrl') + 'Publications/pages/skusgroups/ordershow', skusData, options).pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n })\r\n );\r\n }\r\n\r\n updateTemplateField(publicationTemplateGuid: 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') + '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 (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\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 a publication\r\n deletePublication(publicationId: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .request('delete', this._settingsService.getSettings('apiUrl') + 'Publications/' + publicationId, {\r\n headers: headers,\r\n body: {},\r\n })\r\n .pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n })\r\n );\r\n }\r\n\r\n //delete a publication folder\r\n deletePublicationFolder(listingFolderToDelete: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .request('delete', this._settingsService.getSettings('apiUrl') + 'Publications/folders', {\r\n headers: headers,\r\n body: {\r\n listingFolderToDelete: listingFolderToDelete,\r\n },\r\n })\r\n .pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n })\r\n );\r\n }\r\n\r\n //delete a publication folder\r\n deletePublicationFolderById(guid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .request('delete', this._settingsService.getSettings('apiUrl') + 'Publications/folders/' + guid, {\r\n headers: headers,\r\n })\r\n .pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n })\r\n );\r\n }\r\n\r\n deletePublicationByTabOfId(listingPublicationToDelete: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .request('delete', this._settingsService.getSettings('apiUrl') + 'Publications', {\r\n headers: headers,\r\n body: {\r\n listingPublicationToDelete: listingPublicationToDelete,\r\n },\r\n })\r\n .pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n })\r\n );\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('delete', this._settingsService.getSettings('apiUrl') + 'Publications/pages', {\r\n headers: headers,\r\n body: {\r\n listingPagesToDelete: listingPagesToDelete,\r\n },\r\n })\r\n .pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\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('delete', this._settingsService.getSettings('apiUrl') + 'Publications/removeSkusGroups', {\r\n headers: headers,\r\n body: {\r\n listingSkusGroupsToDelete: listingSkusGroupsUidToDelete,\r\n },\r\n })\r\n .pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n })\r\n );\r\n }\r\n upsertExcludeSkuGuids(publicationId: any, page: any, sku: any, skuGuidsExcludesCheck: 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') + 'Publications/pages/skusgroups/excludes',\r\n {\r\n publicationId: publicationId,\r\n page: page,\r\n skuGuid: sku,\r\n listingUidToUpdateExcludes: skuGuidsExcludesCheck,\r\n },\r\n options\r\n )\r\n .pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\r\n this._webSocket.connection.invoke('refresh', 'dashboardRefresh');\r\n }\r\n })\r\n );\r\n }\r\n\r\n //delete template\r\n deleteTemplate(listingTemplateGuidToDelete: Array<string>) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http\r\n .request('delete', this._settingsService.getSettings('apiUrl') + 'DataSheets/publicationstemplates', {\r\n headers: headers,\r\n body: {\r\n listingPublicationTemplateToDelete: listingTemplateGuidToDelete,\r\n },\r\n })\r\n .pipe(\r\n finalize(() => {\r\n if (this._webSocket.connection && this._webSocket.connection.state === HubConnectionState.Connected) {\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(this._settingsService.getSettings('apiUrl') + 'Exchanges/allfields', { headers });\r\n }\r\n\r\n getSkuForThisPagePreview(sourceId: string, sectionKey: string, language: string, ratebase: string, priceListGuid: string, accountGuid: string, limit = 50) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\r\n this._settingsService.getSettings('apiUrl') +\r\n 'Publications/pages/skus?sourceId=' +\r\n sourceId +\r\n '&sectionKey=' +\r\n sectionKey +\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(sourceId: string, language: string, ratebase: string, priceListGuid: string, accountGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(\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 { headers }\r\n );\r\n }\r\n\r\n getPublicationSkuPrice(sourceId: string, sku: string | number | boolean) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Publications/pages/skuprice?sourceId=' + sourceId + '&skuRef=' + encodeURIComponent(sku), { headers });\r\n }\r\n\r\n updatePublicationSkuPrice(sourceId: any, sku: any, skuPrice: any, skuPricePromotion: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.post(this._settingsService.getSettings('apiUrl') + 'Publications/pages/skuprice', { sourceId, skuRef: sku, skuPrice, skuPricePromotion }, { headers });\r\n }\r\n\r\n // FONTS\r\n getFonts() {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Publications/fonts', { headers });\r\n }\r\n\r\n getFontFaceBase64(url: string, fontName: string): Observable<any> {\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(`Erreur lors du téléchargement de la police : ${response.status}`);\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 (error) {\r\n console.log(\"[ERROR] Getting the font '\" + fontName + \"'\", error);\r\n\r\n // ⬇️ On retourne une chaîne vide ou null\r\n return \"\"; // ou return null;\r\n }\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: string) {\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(documentName: any, publicationId: any, folderSelected: 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/documents',\r\n {\r\n documentName: documentName,\r\n documentType: 'publication',\r\n documentCatalogId: publicationId,\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 // ***********************************************************************************\r\n // * YOUBOOKY\r\n // ***********************************************************************************\r\n\r\n shareToYoubooky(publicationId: 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') + 'Publications/youbooky',\r\n {\r\n publicationId: publicationId,\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","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 { CompaniesService } from './companies.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 _companies: CompaniesService,\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('language_' + this._settings.getAlias());\r\n if (langage) {\r\n this.useLanguage(langage);\r\n }\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(lang || this.translate.getDefaultLang() || this.defaultLanguage);\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 http: HttpClient,\r\n private _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[]>(this._settingsService.getSettings('apiUrl') + 'Attributes?attributesGroupType=' + attributesGroupType + '&search=' + search, { headers });\r\n }\r\n\r\n //Return the list of all attributes from an attributes group guid\r\n getAttributesByGroupsType(attributesGroupGuid: string, attributesGroupType: string, attributesGroupIsSystem = false) {\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 = '') {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get<AttributeObject[]>(\r\n this._settingsService.getSettings('apiUrl') + 'Attributes/byAttributeTypeAndAttributeGroupType?attributesType=' + attributeType + '&attributesGroupType=' + attributeGroup + '&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[]>(this._settingsService.getSettings('apiUrl') + 'Attributes/system/group?attributesGroupGuid=' + attributesGroupGuid, { headers });\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>(this._settingsService.getSettings('apiUrl') + 'Attributes', { headers });\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>(this._settingsService.getSettings('apiUrl') + 'Attributes/' + attributeGuid, { headers });\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[]>(this._settingsService.getSettings('apiUrl') + 'Attributes?attributesGroupType=' + type + '&trashbin=true', { headers });\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[]>(this._settingsService.getSettings('apiUrl') + 'Attributes/groups?attributesGroupType=' + type, { headers });\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[]>(this._settingsService.getSettings('apiUrl') + 'Attributes/groups/' + attributeGroupGuid, { headers });\r\n }\r\n\r\n /* ========================================================================\r\n CREATE\r\n ======================================================================== */\r\n\r\n //Creation of an attributes\r\n createAttribute(attribute: { attributeName: any; attributesGroupGuid: any; attributeType: any; attributeIsActive: any; attributeIsFront: any; attributeIsTrashbin: any; attributeIsReadonly: any; attributeIsMandatory: any; attributeIsUnique: any; attributeIsFilter: any; attributeIsTranslated: any; attributeIsGrouped: any; attributeOrder: any; attributeNote: any; attributeInitialValue: any; attributeMinValue: any; attributeMaxValue: any; attributeMaxNumberDigits: any; attributeDecimalPoints: any; attributeMaxCharacters: any; attributeOptions: any; }, isDec: 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',\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(this._settingsService.getSettings('apiUrl') + 'Attributes/' + attributeGuid + '/duplicate', options);\r\n }\r\n\r\n //Create an attributes group with the parameters\r\n createAttributesGroup(attributesGroupName: any, attributesGroupType: any, attributesGroupOrder: any, attributesGroupIsTranslate: any, attributesGroupNote: 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/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: { attributeGuid: any; attributeName: any; attributesGroupGuid: any; attributeType: any; attributeIsActive: any; attributeIsFront: any; attributeIsTrashbin: any; attributeIsReadonly: any; attributeIsFilter: any; attributeIsMandatory: any; attributeIsUnique: any; attributeIsTranslated: any; attributeIsGrouped: any; attributeOrder: any; attributeNote: any; attributeInitialValue: any; attributeMinValue: any; attributeMaxValue: any; attributeMaxNumberDigits: any; attributeDecimalPoints: any; attributeMaxCharacters: any; attributeOptions: any; attributeIsModelVariant: 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',\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: any, attributeOrder: 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/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(attributesGroupGuid: any, attributesGroupName: any, attributesGroupType: any, attributesGroupOrder: any, attributesGroupIsTranslate: any, attributesGroupNote: 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/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(attributesGroupGuid: any, attributesGroupOrder: 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/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(this._settingsService.getSettings('apiUrl') + 'Attributes/' + attributeGroupGuid + '/movetotrashbin/true', {}, options);\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(this._settingsService.getSettings('apiUrl') + 'Attributes/' + attributeGroupGuid + '/movetotrashbin/false', {}, options);\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(attributeGuid: any, fieldName: any, fieldValue: any, language?: 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/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: 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') + '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(attributeGuid: any, fieldName: any, fieldValue: 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/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(this._settingsService.getSettings('apiUrl') + 'Attributes/' + attributeGuid, { headers });\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('delete', this._settingsService.getSettings('apiUrl') + 'Attributes/groups/' + attributesGroupGuid, {\r\n headers: 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 { 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 /* ========================================================================\r\n GET\r\n ======================================================================== */\r\n\r\n getFoldersWithParent(parent: string, showEmptyFolders = true, folderType = 'DAM') {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Dam/folders?parent=' + parent + '&showEmptyFolders=' + showEmptyFolders + '&foldertype=' + folderType, { headers });\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(this._settingsService.getSettings('apiUrl') + 'Dam/assets/missing?start=' + start + '&limit=' + limit + '&search=' + search, { headers });\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(this._settingsService.getSettings('apiUrl') + 'Dam/assets/orphan?start=' + start + '&limit=' + limit + '&search=' + search, { headers });\r\n }\r\n\r\n getInfoFolder(folderGuid: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Dam/folders/' + folderGuid, { headers });\r\n }\r\n\r\n getFoldersOnLevelOne(showEmptyFolders = true, folderType = 'DAM') {\r\n if (folderType == 'TEMPLATES') {\r\n let parent = this.folderTemplatesGuid;\r\n return this.getFoldersWithParent(parent, showEmptyFolders, folderType);\r\n } else if (folderType == 'DOCUMENTS') {\r\n let parent = this.folderDocumentsGuid;\r\n return this.getFoldersWithParent(parent, showEmptyFolders, folderType);\r\n } else if (folderType == 'EXCEL') {\r\n let parent = this.folderExcelGuid;\r\n return this.getFoldersWithParent(parent, showEmptyFolders, folderType);\r\n } else {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Dam/folders?showEmptyFolders=' + showEmptyFolders + '&foldertype=' + folderType, { headers });\r\n }\r\n }\r\n\r\n getAssetByGuids(object: any) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.post(this._settingsService.getSettings('apiUrl') + 'Dam/assets/array', object, { headers });\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') + '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') + 'Dam/assets/skus?start=' + start + '&limit=' + 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(this._settingsService.getSettings('apiUrl') + 'Dam/assets/' + assetguid, { headers });\r\n }\r\n\r\n getAssetWhereUsedByGuid(assetguid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Dam/assets/used/' + assetguid, { headers });\r\n }\r\n\r\n getStatus(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 getAssetsByFolderGuid(folderGuid: string, start: string, limit: string, sort = 'assetCreatedAt', direction = 'DESC', folderType = 'DAM') {\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=' +\r\n sort +\r\n '&direction=' +\r\n direction +\r\n '&start=' +\r\n start +\r\n '&limit=' +\r\n limit +\r\n '&assetType=' +\r\n folderType,\r\n { headers }\r\n );\r\n }\r\n\r\n getAssetsByOnLevelOne(start: any, limit: any, search: any, status = '', sort = 'assetCreatedAt', direction = 'DESC', folderType = 'DAM') {\r\n if (folderType == 'TEMPLATES') {\r\n let parent = this.folderTemplatesGuid;\r\n return this.getAssetsByFolderGuid(parent, start, limit, sort, direction, folderType);\r\n } else if (folderType == 'DOCUMENTS') {\r\n let parent = this.folderDocumentsGuid;\r\n return this.getAssetsByFolderGuid(parent, start, limit, sort, direction, folderType);\r\n } else if (folderType == 'EXCEL') {\r\n let parent = this.folderExcelGuid;\r\n return this.getAssetsByFolderGuid(parent, start, limit, sort, direction, folderType);\r\n } else {\r\n return this.getAssetsByFolderGuid('', start, limit, sort, direction, folderType);\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') + '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(this._settingsService.getSettings('apiUrl') + 'dam/assets/trashbin?start=' + start + '&limit=' + limit + '&search=' + search, { headers });\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(this._settingsService.getSettings('apiUrl') + 'dam/assets/trashbin/archive?start=' + start + '&limit=' + limit + '&search=' + search, { headers });\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 /* ========================================================================\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(folderGuid: any, tabGuidTeams: any, subfolderImpact = true, 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/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(folderName: any, folderParentGuid: string | null, folderType = 'DAM') {\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 == 'DOCUMENTS') {\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 {\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(lang = 'fr', onAlreadyTagged = 'merge', assetGuidsArray: any = null) {\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') + 'OpenAI/assettagging?lang=' + lang + '&onAlreadyTagged=' + 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(this._settingsService.getSettings('apiUrl') + 'Usages/getusage?type=' + type, { headers });\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(assetGuid: 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') + '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') + 'dam/assets/move/' + 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(sourceFolderGuid: string, destinationFolderGuid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Dam/folders/move/' + sourceFolderGuid + '/' + destinationFolderGuid, { headers }).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') + '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') + '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.post(this._settingsService.getSettings('apiUrl') + 'dam/assets/batch?profileAssetGuid=' + profileAssetGuid, {}, options).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.get(this._settingsService.getSettings('apiUrl') + 'dam/assets/countwaitingupload', { headers }).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.delete(this._settingsService.getSettings('apiUrl') + 'Dam/folders/' + folderGuid, httpOptions).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('delete', this._settingsService.getSettings('apiUrl') + 'Dam/assets', {\r\n headers: headers,\r\n body: {\r\n listingAssetToDelete: listingAssetToDelete,\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('delete', this._settingsService.getSettings('apiUrl') + 'Dam/assets', {\r\n headers: headers,\r\n body: {\r\n listingAssetToDelete: [],\r\n emptyTrash: true,\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 // DOCUMENTS\r\n getDocument(assetguid: string) {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Dam/documents/' + assetguid, { headers });\r\n }\r\n\r\n existDocument(assetguid: string, version = 'v1') {\r\n let headers = this._settingsService.getHeaders();\r\n return this.http.get(this._settingsService.getSettings('apiUrl') + 'Dam/documents/exist/' + assetguid + '/' + version, { headers });\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","/*\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.service'\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/publications-templates.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/publications.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'","/**\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","i4.NotificationServiceService","i3.SettingsService","i4.CompaniesService","i6.websocketService","i3.AuthService","i3.websocketService","i1.AuthService","i3","i4.websocketService","i2.CompaniesService","i4.SettingsService"],"mappings":"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"}